protonscr

It seems DXVK fails to work with eGPU (NVidia RTX 3080 as eGPU)

dxvkclosed
doitsujin/dxvk#2628 · opened 2022-04-21 by GameBurrow · updated 2022-04-22 · 9 comments · github
1 matching comments, n / p to jump
GGameBurrow 2022-04-21 github

I found with my latest testing on EndevaourOS (first distro, where I actually managed to get my eGPU properly working) it seems that games do no work through dxvk if my eGPU (RTX 3080) is my primary GPU for xorg, nvidia optimus setup (Intel HD and RTX 3070 Mobile are disabled through Xorg).

Software information

Tested specifically with Snowrunner and Euro Truck Simulator 2.

Seemed to affect all games that use Direct X (so dxvk from my understanding). Games running natively on Linux or with OpenGL through proton worked just fine. On the same machine, when disconnecing eGPU, then the mentioned games run.

System information

  • GPU: RTX 3080 eGPU, unused internal RTX 2070 Mobile and Intel HD something.
  • Driver: NVIDIA 510.60.02
  • Wine version: Tested with Proton Expiremental and GE-Proton7-14
  • DXVK version: v1.10.1-async

Log files

steam-1465360.log

I have more debugging info available, including how my xorg is setup here: https://forum.endeavouros.com/t/linux-newb-looking-for-some-help-regarding-egpu-and-games/26093

WWinterSnowfall 2022-04-22 github

Have you tried manually selecting your eGPU as per: https://github.com/doitsujin/dxvk#device-filter ?

Ddoitsujin maintainer 2022-04-22 github

This isn't a bug. I don't know why it doesn't work for you but from the Vulkan side of things there's literally no difference at all between a normal desktop GPU and an external one, so we cannot fix this in DXVK.

Please make sure you can run native Vulkan applications on the external GPU.

GGameBurrow 2022-04-22 github

Have you tried manually selecting your eGPU as per: https://github.com/doitsujin/dxvk#device-filter ?

That actually worked....

Adding launch param

DXVK_FILTER_DEVICE_NAME="RTX 3080" %command%

for both games worked. So it seems DXVK in my case is failing to detect my main GPU automatically?

WWinterSnowfall 2022-04-22 github

It probably has something to do with the fact you have 2 Nvidia cards... from your logs I can see both your mobile 3070 and 3080 eGPU are being picked up. Might be the inactive one is getting chosen by default for some reason.

Ddoitsujin maintainer 2022-04-22 github

Yes, the game picks up the 3070 since that's the first GPU reported by the Vulkan driver. This is actually working as intended from our perspective, we cannot know that the 3070 is inactive.

WWinterSnowfall 2022-04-22 github

I guess you can also try different setups and see if that affects how the driver is reporting GPUs. I'm assuming you're hitting this issue with eGPU pass-through, right? Meaning you're using you laptop screen or the HDMI port on your laptop, not the one on the GPU enclosure. Perhaps a driver quirk, but yeah, not an issue with dxvk. I'd simply write a script to set/remove the filter you mentioned above and run it whenever you're using your eGPU.

GGameBurrow 2022-04-22 github

I'm assuming you're hitting this issue with eGPU pass-through, right? Meaning you're using you laptop screen or the HDMI port on your laptop, not the one on the GPU enclosure.

That's actually incorrect. I'm using my external monitors, that are directly attached to the eGPU itself, when eGPU is connected. Laptop monitor is actually disabled and no display ports on the laptop are in use.

WWinterSnowfall 2022-04-22 github

That's actually incorrect. I'm using my external monitors, that are directly attached to the eGPU itself, when eGPU is connected. Laptop monitor is actually disabled.

Ah, then the driver is being rather naughty :smile: ...

P.S.: All Vulkan applications, even native Linux games using Vulkan will be affected by this issue, not only dxvk, just FYI.

GGameBurrow 2022-04-22 github

P.S.: All Vulkan applications, even native Linux games using Vulkan will be affected by this issue, not only dxvk, just FYI.

Well, that sounds like it will be annoying as hell, guess I still need to wait before I can daily drive a linux :(

Thanks for the help guys.

Proton versions

Launch options

Launch lines