Debian stable and the Framework 16

My primary, personal computing platform for over 20 years has almost always been Debian on a ThinkPad laptop. Getting Linux running on the latest laptop hardware is often an experience worth documenting, as I have done a few times. I last wrote about Debian on a P15 Gen2 laptop in 2022. That just might have been my last ThinkPad. I recently acquired a Framework 16 and while the ThinkPad has practically nothing in common with it, the cycle of buying a new ThinkPad every three to five years may finally be broken. What follows is a rough synopsis of how I got there and how its going.

Background

Debian on the P15 had been reasonably successful for me, but the least favorite part was when I had to first install non-stable packages into the system. This not only leaves you vulnerable to some risk, but can lead to some compatibility and system upgrade complications. At the time, even though Debian stable (bullseye) came out in 2021, the same year the P15 Gen2 was introduced, Debian stable packages didn’t include sufficiently recent firmware to support all hardware components. This may not come as much of a surprise, since Debian is notorious for incorporating the latest upstream software in its releases at a much slower rate than other distributions like Fedora or Ubuntu.

A radical usability difference for the longtime ThinkPad user and practically any other laptop is in the keyboard and mouse experience. The ThinkPad keyboard and trackpoint are iconic, widely lauded and considered irreplaceable by fans. For me as well. Ask most any ThinkPad user and they will either tell you why a touchpad is inferior or that they’re just so used to the trackpoint all your reasonable arguments are moot. However, long-time ThinkPad users have expressed a willingness and even a desire to use other laptop vendors, if only they could take the ThinkPad keyboard and mouse with them. I’ve looked and waited for that to happen, but alas. Despite a few hobbyist hacks and mock ups, I’ve come to the conclusion that the trackpoint, like earlier IBM-driven tech (e.g., Token Ring, SNA/APPN, System/390, OS/2, Selectric) is forever relegated to niche status at best.

However, ThinkPad loyalty stems from more than just the keyboard and mouse. The high-end P15 and other models throughout history have had a track record of uncompromising ruggedness and excellent build quality, suitable even for numerous NASA space missions. Not all ThinkPads share these traits, but there are select models that follow in the footsteps of IBM’s original workhorses and have held to that tradition.

There has been a lingering concern by some, often borne out of conspiratorial speculation in my estimation. Lenovo, a Chinese company, acquired the ThinkPad division from IBM in 2005. Some feared what would become of the beloved technology under new stewards, but some also suggested this suddenly posed significant supply chain risk from an adversarial host country (China) to certain businesses and consumers. Do I worry about this? No, but I know some who do and refuse to buy Lenovo.

After the Lenovo acquisition I’ve fancied the idea of trying something else, but I usually come back around. I’ve never found a convincing reason to give up on them. I’ve ultimately been able to make them work with Debian, although rarely on an unadulterated stable release. Most notably, I’ve become accustomed to the keyboard and trackpoint, and those are the two most important characteristics that has made me a ThinkPad loyalist. But the more I think about it, the more I wonder if my insistence to stick with a ThinkPad primarily for that reason is objectively absurd. If you’re going to ask me if I might also reconsider my choice of OS distribution, the answer is an unqualified “No”. :-)

The Framework

I’m not generally prone to grand statements, but I’m about to make one. The Framework is one of the most interesting and promising laptop platforms I’ve come across since the appearance of the MacBook in 2006. That said, if you are happy with your MacBook, please do not go out and replace with it a Framework. You will be disappointed. The Framework is not perfect nor is it going to impress the average user. The idea of the Framework is about something more nuanced, but in my view important and I think it might prove to be quite consequential.

The Framework hardware is designed to be open, “repairable”, and modular. In other words, it is relatively simple to customize and swap out major components for new ones. The most immediately obvious flexibility is exhibited through the expansion card subsystem. You have six thunderbolt/USB-based ports to outfit. At least one should be for your power adapter (USB-C connector). Every physical connection that goes in and out of the Framework goes through the expansion card system. There are USB-A, USB-C, HDMI, Ethernet, storage, and audio adapters to name a few. Schematics are available for third parties to design and make their own adapters as many have now done. Need a RS-232 interface? Done. Unlike your typical laptop, you should be able to hot swap most of these interfaces while the system is running, albeit with some caveats (i.e., unmount USB storage drives before removal).

It took me about 20 to 30 minutes to assemble, which was pretty painless and went without a hitch. The vendor’s website has step-by-step instructions and videos if you need any help. Expect it to take about as much effort and difficulty as putting together a small bookcase from Ikea. Perhaps the most complicated part of assembly is deciding which expansion cards you’ll want and in what ports to put them. Unlike the smaller Framework 13, not all ports have equal functionality on the AMD-based Framework 16 unfortunately, but it shouldn’t be a big deal for most use cases.

Once I had everything put together I took a look inside the BIOS setup. If you’re running Linux, the one setting you’ll probably want to check is Linux Audio Compatibility under the Advanced options. This should be set to Linux and not Windows. Duh. More discussion about this setting can be found here.

I first booted a live version of Ubuntu 24.04 LTS from USB, one of the supported distributions. I didn’t observe any boot errors and all hardware components appeared to work fine including WiFi, the speakers, and the camera, but I did not test everything vigorously. This was just a verification step. I was hoping to not have to use Ubuntu with this hardware. Debian is not officially supported, and people in the Framework community forums suggest a non-stable version, kernel, or firmware packages may be necessary. I was about to find out.

