I like to use an eGPU (Razer Core X) with an RTX 3080ti to play games on occasion. One thing I’ve noticed is that in some games, Baldur’s Gate 3 and Space Marine 2 specifically, the framerate seen by the user will be significantly lower than what it would be if I had played on just the iGPU. In these cases, the CPU is not hitting 100% on either single/multicore and the GPU reports a respectable utilization (90%+ with power draw close to max). Despite these metrics however, the framerate will be seemingly capped at 30fps, when the significantly weaker iGPU is capable of higher framerates. My best guess right now is that the thunderbolt 3 bus is acting as a bottle neck, but I have not found a tool that allows me to test that theory. I do not see this issue in other games and the system behaves exactly as expected, but I do not know what they could have in common.
I’m on Linux (Arch) with Plasma 6.1.X and latest nvidia drivers with zen kernel.
Anyone have some troubleshooting ideas? I don’t believe this to be an issue with anything specific to the Framework.
You might be hitting this: KDE bug 452219.
I was getting something similar on AMD ages ago - the fix for me was setting KWIN_DRM_DEVICES before logging in and using only the external monitor, via a script:
# /etc/profile.d/kde-drm.sh
if [ -e "/dev/dri/by-path/pci-0000:07:00.0-card" ]; then
export KWIN_DRM_DEVICES="/dev/dri/by-path/pci-0000\:07\:00.0-card:/dev/dri/by-path/pci-0000\:c1\:00.0-card"
fi
if [ -e "/dev/dri/by-path/pci-0000:66:00.0-card" ]; then
export KWIN_DRM_DEVICES="/dev/dri/by-path/pci-0000\:66\:00.0-card:/dev/dri/by-path/pci-0000\:c1\:00.0-card"
fi
(one device for each USB4 port).
Throw this in with the correct PCI paths for the NVIDIA, chmod +x it, log out and replug your eGPU, and hopefully it helps some.
Note that you’ll lose the ability to hot-plug/unplug the eGPU without logging out first.
The problem is probably lower-level than DXVK since it also shows when passing the GPU through to a VM. It’s either that the drivers have special code paths for eGPUs on Windows which are not utilized in a VM, or that something is broken in the kernel. I feel like there has to be a push for this to be investigated properly.
Hm, do they work well on Windows eGPU? Some games are bottlenecked by the low memory bandwidth of TB4. I found this video of Space Marine 2 on an eGPU (https://www.youtube.com/live/sCHbiN7Qtic), and it works well for the guy in the video, but people in the comments complain about 30FPS.
Looking at this further, I’m not on intel and not connecting an external monitor, so that’s likely a different bug
Update: It looks like the issue is not present when running Baldurs Gate 3 under a fresh Fedora install. I’ll test with Space Marine 2 when I get the chance, but it could be a software issue with my Arch install if it works.