ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.71k stars 1.03k forks source link

Anno 1404: Venice (33350) black screen (workaround needed) #641

Open llikeitt opened 6 years ago

llikeitt commented 6 years ago

Steam - System Information

The game window shows up and close immediately. The problem here is DirectX10 -> solution see following screenshot. Now DirectX9 is used.

screenshot_20180826_111225

If I start the game I only see a black screen: steam-33350.log

The solution pointed out in issue (#448) install d3dx9_43 don't work for me.

To get it working I used following winetricks command instead:

$ WINEPREFIX=/mnt/hdd/daten/Steam/steamapps/compatdata/33350/pfx winetricks d3dx9

CrafterSvK commented 5 years ago

Don't forget the font is deformed.

jvanbruegge commented 5 years ago

Can confirm the exact same behavior. Need to change engine.ini and install d3dx9 via winetricks Game playable without issues, just the font is looking weird

jvanbruegge commented 5 years ago

From time to time (I could not find a pattern), Anno has problems connecting to the Ubisoft servers (e.g for online profiles). Most of the time, restarting Steam (!) solves the issue, but not all the time.

jaubin commented 5 years ago

With Proton 3.7.6 this workaround does not seem to work anymore (it did with version 3.7.3).

My config : Informations de l'ordinateur : Fabricant : Unknown Modèle : Unknown Type : Ordinateur de bureau Aucun écran tactile détecté

Processeur : Fabricant du CPU : GenuineIntel Marque du processeur : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz Famille du processeur : 0x6 Modèle du processeur : 0x3c Révision processeur : 0x3 Type de processeur : 0x0 Fréquence : 4000 Mhz 8 processeurs logiques 4 processeurs physiques HyperThreading : Pris en charge FCMOV : Pris en charge SSE2 : Pris en charge SSE3 : Pris en charge SSSE3 : Pris en charge SSE4a : Non pris en charge SSE41 : Pris en charge SSE42 : Pris en charge AES : Pris en charge AVX : Pris en charge CMPXCHG16B : Pris en charge LAHF/SAHF : Pris en charge PrefetchW : Non pris en charge

Version du système d'exploitation : Debian GNU/Linux 9.5 (stretch) (64 bits) Nom du noyau : Linux Version du noyau : 4.9.0-8-amd64 Éditeur du serveur X : The X.Org Foundation Version du serveur X : 11902000 Gestionnaire de fenêtres X : KWin Version d'exécution Steam : steam-runtime-beta-release_2018-06-14

Carte graphique : Pilote : NVIDIA Corporation GeForce GTX 1070/PCIe/SSE2 Version du pilote : 4.6.0 NVIDIA 390.87 Version OpenGL : 4.6 Profondeur de couleur du bureau : 24 bits par pixel Taux de rafraîchissement du moniteur : 60 Hz ID fabricant : 0x10de ID périphérique : 0x1b81 Révision non détectée Nombre de moniteurs : 1 Nombre de cartes vidéo logiques : 1 Résolution de l'affichage principal : 1920 x 1080 Résolution du bureau : 1920 x 1080 Taille de l'affichage principal : 20.04" x 11.26" (22.95" diag) 50.9cm x 28.6cm (58.3cm diag) Bus principal : PCI Express 16x Mémoire vidéo principale : 8192 Mo Modes MSAA pris en charge : 2x 4x 8x 16x

Carte son : Périphérique audio : Realtek ALC892

Mémoire : RAM : 32122 Mo

Divers : Langue de l'interface : Français LANGUE : fr_FR.UTF-8 Espace disque total disponible : 938580 Mo Plus grand bloc disponible sur le disque dur : 66241 Mo Casque VR : aucun détecté

Rapports d'échec récent :

PhillCli commented 5 years ago

Workaround seems to work for me, but I had to modify WINEPREFIX for the winetricks. $WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/33350/pfx winetricks d3dx9

Using Proton 3.16-2 Beta via Steam Play

jvanbruegge commented 5 years ago

The problems with the connection did not appear again, rest still applies but works (tested today) EDIT: Happened again today, again fixed with restarting steam

SonIcco commented 5 years ago

Worakround doesn't work on Proton 3.16-6 with d3dx9 installed and Engine.ini modified launching from steam.

jaubin commented 5 years ago

Hi, Try to use PROTON_NO_D3D11 - it works at least for me. Le samedi 19 janvier 2019 à 19:19:47 UTC+1, SonIcco notifications@github.com a écrit :

Worakround doesn't work on Proton 3.16-6 with d3dx9 installed and Engine.ini modified launching from steam.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

SonIcco commented 5 years ago

Solution was to modify /steamapps/compatdata/33250/pfx/drive_c/users/steamuser/Application Data/Ubisoft/Anno1404/Config/Engine.ini and set <DirectXVersion>0</DirectXVersion> to <DirectXVersion>9</DirectXVersion> and additional with start option PROTON_NO_D3D11=1

chrisnew commented 5 years ago

Can confirm to get it working using following steps:

My system setup: Arch Linux amd64, discrete NVIDIA GPU.

Thanks to all people providing hints and of course a big thanks to Wine team, the proton team and Valve.

lahtis commented 5 years ago

I have same issue when launching anno 1404: Venice. Im getting blackscreen also. Ubuntu 16.04 LTS with NVIDIA GTX 770

ptkato commented 5 years ago

If I install the DirectX on the prefix and set it to DirectX 9 in the configuration files, the game runs, however I'm experiencing a glitch in the text font, it looks all weird; it also keeps telling me that I don't have enough memory to play the game, even though I have plenty:

image

Edit: the game crashes with no errors whatsoever after more or less 2 hours of gameplay. Edit2: it seems that the memory problem happens on Windows too and that the crash is due to it, so no matter here, but the font problem stills.

Zauberfisch commented 5 years ago

Can also confirm this is working. Additionally, I can also confirm that memory leaks are a real problem under windows aswell.

Full step by step Installation:

  1. install "Anno 1404: Venice" through steam (I did not install the base game, just the addon) (with proton 4.2-3)
  2. launch the game through steam
  3. the game will just be a black screen. but that's ok. It will create the necessary wine folder in steam/steamapps/compdata
  4. kill the game (command to kill it: kill -9 $(ps aux | grep -i '[A]nno\ 1404' | awk '{print $2}'))
  5. run WINEPREFIX="/home/$USER/.steam/steam/steamapps/compatdata/33350/pfx" winetricks d3dx9
  6. create the file /home/$USER/.steam/steam/steamapps/compatdata/33350/pfx/drive_c/users/steamuser/Application\ Data/Ubisoft/Anno1404Addon/Config/Engine.ini with the following content:
    <Engine>
    <DirectXVersion>9</DirectXVersion>
    </Engine>

    (Later this file will contain a 100+ lines of settings, if it already exists, just find the DirectXVersion part and change the value to 9)

  7. done - it should work now

(It still didn't work for me, but that's because it failed to find a valid audio device. I'm running jack2 and wine doesn't play way. After creating a dummy device and selecting it in WINEPREFIX="/home/$USER/.steam/steam/steamapps/compatdata/33350/pfx" winecfg it worked.)


Things I did NOT need to do:

BaaRamEwe commented 5 years ago

The fonts seem to be fixed with the corefonts winetrick: WINEPREFIX=<your path to steamapps>/compatdata/33340/pfx/ winetricks corefonts

EDIT: Just noticed the number can be 33340 or 33350. Probably the difference between Anno 1404 and Dawn of Discovery.

Bumbadawg commented 5 years ago

D9VK brings a new bug: in Quickstart: the intro ingame cinematic does a picture in picture bug from the get go. Otherwise performance increase is amazing.

Nota bene: In dx9, performance increased a lot with latest Proton 4.11 and the futex patched kernel 5, (using Feral's gamemode as well) PROTON_USE_D9VK=1 DXVK_HUD=fps gamemoderun %command%

Loacoon1 commented 4 years ago

Corefonts didn't fix the fonts issue for me unfortunately.

kisak-valve commented 4 years ago

~Hello, we're using one issue report per unofficially supported game title, so I've gone ahead and transferred this issue report to https://github.com/ValveSoftware/Proton/issues/448#issuecomment-582590396.~

~This issue report was created fairly early on, before that policy was put in place, which is why discussion for this game has been split for so long. Please continue discussing this game on #448.~

EDIT: Oops, my eyes tricked me. Removed the transferred issue report contents and re-opened.

kisak-valve commented 4 years ago

Anno 1404 black screen

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3490. @Loacoon1 posted on 2020-02-05T20:05:49:

Compatibility Report

System Information

steam-33350.log

Symptoms :

The screen remains black all the way from the start. The game seems to start correctly, the audio is ok, but the screen remains black. I used to play it without any problems, but I stopped paying it for a few weeks, and when a started it recently, this happened. My launch command options are : PROTON_LOG=1 PROTON_USE_D9VK=1 PROTON_FORCE_LARGE_ADDRESS_AWARE=1 PROTON_NO_D3D11=1 PROTON_NO_D3D10=1 %command% Maybe it's normal but I see some D3Dx10 lines on the log, could be the problem?!...

Reproduction

Lauching the game .

kaktuspalme commented 4 years ago

In my case the game doesn't start. It shows a black window for some seconds and then disappears. in the steamuser/Application Data/Ubisoft/Anno 1404 Folder there's no Engine.ini. After copying it from another installation the game starts.

Zauberfisch commented 4 years ago

@kaktuspalme good catch about the Engine.ini file. It seems that Anno is no longer able to create the Engine.ini file automatically at first launch. Perhaps this is related to proton 5 (previously I used proton 4.x). But if you manually create the Engine.ini file, it now works.

I'm reposting my guide how to get the game working with this update:

Full step by step Installation (this will fix black screen and game starting for 3 seconds and then closing again):

  1. install "Anno 1404: Venice" through steam (I did not install the base game, just the addon) (with proton 5.x (I used 5.0-7))
  2. launch the game through steam
  3. the game will just be a black screen. but that's ok. It will create the necessary wine folder in steam/steamapps/compdata
  4. kill the game (command to kill it: kill -9 $(ps aux | grep -i '[A]nno\ 1404' | awk '{print $2}'))
  5. run WINEPREFIX="/home/$USER/.steam/steam/steamapps/compatdata/33350/pfx" winetricks d3dx9
  6. run WINEPREFIX="/home/$USER/.steam/steam/steamapps/compatdata/33350/pfx" winetricks corefonts (this may help with font issues)
  7. create the file /home/$USER/.steam/steam/steamapps/compatdata/33350/pfx/drive_c/users/steamuser/Application\ Data/Ubisoft/Anno1404Addon/Config/Engine.ini with the following content:

    ```xml 1920 1080 32 0 60 0.000000 0 0 1 0 0 1 1 0 1 9 0 0 0 1 2 0;0;0;0;0 0;0;1;2;1 0;0;0;0;0 1;1;1;2;1 0;1;1;2;1 0;1;2;2;2 0;0;1;1;1 1;1;1;2;1 0;0;0;0;0 0;1;2;2;2 0;0;1;1;1 0;0;0;1;0 0;0;1;2;1 0;0;1;1;1 0;0;1;1;1 1;1;2;2;2 0;1;1;2;1 0;1;2;2;2 2;1;0;0;0 1;2;3;4;3 0 0 0 1 1 eng 1 0 1 0 0 0 Console.ini 1 1 1 1 3 14 1 1 1 10 10 10 1 1 1 1 88 0 64 64 0 1 999 500 500 500 500 500 500 1 0 0 0 0 0 0 0 0 0 0 0 2 0 5479 0 0 0 0 0 2 \\rds.local\DATA\QAPublic\synctraces\ 0 0 0 0 5 1 36000000 1 3 0 1 5000 4000 0 0 0 0 0 0 0 1 1 1 ```

  1. done - it should work now

As @BaaRamEwe pointed out, the AppID 33350 is Anno 1404: Venice, if your game is Dawn of Discovery: Venice, your AppID is 33340. You have to replace all 33350 with 33340 in the commands above.

@Loacoon1 this will probably also fix your issue

EDIT: It might also be worth trying to set the launch option/launch command to PROTON_FORCE_LARGE_ADDRESS_AWARE=1 %command%. I have not verified it, but I've read it might help with memory issues

Zauberfisch commented 4 years ago

Not sure if it's an enhancement in proton 5 or PROTON_FORCE_LARGE_ADDRESS_AWARE=1, but I have not gotten a single low memory warning in several hours of gameplay.

globeone commented 3 years ago

Tried @Zauberfisch 's instructions with Proton 5.13.1 and am still getting black screen with a modified mouse cursor (cursor is shown rest of the screen is black).

First tried by creating the directory as suggested, no dice.

Then searched for Engine.ini and found it in a different location. The Engine.ini file is also in a different location .steam/debian-installation/steamapps/common/Anno\ 1404/Engine.ini

modified this Engine.ini as well but again black screen only mouse cursor shown.

When that didn't work; I also tried to reduce the resolution in the .ini to 800x600 windowed. But still nothing.

Any more ideas on how to get this game to play?

Zauberfisch commented 3 years ago

@globeone I haven't played anno in a while, but as far as I remember, there were at least 2 different Engine.ini files.

So for me those are:

  1. ~/.steam/steam/steamapps/common/Anno 1404/Engine.ini (Your path for it is ~/.steam/debian-installation/steamapps/common/Anno\ 1404/Engine.ini)
  2. ~/.steam/steam/steamapps/compatdata/33350/pfx/drive_c/users/steamuser/Application Data/Ubisoft/Anno1404Addon/Config/Engine.ini

(1.) is the wrong file. So, you have to find our create (2.) in the right place. When you said you tried my fix, did you create that literally in .steam/steam/steamapps/compatdata/33350/pfx/drive_c/users/steamuser/Application\ Data/Ubisoft/Anno1404Addon/Config/Engine.ini or did you change that to your steam path .steam/debian-installation/steamapps/compatdata/33350/pfx/drive_c/users/steamuser/Application\ Data/Ubisoft/Anno1404Addon/Config/Engine.ini?

EDIT: Also, if you ar playing just Anno1404 (base game, not Venice), then the path will be different, probably .steam/steam/steamapps/compatdata/33350/pfx/drive_c/users/steamuser/Application\ Data/Ubisoft/Anno1404/Config/Engine.ini and if you have "Dawn of Discovery" then it will be different again.

globeone commented 3 years ago

I have both paths. The debian-installation is a syslink created by the Steam installer for Ubuntu 20.04.1 for some reason.

steam -> /home/$USER/.steam/debian-installation

There was already a folder Microsoft in the Application Data folder. The steamuser was the actual logged-in username. .steam/steam/steamapps/compatdata/33350/pfx/drive_c/users/$USER/Application\ Data/

so next to that Microsoft folder I created ../Ubisoft/Anno1404Addon/Config/Engine.ini

And filled it with the XML from your previous post.

Also tried with older versions of Proton but to no avail.

globeone commented 3 years ago

Apologies, I see now that I'm trying to get the Base Game working. Whereas this instruction is for the add-on. :disappointed:
The base game does have the same 33350 prefix.

globeone commented 3 years ago

Giving up on Anno 1404. I removed the game and reinstalled, follwing the instructions a with the "debian-installation" directtory. did a pstack on the proceses and it's complaining about 64-bit only. So, it's probably a game that has to be run in a 32-bit prefix. Which is something that Valve doesn't yet support.

Loacoon1 commented 3 years ago

I just gave it another go, and following what has been said before, the game works. Quite well actually, though very CPU limited.

b2az commented 3 years ago

@Loacoon1 how did you achieve it, to run? I tried all the stuff mentioned above but the game rage-quits after 1 second off black screen. Could someone point me in the right direction?

Zauberfisch commented 3 years ago

Just a quick follow up: I've purchased the Anno 1404 History Edition and also got it working by changing <DirectXVersion>0</DirectXVersion> to <DirectXVersion>9</DirectXVersion>.

Saoma1 commented 1 year ago

Truly don't know how relevant this is after so long, but I got it working too. I bought Anno 1404 History Edition on steam and got it working by editing the Engine.ini file in both:

.steam/steam/steamapps/compatdata/1281630/pfx/drive_c/users/steamuser/Application Data/Ubisoft/Anno1404/Config

and:

.steam/steam/steamapps/compatdata/1281630/pfx/drive_c/users/steamuser/Application Data/Ubisoft/Anno1404Addon/Config

Maybe this helps another soul that bought this on a Christmas sale.

kaktuspalme commented 1 year ago

Anno 1404 (the original edition) seems to run in DirectX 10 Mode. Has anyone got this or the history edition to work in DX10 Mode?

kaktuspalme commented 1 year ago

I found out how to get Venice running in DX10 mode. Copy the d3dcompiler_40.dll and d3dx10_40.dll from the Anno 1404 non Venice (33250) to the Venice pfx (33350) then it works in DX10 mode.

In my case:

cp ~/.steam/steam/steamapps/compatdata/33250/pfx/drive_c/windows/syswow64/d3dcompiler_40.dll ~/.steam/steam/steamapps/compatdata/33350/pfx/drive_c/windows/syswow64/
cp ~/.steam/steam/steamapps/compatdata/33250/pfx/drive_c/windows/syswow64/d3dx10_40.dll ~/.steam/steam/steamapps/compatdata/33350/pfx/drive_c/windows/syswow64/

Tested with Proton 8.0-2.

The history edition works ootb with Proton 8 Experimental, no need for any editing.

detiam commented 1 year ago

https://www.microsoft.com/en-us/download/details.aspx?id=8109 In the latest version of wine(8.11) seems you can just install this "DirectX End-User Runtime" and run the game, no need other modification, even no need proton or dxvk. And if you are using dxvk, somehow the x16 anti-aliasing will be missing.