Framework 16 with thunderbold 4 egpu ubuntu crashes & won't boot or shutdown

Which Linux distro are you using? ubuntu

Which release version? 24.04
(if rolling release without a release version, skip this question)

(If rolling release, last date updated?)

Which kernel are you using? latest maintenance/hardware enablement: 6.14.0-37-generic

Which BIOS version are you using?

Vendor: INSYDE Corp.
Version: 03.07
Release Date: 08/27/2025
Address: 0xE0000

idefix%Which Framework Laptop 16 model are you using? (AMD Ryzen™ 7040 Series)

  product: AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
   vendor: Advanced Micro Devices [AMD]
   physical id: 1
   bus info: cpu@0
   version: 25.116.1

egpu (Razer Core X V2) is connected via usb-C port in the rearmost port on the right.

If I boot the laptop with the egpu connected, it hangs during the boot (still showing framework on the screen… not sure if ubuntu is even starting to load.)

If I have the egpu connected, and I shut the laptop down, it does not power down.

It gets to a BIOSish looking screen, and just stays there forever, screen and mainport remaining powered. Holding power button for 10 seconds is needed to get it to power down.

When the system is booted without the EGPU, and the EGPU is hot-plugged afterward, then

it seems to work a little:

  • boltctl show it:

idefix% boltctl
● Razer Core X V2
├─ type: peripheral
├─ name: Core X V2
├─ vendor: Razer
├─ uuid: 8ab48780-0063-8da9-ffff-ffffffffffff
├─ generation: USB4
├─ status: authorized
│ ├─ domain: 4ff73804-d02c-6132-ffff-ffffffffffff
│ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s
│ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s
│ └─ authflags: none
├─ authorized: Wed 24 Dec 2025 05:57:07 PM UTC
├─ connected: Wed 24 Dec 2025 05:57:07 PM UTC
└─ stored: Wed 24 Dec 2025 12:37:40 AM UTC
├─ policy: iommu
└─ key: no

and the GPU shows up

idefix% lspci | grep VGA
07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 7550 (rev c0)
c1:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 (rev c2)
idefix%

The c1 is the built-in gpu, and the 07:00 one is the external AMD 9070XT.

Also, I have the display port (or HDMI, reproduced with either.) connected to the 9070XT. This sort of basic display driving seems to work fine. the fans on the egpu are fairly quiet. If I run glmark for a short period of time, the igpu beats the egpu soundly. So something is odd. Also, If I leave the glmark2 running on the external gpu for a few minutes, the whole laptop hangs. have to disconnect the egpu and hard reset (10 second power cycle):slight_smile:

My current guess is that there is some kind of hardware problem. Either the 9070 is bad, or the power supply is wonky, or the cables between them. but I’m not 100% sure it’s not drivers or something software I can do. Do folks have ideas for stuff to try? I’ve got a couple of days before I can bring back to my local computer store for diagnostics.

glmark2 results:

If I run glmark2 on the internal GPU, I get:

idefix% glmark2

glmark2 2023.01

=======================================================
OpenGL Information
GL_VENDOR: AMD
GL_RENDERER: AMD Radeon 780M (radeonsi, phoenix, LLVM 20.1.2, DRM 3.61, 6.14.0-37-generic)
GL_VERSION: 4.6 (Compatibility Profile) Mesa 25.0.7-0ubuntu0.24.04.2
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x600 windowed

[build] use-vbo=false: FPS: 15265 FrameTime: 0.066 ms
[build] use-vbo=true:^C
idefix%

15k FPS! is fabulous for my internal GPU, then I try with the external one:

idefix% DRI_PRIME=1 glmark2

glmark2 2023.01

=======================================================
OpenGL Information
GL_VENDOR: AMD
GL_RENDERER: AMD Radeon Graphics (radeonsi, gfx1201, LLVM 20.1.2, DRM 3.61, 6.14.0-37-generic)
GL_VERSION: 4.6 (Compatibility Profile) Mesa 25.0.7-0ubuntu0.24.04.2
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x600 windowed

[build] use-vbo=false: FPS: 862 FrameTime: 1.161 ms
[build] use-vbo=true: FPS: 979 FrameTime: 1.022 ms

                              glmark2 Score: 919 

=======================================================
idefix%

ok. hardware seems to be fine. got the local computer store to check it out. They ran benchmarks, and it was fine. So sat with ChatGPT, which said:

  • it’s normal it can’t boot with the EGPU attached. Known issue with current kernels. It suggested some kernel flags: “pci=realloc amdgpu.runpm=0” (that changed nothing I could see.)
  • safest way is to hot plug after boot is done. I interpreted that as after logging in. (worked, in that the laptop did not crash.)
  • There is currently no working method for the external GPU to work with the internal screen. The only recommended use is driving a applications running on a display connected to the external card. So confining tests to that configuration.

Can log in, on hotplug, the display is consistently added to the configuration. External display is set as primary, so the panels move to that screen.

I can start steam, and play a graphically easy game, like Counter-Strike 2.

If I try to start cities skylines 2. It shows the first welcome screen. I press play and it crashes the whole laptop after a few minutes. After reboot, I can retrieve that dmesg says:

amdgpu 0000:07:00.0: amdgpu: [gfxhub] page fault
in process Cities2.exe (pid 9895) thread dxvk-submit
GCVM_L2_PROTECTION_FAULT_STATUS:0x00201431
Faulty UTCL2 client ID: SQC (data) (0xa)
PERMISSION_FAULTS: 0x3

about a half-dozen times, then it scrolls:

Dec 31 21:32:21 idefix kernel: amdgpu 0000:07:00.0: amdgpu: Failed to export SMU metrics table!
Dec 31 21:32:21 idefix kernel: amdgpu 0000:07:00.0: amdgpu: SMU is in hanged state, failed to send smu

until the reboot it (hard reset 10 seconds on the power switch.)

Still trying stuff. Suggestions welcome.

still working with ChatGPT. Got most games working.

to fix the boot/shutdown crashes, kernel parameters applied like so:



vi /etc/default/grub, added all the options after “splash”.

GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash pci=realloc amdgpu.runpm=0 iommu=pt pcie_aspm.policy=performance”

update-grub

reboot

The option that made the most difference for boot hangs was pcie_aspm.policy=performance.

so with just that change, counter-strike started working ok, but I had two other games to test: whiskerwood, and cities skylines 2. I got whiskerwood to work with the following startup options:

VK_INSTANCE_LAYERS=VK_LAYER_MESA_device_select MESA_VK_DEVICE_SELECT=1 RADV_PERFTEST=nosam AMD_DEBUG=nodcc RADEON_DPM_PERFLEVEL=low RADV_DEBUG=nomemoryevict %command%


without these options whiskewood would crash during launch or load. with the options I’m getting 40 fps or so (was getting 5-10 on the internal GPU.)

cities2 still crashes during launch. The only suggestion in addition to the above was to replace RAD_DEBUG=nomemoryevict,nobda but that did not change anything obvious.