I just got an eGPU for my laptop and on Windows it works like a charm, 80+ FPS at max settings in Satisfactory, my benchmark of choice, and perfect a desktop. But that same thing on Linux is getting like 20 fps and the desktop is lagging like mad.
According to sudo dmesg | grep PCIe, I am only getting a 2.0 Gb/s PCIe x1 link when it detects that it could do 31.504 Gb/s with an x4 link. Again this works perfect in Windows.
I am getting a display out and the game is running on the Nvidia 2080TI GPU and I am using an external monitor so that is all working, nvidia-smi shows a 100% usage, which makes sense if the GPU cant get any data.
I am going to try some kernel params but I dont think they will do much. Any help or ideas would be great.
But losing 60fps in the same game between Windows and Linux does not. Either it is not x4 or it is not 3.0, I think it is not x4 since the difference is about 4 times slower.
Have you tried if it’s better on the internal monitor, I did have issues with it doing double prime (egpu → igpu → egpu → display instead of just egpu → display) when using the output on the egpu before.
Especially the desktop being laggy does hint that way, cause desktop works just fine over pcie1x1, my sawed off gt730 I used to run my 5th screen can back me up on that XD.
I think I was double priming because on the internal display it is like 50 something FPS, an expectable drop going to Linux then to off screen rendering. Is there any way to fix this “double priming”? Because I would like to use my gaming monitor and try to get to at least 60FPS on Linux, otherwise I will just have to dual boot to game because this is breaking.
A quick look around indicates you would need to start your desktop environment on the egpu which would make hotplug problematic, which is likely why I never looked into it further.
If they ever make an UT3G with at least 65W of pd (and maybe daisychaining XD) I’ll buy it in a heartbeat even if I already have multiple other egpu boards. That extra bandwidth from usb4 is pretty sweet but not having pd makes the the slower thunderbolt TH3P4 the better option for now.
I would recommend comapring and testing multiple games. I have found with my eGPU that specific titles can vary quite dramatically in eGPU utilization. My 3080ti will get anywhere from half the frames the 780M iGPU gets to 100% of what I would expect the GPU to be capable of.
Sure, but I am using Windows as the baseline, in Windows this GPU on this game gets 80 FPS and through the display on the back of the GPU it gets 20 FPS and through the display on the laptop it is getting 50 FPS. Also even unrelated to that the displays on the eGPU feel like jello so there is some massive latency and bandwidth limit somewhere.
I just checked the archwiki page on egpus and remembered what I found last time, no idea what I searched for then. You are likely going to find something to help you on the egpu.io forums.
I got a TH3P4G3 with my old RTX 2060 Super, but when plugged into the Framework the light turns green, runs with the fans for about 15 seconds, then seems to loose power intermittently every 10 seconds thereafter. Using the Framework 16 with Nixos as well.
EDIT: I fixed this issue. I just didn’t have Thunderbolt enabled. If you’re on NixOS be sure to have services.hardware.bolt.enable set to true in your config.
If you have the 1x link issue, I think I managed to solve it for my AMD GPU. First I tried adding options amdgpu pcie_gen_cap=0x80000 to a file in my modprobe.d folder. (If you search online some suggest using 0x40000 instead, but that’s the cap for gen 3.) That didn’t work, but I did get better results by then adding amdgpu.pcie_gen_cap=0x80000 to the kernel parameters, or at least I think so: adding the line ‘fixed’ it but removing it didn’t unfix it. Even booting to old generations or kernels I can’t get my computer back to a “broken” state. I still get the PCIe x1 link when I do sudo dmesg | grep PCIe but I still get a much better framerate.