Thunderbolt eGPU dock connecting at PCIE 1x link on Linux

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.

I also had the reporting as 1x issue but that does seem to be mostly a reporting issue, I got the full bandwidth anyway.

Either way you will be bandwidth limited so the 100% makes sense with a 1x or a 4x link.

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.

I am sure there is but I have not looked into it since my main use-case for egpu was internal display use I just noticed it when trying it.

Well thanks for pointing me in the right direction. I just want it as a single cable, well 2 since my eGPU does not give enough PD, dock when at home.

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.

What did you look up? I cant seam to find anything on this problem.

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 have posed on two other forums, maybe they can help, maybe not. Here are the link if you wanna follow: Thunderbolt eGPU dock has horible latancy and frame rates | Thunderbolt Linux eGPU and Thunderbolt eGPU dock has horible latancy and frame rates - Help - NixOS Discourse