Radeon RX 7900 XTX eGPU problem with frame.work built-in display

Radeon RX 7900 XTX eGPU problem with frame.work built-in display

( Posting here in case somebody in the community can help and also in case somebody else will have similar problem. But I am also sending an email to support )

Current problems:

Very low fps for anything displayed on the built-in laptop display:
studdering KDE animations, capped 30fps in Black Myth: Wukong Benchmark
But - disabling built-in display and only looking at external display connected to GPU output port
~80fps in MB:W Benchmark and no visible problems with KDE animations

I think this could be related to PCIe bridge, but I am not very experienced with hardware (as software engineer)

I tried searching for PCI related settings in BIOS and didn’t find anything useful.
Only something about USB-4 devices check on startup, which i tried disabling for no result

My specs are:

  1. framework 13 - Ultra 7 165H, Display: 2.8K

  2. eGPU enclosure - Sonnet eGPU-Breakaway-Box-750ex

  3. Linux:

sb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.2 LTS
Release:        24.04
Codename:       noble
uname -srm
Linux 6.11.0-17-generic x86_64
  1. bios:
sudo dmidecode 
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.6 present.
# SMBIOS implementations newer than version 3.5.0 are not
# fully supported by this version of dmidecode.
53 structures occupying 4159 bytes.
Table at 0x5CDEE000.


Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: INSYDE Corp.
        Version: 03.04
        Release Date: 10/09/2024
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 3.4
  1. GPU is successfully set to external with “all-ways-egpu”:
glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 19.1.1, DRM 3.59, 6.11.0-17-generic)

inspecting speed of PCI connections

info from lspci
I tried figuring out source of low speed
both with and without custom modeprobe.d file for amd card
( mentioned here : win3-resources/docs/eGPU.md at master - quad/win3-resources - Forgejo )

#+begin_src

lspci -tv
-[0000:00]-+-00.0  Intel Corporation Device 7d01
           +-02.0  Intel Corporation Meteor Lake-P [Intel Graphics]
           +-04.0  Intel Corporation Device 7d03
           +-07.0-[01-2a]--
           +-07.1-[2b-54]----00.0-[2c-54]--+-01.0-[2d-2f]----00.0-[2e-2f]----00.0-[2f]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M]
           |                               |                                            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
           |                               \-04.0-[30-54]----00.0-[31-54]--+-00.0-[32]----00.0  Intel Corporation I210 Gigabit Network Connection
           |                                                               +-01.0-[33]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller
           |                                                               \-02.0-[34-54]----00.0  Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016]
           +-07.2-[55-7e]--
           +-07.3-[7f-a8]--
           +-08.0  Intel Corporation Device 7e4c
           +-0a.0  Intel Corporation Device 7d0d
           +-0b.0  Intel Corporation Meteor Lake NPU
           +-0d.0  Intel Corporation Meteor Lake-P Thunderbolt 4 USB Controller
           +-0d.2  Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #0
           +-0d.3  Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #1
           +-14.0  Intel Corporation Meteor Lake-P USB 3.2 Gen 2x1 xHCI Host Controller
           +-14.2  Intel Corporation Device 7e7f
           +-15.0  Intel Corporation Meteor Lake-P Serial IO I2C Controller #0
           +-15.1  Intel Corporation Meteor Lake-P Serial IO I2C Controller #1
           +-16.0  Intel Corporation Device 7e70
           +-19.0  Intel Corporation Meteor Lake-P Serial IO I2C Controller #4
           +-19.1  Intel Corporation Meteor Lake-P Serial IO I2C Controller #5
           +-1c.0-[a9]----00.0  Sandisk Corp WD Black SN770 / PC SN740 256GB / PC SN560 (DRAM-less) NVMe SSD
           +-1c.5-[aa]----00.0  Intel Corporation Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak]
           +-1f.0  Intel Corporation Device 7e02
           +-1f.3  Intel Corporation Meteor Lake-P HD Audio Controller
           +-1f.4  Intel Corporation Meteor Lake-P SMBus Controller
           \-1f.5  Intel Corporation Meteor Lake-P SPI Controller
efim-nefedov@LL421000D:~$ cd ../ANY-21120-writing-live-reports-dashboards-into-weaver/^C
efim-nefedov@LL421000D:~$ sudo lspci -vv -s 2f:00.0 | grep "Lnk\|Thunderbolt\|Radeon"
[sudo] password for efim-nefedov: 
2f:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] (rev c8) (prog-if 00 [VGA controller])
        Subsystem: Tul Corporation / PowerColor Navi 31 [Radeon RX 7900 XT/7900 XTX]
                LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L1, Exit Latency L1 <1us
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                LnkSta: Speed 16GT/s, Width x16
                LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
