My EGPU setup (UT3G ADT-LINK, AMD RX 6800xt)

Framework Laptop 13
Fedora Version: VERSION_ID=43
Kernel: 6.19.12-200.fc43.x86_64
BIOS: 03.18
Framework 13 CPU: Model name: AMD Ryzen 7 7840U w/ Radeon 780M Graphics

Just wanted to post this because I finally got my EGPU working with this setup. It was EXTREMELY finnicky (and still is), but I can get it to reliably connect with a USB4 type C port on the back right port of my laptop.

        1

               2

First step is to get the UT3G board to have solid 3 green LEDS to indicate its been fully connected. This was the hardest part for me. I found this wacky work-around however that made it more reliable.

First, the normal technique steps:

  1. FIRST: HDMI did not work for me. Could be just me. Display Port was better.
  2. When connecting, make sure laptop is fully powered down
  3. Then plugg in with USB cable connected on both ends.
  4. Then turn on power supply, then turn on board. Switch positions can be in pos. 1 (except of course the main power switch).
  5. Power on laptop.
  6. If it works and turns solid green, Woo! (Then go to all-ways-egpu)
  7. Check if its recognized lspci -nn | grep amd
  8. Otherwise do this:

Weird solution steps:

  1. While everything is connected, power off the UT3G board.
  2. Then turn switch 1 to force power on. There should be 1 little green LED that comes on.
  3. Then turn the main power back on.
  4. And voila, it should become fully green in a few seconds.
  5. Check lspci -nn | grep amd to see if its there.

Maybe like forces it to re-consider the USB4 tunnel connection or something?

By using GitHub - ewagner12/all-ways-egpu: Configure eGPU as primary under Linux Wayland desktops · GitHub

  1. Then install all-ways-egpu
  2. Do guided setup and select the correct options for your case.
  3. Then I only said yes to “Set Compositor Specific Variables (Method 3)” not method 2.
  4. Then you should be able to restart the display manager, and the screen should now work on your external monitor!
  5. Happy gaming.

Other tips:

I increased the all-ways-egpu timeout for detecting the GPU and let it run as soon as I did the alternate solution.

Let me know if any of y’all have any thoughts or tips for me!

1 Like

To clarify, this is just steps that worked for me. In all-ways-egpu, you may need to use method 2 and 3 together.

I also have still had inconsistencies getting the screen on the monitor.
According to some research my egpu kept crashing because amdgpu issues a MODE1 reset during init, and Thunderbolt resets cannot survive the PCIe link going down and coming back up — it drops the device. The fix is to tell amdgpu to skip that reset attempt:

sudo grubby --update-kernel=ALL --args="amdgpu.reset_method=4"

reset_method=4 selects BACO (Bus Active, Chip Off) reset instead of MODE1, which doesn’t take the PCIe link down and is safe over Thunderbolt.

Then I reboot with the UT4G already connected and powered on before boot, and it booted and my monitor came right on.