Fedora 34 on the Framework Laptop

tl;dr is use the latest Fedora Respins (linked below) if you want your fingerprint reader and AX210 WiFi to work out of the box, or use Fedora 34 with an external network adapter and then dnf upgrade to get a newer kernel and libfprint.

Huge shout out to the Fedora team for getting support into the Respins. Once F35 comes out, everything should just work out of the box with the normal download.

Installing a Fedora 34 Respin

New users who want to use Fedora on the Framework Laptop out of the box should download their images from the list of Respins. This is where the latest Fedora 34 Respins which have the updated libfprint and kernel to support AX210 are hosted. These will update roughly every two weeks as the Fedora Respin SIG releases new images. They are all vetted by the Respin SIG for basic functionality. The difference between these images and a vanilla F34 image is that these include all updates on top of base Fedora 34 up to the point of when the image is released.

  1. Download your preferred version of Fedora.
  2. Use a tool such as Fedora Media Writer to create a bootable installation USB drive.
    a. If using Fedora Media Writer, when you reach “Select the Fedora Edition you wish to make a bootable USB drive for”, select “Custom image” and point Fedora Media Writer toward the Respin image you downloaded. You can also click the “…” at the bottom of the list to select one of Fedora Spins directly from Fedora Media Writer. Then, plug in the USB drive that you intend to install the image onto and select “Write to Disk”.
  3. Plug the drive into your Framework Laptop, and power it on while pressing F12 to access the one time boot menu.
  4. You can then follow the Fedora installation instructions.
  5. Finally you can complete your installation using the graphical installation interface. You can read detailed instructions here Installing Using Anaconda.
  6. After you have completed the installation, you can perform any post installation configuration After the Installation.
  7. Finally, don’t forget to thank the Fedora team for their amazing work, and if you would like to contribute head over to https://whatcanidoforfedora.org/

Installing Fedora 34 (non-Respin)

The default Fedora 34 image has an older kernel and libfprint which don’t support AX210 WiFi and the Framework Laptop fingerprint reader. You can still use Fedora 34, but you’ll need an external network adapter in order to connect to a network and then update your packages to get a newer kernel and libfprint.

Usage notes

  • Fedora does not enable fractional monitor scaling out of the box yet. To set 150% scaling instead of 100% or 200%, you’ll need to run the following command:
    gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

  • Wifi - kernel and linux-firmware:
    The related thread is here. The upstream kernel ticket is here. The Fedora Bugzilla ticket is here.

    • kernel 5.11.x: Wifi doesn’t work
    • kernel >= 5.22.x: Wifi works
  • Bluetooth - kernel:
    The related thread is here.

    • kernel 5.11.x: Bluetooth doesn’t work.
    • kernel 5.12.x: Bluetooth works.
    • kernel 5.13.x: Bluetooth doesn’t work?
    • kernel 5.13.4: Bluetooth works
    • kernel 5.13.6: Bluetooth works.
  • Fingerprint - libfprint:
    The default Fedora 34 image doesn’t support the fingerprint reader used in Framework Laptop. The upstream fixed version is 1.92.0. However in case of Fedora 34, libfprint 1.90.7-3.f34 fixes the issue by applying a patch (the Fedora Bugzilla ticket). If you want to update the libfprint on Fedora 34, you can run dnf upgrade libfprint or manually install by grabbing the rpm here: libfprint-1.90.7-3.fc34 | Build Info | koji. If you want to try a libfprint >= 1.92.0 Fedora 35 RPM package on Fedora 34, you can see this comment.

  • Touchpad - libinput:
    There is an issue that the right click doesn’t work with libinput-1.18.0-2.fc34 on Fedora 34. The solution is to apply this upstream patch that was merged to the upstream main branch but not released yet. Possibly an libinput next released version 1.18.1 or 1.19.x includes the patch, and should work. As a temporary workaround, create the /etc/libinput/local-overrides.quirks file, creating the directory /etc/libinput/ with this content. See here also here for a possibility to downgrade the RPM package. Here is the Fedora Bugzilla ticket asking to apply the upstream patch to Fedora 34 (and 35).

  • Deep Sleep - If you see sleep issues or high power drain while sleeping, you can enable deep sleep: echo deep > /sys/power/mem_sleep. You can also permanently enable this following the instructions here.

10 Likes

Can I just install fedora 34 normally (not via a respin link) and then update to get the scanner and wifi module funtioning?

It seems Fedora 34 has been updated to kernel 5.12, so that will work to get WiFi working (assuming you’re able to get onto a network to do the update). I don’t believe the updated libfprint is there yet though.

Edit: You can see the libfprint versions here: Overview - rpms/libfprint - src.fedoraproject.org

1.92.0 or newer is needed for Framework Laptop support.

2 Likes

Can I just install fedora 34 normally (not via a respin link) and then update to get the scanner and wifi module funtioning?

I believe the question is not really Framework specific, and here can be another good place to ask this kind of question.

Edit: If the question is about upgrading the normal Fedora 34 to the Fedora 34 Respin.

These will update roughly every two weeks as the Fedora Respin SIG releases new images.

If you want to ask a question directly to the Fedora Respin SIG, the #fedora-respins IRC channel on the Libera IRC network can be the place.
https://fedoraproject.org/wiki/Respins-SIG

I don’t believe the updated libfprint is there yet though.

I just opened an issue ticket here to ask to update libfprint to 1.92.0 or newer on Fedora 34.
https://bugzilla.redhat.com/show_bug.cgi?id=1985720

1 Like

I think the window is likely closed for a newer libfprint in the main Fedora 34, but Fedora 35 has the updated version and will release in October. In the meantime, manually installing that rpm should work (though I don’t have a Fedora machine in front of me to test).

