Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NVIDIA 535, VK_KHR_present_wait, and ForceFullCompositionPipeline #6869

Open
2 tasks done
tgurr opened this issue Jun 23, 2023 · 25 comments
Open
2 tasks done

NVIDIA 535, VK_KHR_present_wait, and ForceFullCompositionPipeline #6869

tgurr opened this issue Jun 23, 2023 · 25 comments
Labels
NVIDIA drivers Possibly involves an issue with the NVIDIA proprietary driver

Comments

@tgurr
Copy link
Contributor

tgurr commented Jun 23, 2023

Compatibility Report

  • Name of the game with compatibility issues: Diablo IV
  • Steam AppID of the game: -

System Information

I confirm:

  • that I haven't found an existing compatibility report for this game.
  • that I have checked whether there are updates for my system available.

steam-14950642966836805632.log.zip

Symptoms

Before the latest update to experimental-8.0-20230624 a few minutes ago the previous proton experimental (2023/06/06) worked well but since the update after launching the game from within Battle.net I get a black screen with the music playing and the intro movies not playing anymore and while it eventually gets further when being patient you can see the login to Battle.net inside diablo happening and getting to the character selection screen, however the performance is absolutely crawling to the point even the menu is unusable. Also even Alt+Tabbing is taking ages to be able to manually force-stopping the game.

Reproduction

  1. Launch Diablo IV
  2. Observe issue

Additional note

  • Adding or removing PROTON_ENABLE_NVAPI=1 to get DLSS working in the game doesn't make a difference for the issue
  • I'm unable to reproduce this issue on another machine running Fedora, there however the nvidia driver is still at 530.41.03 instead of the latest 535.54.03.
@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Jun 23, 2023
@kisak-valve kisak-valve changed the title Diablo IV - experimental-8.0-20230624 regression Diablo IV Jun 23, 2023
@tgurr
Copy link
Contributor Author

tgurr commented Jun 24, 2023

I have to update my initial report pointing out that it appears not to be an actual problem with Diablo IV but rather a general problem for me since the latest Proton Experimental update since I've now tested other games I played/started just recently like System Shock (the new one) and STEINS;GATE ELITE and both behave the same like Diablo IV now. I've also tested native games just to be sure it's not a general problem but games like e.g. Crusader Kings III or Return to Monkey Island are not affected and work fine. I had a look at the Proton Experimental betas to opt in as to see if the previous Proton Experimental version is offered to be able to really nail it down but apparently it sadly is not - it would be nice of you could also add that as a selectable beta for such cases to ease problem finding in regards to possible regressions.

Edit: I just also additionally installed Proton 8.0-2 and selecting that for either System Shock or STEINS;GATE ELITE the games work fine indicating it might indeed be a problem introduced by the latest update to Proton Experimental.

@kisak-valve I've refrained from changing the topic of my initial report to a more fitting one now that it has nothing to do with Diablo IV in specific since I don't know what you'd like in the topic, would be nice if you could change it to your liking. Thanks in advance.

@kisak-valve
Copy link
Member

Hello @tgurr, this is a blind guess, but it might be interesting to test if running the game with VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id,VK_KHR_present_wait.

@tgurr
Copy link
Contributor Author

tgurr commented Jun 24, 2023

VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id,VK_KHR_present_wait

@kisak-valve That is interesting as I thought we'd finally be done with this with recent nvidia drivers however it indeed works for Diablo IV and makes it playable again with the latest Proton Experimental release! But neither for System Shock which is DirectX 11 nor STEINS;GATE ELITE which is DirectX 9, is there a similiar parameter for DXVK? I thought the whole present stuff only affects vkd3d-proton to begin with, however I'm by far no expert.

@HansKristian-Work
Copy link
Contributor

DXVK recently got present_wait support. Is it possible you're using force composition pipeline or something like that? I recall someone saying that was an issue.

@tgurr
Copy link
Contributor Author

tgurr commented Jun 24, 2023

Fedora today also got the update from nvidia-drivers 530.41.03 to 535.54.03 and the problem with Diablo IV is reproducible there as well now, adding VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id,VK_KHR_present_wait works there as well.

@HansKristian-Work it is indeed yes! Removing ForceFullCompositionPipeline allowed DXVK games like the mentioned System Shock and STEINS;GATE ELITE to be playable again as well.

--- 50-nvidia-before.conf       2021-11-27 14:20:50.927834285 +0100
+++ 50-nvidia.conf      2023-06-24 17:09:42.923875035 +0200
@@ -16,7 +16,7 @@
     Identifier     "Screen0"
     Device         "Device0"
     Monitor        "Monitor0"
-    Option         "MetaModes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
+    Option         "MetaModes" "nvidia-auto-select +0+0"
     Option         "AllowIndirectGLXProtocol" "off"
     Option         "TripleBuffer" "on"
 EndSection

