ValveSoftware / Proton

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

Disco Elysium (632470) #3167

Open ghost opened 5 years ago

ghost commented 5 years ago

Compatibility Report

System Information

I confirm:

steam-632470.log

Symptoms

Keys on either a physical keyboard or emulated with the Steam Controller do not have any effect in the game. Mapping keyboard keys to an Xbox One controller and using that with the Steam Controller turned off does work, so it appears to be specific to the Steam Controller.

Reproduction

Connect a Steam Controller and leave the overlay enabled. Attempt to use the keyboard or mapped keys on the controller.

ghost commented 5 years ago

As a workaround for anyone else dealing with this, if you disable the Steam Overlay in the game properties you'll be able to still use your desktop config. At the moment, at least in the current Steam client beta (haven't tested stable) the "Steam Input Per-Game Setting" doesn't seem to do anything - forcing it off still loads a controller config which breaks the game, so disabling the overlay seems to be necessary.

kisak-valve commented 5 years ago

Hello @HungOverOnATues, can you go to Steam -> Settings -> In-Game and check if Use the Big Picture Overlay when using a Steam Input enabled controller... is enabled, and if it is, then test if disabling that option makes a difference.

This looks like a line of interest from the log: err:rawinput:find_hid_devices Failed to open device file L"\\\\?\\HID#VID_045E&PID_028E&IG_0#1&03000000DE280000FF11000001000000&1&3#{4D1E55B2-F16F-11CF-88CB-001111000030}", error 2.

ghost commented 5 years ago

I have that option disabled as enabling it and launching the game from the desktop client breaks controller support in all games. Pressing buttons on the controller has no effect in game - instead, I can hear the sounds of the big picture mode menus in the background. I have to launch the game from big picture mode in order to get the BPM overlay. I'd assumed that this bug was already known/reported, but I hadn't actually looked yet.

kisak-valve commented 5 years ago

Thanks for checking, and it is https://github.com/ValveSoftware/steam-for-linux/issues/6495.

kisak-valve commented 5 years ago

Disco Elysium (632470)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3169. @albertzdic posted on 2019-10-24T10:24:33:

Compatibility Report

System Information

I confirm:

Symptoms

I can play with the integrated intel graphics card without problem (with the PROTON_USE_WINED3D=1) but if i try to play with the nvidia 940M the game start but fails to render background texture, in game, the background in the menu is normal.

Reproduction

  1. start the game with <PROTON_USE_WINED3D=1 %command%> option

this is a sceenshot: Screenshot from 2019-10-24 12-06-39

Screenshot from 2019-10-24 12-01-16

jhaand commented 5 years ago

Compatibility Report

System Information

I confirm:

Steam proton log: steam-632470.log

Symptoms

The game crashes within 20 minutes. Tried several times. The steam logs mentions "eventfd: Too many open files" but the hard fd limit is high enough (ulimit -Hn: 565535)

Reproduction

Install the game without any changes. Start the game and play a while.

mozo78 commented 5 years ago

You should rise your hard limits to 1048576. The game is working fine.

jhaand commented 5 years ago

You should rise your hard limits to 1048576. The game is working fine.

It now only worked a little bit longer. 25 minutes in total. Exited with the same error message. I find it very strange that an isometric RPG needs more than a million open files. So this looks like a defect to me. But it's hard to tell if this is a problem of Proton or DE.

albertzdic commented 5 years ago

try to put <PROTON_USE_WINED3D=1 PROTON_NO_ESYNC=1 %command%> in the launch options. It worked for me.

doitsujin commented 5 years ago

@jhaand

So this looks like a defect to me.

Some games leak file descriptors with esync; usually those are game bugs. Either try PROTON_NO_ESYNC=1, or if you're feeling adventurous, try fsync (which needs a custom kernel, but offers the performance benefits of esync without relying on file descriptors).

@albertzdic why enable wined3d? I'm aware that this game is broken on some older Nvidia GPUs with DXVK right now (already fixed in upstream dxvk), but other than that, it should work?

albertzdic commented 5 years ago

yes sorry this are my launch options. Only esync should work.

jhaand commented 5 years ago

Either try PROTON_NO_ESYNC=1, or if you're feeling adventurous,

Well the PROTON_NO_ESYNC =1seemed to work. I could even lower the hard limit back to 4096. The game ran fine for more than an hour. This was after checking the new patch that was installed last evening. That still crashed. So, esync remains still an issue with the new patch.

Thank you for helping out.

matthew-piziak commented 4 years ago

My Disco Elysium crashes reliably even with PROTON_NO_ESYNC=1. I am using Proton 4.11-11.

Game Log

matthew-piziak commented 4 years ago

I have done some detective work (and in the game). First of all, I have added DefaultLimitNOFILE=1048576 to my systemd config. Watching /proc/sys/fs/file-nr while playing shows the file count climbing to 1048576 and then crashing the game.

While ESYNC does increase the rate at which files are open, I find that removing it causes Disco Elysium to crash X server entirely…or something, I'm not sure since it takes down my whole system and forces a hard reboot, and I'm not sure how to characterize the crash. Foregoing PROTON_NO_ESYNC=1 crashes the game but keeps my session alive.

