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.
- 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.
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 (FreeBSD/Linux sleep profile?) and/or other tips/strategies that can be provided by Framework for FreeBSD/Linux OS optimization.