So all that appears to be just a problem with the latest nvidia-driver 535.54.03 while things were working with 530.41.03 as could be seen on Fedora while for me personally things got broken with the latest Proton Experimental and were working nicely before with 535.54.03. 530.41.03 however also already had working present_wait support right? So is it purely a driver problem in the end? Has this already been reported to nvidia? Should I do so (not knowing any technical details)?

@HansKristian-Work
Copy link
Contributor

I just reported it to NV.

@kisak-valve kisak-valve removed the Game compatibility - Unofficial Games not expected to work without issues label Jul 2, 2023
@kisak-valve kisak-valve changed the title Diablo IV NVIDIA 535, VK_KHR_present_wait, and ForceFullCompositionPipeline Jul 2, 2023
@kisak-valve kisak-valve added the NVIDIA drivers Possibly involves an issue with the NVIDIA proprietary driver label Jul 2, 2023
@8836290
Copy link

8836290 commented Jul 22, 2023

Tested a Unity 3D game Empyrion-Galactic survival with VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id,VK_KHR_present_wait
nvidia's currently latest proprietary driver 535.86.05 on Ubuntu 22.04.2 LTS
Proton experimental
Kept ForceFullCompositionPipeline active
and I confirm the issue does not occur any more with this configuration.

@kisak-valve kisak-valve added the Need Retest Request to retest an issue with vanilla Proton label Jul 22, 2023
@tgurr
Copy link
Contributor Author

tgurr commented Aug 1, 2023

The above mentioned Empyrion-Galactic appears to be a DirectX 11 according the steam system requirements so VKD3D shouldn't play any role here.

For the "Need Retest" label, the initial reported problems are still valid for the current latest non-beta nvidia-drivers 535.86.05, as in:

  • VKD3D (e.g. Diablo IV) still requires VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id,VK_KHR_present_wait
  • DXVK (e.g. STEINS;GATE ELITE) still fails to work with {ForceFullCompositionPipeline=On} set

@8836290
Copy link

8836290 commented Aug 3, 2023

The above mentioned Empyrion-Galactic appears to be a DirectX 11 according the steam system requirements so VKD3D shouldn't play any role here.

For the "Need Retest" label, the initial reported problems are still valid for the current latest non-beta nvidia-drivers 535.86.05, as in:

  • VKD3D (e.g. Diablo IV) still requires VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id,VK_KHR_present_wait
  • DXVK (e.g. STEINS;GATE ELITE) still fails to work with {ForceFullCompositionPipeline=On} set

I stand corrected. I messed something up and need to retest.

@Jenrikku
Copy link

Jenrikku commented Aug 26, 2023

I have had a similar issue with multiple Unity games which was solved after downgrading my nvidia drivers to 530. This issue does not seem to be related to any proton new update as I have been using version 8.3
Not even Proton 7 seems to work.

@8836290
Copy link

8836290 commented Aug 26, 2023

What I did, until a solution to the issue, was to disable the composition pipeline (un-ticking both force and force full composition pipeline) in the nvidia-settings, under X-server display configuration/Advanced.

@Arcitec
Copy link

Arcitec commented Sep 24, 2023

DXVK recently got present_wait support. Is it possible you're using force composition pipeline or something like that? I recall someone saying that was an issue.

@HansKristian-Work You're completely right. NVIDIA's "Force Full Composition Pipeline" breaks all Vulkan applications on X11 if they use the "present id / present wait" Vulkan features.

I just discovered the same thing in DXVK 2.3 which recently re-enabled those Vulkan extensions since NVIDIA "has fixed" their drivers. But the desktop crashes if composition pipeline is enabled:

doitsujin/dxvk#3670 (comment)

I just reported it to NV.

Was this reported via NVIDIA's normal forums? If there's a public thread about it, I can add my voice to it if that helps.

@mozo78
Copy link

mozo78 commented Sep 25, 2023

It not fixed, there's a problem and most of the games doesn't working with VK_KHR_present_wait, and ForceFullCompositionPipeline. Do we have to post a report on NVIDIA's forums or HansKristian report is enough?

@Arcitec
Copy link

Arcitec commented Sep 28, 2023

@mozo78 I wasn't able to find his report (I searched for keywords in the entire Linux NVIDIA forum), which leads me to assume that he has reported it to them privately.

It might help to also report it publicly just in case, so I made a thread via a trash account here:

https://forums.developer.nvidia.com/t/complete-gpu-crash-on-x11-with-force-full-composition-pipeline-and-vk-khr-present-wait-100-reproducible/267934

If you have an NVIDIA account (or can make one with a trash email quickly), you could add your voice to that if you wanna show NVIDIA that it's a confirmed issue.

Other than that, there's nothing else we can do but wait for NVIDIA to fix it.

@mozo78
Copy link

mozo78 commented Sep 28, 2023

Thanks, I made a post :)

@DarkSattis
Copy link

In case the link goes bad or someone else stumbles on this:

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceCompositionPipeline=Off, ForceFullCompositionPipeline=Off }"

For my setup (Ubuntu 22.04) this was equivalent to changing /etc/X11/xorg.conf Option "metamodes" and set ForceFullCompositionPipeline to off. (I removed ForceCompositionPipeline as well, but unsure if needed)

