Linux Mint on the Framework Laptop

Author: Jonathan Vasquez <jon@xyinn.org>
Last Updated: 2022-10-20-0830
Tested on: Linux Mint 21
BIOS Version: 3.10

General Statement

Overall, this computer is amazing and I'm extremely happy to have purchased it and support the Framework folks. Having full control of the repair process (basically) and also having a "modular laptop" is something I've been wanting to have for a long time and the Framework laptop is an excellent base to start that ecosystem with. The below findings are nothing critical (since we have a workaround) but it of course means we don't have the most optimal and enjoyable OOTB experience and "papercuts" accumulate over time which will be burdensome for the user.

Issues

Hardware Support

If using Linux Mint 21+, you are good to go. If using Linux Mint 20.3, you should use the Linux Mint's Edge ISO which contains a 5.13 kernel. The original one includes a 5.4 kernel.

Touchpad

Make sure to disable PS/2 Emulation in the BIOS. If you don't, you'll lose most gesture support and other basic functionality after sleep/resume (and would require a reload of the hid-multitouch driver).

Screen Resolution

The resolution of the screen yields a very awkward experience where if using a single monitor setup (just the laptop), 100% is too small, and 200% is sharp but we lose a lot of space.. and in a multi-monitor set up they are either both 100% or both 200% which is not good either. This is the standard "Fractional Scaling Issue" that affects a lot of users. Linux Mint 20.2 (and particularly as of Cinnamon 4.6) has Fractional Scaling support. This allows me to set different scaling options (i.e 100%, 150%, 200%, etc), but also allows each monitor to have a different scale. This has basically solved, the most glaring issues, but obviously because the Framework screen itself has to be pretty much be at 150% for me to feel comfortable with the space I have remaining, I have to sacrifice the crispness for the real estate.

UPDATE: 2022-02-16

I've noticed that when I have both monitors enabled (my external monitor and the laptop monitor), I get a weird and subtle flicker when I move my mouse. I believe this may be related to the fractual scaling. Once I either turn off my external monitor OR close the laptop lid, and only have a single monitor remaining, the flickering goes away and everything runs smoothly.

Battery

The battery is decent while it's powered on, however, the laptop experiences battery draining issues (which affects every OS, FreeBSD, Linux, Windows) due to apparently all of the expansion ports constantly pulling power even when it's sleeping. Putting the computer to sleep before I went to bed (without me leaving the laptop plugged in) ended up with me either waking up to a battery that was almost dead, or completely dead. Investigating this issue yielded the following discussion. It seems my computer was on [s2idle] deep rather than s2idle [deep] (Meaning the sleep mode wasn't set to deep. You can see the output of the current settings before and after temporarily switching it to deep:

jon@leslie:~$ cat /sys/power/mem_sleep 
[s2idle] deep

jon@leslie:~$ echo deep | sudo tee /sys/power/mem_sleep         
deep

jon@leslie:~$ cat /sys/power/mem_sleep 
s2idle [deep]

To make this change permanent (at least in my distro), you'll need to update the grub bootloader settings.

  1. Edit /etc/default/grub
  2. Add the following to your GRUB_CMDLINE_LINUX variable: mem_sleep_default=deep.
  3. Save the file and run: sudo update-grub.

After rebooting, re-run the above commands and make sure that deep is selected.

Results for Deep Sleep

I charged the computer to 100% and put it to sleep at around 21:20. I turned it back on the next morning at 08:00. The battery went from 100% to 84%, so a 16% drop in about 10 hours. This is a huge improvement than having it drop 90-100%. I'll take the gains where I can get them haha.

Feedback