It seems that the manually installing is not necessary on normal Fedora 34 according to the above Bugzilla issue ticket I opened.

Fortunately the Fedora libfprint package maintainer already applied a patch for the libfprint 1.90.7 RPM package on Fedora 34 to make Framework laptop on Fedora 34. (Great work!)

The package version libfprint-1.90.7-3.fc34 and newer should work on it.

3 Likes

I was able to get Fedora 34 workstation edition installed. I had to use a USB wifi adapter to update from the 5.11 kernel to 5.13. Other than that, it seems to work great.

I am having some trouble with the touchpad and battery usage when suspending, though.

When running the Fedora Live image, the touchpad supported 3-finger gestures and so on, which stopped working after the full install. I removed nomodeset from GRUB_CMDLINE_LINUX in /etc/default/grub to get touchpad gestures back.

Suspending the system didn’t fully suspend at first- it just went to s2idle mode and the screen remained lit up, even with the lid closed. I added mem_sleep_default=deep to GRUB_CMDLINE_LINUX, and after re-generating my grub config and rebooting, the system will suspend into “deep” mode now. However:

  • occasionally the touchpad will not work after resume
  • battery usage when suspended is still not ideal. For example, I closed the lid with ~80% battery remaining, went to bed, and in the morning battery was at 60%

I’m not sure if these issues are fedora specific, and the issues are reminiscent of power/touchpad issues on some Thinkpad laptops a few years ago that required some configuration and firmware updates to fix. I’ll keep tinkering and try a few other things but I’d be interested to hear if others are having the same issues (and whether you’ve been able to solve them).

7 Likes

For the touchpad not working on resume, could you go in bios->advanced->PS2 mouse emulation: set to disabled and see if this fixes your issue?

2 Likes

Thanks for the tip @Kieran_Levin. After disabling mouse emulation in BIOS, I haven’t had the touchpad freeze on resume anymore (at least not yet after a handful of suspend/resume cycles!)

@jches Did you install using the Respin image as suggested in the initial post, or did you start with standard F34?

I started from the standard F34 workstation edition (I hadn’t seen this post or the respin suggestion until afterwards).

Standard F34 installed a 5.11 kernel, and wifi did not work at first. Luckily I had a USB wifi adapter that did work and I was able to update using that. It sounds like a respin image would be a better starting point as you get the updated kernel from the start :smiley:

2 Likes

I am using the normal Fedora 34 on another laptop, Lenovo. If you can connect internet on the normal Fedora 34, you can install or upgrade libfprint by dnf install libfprint or dnf upgrade libfprint.

Here is the log on the laptop.

$ cat /etc/fedora-release
Fedora release 34 (Thirty Four)

$ rpm -q libfprint
libfprint-1.90.7-2.fc34.x86_64

$ sudo dnf upgrade libfprint
Last metadata expiration check: 0:02:01 ago on Thu 29 Jul 2021 06:00:22 PM CEST.
Dependencies resolved.
========================================================================================================
 Package                 Architecture         Version                       Repository             Size
========================================================================================================
Upgrading:
 libfprint               x86_64               1.90.7-3.fc34                 updates               251 k

Transaction Summary
========================================================================================================
Upgrade  1 Package

Total download size: 251 k
Is this ok [y/N]: y
Downloading Packages:
libfprint-1.90.7-3.fc34.x86_64.rpm                                      1.9 MB/s | 251 kB     00:00    
--------------------------------------------------------------------------------------------------------
Total                                                                   326 kB/s | 251 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                1/1 
  Upgrading        : libfprint-1.90.7-3.fc34.x86_64                                                 1/2 
  Cleanup          : libfprint-1.90.7-2.fc34.x86_64                                                 2/2 
  Running scriptlet: libfprint-1.90.7-2.fc34.x86_64                                                 2/2 
  Verifying        : libfprint-1.90.7-3.fc34.x86_64                                                 1/2 
  Verifying        : libfprint-1.90.7-2.fc34.x86_64                                                 2/2 

Upgraded:
  libfprint-1.90.7-3.fc34.x86_64                                                                        

Complete!

$ rpm -q libfprint
libfprint-1.90.7-3.fc34.x86_64
1 Like

@jches thanks for the update, we will add this to the wiki

1 Like

Been playing around with Fedora 34 (kernel 5.13.5) this afternoon. I noticed a frequent cursor lag (mouse freeze). It happens every couple of minutes or so. This only happens under Wayland, and not X.org.

After some research, it appears that you can fix this by adding “i915.enable_psr=0” to the kernel parameter. After this change, the weird freeze went away for me.

Alternatively, you can also fallback onto X.org.

Some references:

https://bbs.archlinux.org/viewtopic.php?id=268244

2 Likes

@Alan_Ning I just opened up the kernel parameter document and typed in the command you specified, and nothing has changed. I’m honestly not too sure what I am supposed to do next, I’ve seen an article talk about having to restart clr-boot-manager by typing, in “sudo clr-boot-manager update”, but this did nothing. What am I supposed to do after I edited the parameter?

For reference, the document I opened was “sudo vim /etc/kernel/cmdline”

@Jerry have you rebooted yet?

@Jerry
The easier way to change kernel parameter is to just use grub-customizer (dnf install grub-customizer). Once you install it, you can modify the kernel parameter at the General Settings tab. Hit Save and reboot, and you should be good to go.

… Alan

@Alan_Ning Thank you, I just installed and restarted and I hope it will change something.
Do you know if this issue also caused a bunch of v-sync errors when updating the display?

@Jerry. That, I don’t know. This is day 2, and I am still testing the laptop. I wonder if we should all pool in our experience in a wiki page or something (like the arch wiki, but for Fedora).