efim-nefedov@LL421000D:~$ sudo lspci -vv -s 2e:00.0 | grep "Lnk\|Thunderbolt\|Radeon"
                LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L1, Exit Latency L1 <1us
                LnkCtl: ASPM Disabled; Disabled- CommClk+
                LnkSta: Speed 16GT/s, Width x16
                LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -3.5dB
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
efim-nefedov@LL421000D:~$ sudo lspci -vv -s 2d:00.0 | grep "Lnk\|Thunderbolt\|Radeon"
                LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L1, Exit Latency L1 <64us
                LnkCtl: ASPM Disabled; Disabled- CommClk+
                LnkSta: Speed 8GT/s (downgraded), Width x4 (downgraded)
                LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
efim-nefedov@LL421000D:~$ sudo lspci -vv -s 2c:01.0 | grep "Lnk\|Thunderbolt\|Radeon"
2c:01.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02) (prog-if 00 [Normal decode])
        Subsystem: Sonnet Technologies, Inc. JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
        Capabilities: [ac] Subsystem: Sonnet Technologies, Inc. JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
                LnkCap: Port #1, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <2us, L1 <4us
                LnkCtl: ASPM Disabled; Disabled- CommClk+
                LnkSta: Speed 8GT/s, Width x4
                LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -3.5dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ EqualizationPhase1+
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
efim-nefedov@LL421000D:~$ sudo lspci -vv -s 2b:00.0 | grep "Lnk\|Thunderbolt\|Radeon"
2b:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02) (prog-if 00 [Normal decode])
        Subsystem: Sonnet Technologies, Inc. JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
        Capabilities: [ac] Subsystem: Sonnet Technologies, Inc. JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
                LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <2us, L1 <4us
                LnkCtl: ASPM Disabled; Disabled- CommClk+
                LnkSta: Speed 2.5GT/s, Width x4
                LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
efim-nefedov@LL421000D:~$ sudo lspci -vv -s 00:07.1 | grep "Lnk\|Thunderbolt\|Radeon"
00:07.1 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #1 (rev 10) (prog-if 00 [Normal decode])
        Subsystem: Framework Computer Inc. Meteor Lake-P Thunderbolt 4 PCI Express Root Port
                LnkCap: Port #17, Speed 2.5GT/s, Width x4, ASPM L1, Exit Latency L1 <16us
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkSta: Speed 2.5GT/s, Width x4
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
        Capabilities: [90] Subsystem: Framework Computer Inc. Meteor Lake-P Thunderbolt 4 PCI Express Root Port
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-

#+end_src

and this limit is the same 2.5 regardless of which usb-c ports out of 4 on the laptop i use:

right, closer to screen

#+begin_src

lspci -tv
-[0000:00]-+-00.0  Intel Corporation Device 7d01
           +-02.0  Intel Corporation Meteor Lake-P [Intel Graphics]
           +-04.0  Intel Corporation Device 7d03
           +-07.0-[01-2a]--
           +-07.1-[2b-54]--
           +-07.2-[55-7e]----00.0-[56-7e]--+-01.0-[57-59]----00.0-[58-59]----00.0-[59]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M]
           |                               |                                            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
           |                               \-04.0-[5a-7e]----00.0-[5b-7e]--+-00.0-[5c]----00.0  Intel Corporation I210 Gigabit Network Connection
           |                                                               +-01.0-[5d]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller
           |                                                               \-02.0-[5e-7e]----00.0  Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016]

#+end_src

and the first one is
#+begin_src

sudo lspci -vv -s 00:07.2 | grep "Lnk\|Thunderbolt\|Radeon"
00:07.2 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 10) (prog-if 00 [Normal decode])
        Subsystem: Framework Computer Inc. Meteor Lake-P Thunderbolt 4 PCI Express Root Port
                LnkCap: Port #18, Speed 2.5GT/s, Width x4, ASPM L1, Exit Latency L1 <16us
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkSta: Speed 2.5GT/s, Width x4
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
        Capabilities: [90] Subsystem: Framework Computer Inc. Meteor Lake-P Thunderbolt 4 PCI Express Root Port
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-

#+end_src

left, closer to screen

#+begin_src