Then Diablo IV did work for me again without having 1 frame/minute.

Nvidia Driver Version: 545.29.02

@SamuraiScientist
Copy link

I am also having similar on my system with Proton 8.0 and experimental. Though, my workaround was different. I'm using the KDE Plasma Desktop and my fix was to go to Display and Monitor > Compositor and turn off "Allow applications to block compositing". Some of the games I tested that would not work without the workaround were Fallout 4, Deep Rock Galactic and Postal Brain Damaged. Though, Warframe and XCOM2 worked on Proton 8.0 without a workaround.

OS: Debian Testing
GPU: GTX 1060 6GB(tested with Debian's provided driver, 525.125.06-3 and a more up-to date Nvidia driver, 545.23.08-1)

KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.107.0
Qt Version: 5.15.10
Kernel Version: 6.5.0-4-amd64
Graphics Platform: X11

I'm adding this here since this could be related.

@MikkoMMM
Copy link

545.29.06-3 is also affected. Other games that are affected by this bug include Borderlands 3 and ARK: Survival Evolved.

@cfasnacht
Copy link

I am also having similar on my system with Proton 8.0 and experimental. Though, my workaround was different. I'm using the KDE Plasma Desktop and my fix was to go to Display and Monitor > Compositor and turn off "Allow applications to block compositing". Some of the games I tested that would not work without the workaround were Fallout 4, Deep Rock Galactic and Postal Brain Damaged. Though, Warframe and XCOM2 worked on Proton 8.0 without a workaround.

@SamuraiScientist Thank you that did work for me as well!
Display and Monitor > Compositor and turn off "Allow applications to block compositing
Although I did not have KDE installed but installed it to try if it makes any difference.

I was bugged with this issue for months and could not play most of the steam games.

@upupupa
Copy link

upupupa commented Feb 6, 2024

I can confirm 545.29.06 is also affected. Unfortunately, turning off ForceCompositionPipeline didn't work for me as well as disabling the "Allow applications to block compositing" in KDE settings.

The symptoms are the same as described in the original post.

Proton version: >=8.0
OS: Manjaro XFCE
GPU: GTX 1070
Kernel Version: 6.6.10-1-MANJARO
Graphics Platform: X11
Vulkan Instance Version: 1.3.274

@8836290
Copy link

8836290 commented Feb 7, 2024

I can confirm 545.29.06 is also affected. Unfortunately, turning off ForceCompositionPipeline didn't work for me as well as disabling the "Allow applications to block compositing" in KDE settings.

The symptoms are the same as described in the original post.

Proton version: >=8.0 OS: Manjaro XFCE GPU: GTX 1070 Kernel Version: 6.6.10-1-MANJARO Graphics Platform: X11 Vulkan Instance Version: 1.3.274

And how is ForceFullComposition pipeline set, enabled or disabled?

@upupupa
Copy link

upupupa commented Feb 16, 2024

@8836290 hey! Sorry for the delay, ForceFullComposition pipline is also disabled. The game which I'm trying to launch is CP2077. Downgrading proton to 7.0-6 helps, the game works as expected.

Not sure if this has an impact, but I have 2 monitors, one of which is oriented vertically. (in nvidia-settings it is rotated left)

I can hear the sounds from the game, but the video doesn't play further than CDPR logo: the mouse and any inputs stucks for 10-20 seconds, then I can close the game using steam and while it is shutting down, I can't move the mouse/alt tab for 10-20 seconds.

@8836290
Copy link

8836290 commented Feb 19, 2024

Replying to #6869 (comment)

I remember discussing proton versions on discord on GE's channel and it was recommended that it is not mandatory to always upgrade proton versions to the latest to have a game work. Instead the version that helps the game run without issues is the proper one for it. So in your case if you find that v7.0-6 does work with CP2077 stick with this version for that game. Of course you can have multiple versions for other games to work too. Needless to say, always read the release notes for Proton AND GPU drivers, to find useful information regarding the games you are interested and various fixes applied for them on your hardware/software configuration.

@Tritibellum
Copy link

Tritibellum commented Aug 26, 2024

Hi! I have come across this issue recently with 550.100 version with Vulkan applications (with and without Steam Proton), turning off both ForceCompositionPipeline and ForceFullCompositionPipeline did fix the issue for me, pardon me if I missing something.

OS: OpenSUSE Tumbleweed
GPU: GTX 1650
Kernel Version: 6.10.5-1-default
KDE Plasma Version: 6.14
KDE Frameworks Version: 6.50
Graphics Platform: X11
Vulkan Instance Version: 1.3.290

I can also confirm that SamuraiScientist's workaround is also a viable solution for me.

@cfasnacht
Copy link

Sadly for me without ForceCompositionPipeline and ForceFullCompositionPipeline the tearing is so bad that most games under proton are unplayable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NVIDIA drivers Possibly involves an issue with the NVIDIA proprietary driver
Projects
None yet
Development

No branches or pull requests

15 participants