Running Debian Bookworm on a 13" AMD Framework Laptop
Support this website by purchasing prints of my photographs! Check them out here.I recently purchased a DIY 13" Framework AMD laptop (AMD Ryzen 7 7840U w/ Radeon 780M Graphics) with a HiDPI "2.8k" 2880x1920 display. Normally I run Ubuntu (Kubuntu) on all of my machines but there are two things that made me want to try Debian instead:
- Debian now includes non-free drivers on installation media
- Ubuntu makes several user-unfriendly decisions that I wanted to avoid
Debian is the upstream source of packages for Ubuntu so for that reason it offers a more "pure" experience. It wasn't a completely smooth process though so here are some of my notes. Note that I've been using both the 5.1 and 5.11 kernels and both seem to behave pretty much the same.
KDE supports fractional scaling. Launch the Display Configuration app and change the value to something you like. I prefer 175%.
I remember having some issues with secure boot during the initial install. At first I used Ventoy, which caused some cert issues, so I installed the Ventoy cert in the UEFI. It still didn't work so I booted the installer image directly from USB. But the certs were all messed up so I had to go into UEFI again and clear out the cert cache. I don't remember all the details but the gist is don't use Ventoy.
Tiny Virtual Terminal Font
The virtual TTY font is tiny. This is what you see when booting up / down the machine, and when you open a virtual terminal with, say, Ctrl+Alt+F5.
To set it to something larger you'll need to edit a config file:
$ sudo vim /etc/default/console-setup
# modify the contents as below
FONTSIZE=16x32
Upon rebooting the font size should be legible.
I think that normally you should be able to use sudo dpkg-reconfigure console-setup
to change the font but I wasn't able to find a size large enough in the options.
Screen Slowdown and Freezes
The laptop eventually reaches a state where overall screen redraws get slower and slower then eventually stop over the course of, say, 10 seconds. Watching YouTube seems to trigger it. During this time I can switch to a virtual TTY but the problem still persists. If I'm lucky I can trigger a reboot before needing to force the power off.
Fixing this required setting a kernel flag when booting. This can be done by editing the following file and adding a value to the appropriate line:
$ sudo vim /etc/default/grub
# modify contents as below
$ sudo update-grub
$ sudo reboot
GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.dcdebugmask=0x10"
Theoretically this comes with increased battery consumption but I haven't noticed it.
Sadly this change doesn't fix the display artifacting. For example, hovering the mouse over the minimize / maximize / close buttons on a full screen window leaves vertical lines between the buttons. Dolphin windows often get weird lines in the icon area. I'm not sure if this is a side effect of KDE + HiDPI, Wayland, or what.
Slow WiFi Adapter
The Mediatek MT7922A22M WiFi adapter that comes with the laptop isn't good. For example download speeds are 25% to 50% of what they should be. My previous AMD Thinkpad T14s came with an Intel AX200 which performed much better so I opted to use that instead. Note that you can't use the Intel AX210 as it requires an Intel CPU.
So, buy an AX200 module (it's around $20USD online) and swap that with the existing one. Before making the swap you'll need to install the driver. The version of the Intel wireless driver that comes with Debian Bookworm seems to be from 2023. Run this command while still using the old module and while connected to the internet to obtain the driver:
$ cd /lib/firmware
$ sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-cc-a0-77.ucode
Final Thoughts
The newer the laptop, the tricker Linux compatibility can be. For that reason I sort of regret installing Debian on this laptop as it tends to lag behind package support compared to other distros by several months. For example, my current version of KDE Plasma is 5.27.5, which is the most recent one available by running apt get update && apt get upgrade
. The version on my Ubuntu laptop is 5.27.11, which surely comes with some nice fractional scaling benefits.
Sure, it's possible to configure apt to use less stable package sources, but in my 20 years of Linux experience I find the more I tweak stuff like that the less of a good time I have. At the end of the day the fewer configuration changes required the better.
In hindsight I probably should have installed the latest Kubuntu on the laptop instead and followed this guide: Ubuntu 22.04 Annoyances. From what I can tell it disables all of the things that I don't like about Ubuntu.
As far as hardware quality goes I've got a few opinions as well. I did miss the Thinkpad nub and hardware trackpad buttons at first but I'm over it. The Thinkpad keyboards are a little better than the Framework. The swappable I/O cards are kickass. There's a small amount of flex and the hinge has a slight curve to it. I mostly miss having an insert key (Shift+Insert is useful for, say, pasting into GVim), but I think the keyboard is 100% programmable and maybe I can rebind the right alt key. The trackpad arrow key layout is the best, followed by the MacBook Pro, and finally the Framework.
This is also my first time using Wayland. Wayland seems to break things like Wine, which I often use for running FL Studio. So when I want to do that I have to logout, switch the server to X11, log in, use FL Studio, log out, switch to Wayland, log in, reset fractional scaling, log out, log in. Also, I used to use Fusuma+xdotool so that three-finger swiping left and right would send XF86Back and XF86Forward keypresses, thereby allowing me to navigate history in basically all GUI apps. For whatever reason this isn't built into KDE yet. Sadly those tools don't work with Wayland and there's no straightforward Wayland equivalent so for now I'll do without.
This is my first HiDPI Linux laptop. I've used HiDPI MacBook Pros for several years and have owned a HiDPI MacBook Air M1 for a few years. Overall I don't see any benefit over a 1080p or 1440p display. IMO it mostly just introduces technical complexity and taxes the GPU.