Fedora 34 on the Framework Laptop

I have issues with external displays.
Disconnecting a display appears to break all of my USB ports until I restart the computer.


  1. I can hotplug a regular USB device
  2. I connect a display. Works fine.
  3. I disconnect the display.
  4. The USB port is no longer functional.
    udevadm monitor reports no kernel events.
    xrandr also does nothing.
    dmesg doesn’t report any USB events.

The camera and microphone can disconnect and reconnect just fine though.

Audio over HDMI works on all displays I’ve tried except for one–a 4K Roku TV at my friend’s house.
Doesn’t matter what I do, enabling/disabling audio sources, increasing volume (both on laptop and on the TV)
The Roku TV doesn’t appear to receive an audio signal at all.

I’m not sure how many of you are using the i3 respin specifically, but I found that I had issues with my grub2 menu having to “render” all the whitespace on it by default, so I couldn’t choose my kernel for a few seconds, while the cursor finished running down my screen.

I’ve managed to resolve this issue by resetting grub using the grubby command. It was a little quirk but it bothered me since installing Fedora on my Framework. Otherwise, Fedora has run seemingly perfectly on my device so far.

I am an i3 window manager user. Could you tell me more about the detail of the grubby command?

If you’re simply using i3wm but didn’t install that specific respin, I’m not sure you’ll have the issue I experienced. In backtracking I realize I mis-spoke–I’d researched grubby while looking for a fix for my problem and didn’t ultimately need it. The details are listed in this section of the Fedora docs. Simply re-installing the related packages for grub sets everything to default settings and undoes whatever changes were made. At this time I haven’t tested if this issue impacts other respins or only the i3 release.

Visually, I don’t think there’s any difference in the theme of grub on boot before and after this fix, but there is no longer any time spent rendering empty space. Hopefully this helps!

The really strange thing with my experience is that I’ve installed the same i3 respin, albeit maybe three or four iterations earlier (they update the spins every two weeks, iirc), on my desktop and didn’t experience that same problem, so it feels like it’s an interaction unique to this set of hardware. I’ll post here again if I shed any more light on this.

1 Like

Okay. Thanks for the info. My situation is I ordered Framework Lapatop by using a shipping forward service to ship from US to Czech Republic and it was shipped from Framework to the US shipping forward company. But as I will move to another city tomorrow, I am still keeping my Framework laptop in a warehouse of the shipping forward company in US. After moving, I will get it and try to install the i3.

Thanks. I am subscribing the i3 SIG mailing list on the Fedora project. If we have something to improve the i3 related RPM packages, we can discuss it on the mailing list too.

Great to hear about the fix. It’s actually a wiki post, so should be editable by all.


I’ve created a repo with a script I’ve written to set up the framework laptop under Fedora 34.

In particular, this will make hibernation to encrypted swap work (so long as you have established an encrypted swap partition of sufficient size via custom partitioning when you installed). Please have a look here:




I downloaded Fedora 34 Cinnamon respin, and for some reason, I had to do all the steps as if it was the 34 workstation version. That spin didn’t seem to include any of the updates. Not sure if it was just me, but I got it working. The only thing that’s still a bit of an issue is the fingerprint reader, but I’ll just hold off until 35 is released and deal with that then.

1 Like

Huge win for the Fedora team!

Today I tried Ubuntu, Manjaro and Arch and couldn’t get any of them to work. (Well, Arch because I wasn’t geek enough to figure out grub, maybe!) Ubuntu and Manjaro I couldn’t get bluetooth to work on either, even with multiple kernel changes, etc.
Fedora (respin, Cinnamon) “just worked” right out of the box!


F35 final will be out on Tuesday, btw. If you have the beta and update, you’ll essentially have it.

1 Like

Yes, the coming Tuesday, 2 November 2021 according to the mailing list: Fedora Linux 35 Final is GO - test-announce - Fedora Mailing-Lists

And the thread of Fedora 35 on this forum is Fedora Linux 35 (Fedora 35) on the Framework Laptop .


@Michael_Wu Were you able to resolve your resuming from deep suspend issue? I just moved from Windows to the Fedora 35 beta, and I also have the issue where it takes 13-15 seconds to resume. Thanks!

@Daniel_Shaw unfortunately nope, and I haven’t looked into it deeper since. It might be bettered if it’s an issue with the firmware/optimization, but I’m not sure.

In the meantime, I’ve been using suspend-then-hibernate, with suspend going into s2idle instead of deep.

This combination is similar to Windows Modern Standby with its near instant wakeup. The difference here is, I believe:

  • Windows: Modern Standby by default goes into hibernation after losing 5% battery
  • Linux: I have it automatically hibernate after a set period of time, as well as when critically low (7%)

I do prefer how it functions in Windows, and it’s probably possible to script a periodic rtcwake in Linux to check the battery % drop, and decide if to hibernate.

I haven’t run the exact numbers, but battery % loss per hour on s2idle seems significant as well, and I’ve read the USB-A (and I’m assuming HDMI/microSD) expansion cards may worsen it as well.

All that being said, for now I’m just dealing with heavy s2idle drain for the instant wakeup, and deliberately hibernating if I know I won’t be using the laptop for a while and will need battery. I’m hoping eventually improvements roll out for s2idle drain and/or faster deep resume, and may look deeper into the issues when I have some time.

1 Like

s2idle deep has always worked pretty well for me. 10-15 seconds seems extreme. For me it was always more like 3-5 seconds. This was only observed under Ubuntu 21.04, 21.10, and recently 20.04.

Currently I’m just using Zorin OS through a VM on Windows. I am keeping an eye peeled for improvements on the Linux side of the house though. I may dip my toes back in that pool at any time.

OK, turns out it =wasn’t= as huge a win as I originally said. After a few reboots with bluetooth stability something went wrong and my mouse wasn’t stable connection again.

The good news is that after updating to Fedora 35 (I updated, not a fresh install) my bluetooth connectivity is 100% solid now … 2 full days with about a dozen reboots and no problems.

For sure this time!

1 Like

1.94 for fingerprint sensor just made into Fedora 35. Can confirm my fingerprint sensor is cool lol

1 Like

I don’t know how helpful this is but, I got my framework laptop a few days ago and had loads of issues with ubuntu (20.04 and 21.10 couldn’t get 21.04 to install). Installed Fedora 35 and everything seems to be working great! Solid wifi speeds, camera / mic (also a mic/headphone combo works) working, no touch pad issues, and even the finger print sensor is working! Only thing that seems a bit poor is the battery life but not super worried about that currently. Thanks for all the info / hard work everyone!


Hey all, I didn’t see this in the thread so I figured I’d add how I set deep as my default suspend. It’s best practice to use grubby with Fedora, so I ran this command:

grubby --update-kernel=ALL --args="mem_sleep_default=deep"

After that just reboot and check default with

cat /sys/power/mem_sleep

I saw that there were some issues with deep suspend and I haven’t had much chance to test it yet. I’ll keep playing with it over the weekend and I’ll let everyone know how it goes.
Hopefully this is helpful to someone!

Source with links to further reading: grub2 - What is the correct way to handle default kernelopts in Fedora 31? - Unix & Linux Stack Exchange

I don’t have the trust level to edit all of my posts, yet, so I’ll add an update here.

Enabling deep sleep caused my Framework to freeze after every sleep. I’m still learning how to dig into troubleshooting linux, so for the time being I re-enabled s2idle. Once I’m able to dig into linux logs a little more thoroughly I’ll revisit this change.