Linux Mint on the Framework Laptop
Author: Jonathan Vasquez <jon@xyinn.org>
Last Updated: 2022-02-16-1200
Tested on: Linux Mint 20.3 (5.13.0-27-generic)
BIOS Version: 3.07 (Originally the computer came with 3.06)
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
Since I'm using Linux Mint (Originally 20.2 but I've upgraded to 20.3 since I originally wrote this page), it ships with a 5.4 kernel - which is too old for this laptop. You'll need at least a 5.13 kernel in order for everything to work smoothly. Maybe you could use 5.11 but I haven't tested that kernel. You can use Linux Mint's Kernel Management feature from within the Update Manager (Update Manager -> View -> Linux Kernels) in order to get other kernels easily installed. I deleted the 5.4 kernels afterwards through the same window since I'm never going to use them.
UPDATE: 2022-02-16
I would recommend using Linux Mint's Edge ISO instead which is the same as the normal release but includes an updated kernel (5.13 on the 20.3 Edge ISO!).
Touchpad
The touchpad will lose most gesture support and other basic
functionality after sleep/resume. The workaround is to restart the
hid-multitouch
driver. We can automate the restart of the driver
by adding this small script to the following file:
/lib/systemd/system-sleep/touchpad
#!/bin/sh
case $1 in
post)
modprobe -r hid-multitouch
modprobe hid-multitouch
;;
esac
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 very sharp but we lost 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 seems to be pretty bad, at least out of the box. 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.
- Edit
/etc/default/grub
- Add the following to your
GRUB_CMDLINE_LINUX
variable:mem_sleep_default=deep
. - Save the file and run:
sudo update-grub
.
After rebooting, re-run the above commands and make sure that deep
is selected.
As for how good the battery is during daily use, it seems to last a good amount of time, a few hours at least depending on what you are doing. I'll update with more useful results when I spend more time with the laptop in different situations.
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
-
The
Windows
Key should use a more generic image. The Framework logo that's in front of the laptop is the perfect logo for this use case and also is already used on theF12
key. However if you use theF12
design, it should be thicker, because the currentF12
key is pretty thin. -
Future Framework screen designs should use a different resolution that works better with the existing supported OS driver ecosystem. Of course if there is a technological innovation that we want to push we may want to go with a non-standard resolution for the main display, but if there isn't anything crazy we want to do with the screen itself, it would be better to just have a nice looking screen. We can experiment with the screens more in the future if we need to.
-
The battery needs a massive improvement and maybe further optimizations in the BIOS (Linux sleep profile?) and/or other tips/strategies that can be provided by Framework for Linux OS optimization.