lspci -tv
-[0000:00]-+-00.0  Intel Corporation Device 7d01
           +-02.0  Intel Corporation Meteor Lake-P [Intel Graphics]
           +-04.0  Intel Corporation Device 7d03
           +-07.0-[01-2a]--
           +-07.1-[2b-54]----00.0-[2c-54]--+-01.0-[2d-2f]----00.0-[2e-2f]----00.0-[2f]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M]
           |                               |                                            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
           |                               \-04.0-[30-54]----00.0-[31-54]--+-00.0-[32]----00.0  Intel Corporation I210 Gigabit Network Connection
           |                                                               +-01.0-[33]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller
           |                                                               \-02.0-[34-54]----00.0  Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016]
#+end_src
#+begin_src
sudo lspci -vv -s 00:07.1 | grep "Lnk\|Thunderbolt\|Radeon"
[sudo] password for efim-nefedov: 
00:07.1 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #1 (rev 10) (prog-if 00 [Normal decode])
        Subsystem: Framework Computer Inc. Meteor Lake-P Thunderbolt 4 PCI Express Root Port
                LnkCap: Port #17, Speed 2.5GT/s, Width x4, ASPM L1, Exit Latency L1 <16us
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkSta: Speed 2.5GT/s, Width x4
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
        Capabilities: [90] Subsystem: Framework Computer Inc. Meteor Lake-P Thunderbolt 4 PCI Express Root Port
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-

#+end_src

left, closer to touchpad:

#+begin_src
lspci -tv

-[0000:00]-+-00.0  Intel Corporation Device 7d01
           +-02.0  Intel Corporation Meteor Lake-P [Intel Graphics]
           +-04.0  Intel Corporation Device 7d03
           +-07.0-[01-2a]----00.0-[02-2a]--+-01.0-[03-05]----00.0-[04-05]----00.0-[05]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M]
           |                               |                                            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
           |                               \-04.0-[06-2a]----00.0-[07-2a]--+-00.0-[08]----00.0  Intel Corporation I210 Gigabit Network Connection
           |                                                               +-01.0-[09]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller
           |                                                               \-02.0-[0a-2a]----00.0  Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016]

#+end_src

#+begin_src

sudo lspci -vv -s 00:07.0 | grep "Lnk\|Thunderbolt\|Radeon"
00:07.0 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 10) (prog-if 00 [Normal decode])
        Subsystem: Framework Computer Inc. Meteor Lake-P Thunderbolt 4 PCI Express Root Port
                LnkCap: Port #16, Speed 2.5GT/s, Width x4, ASPM L1, Exit Latency L1 <16us
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                LnkSta: Speed 2.5GT/s, Width x4
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
        Capabilities: [90] Subsystem: Framework Computer Inc. Meteor Lake-P Thunderbolt 4 PCI Express Root Port
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-

#+end_src

after looking at each node it looks like 00:07.1 only capable of 2.5GT/s

and it looks like it is on the laptop side

i found this detailed note about fix already mentioned in several of framework community posts

options amdgpu pcie_gen_cap=0x40000

this does not help.
and in the comments of a github snippet: legion-go-tricks/resources/egpu-pcie3speed.conf at main · aarron-lee/legion-go-tricks · GitHub
it says:
#+begin_quote

it turns out it was most likely the amdgpu driver detecting the weakest link
in the chain and setting itself to 2.5 GT/s
#+end_quote

so maybe those ports should advertise only 2.5?
if so - i do not understand where should I look for the root cause
since all other ports already report higher speeds

udo dmesg | grep limited
[   19.994580] pci 0000:2b:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.1 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[   19.999134] pci 0000:2d:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.1 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
[   20.001053] pci 0000:2f:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.1 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
[   20.002699] pci 0000:30:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.1 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[   20.019018] pci 0000:34:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.1 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)

Ending questions:

  1. Do I actually have a problem with root PCI ports? Or others with eGPU see same speeds on the root nodes?
  2. What can I check \ try to figure out the root problem?
    Since eGPU seems to be working and functioning quite well for external display

I have the same problem in Fedora with my 13 12th gen, in Windows it works fine with 8GT/s PCIe 3.0 speed, so it’s likely not a hardware issue.

  1. Measure your actual thunderbolt bandwidth with a bandwidth test as lspci doesn’t report an accurate value for thunderbolt and USB4 connections. A similar question was asked and answered in this issue: Determining egpu connection speed. · Issue #37 · ewagner12/all-ways-egpu · GitHub
  2. The root problem of the built-in display lagging may not be the bandwidth. Assuming the bandwidth test looks ok it probably comes down to the specifics of your wayland compositor and how it handles display scanout
1 Like

Thank you for the tips!

I’ve tried to start a benchmark as described in the Determining egpu connection speed. · Issue #37 · ewagner12/all-ways-egpu · GitHub

