ValveSoftware / Proton

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

Proton stopped working unexpectedly on X11, works on wayland. #5714

Open SUB0PT1MAL opened 2 years ago

SUB0PT1MAL commented 2 years ago

Hello,

Recently, all Proton versions stopped working on all my games.

I've been using proton with several games without issues until yesterday, that it started to just show the "Preparing to launch" box for a moment and then nothing.

I'm not aware of any update that could have caused this.

Checking the Proton logs i see: err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.

Googling this error I can find some users with Wine issues but nothing seems to apply or work for me.

Messing around trying to fix it I've tried usng Wayland instead of X11 and noticed that it works flawlessly, but I'm unable to use Wayland permanently, so I need to try to fix it on X11.

I've already tried to uninstall all the games and Proton versions and reinstall them.

Full system specs reported by Steam

Full Proton log entry for the game Noita , all other tested games have the same isue (BeamNG, ASTRONEER, Rimwordl, Fallout3)

Hope you can help!

Lucas V

Blisto91 commented 2 years ago

I can see you have both a AMD CPU with integrated graphics and a dedicated Nvidia GPU With both the amdvlk, radv for your igpu along with Nvidia and Intel vulkan drivers installed.

Could you try to boot a game with this and see if it makes a difference?

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json %command%

If it doesn't then instead try with.

DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1 VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json %command%

I'm suspicious the AMD drivers might be messing with you. More specifically amdvlk