I will now try DefaultLimitNOFILE=infinity (a.k.a 1073741816) to see if that allows me to continue playing after 1048576 files have been opened.

NixOS users can apply this configuration declaratively by putting the following in their configuration.nix:

systemd.extraConfig = ''
    DefaultLimitNOFILE=infinity
  '';
matthew-piziak commented 4 years ago

1110000+ files open, and the game is still humming along. For some reason when I set DefaultLimitNOFILE=infinity the game did not start. DefaultLimitNOFILE=2097152, though, works.

wilbefast commented 4 years ago

I have the same issue as @albertzdic : a whole bunch of textures are missing, so basically I see only characters models floating above water. Bizarrely this started happening only after I died for the first time and loaded my auto-save, after a couple of hours of play. Following that, no ground textures. I tried:

Updating and rebooting seemed to work, but only temporarily: a few hours later the problem reappeared. I'm thinking now that this may be due to overheating or some other "load" that builds up when the machine is run for longer periods of time. Perhaps the graphics card has measures that kick in when it gets too hot?

My system information:

I'm running the game with PROTON_NO_ESYNC=1 %command% as per recommendations on ProtonDB.

ghost commented 4 years ago

An update on the keyboard issue described in the original post: My assumption that it affects only the Steam Controller was faulty. While playing another game, Voxelgram, I ran in to the same issue as here and discovered that the issue occurred when the key bindings were purely keyboard & mouse. If you use any gamepad bindings in your config, then the keyboard bindings will work correctly. When testing with the Xbox controller I had a mix of keyboard/mouse and gamepad controls which is why I didn't have problems when initially testing it.

I noticed that both games effected were Unity games so I did a bit more testing with a couple of more Unity games, Dusk and Hollow Knight, both of which have native linux ports. In addition, I tried a few games that do not use Unity: Amid Evil (Windows only), Garou: Mark of the Wolves (Windows only), and Baba is You (native port).

Pretty limited testing, but it does look like it's specifically an issue with Unity games running in proton when using only keyboard & mouse bindings on a controller. Not sure if I should be opening separate issues for each game with the issue or a more generic one for Unity titles. @kisak-valve, any thoughts?

soredake commented 4 years ago

Proton 5.0-4, overlay is not working, and game is crashed after an hour. https://gist.github.com/soredake/ed1fa30f885371dda5f331815920a3ae

steam-632470.log

zelmor commented 3 years ago

Game worked earlier, but now encounters

25991.891:00cc:00d0:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
25991.891:00cc:00d0:err:winediag:nodrv_CreateWindow The explorer process failed to start.

steam-632470.log

kisak-valve commented 3 years ago

Hello @zelmor, your issue is one line earlier: C:\windows\system32\explorer.exe: symbol lookup error: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/vulkan/libvulkan_radeon.so: undefined symbol: amdgpu_query_video_caps_info We've seen similar at #4959. Please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

zelmor commented 3 years ago

@kisak-valve https://gist.github.com/zelmor/e96cd3e62aad431bf37629c14b174773

amdgpu is in fact installed on the system, mainline and LTS kernel had a buggy patch previously that made certain AMD cards only bootable in nomodeset.

Let me know what you need tested and I can provide.

zelmor commented 3 years ago

I can confirm that this is an amdgpu issue. I managed to start the game with Proton Experimental.

Steps taken:

  1. purge amdgpu drivers
  2. restart system
  3. start game.

@kisak-valve let me know if you need amdgpu testing under debian-sid in the future.

kisak-valve commented 3 years ago

The issue would be between mesa/RADV and libdrm, not your kernel. It looks like you grabbed the system information a bit too quickly for the extended diagnostics information to be gathered, but since you've figured out how to get it working, there's not much point in digging further.

Your usage of the term "amdgpu" is ambiguous in this context, but if you were using an amdgpu-pro installer that was not made or tested with Debian Sid, then that would explain your issue. This reads like https://github.com/ValveSoftware/steam-runtime/issues/309#issuecomment-740989870, which is bad packaging choices by the driver.

zelmor commented 3 years ago

I apologise, I was, in fact, referring to the amdgpu-pro drivers. It does appear to be an issue with those drivers.

As a side-note, maybe the warning during system-information gathering could be put on the top of the window instead of the bottom where people might miss it if they don't scroll and copy-paste too fast.

rexhent commented 2 years ago

Game still consistantly crashes for me. Tried Proton Experimental and Proton-7.0rc2-GE-1. Running Manjaro with Nvidia Optimus GTX 1050 mobile. Using proprietary drivers.

alastairgould commented 1 year ago

Getting some artefacts with a Radeon 7900 XTX. Happens only outside zoomed out. mesa-22.3.3, on proton experimental.

Screenshot from 2023-01-16 11-53-43

hakzsam commented 1 year ago

@alastairgould Would you be able to try again with Mesa from Git? I landed a fix that might help for your Radeon 7900 XTX issue, thanks!

hakzsam commented 1 year ago

I confirmed myself that https://gitlab.freedesktop.org/mesa/mesa/-/commit/5d41d8258a71fa352d8129bf33ce877046a9313c fixed the issue.

alastairgould commented 1 year ago

I can confirm this has fixed the issue on the latest mesa. Thank you @hakzsam