The kernel boot up parameters are:
thunderbolt.host_reset=0 //USB4/TB4 port isn’t restarted at boot up.
pcie_aspm=off //PCIe Active State Power Management disabled, eGPU connected through USB4/TB4 can loose sync very easily when there are power variations and this will crash the system.
pcie_port_pm=off //Disables power management handling for all PCIe, same reason as above.
pci=noaer //Disables PCIe Advanced Error Reporting, it can prevent crashes because of the system trying to restart eGPU because of of errors in the traffic with the eGPU, this errors are normal when using an eGPU with USB4/TB4.
amdgpu.pcie_gen_cap=0x80000 //Forces the graphics card to cap its Link Speed at PCIe Gen 4.
amdgpu.cwsr_enable=0 //Disables Compute Wavefront Save/Restore that can make sometimes the eGPU to loose sync.
This solved all the problems I was having using an eGPU for gaming on Linux or other tasks. I know these solutions aren’t ideal, but they work like a charm. I hope this helps anyone using an eGPU on Linux. Let me know any comment or opinion.


can you expand on what hardware you’re running, namely eGPU box, GPU and laptop/miniPC. did you have cable issues? also, how’s the hot dock/undock situation?
Sorry, my hardware is a GMKtec AMD 7600M XT connected to a ROG Ally X and using a USB4 80Gbps cable. Hot dock and undock doesn’t work but I think it’s because I use all-ways-egpu. It doesn’t bother me too much because I don’t do it that often because it isn’t recommended. I was waking up when I answered, I didn’t know what I read.
Yes, where I got more hard hangs in games before using this kernel boout up parameters were; in Linux native games and old DirectX 11 games examples: Counter Strike 2, Stellaris, Fallout 4 etc. I aso some times got some hard hangs in video recording and video editing software like OBS etc. This also helped with that.
Well, I guess it’s an agent.
What a response!