but my result - operation of writing into amdgpu_benchmark is not allowed even under root:

sudo lspci | grep 7900
2f:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] (rev c8)
efim-nefedov@LL421000D:~$ sudo -i
root@LL421000D:~# ls -la /sys/kernel/debug/dri/0000\:2f\:00.0/amdgpu_benchmark 
--w------- 1 root root 0 Feb 18 09:05 /sys/kernel/debug/dri/0000:2f:00.0/amdgpu_benchmark
root@LL421000D:~# echo 4 > /sys/kernel/debug/dri/0000\:2f\:00.0/amdgpu_benchmark 
-bash: /sys/kernel/debug/dri/0000:2f:00.0/amdgpu_benchmark: Operation not permitted

I will go and search only for other ways to benchmark the speed of connection, for now don’t have any leads

( the same post also references clpeak so i’ll look into that )

To the note about possible problem in the compositor - i will also try to check how things work in X-11 kde session with a different eGPU switcher. (also thank you for the suggestion)

An update:

I think I was able to measure the connection speed to the eGPU:

clpeak --transfer-bandwidth

Platform: AMD Accelerated Parallel Processing
  Device: gfx1100
    Driver version  : 3635.0 (HSA1.1,LC) (Linux x64)
    Compute units   : 48
    Clock frequency : 2371 MHz

    Transfer bandwidth (GBPS)
      enqueueWriteBuffer              : 14.66
      enqueueReadBuffer               : 15.09
      enqueueWriteBuffer non-blocking : 14.67
      enqueueReadBuffer non-blocking  : 15.11
      enqueueMapBuffer(for read)      : 1130254.62
        memcpy from mapped ptr        : 15.15
      enqueueUnmap(after write)       : 499414.78
        memcpy to mapped ptr          : 14.67

I think it means ~15Gb/s so it’s kind of fast

The initial problem still exists:

any games launched on the “laptop display” and even KDE UI have very noticeable lag & low fps

Additional problem I have discovered:

the required
amdgpu-install -y --accept-eula --usecase=graphics,rocm

resulted in Ubuntu not showing Wayland options on the login screen, and inside of the X11 sessions, there were still low fps & studderings

but also - rebooting without eGPU, only in internal gpu the system would not use iGPU correctly, it shows

glxinfo | grep "OpenGL renderer"
OpenGL renderer string: llvmpipe (LLVM 19.1.2, 256 bits)

but doing the amgdpu-uninstall i would get back access to Wayland sessions, rendered would still be registered as Radeon on eGPU and correct Intel on iGPU

Good things:

Even though games do not work on the laptop screen, looks like connection to eGPU is fast, so using it to off-load LLM works well

and also installing
amdgpu-install -y --usecase=hip
enables GPU offload of rendering in blender

Right now I don’t know what to try next

maybe somebody here will have an idea, maybe frame.work support would give some suggestions

Right now I’m inclined to think that maybe for other frame.work 13 laptop owners with eGPU they didn’t have 2.8k screen - and that is the problem

I’ll update top post with TLDR on what works and what doesn’t, and hope for the best whilel still using blender & llms locally

TLDR so far

  1. frame.work 13 with 2.8k display & Ultra 7 165H
  2. eGPU enclosure : Sonnet eGPU-Breakaway-Box-750ex
  3. gpu - Radeon RX 7900 XTX

not everything works

what works:

  • offloading of llms (with ollama)
  • using eGPU for rendering in blender
  • gaming when using monitor connected directly to the GPU output

what doesn’t work:

using laptop display when eGPU is active renderer
the UI is lagging, frames are exteremely low

even though I think I was able to measure “actual connection speed to eGPU”
and it is ~15Gb/s

I am not fully satisfied, but overall things are good enough
While I am hopeful there is something that can be done, I am mostly using my machine for work and study and don’t invest a lot of time into trying to find a fix.
Just putting this out there as info for those who would research eGPU for their laptops (since there are several fully successful stories on this community)

Update: almost everything works

I needed to set lower resolution of the display in the system settings

my error was trying to lower resolution in the game settings, but looks like eGPU still needed to produce all 2.8k pixels, so that was root for the lag

when i’m lowering resolution on the system level, both UI and games are displayed with acceptable frame rate

For some reason I had impression that connecting additional display via laptop port also resulted in low frame rate, it is not the case if the laptop-monitor is either turned off or set to lower resolution on system level

So only problem was trying to fit 2880x1920 frames through the usb-3 connection

Will also update the topic name to indicate that all is good