Be aware with Framework 13, AMD and Fedora/Linux

Hi there,

I wanted to shrae my experience with others about using the framework 13 AMD Ryzen™ 7 7840U and Fedora 39.

I installed and updated everything and started using the laptop. I attached it to my Dell 32" 4k monitor and had no issues. But then I switched the monitor to be the primary display and noticed strong flickering on the main screen with massive graphics artifacts. It spanned the whole screen and was unusable.
I should mention that the monitor is nothing special at all and I have used it with a variety of laptops, OSes and CPUs (all through a powered HP USB-C hub): HP Elitebook with AMD and Tumbleweed, Dell XPS with Intel and Fedora, Macbook Pro 16" M3 Pro (or Max), Thinkpad with Intel and Fedora.
So I tried switching it back to secondary, turned the display off, unplugged it, etc. Nothing helped so I restarted after seeing some AMD GPU issues in the journal.

Then it worked fine.
But after a few minutes or hours of using the laptop I ran into a weird issue where the screen would hang, then the secondary build-in screen turned black. So I removed it from my USB-C dock and then saw the Framework/Fedora plymouth boot screen soon after. Pressing Esc to reveal the log showed that it was trying to turn off but was waiting for some services to come down (I did not initiate the shutdown).
So it seemed to try to turn off so I waited. I left the room and came back after a bit and noticed that the display was black but the laptop still on (fingerprint reader was lit up).
None of my inputs did anything so I waited a bit and finally kept the power button pressed until it shut down.

I tried to boot it up again and now after trying to unlock the LUKS encrypted partition cannot boot the OS any more because BTRFS is broken. (exact error below)

I am not a noob user but this is really frustrating. I have had similar AMD GPU issues with my Zephyrus G15 in the past right after it came out. But that was not hailed as a fully supported Linux laptop.

The moment it started hanging was also nothing special, I literally browsed amazon and hovered over a product picture.
I now have to use my weekend to setup everything again after trying various btrfs commands to rescue my system. None of which worked.

This should serve as a reminder for people to be careful when they encounter things like this.
In retrospect when I saw the computer hanging, I should’ve tried to reboot it via the sys req magic key combo.
Probably not an issue of the Framework laptop itself but def. an issue of using it with Linux in a very limited manor!

Just for reference the error I am getting before being dropped into an emergency console (no other rescue partition works):

Dependency failed for initra-parse-etc.service - Mountpoints Configured in the Real Root.
Dependency failed for initra-root-fs.target - Initrd Root File System.
Failed to mount sysroot mount - /sysroot.
sysroot.mount: Failed with result 'exit-code'
sysroot.mount: Mount process exited, code-exited, status=32/n/a
BTRFS error (device dm 0): open_ctree failed
dmesg(1) may have more information after failed mount system call.
mount: /sysroot: can't read superblock on /dev/mapper/luks-ec99c1za-ceze-485c-943e
BTRFS warning (device dm-0): couldn't read tree root
BTRFS error (device dm 0): bad tree block start, mirror 2 want 220610560 have 9232732932124508992

While not immediately the same root cause, there are a few similar issues being tracked and work on in the amd/drm issue tracker.
It may be worth seeing what you experience is in there and perhaps even sharing your experiences.

I have this same issue with my usb4 4k monitor, where it previously worked on this system, it would cause flickering if I suspended.
On the 6.7.x kernel series it didn’t work externally at all, and eventually something would trigger my internal screen to flicker as well.

Uff that is rough. Thanks for the link. I know us user keep asking for AMD due to better power efficiency but in terms of problems with newer CPUs, Intel has a much better track record at least for Linux.
I will look into this issue.