I then think you should consider removing these packages. vulkan-intel, (you don't appear to need it) amdvlk & lib32-amdvlk (radv is generally recommended for amd gaming on Linux and is what valve themselves support).

SUB0PT1MAL commented 2 years ago

Hello, I uninstalled the intel driver, I dont know how i ended up with it.

I've tried both launch options without success, both have the same behaviour.

For Rimworld and Noita I've been using those launch options to conserve battery:

DRI_PRIME=0 DXVK_FILTER_DEVICE_NAME="Unknown AMD GPU" PROTON_LOG=1 %command%

I've tested with and without those options and it does not seem to make any difference.

With "radv" do you mean the arch packacge "vulkan-radeon" instead of "amdvlk"?

I have both installed as the official arch documentation about vulkan says thta they can coexist, and I had them both installed since the beggining and i had no issues until now.

SUB0PT1MAL commented 2 years ago

I've removed the "amdvlk" package leaving only "vulkan-radeon" and "nvidia-utils", but Proton's behaviour seems the same.

When it was working, by default Proton used the dedicated Nvidia GPU, so unless I'm forcing it to use the integrated AMD one the radeon/amd vulkan package should not affect it in any way right?

I've tried reinstalling all the vulkan drivers to no avail.

Blisto91 commented 2 years ago

Ye vulkan-radeon. They can coexist yes. The amdvlk driver will force itself to be used as a default when both are installed. So to use radv with both are included you would use AMD_VULKAN_ICD=RADV %command% or go back to the old VK_ICD_FILENAMES method by using DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1. Tho i dunno how it behaves on a amd/nvidia mixed system.

Hmm strange. My hunch was wrong then that the amd drivers were to blame.

SUB0PT1MAL commented 2 years ago

The weird thing is that if I use Wayland instead of X11 it works flawlessly. Could this give some clues to what is to blame?

Blisto91 commented 2 years ago

Hmm i am not familiar enough with the workings of X11 vs Wayland myself yet to have a good explanation at the ready.

Could you for the funs try to launch one or two games with

PROTON_USE_WINED3D=1 %command%

Edit: Also does steam spit out any errors if you launch it from a terminal?

kisak-valve commented 2 years ago

Hello @SUB0PT1MAL, it might be interesting to test __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=non_NVIDIA_only %command% or some combination with your existing launch options.

SUB0PT1MAL commented 2 years ago

Hi,

PROTON_USE_WINED3D=1 %command%did not work.

__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=non_NVIDIA_only %command% does work!

I'm launching "steam-runtime" from the console, and when I start a Proton game the errors that it spits seems to be a reduced version of the ones in the Proton logs.

Is there a way to be able to use the Nvidia GPU? I usually play Rimworld and Noita on the go and I want to maximize battery, but I also need to use the dedicated GPU when playing ASTRONEER.

I've also tried all the Proton versions. 5.0 seems to work just fine without any launch option and it accepts the launch options that I had to force some games to use the AMD GPU, the versions velow 5.0 get stuck on "Preparing to launch" and the versions above just stop running after loading for a short time.

SUB0PT1MAL commented 2 years ago

I've been testing more games and launch options, so far, Proton 5.0-10 seems to be the only version that works jus how Proton Experimental was working until yesterday.

Blisto91 commented 2 years ago

Could you in steam try to uninstall Linux Steam Runtime - Soldier and then install it again? See if it changes anything

SUB0PT1MAL commented 2 years ago

I just reinstalled all the Proton versions and runtimes, after installing everything back again, the behaviour is the same, the games wount launch unless I'm using Kisak's launch options or Proton 5.0.

Blisto91 commented 2 years ago

When i have time i will try to boot my other setup with a Nvidia 960 and test a bit.

You are using KDE Plasma right?

SUB0PT1MAL commented 2 years ago

Thanks, yes, I'm using KDE plasma

Nydoehar commented 2 years ago

I'm having the same problem; one day proton games worked flawlessly, and now they don't work. Any solution?

Blisto91 commented 2 years ago

I have not had the time to test on my Nvidia system yet. Tho i just played some Lego Star wars on KDE X11 over my steam link. That was on my AMD system.

SUB0PT1MAL commented 2 years ago

@Nydoehar Did you ckeck the Proton logs to see if its the same issue?

Blisto91 commented 2 years ago

So I've tried testing on my setup with a Nvidia 960, 510.54 driver, RebornOS (Arch), KDE X11 and proton 7.0-1 but I've not been able to reproduce it as my games seem to launch fine. Tried Rimworld from your list and a couple others of my own.

SUB0PT1MAL commented 2 years ago

@Blisto91 Thanks for checking!

Blisto91 commented 2 years ago

As an extra i also quickly tried to install your zen kernel version hehe.

The strange thing is that it is only your Nvidia card that fails. I would have said some of your X11 packages might be messed up. But dunno if that makes sense with the AMD gpu working. So reinstalling xorg-server probably wont help. Had you tried reinstalling your Nvidia driver and not just the utils (vulkan driver) package? Does anything change if you run nvidia-xconfig ?

SUB0PT1MAL commented 2 years ago

Yes, i reinstalled all the GPU drivers doing that, i switched to the zen kernel a while ago and Proton didn't even notice, so i dont think its related.

Letting nvidia recreate the xconfig files does not help, i tried again, same result.

The thing that confuses me is that Wayland works flawlessly like x11 was working before, and that on x11 proton 5.0-10 and ONLY 5.0-10 work without further launch parameters or anything.

Thanks for cheching this out, none of the games i play on this laptop seem to have any issues with Proton 5.0-10, so im fine using it until SteamOS 3 comes out and i switch or a new Proton version works again for some reason.

Blisto91 commented 2 years ago

A thing all proton versions have in common after 5.0, as far as i know, is that they use the soldier runtime in steam. 5.0 and before used scout. https://github.com/ValveSoftware/steam-runtime

Tho that might be a coincidence

SUB0PT1MAL commented 2 years ago

I think it might be coincidence, as no other Proton version that uses soldier works.

Blisto91 commented 2 years ago

I've been googling a bit. Maybe it's a optimus issue and something messes up when it should use the Nvidia GPU. dunno if this is the same issue. This might look like same issue, but again not sure.

SUB0PT1MAL commented 2 years ago

Yeah, i found some things about optimus, but im not using optimus.

I'm, using "supergfx" to choose the GPU mode of the laptop, so those dont apply, also, both my X11 and Wayland run on the integrated GPU.

Blisto91 commented 2 years ago

Interesting. What happens if you force nvidia only through it? 👀

SUB0PT1MAL commented 2 years ago

If only one GPU is active it works fine, however my laptop does not have a MUX switch, so i need both active even if i only want to use the nvidia GPU.

PeterStrick commented 1 year ago

Arrived here trying to find a solution with the exact same Issue on an Intel iGPU + NVIDIA dGPU Configuration on a MUXless Laptop

Any Game trying to use Proton 5.13+ would simply error out with err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded., once run with prime-run or eqivalent Environment Variables

After reinstalling every package mentioning NVIDIA, Intel, Mesa and Vulkan, rebooting and trying again, I simply tried to replicate this on Wayland which ran Proton 5.13+ without any Issue.

5.13+ Games worked on X11 without prime-run and the file /usr/share/vulkan/icd.d/nvidia_icd.json being moved to another folder, 5.0 and below worked with prime-run on X11

All Proton Versions worked fine on Wayland with and without prime-run