protonscr

Cannot run most games on nvidia gpu (dual gpu setup with prime offload)

dxvkclosed
doitsujin/dxvk#3680 · opened 2023-10-01 by puyebu · updated 2024-07-08 · 6 comments · github
Ppuyebu 2023-10-01 github

I am using Lutris wine manager but I have tried the same with wine and some games on proton, the issue persists.
I have two gpus, igpu amd and dgpu nvidia. Some games do not work on nvidia gpu no matter how I specify them to use it. Some other games manage to work with nvidia, but I have found nothing different about them, for example one game on Unity engine can work while another cannot. All those games do start fine on amd igpu.
The common error between all the games that do not work is xrandr14_get_adapters Failed to get adapters.

System information

  • GPU: AMD Ryzen 9 7950X IGPU (AMD Raphael) / NVIDIA TU104 [GeForce RTX 2070 SUPER] (DGPU)
  • Driver: amdgpu / nvidia 535.113.0
  • Wine version error encountered on: wine-8.15; wine-ge-8-17-x84_64; lutris-GE-Proton8-15-x86_64
  • DXVK version: 2.3

Additional Information:

Inxi graphics information
Graphics:
  Device-1: NVIDIA TU104 [GeForce RTX 2070 SUPER] vendor: ASUSTeK
    driver: nvidia v: 535.113.01 arch: Turing pcie: speed: 2.5 GT/s lanes: 16
    ports: active: none empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2, Unknown-1
    bus-ID: 01:00.0 chip-ID: 10de:1e84
  Device-2: AMD Raphael vendor: Micro-Star MSI driver: amdgpu v: kernel
    arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 ports: active: DP-3,HDMI-A-3
    empty: DP-4,DP-5 bus-ID: 14:00.0 chip-ID: 1002:164e temp: 53.0 C
  Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.2.1
    compositor: kwin_x11 driver: X: loaded: modesetting,nvidia dri: radeonsi
    gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3200x1080 s-dpi: 96
  Monitor-1: DP-3 pos: primary,top-left res: 1920x1080
    dpi: 82 diag: 686mm (27")
  Monitor-2: HDMI-A-3 mapped: HDMI-3 pos: bottom-r res: 1280x1024 dpi: 86 diag: 482mm (19")
  API: EGL v: 1.5 platforms: device: 0 drv: nvidia device: 1 drv: radeonsi
    device: 3 drv: swrast surfaceless: drv: nvidia x11: drv: radeonsi
    inactive: gbm,wayland,device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: amd v: 535.113.01 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon Graphics (raphael_mendocino LLVM
    16.0.6 DRM 3.54 6.5.5-arch1-1) device-ID: 1002:164e
  API: Vulkan v: 1.3.264 surfaces: xcb,xlib device: 0 type: integrated-gpu
    driver: mesa radv device-ID: 1002:164e device: 1 type: discrete-gpu
    driver: nvidia device-ID: 10de:1e84 device: 2 type: cpu
    driver: mesa llvmpipe device-ID: 10005:0000
xrandr --listproviders
$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x46 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 4 associated providers: 1 name:modesetting
Provider 1: id: 0x267 cap: 0x2, Sink Output crtcs: 4 outputs: 7 associated providers: 1 name:NVIDIA-G0

Log files

Attached log files from Underrail, Fate Seeker.
errorlog1.txt
errorlog2.txt

BBlisto91 2023-10-01 github

info: Required Vulkan extension VK_KHR_surface not supported

This line means there is an issue with your Vulkan drivers. Make sure that both 64bit and 32bit Vulkan drivers are installed for your Nvidia GPU.

Ppuyebu 2023-10-01 github

I seemingly have everything relevant installed, could you tell me if anything is missing?
For nvidia it should be enough to have nvidia-utils and lib32-nvidia-utils.

yay -Q | grep -e vk -e vulkan -e vlk -e nvidia-utils
$ yay -Q | grep -e vk -e vulkan -e vlk -e nvidia-utils
lib32-nvidia-utils 535.113.01-1
lib32-vkd3d 1.9-1
lib32-vulkan-icd-loader 1.3.263-1
lib32-vulkan-radeon 1:23.1.8-1
lib32-vulkan-validation-layers 1.3.261.1-1
nvidia-utils 535.113.01-2
vkd3d 1.9-1
vulkan-headers 1:1.3.264-2
vulkan-icd-loader 1.3.263-1
vulkan-tools 1.3.263-1
vulkan-validation-layers 1.3.261.1-1
ls /usr/share/vulkan/icd.d/
$ ls /usr/share/vulkan/icd.d/
intel_hasvk_icd.x86_64.json  lvp_icd.x86_64.json  radeon_icd.i686.json    virtio_icd.x86_64.json
intel_icd.x86_64.json        nvidia_icd.json      radeon_icd.x86_64.jso
HHunterCZ122 2023-10-02 github

$ ls /usr/share/vulkan/icd.d/
intel_hasvk_icd.x86_64.json lvp_icd.x86_64.json radeon_icd.i686.json virtio_icd.x86_64.json
intel_icd.x86_64.json nvidia_icd.json radeon_icd.x86_64.json

Where the other ICDs came from? If you only have radv and nvidia packages installed, then anv, lavapipe and venus shouldn't be there (unless you have vk drivers installed externally somehow).

Ppuyebu 2023-10-02 github

I am not sure. Radeon/nvidia probably've come from mesa/amd packages while virtio from qemu.
Is there a way to check, should I just remove them?

BBlisto91 2024-02-06 github

@puyebu Did you manage to figure out your issue?

KK0bin maintainer 2024-07-08 github

Closing due to a lack of feedback.

Proton versions