eGPU on Linux - Performance not great

Hey All,

I just got an Akitio Node Pro Thunderbolt 3 eGPU dock and I’m trying to get it to work on my GPD Pocket 3.
It seems to function fine, brings up monitors but something seems up with performance. Everything just seems slugish on monitors connected to the eGPU and window redraws tear and stutter.

I have tried different distros, Fedora 36, Fedora rawhide and Linux Mint 21 Beta, all seem
to perform similarly.

GPU is an RX580 (Iris Xe internal), CPU is an I7-1195G7, 16GB RAM.
The GPD Pocket 3 does have a Thunderbolt 4 port but a Thunderbolt 3 device should work fine in it. (Should it?)

My first thought is that it’s running in PCIe x1 rather than x4 so I ran an lstopo and got this:
(The GPU is PCI 04:00.0) I’m not sure what the four "1.0"s mean. Is it running is 4x or are there four 1x lanes, one of which the GPU is using?

Here are the results of dmidecode and lspci -vv if anyone knows what to look for.
dmidecode.txt (40.7 KB)
lspci.txt (81.6 KB)

Also tried a GTX 1050ti in it with similar results.
And, yes, I have tried turning it off an on again, unplugging it and plugging it back in again (it didn’t like that, froze the laptop). Connecting the display to the internal graphics and using the external GPU by prepending DRI_PRIME=1 to commands to launch games does work but results are are a bit disappointing.

Any tips or personal experience is appreciated and let me know if you want more info.

Any way to test what generation of pci-e it’s using,
It may be running something dumb like 1.0
On windows you can use the gpu-z utility but I’m not familiar with linux

You know, I think you might be onto something. In the lspci output I saw this:

		LnkSta:	Speed 2.5GT/s (downgraded), Width x4 (downgraded)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

in the GPUs section.

Searched “PCI Express” on Wikipedia and saw this: PCI Express - Wikipedia
PCIe Version: 1.0, Transfer rate per lane: 2.5GT/s