I booted off a Debian testing (trixie) nightly build ISO. I first tried using Debian’s graphical installer, but Gtk complained it could not open the display. Normally I tend to use the expert text-based installer, but I wanted to see if the graphical installer would work and well, I got my answer. However, the expert install method worked fine, it even recognized the WiFi adapter, a positive change compared to my original P15 install. All was not perfect however. The following boot error message was displayed four times:

ACPI: thermal: [Firmware Bug]: No valid trip points!

Thankfully I saw no immediate impact. The system came up and ran equally as well as the Ubuntu test. So then I tried booting with Debian stable (bookworm) 12.8. The graphical install also didn’t work here, but the expert install worked fine and the ACPI error messages were now gone. Apparently that issue arose in Linux kernels newer than what Debian stable currently uses. More discussion about the issue can be found here. I can’t remember a more successful install with new laptop hardware and Debian stable. I was pleased beyond expectations to say the least.

The bad news is I have run into a few things I’ve had to do after the default install. The good news is the quirks are few and easy to address.

The Debian Project has an InstallingDebianOn on the Framework 13 AMD series web page. The Framework 13 is a smaller and slightly older model of hardware, but there are many similarities to the Framework 16. Debian strongly recommends using a current version of the AMD GPU firmware from the Linux firmware GitLab repository to avoid system lockups and other display-related problems. I installed a current version and rebooted.

Even after the AMD GPU firmware update I was seeing occasional unexpected display behavior and I suspect a system lockup was due to a display-related problem. I believe I have worked around this by disabling the Scatter/Gather feature of the AMD GPU by adding the amdgpu.sg_display=0 option to the GRUB_CMDLINE_LINUX_DEFAULT line in /etc/default/grub. More discussion about this issue can be found here.

Another issue I saw was with suspend mode. I started carrying a suspended Debian stable on the Framework 16 in my laptop bag on the walk to and from the office. I soon realized the laptop was waking from suspend just from the slight jostling of movement. This problem was already identified by the community. The workaround is to disable the keyboard and touchpad from being able to wake up the system, an unfortunate but necessary hack. Based on the discussion here I created /usr/lib/systemd/systemd/system-sleep/20-disable-wakeup.sh and in it put:

#!/usr/bin/env bash

state='disabled'

# Framework keyboard and numpad should not wake the laptop:
grep -l 'Framework' /sys/bus/usb/devices/*/manufacturer |\
        sed 's/manufacturer$/product/' |\
        xargs grep -lP 'Laptop 16 (Keyboard|Numpad) Module' |\
        sed 's/product$//' |\
        while read -r framework_keyboard_device;
do
        echo "${state}" > "${framework_keyboard_device}/power/wakeup"
done

# The PixArt touchpad should not wake the laptop:
for pixart_device in /sys/bus/i2c/devices/i2c-PIXA*; do
        echo "${state}" > "${pixart_device}/power/wakeup"
done

At this point I only have one outstanding hardware-related issue. I have a Bluetooth headset that does not perform as well as it does on the P15. I don’t really need it to work, but it would be nice eventually. If I figure that out or end up using a different headset I’ll update this section with details.

The system shipped with the latest BIOS, but as of this writing a new beta version was just released within the last two weeks. The fixes appear to be relatively minor and non-impacting on my current usage.

I’ve only performed a little bit of CPU intensive work so far, but the heat and fan noise have both been well within acceptable ranges. I did not however add the AMD Radeon graphics module to my configuration.

The display size is slightly larger than the P15. The base depth is about one inch more and the width about that much smaller. When closed the laptop is thinner than the P15 by about a half inch. Unlike all other expansion adapters I have, the Ethernet adapter sticks out about an inch from the laptop’s edge. There are no connections or ports whatsoever on the rear. It might be nice to have one or more expansion modules there, but presumably this was not a practical design option. The overall construction quality seems fine outside the wake from suspend issue with the lid mentioned above.

I’ve not had enough experience to say anything useful about the battery performance at this time. I’ve not had a chance to test the HDMI port yet, but I don’t expect any problems. I’ve been able to successfully run practically all apps and tools I need, including video conferencing apps with success. The built-in speakers seem underwhelming, but they they are fine for my purposes. I greatly appreciate the switches on the lid that disable the mic and camera hardware.

In Summary

Framework was founded in 2020. It is effectively still a start-up, dwarfed in size and resources by well established players such as the Lenovo ThinkPad division. Despite these modest beginnings reviews by many have been mostly positive and my report is no exception. The hardware isn’t perfect, but it is promising. In my limited time on the Framework 16 I began nervously hopeful I wasn’t going to end up wasting a lot of money. I’ve already graduated to the cautiously enthusiastic stage. I found a lot more to like than dislike. If only I could get a production-quality ThinkPad-like keyboard and trackpoint it might be perfect. But then, perfect is the enemy of the good enough. So far, this seems good enough to have put owning any more ThinkPads in serious jeopardy.

Appendix

There have been a number of reviews and blog posts on the Framework. A sample of additional reading is listed below in ascending date order of publication: