Open joelmathewthomas opened 1 year ago
Hey @joelmathewthomas, currently I'm also facing same problem. Did you find any solution to this?
Unfortunately, no. The developers haven't even replied back. But , i think it's better to use Lutris or Heroic Games Launcher
Hey @joelmathewthomas, currently I'm also facing same problem. Did you find any solution to this?
Lutris and Heroic game launchers have more features, and is better in my opinion. If you are using a hybrid graphics laptop, just disable Enable NVIDIA Prime Render Offload in the settings and select the NVIDIA Graphics card in the VULKAN ICD LOADER. Image Preview
@joelmathewthomas , I was facing this problem with the heroic launcher when using proton 8+ versions. From my research I can say that Xorg isn't working great with proton/wine 8+ versions. Also when switching to Wayland everything worked fine.
@joelmathewthomas , I was facing this problem with the heroic launcher when using proton 8+ versions. From my research I can say that Xorg isn't working great with proton/wine 8+ versions. Also when switching to Wayland everything worked fine.
Just disable discrete graphics and proton should automatically select the nvidia gpu. Lutris does it better by allowing us to choose the vulkan icd loader.
@joelmathewthomas , I was facing this problem with the heroic launcher when using proton 8+ versions. From my research I can say that Xorg isn't working great with proton/wine 8+ versions. Also when switching to Wayland everything worked fine.
Just disable discrete graphics and proton should automatically select the nvidia gpu. Lutris does it better by allowing us to choose the vulkan icd loader.
I'll try it.
@joelmathewthomas Yes, disabling the discrete graphic option in heroic does seem to work. But how do I confirm that my discrete graphics is in use. Because nvtop show same output in both the cases.
@joelmathewthomas Yes, disabling the discrete graphic option in heroic does seem to work. But how do I confirm that my discrete graphics is in use. Because nvtop show same output in both the cases.
Just run nvidia-smi
in the terminal and check under running processes , if your game or process related to it is mentioned. Or maybe you could say the difference from the fps.
I have this same problem. Any bottles where I set the runner to Proton 8.x the games either failure to load or some other failure. I get this in journalctl output
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 156 (NV-GLX)
Minor opcode of failed request: 43 ()
If I try disabling discrete graphics the iGPU gets used. And nothing in nvidia-smi.
I have a dual gpu setup on this laptop. If I'm using lutris it has the option to manually set the Vulkan ICD loader and I can select my card and boom it works on proton 8+ runners.
I can manually set __GLX_VENDOR_LIBRARY_NAME: nvidia __NV_PRIME_RENDER_OFFLOAD: '1' and use Wine to launch whatever and it utilizes the GPU I expect.
An easy workaround/solution would be to add the ability to manually specify which card the Vulkan ICD loader uses.
Is there a feature request area?
I have this same problem. Any bottles where I set the runner to Proton 8.x the games either failure to load or some other failure. I get this in journalctl output
X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 156 (NV-GLX) Minor opcode of failed request: 43 ()
If I try disabling discrete graphics the iGPU gets used. And nothing in nvidia-smi.
I have a dual gpu setup on this laptop. If I'm using lutris it has the option to manually set the Vulkan ICD loader and I can select my card and boom it works on proton 8+ runners.
I can manually set __GLX_VENDOR_LIBRARY_NAME: nvidia __NV_PRIME_RENDER_OFFLOAD: '1' and use Wine to launch whatever and it utilizes the GPU I expect.
An easy workaround/solution would be to add the ability to manually specify which card the Vulkan ICD loader uses.
Is there a feature request area?
Exactly, this needs to be implemented as a feature.
@joelmathewthomas don't know if you found #3178 but I've subscribed there. Hopefully they're able to implement it as a manual switch, would definitely make me happy, generally don't like using Lutris
I've managed to fix this with variables __GLX_VENDOR_LIBRARY_NAME=nvidia VK_ICD_FILENAMES=/etc/vulkan/icd.d/nvidia_icd.json
and disabled in GUI any obvious uses of NVIDIA dGPU. Where /etc/vulkan/icd.d/nvidia_icd.json
is path to your nvidia_icd.json
. I don't know why it's located on openSUSE TW with 545.29.06 in /etc/vulkan/icd.d/
and not in /usr/share/vulkan/icd.d/
like rest of ICD loaders (NVIDIA packages drivers for openSUSE themselves, big question for them). It was tested by me in OBS rpm Bottles, not flatpak one. For flatpak you might want to seek for nvidia_icd.json
inside flatpak container in nvidia runtime (I'm not confident in my knowledge of flatpak tho). Also worth to mention I used x11 session Plasma. Wayland is not affected by this problem it seems, but there is no 100% certainty and the solution I proposed can be tried too. I support the proposal to add a Vulkan ICD Loader switcher like in Lutris.
I've also managed to get it to work using launch arguments. But what i used instead was
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/share/vulkan/explicit_layer.d
Same issue to me, Bottles can't open some application, when I set Ubuntu to open bottles app with discrete GPU (Nvidia) the application freeze and no window opens
Same issue to me, Bottles can't open some application, when I set Ubuntu to open bottles app with discrete GPU (Nvidia) the application freeze and no window opens
Disable discrete gpu in settings and use the launch arguments VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/share/vulkan/explicit_layer.d
. That should fix it.
@joelmathewthomas Are you running the flatpak version? And does this make it so that any program you run use the nvidia card? Adding this environment variables doesn't seem to change anything for me, the programs just run on the integrated card
@joelmathewthomas Are you running the flatpak version? And does this make it so that any program you run use the nvidia card? Adding this environment variables doesn't seem to change anything for me, the programs just run on the integrated card
Make sure to disable discrete graphics option in the settings. Also , no I'm not running the flatpak version
@joelmathewthomas Are you running the flatpak version? And does this make it so that any program you run use the nvidia card? Adding this environment variables doesn't seem to change anything for me, the programs just run on the integrated card
Honestly, result varies by distribution due to how drivers packaged. 545 is a big mess. Only thing I'm sure openSUSE Tumbleweed KDE Wayland works out of the box with bottles (rpm) discrete toggle (nvidia packager). And Fedora 39 KDE doesn't (rpmfusion packager). Also you may try using lower than 8 wine or fork version.
Same issue to me, Bottles can't open some application, when I set Ubuntu to open bottles app with discrete GPU (Nvidia) the application freeze and no window opens
Disable discrete gpu in settings and use the launch arguments
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/share/vulkan/explicit_layer.d
. That should fix it.
Thank you finally I can use proton runners on nvidia optimus laptop. Btw, is there any way to run this under flatpak? It would be great.
Edit: I manage to run under flatpak with using this argument WOHOO!: VK_ICD_FILENAMES=/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/lib/x86_64-linux-gnu/GL/vulkan/explicit_layer.d %command%
Yeah. Tried right now to make flatpak version work just for fun. Since there is flatpak runtime for nvidia had to search needed files inside flatpak container. I used VK_ICD_FILENAMES=/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json VK_LAYER_PATH=/usr/lib/x86_64-linux-gnu/GL/vulkan/explicit_layer.d
and can confirm it works as intended. I think it's time to strain nvidia and make a bug report.
X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 156 (NV-GLX) Minor opcode of failed request: 43 () Serial number of failed request: 428 Current serial number in output stream: 429
In arch wiki shows that wine has a problem with dxvk, i fixed this problem using xorg with only the dedicated gpu
, removing the ability to offload.
The easiest and automatic way to configure xorg with a nvidia gpu to use only the dedicated gpu is using optimus-manager
, but you can manually configure xorg if you know how.
With this configurated, you no longer need use a Prime render, you can run the application normally 'cause using only dedicated gpu, and run a game with prime-run
for example, the error will still occur
Arch wiki doesn't provide any detailed information on this issue. Use of dGPU only might affect general performance in 3D wine apps. Also some people can't afford it due to smaller VRAM or weaker GPU. Still working offload workaround is to set path to nvidia_icd.json. Can update problem status. Confirm workaround works with flatpak in x11 fedora 39 kde session. Wayland session seems work with GUI discrete toggle as intended without additional variable. openSUSE Tumbleweed wayland kde works out of the box as intended. x11 session requires nvidia_icd.json (but there might arise other problem with complete PC freeze, could be distro specific). I also report findings on nvidia forum but developers not really being responsive.
Describe the bug
So, I have an Dual GPU Gaming Laptop, Intel iGPU and NVIDIA RTX 3050 Ti Discrete GPU. The laptop display is being run by iGPU and Games rendered on NVIDIA GPU is offloaded to the iGPU. I also use prime-run for other GPU intensive applications. So the issue is that, for proton version 8.0 and above , when launching a game with the Discrete Graphics Option turned on, within a bottle settings, it gives me an error and game fails to launch. The error is
Now if i turn off the Discrete GPU Option , the game launches fine. But obviously , it is being rendered on the Intel iGPU now, which isn't what I want due to low performance. Now coincidentally, this issue is also present with Lutris , when the NVIDIA Prime Render Offload option is turned on. But on Lutris, it can be solved by turning off NVIDIA Prime Render Offload and then in the VULKAN ICD LOADER settings choosing NVIDIA RTX 3050 Ti Laptop GPU. And now the game launches fine on Lutris, and also using the NVIDIA discrete GPU, which is exactly what i want. But there is no way to do this in Bottles. Please fix this bug when using proton 8 and above.
To Reproduce
X Error of failed request: BadMatch (invalid parameter attributes)
error.Package
Flatpak from Flathub
Distribution
Arch Linux 6.4.12-arch1-1
Debugging Information
Troubleshooting Logs
Additional context
No response