-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
proton: Force disable AMD switchable graphics layer #4931
proton: Force disable AMD switchable graphics layer #4931
Conversation
And force copy artifacts after.
Add https://github.com/jp7677/dxvk-nvapi as a submodule. dxvk-nvapi will not be copied into Proton prefixes by default, but instead will be controlled via the environment variable PROTON_ENABLE_NVAPI. This is done to avoid any potential adverse effects of the nvapi DLL existing in cases where an application may require a function that is not implemented by dxvk-nvapi. This new functionality can be enabled by setting the following environment variable to a value of `1`: `PROTON_ENABLE_NVAPI` This functionality is needed in order to support DLSS within Proton. Reviewed-by: Adam Moss <[email protected]>
The upcoming NVIDIA 470 driver series will introduce a DLL (nvngx.dll) for the support of NVIDIA DLSS in Proton. This change adds logic for discovering the location of DLL files provided by the NVIDIA driver, and copies them to C:\Windows\System32\ Reviewed-by: Adam Moss <[email protected]>
3f7872f
to
0674071
Compare
This crap layer is still horribly broken and enabled by default. Signed-off-by: Joshua Ashton <[email protected]>
0674071
to
1d06d84
Compare
I'm missing some context here. What is this layer and what problems is it causing? Does it affect non-Proton applications? If so, why is disabling it in Proton the best option instead of wherever it's coming from? |
@aeikum This layer comes from the AMDVLK driver, it removes RADV from being enumerated entirely which is problematic in itself, but additionally, it also tends to break applications entirely, eg. it makes vulkaninfo crash or apps fail to launch/crash on startup. It's broken and has been a source of several bug reports in DXVK/Proton. Ideally something like this would be disabled by the Steam Client, but Proton is the best option for now. I've been bit by this recently when trying to test something on AMDVLK. The worst part is that when it is active, it doesn't just remove RADV, it tends to just end up breaking things entirely and stopping anything from launching. |
Has someone reported the problem to them? I found this: GPUOpen-Drivers/AMDVLK#196 but couldn't find anything else relevant in their tracker. |
And this: GPUOpen-Drivers/AMDVLK#195 They seem to think it should be working now, someone should let them know it isn't. |
@Joshua-Ashton are you still seeing the issue on AMD switchable graphics layer with latest AMDVLK release? could you provide a test case to reproduce the issue? If you don't want to use the layer, it's better to disable it in your AMDVLK installation instead of doing this in Proton which will cause other problems when both AMDVLK and RADV are installed. |
@jinjianrong Installing the latest AMDVLK (amdvlk-2021.Q3.2-1) still breaks
then it crashes. I tested the Mesa device selection layer for fun and it works fine with Disabling this layer by default is preferable because it's is still broken and doesn't need to exist at all. Quite often users will accidentally install AMDVLK, or have it be upgraded when they were testing before and automatically get this layer which forces them to magically switch to AMDVLK. This gets bug reports and messages sent to me asking why stuff either crashes on startup because of the layer, users getting confused because they have RADV and are confused why it isn't being used, etc. We desperately need something to solve the device selection and device ordering problems in the Vulkan ecosystem, but your layer is making this problem so much worse. |
@Joshua-Ashton could you provide the information of your system? The layer works well in our internal testing. we need to check if there is anything special to reproduce the issue and get the layer working perfectly. |
AFAIK, there is nothing special about my system or setup, I even decided to remove all my ICDs in /usr/local as well as any un-used ICDs just to be sure and it is still broken. Here's my VulkanInfo without AMDVLK and system info.
|
Same happens on my laptop. |
extra/vulkan-icd-loader 1.2.185-1 (109.4 KiB 393.5 KiB) (Installed) |
I have decided to just fix it myself GPUOpen-Drivers/xgl#125 which should at least stop people making issues and emailing me about "why won't X start, DXVK is broken". |
@Joshua-Ashton thanks for the fix! |
Np, it would be nice to have CTS to test this to avoid it in future with loader integration. |
@Joshua-Ashton, we are trying to reproduce the issue today, however we can't reproduce the crash on A+N config, Vulkaninfo works well on our local, both AMD and NV are using the latest public release driver, we also try the latest Vulkan loader 1.2.187, still no crash. I believe there is something different on your test environment, do you enable many layers when running Vulkan apps? |
I see there are 15 Vulkan layers enabled in your test environment, we will try to enable some to make a reproduce. |
No, my layer's don't matter. They're all explicit layers. As I stated in my commit description that I mentioned on the PR when you asked, So you're doing:
pPhysicalDeviceCount = 2 and you pass that to the next layer so
As stated in my commit, you MUST query ALL physical devices and THEN filter. You can't pass this down the chain. |
Hello, im having somewhat the same issue, if i don't add DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1 no vk application will work. |
Please try the new amdvlk release https://github.com/GPUOpen-Drivers/AMDVLK/releases/tag/v-2021.Q3.4 which includes a hotfix from @Joshua-Ashton |
Hello, I currently have amdvlk 2021.Q3.4-1 installed, problem still persists. |
Hello @Mistooo, I think it would make sense to open a new issue report over at https://github.com/GPUOpen-Drivers/AMDVLK so that the video driver devs can track your issue properly. |
Out of curiosity, what GPU are you using? |
I'm using a Radeon RX 580. I don't mind setting the env variable, but since I spent a fair bit of time trying to make it work maybe someone else will find it useful. |
Does it make sense to close this? |
4586e99
to
790ec2c
Compare
Closing. Please file new issues in AMD's tracker. |
This crap layer is still horribly broken and enabled by default.
Signed-off-by: Joshua Ashton [email protected]