Framework 13 Core Ultra + ADT-Link UT3G + RX 9060 XT: eGPU disconnects ("Link Down"), system freezes under Linux

Hardware

  • Framework Laptop 13 Intel Core Ultra 5 125H
  • BIOS 3.07
  • Arch Linux
  • ADT-Link UT3G (USB4)
  • PowerColor Reaper Radeon RX 9060 XT 16 GB

Symptoms

The system is stable without the eGPU.

With the UT3G connected, the system eventually freezes completely. Initially I thought Hyprland was crashing, but after further testing it turned out that the whole kernel hangs and only a long press of the power button recovers the machine.

The problem occurs even without running games.

Sometimes the Wi-Fi device is also missing after boot when the eGPU is connected.

One freeze also resulted in a completely green external display.

Kernel log before the freeze contains messages similar to:

pciehp: Link Down
Card not present
amdgpu: device lost from bus
amdgpu_job_timedout - device unplugged skipping recovery
flip_done timed out

What I already tested

  • BIOS updated to 3.07
  • latest Arch packages
  • linux-lts
  • older kernels (7.0.8, 7.0.9, 7.0.10, 7.0.13)
  • various amdgpu kernel parameters
  • different USB4 ports
  • PSU directly connected to wall outlet
  • open setup (no enclosure)

None of these changed the behaviour.

One interesting observation:

If I boot with

module_blacklist=amdgpu

the laptop remains stable for a long time.

The UT3G is still detected by boltctl and the GPU is visible in lspci, but the AMD driver is never loaded.

This suggests the issue only starts once amdgpu initializes the GPU.

Has anyone with a Framework Core Ultra laptop and an UT3G or ASM2464PD enclosure observed similar behaviour?

I’ve used the kernel parameter amdgpu.runpm=0 to disable pcie runtime power management on the eGPU for quite a while because it had fixed a similar freezing and eGPU disconnect issue I was having. I don’t know if this is the issue you’re seeing here but might be worth a try to see if applying that fixes it.

Thank you for your response. However I was already doing that because ChatGPT suggested it. Doesn’t seem to solve it for me :frowning:
I don’t know what else to try except to wait for updates…