i recommend updating to the latest BIOS before installing debian, as the BIOS update will overwrite your EFI boot list.
download the latest testing iso with nonfree firmware (needed for wireless to work) from here: https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/weekly-builds/amd64/iso-cd/firmware-testing-amd64-netinst.iso – at the time of this writing, the weekly-live-builds were not detecting the AX210 wireless card correctly (possibly due to the AX210 bluetooth regression in some kernels).
write the iso to a medium of your choice. i use “Popsicle” available on Flathub for this step. etcher and dd should also work fine. insert the medium into your laptop and power on. i used an old USB-A flash drive and plugged that into a USB-A expansion port.
follow the prompts and perform an installation as you normally would. i tend to use most defaults and encrypted LVM with the exception of removing the swap partition and expanding the root volume group to use the entire disk.
keep the installation medium around, as you will need it in order to recover your boot menu after installing BIOS updates via EFI.
on first boot, most things are working correctly: mouse, keyboard, function/media keys, touchpad, microphone, camera, USB-C alt mode, various USB peripherals. so far nothing out of the ordinary.
i turned off automatic brightness correction as it was a bit abrupt.
setup sudo and install a few essential packages:
$ su - Password: # adduser <user> sudo # apt install -y vim screen curl
i like to use a rolling testing rather than pinning to a single release (such as bookworm). this provides much more up to date packages than stable.
however, there are risks with testing, as it receives security updates considerably later than both stable and unstable.
you can work around this by following debian testing with automatic security updates from unstable · GitHub – this will use debsecan to automatically pull security updates from unstable if needed.
if you follow the instructions above, you can install firefox from unstable rather than using the extended support release. this will track the upstream releases pretty closely:
# apt install firefox # apt purge --autoremove firefox-esr
you can check the version of your BIOS with
dmidecode -s bios-version
you can prevent EFI var deletion from breaking boot when you update the firmware by running
grub-install --removable. this should only need to be done once.
follow Linux (beta) instructions for installing the BIOS updates from EFI: Framework Laptop BIOS and Driver Releases (11th Gen Intel® Core™)
if you have performed a firmware update without installing grub in removable mode (see above), you can still recover your installation.
boot from your original installation media and choose
Advanced Options -> Rescue Mode from the boot menu.
follow the prompts. decrypt your drive if needed, choose yes to mounting the separate /boot and /boot/efi partitions. select “Rebuild GRUB Bootloader” and when prompted for a device enter
/dev/nvme0. finally, choose “Reboot”.
install required packages:
# apt install fprintd libpam-fprintd
you can configure fingerprints via the Users section of GNOME settings or you can enroll with
sudo fprintd-enroll $USER
by default, the laptop will not enter S3 sleep.
you can enable it temporarily with
echo deep > /sys/power/mem_sleep and verify that it behaves correctly. if you don’t have any problems, you can enable permanently by creating
/etc/default/grub.d/sleep.cfg with the following contents:
and then running
update-grub and rebooting
NOTE: some have reported resume issues with specific SSDs. i have had success with the WD850 (1TB). however, i did run into an issue with the trackpad which I was able to workaround by disabling PS/2 emulation in the BIOS.
if you would like to use fractional scaling, enable experimental support in mutter:
$ gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
after you log out/in you can then visit Settings → Display for the new scaling options. i find that 125% is just about right with default font sizes. see also: HiDPI - ArchWiki
if you want to use the same fractional DPI for gdm, you’ll need to run the following commands:
# su - Debian-gdm -s /bin/sh -c "export \`dbus-launch\`; gsettings set org.gnome.mutter experimental-settings \"['scale-monitor-framebuffer']\"; kill \$DBUS_SESSION_BUS_PID" # cp ~youruser/.config/monitors.xml ~Debian-gdm/.config/ # chown Debian-gdm:Debian-gdm ~Debian-gdm/.config/monitors.xml
set your system-wide default background/theme:
# update-alternatives --set desktop-theme /usr/share/desktop-base/futureprototype-theme
note: sometimes grub backgrounds will not work correctly with luks encrypted lvm root partitions: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004514
this should not be necessary, but the easiest way to work around this bug is to
cp /usr/share/images/desktop-base/desktop-grub.png /boot/grub/desktop-grub.png and create
/etc/default/grub.d/background.cfg with the following contents:
if you’d prefer a plain black background, clear dconf key
/org/gnome/desktop/background/picture-uri and set
#000000 (or your color of choice)
i tend to prefer setting the application theme to
Adwaita-Dark. you can set this in the Tweaks app. there are also ways to make this default for all users by editing the relevant dconf-defaults files.
if you prefer to invert your trackpack scroll direction, you can disable natural scrolling in the Mouse settings.
enable splash screen during boot (bootsplash):
# apt install -y plymouth plymouth-themes # plymouth-set-default-theme --rebuild-initrd futureprototype
add the following to
update the grub config:
you can disable the logo on gdm add the following to
fetch fw-ectool from the github repo and build the ectool utility. you will need to disable secure boot in order to access and write to the EC.