Arch Linux on the Framework Laptop

This is a wiki post, so feel free to edit it with instructions on installing and using Arch!

Known issues:

See also:


I got bluetooth working on my fresh arch install using the suggested kernel downgrading steps.

  • Download linux kernel 5.12.15

  • Run sudo pacman -S path-to-kernel-download/linux-5.12.15.arch1-1-x86.pkg.tar.zst

  • Reboot

  • Install and enabled bluetooth services

  • sudo pacman -S bluez bluez-utils

  • sudo systemctl enable bluetooth; sudo systemctl start bluetooth

Now I just need to solve the strange stutters that lock all input every 20 seconds or so…

1 Like

+1 to downgrading libinput. Also, libinput-gesutres seems to work well with the change.

1 Like

@Anthony_Powell the suttering might be a cpufreq governor issue: CPU Performance Governor

Or it could be the documented problem with Panel Self-refresh being automatically turned on: Periodic stuttering on fresh gnome.40 wayland install on Arch Linux - #7 by Theodore_Koniszewski

@mbernhard yup :slight_smile: I made that other thread, just forgot to update this one!

1 Like

Womp, clearly I didn’t read closely enough :sweat_smile:

1 Like

Fingerprint working on Arch Linux, I just forgot to install the fprint daemon.

sudo pacman -S libfprint fprintd

gets you all set in gnome, fprint - ArchWiki has instructions for other desktop managers!

1 Like

@mbernhard It’s good to know the Wifi works on kernel 5.13 on your Arch Linux. For Arch’s topic, I would like to talk on this thread. Do you remember which kernel version you are using? Can you share the output of uname -r?

1 Like

I’m running 5.12.9, it was the “newest” 5.12 I could find for a fresh install: Index of /packages/l/linux/

So, you said “WiFi works fine for me in 5.13 for me (on Arch, not Fedora)”. But the “5.13” is typo?

Ah, no. WiFi did work fine for me, but bluetooth didn’t in 5.13, so I rolled back to 5.12 and now they both work.

OK. Now I understood your situation :slight_smile:

1 Like

Super interesting development. I have bluetooth working perfectly on latest arch linux 5.13.7 kernel.

Using the other advice here, I downgraded my kernel to 5.12.15 and got wifi and bluetooth working. I then paired a razer naga wireless mouse and Sony bluetooth headphones and used them both just fine for a few days.

Today, I did a full arch upgrade and reboot. This included kernel 5.13.7. This kernel was not working with bluetooth previously. Now, having had paired and used two bluetooth devices on the older kernel and upgrading to the new kernel, my bluetooth devices connected instantly and work just fine.

TLDR; Downgrade to old kernel (like 5.12.15) where both wifi and bluetooth work, pair some devices, upgrade back to latest kernel and bluetooth now works.

1 Like

Perhaps, Arch kernel package might fix the bluetooth issue for Arch 5.13.7 kernel package by applying a patch? The 5.13.7-N (<upstream major version>.<upstream minor version>.<upstream maintenance version>-<package release version>) and 5.13.7-M should have a different behavior.

For example, in my case on Fedora 34, I see the following result by some command. I guess Arch Linux has equivalent commands to check the package released version.

$ uname -r

$ rpm -q kernel

In Arch 5.13.7.arch1-1 the last digit would be the package relative version, which is where you’d be apply patches between stable releases.

However nothing has been patched in the Arch kernel.

There is some bluetooth patch for USB devices applied in 5.13.8 though, but not sure if relevant.

I have started on the Arch wiki page for the framework laptop. I currently have a pre-production unit so I’m not super sure what issues I encounter is present on the actual releases. Feel free to edit and I’ll move it to the laptop pages within a few days.

My current issue is that I seemingly can’t enable the TPM from the BIOS settings and it doesn’t produce a /sys/kernel/security/tpm0/binary_bios_measurements file on boot. If anyone has one available please upload :slight_smile:

Arch has libinput 1.18.1 which has this issue fixed.


I’ve added identifiers for the non-vPro AX210 card to your page - marking bluetooth as untested for now, since I can’t get it to work with kernel 5.13.8 but in theory the fix has landed.

$ uname -r 
$ sudo dmesg | grep Bluetooth
[    2.551576] Bluetooth: Core ver 2.22
[    2.551596] Bluetooth: HCI device and connection manager initialized
[    2.551600] Bluetooth: HCI socket layer initialized
[    2.551601] Bluetooth: L2CAP socket layer initialized
[    2.551605] Bluetooth: SCO socket layer initialized
[    2.630915] Bluetooth: hci0: Firmware timestamp 2021.19 buildtype 1 build 25171
[    2.632906] Bluetooth: hci0: No device address configured
[    2.633766] Bluetooth: hci0: Found device firmware: intel/ibt-0041-0041.sfi
[    2.633802] Bluetooth: hci0: Boot Address: 0x100800
[    2.633804] Bluetooth: hci0: Firmware Version: 83-19.21
[    2.633805] Bluetooth: hci0: Firmware already loaded
[    2.666291] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.666294] Bluetooth: BNEP filters: protocol multicast
[    2.666297] Bluetooth: BNEP socket layer initialized
$ bluetoothctl list
$ rfkill list
0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

Let me know if there are logs or other system information I can provide to help determine why bluetooth works fine on latest kernel for me

Just thought I’d share that I installed arch Friday night and have been really enjoying my time with the framework laptop since then!

Some snags I ran into:

  • I forgot to disable secure boot at first and couldn’t get the usb stick to boot. F2 into bios to disable secure boot fixed this.
  • This was my first UEFI install so I had to slow down and figure out how to partition my drive and get that set up. I ended up using 3 partitions:
/dev/nvme0n1p1 *       2048    2099199    2097152     1G ef EFI (FAT-12/16/32)
/dev/nvme0n1p2      2099200    4196351    2097152     1G 82 Linux swap / Solaris
/dev/nvme0n1p3 *    4196352 1953525167 1949328816 929.5G 83 Linux
nvme0n1     259:0    0 931.5G  0 disk 
├─nvme0n1p1 259:1    0     1G  0 part /efi
├─nvme0n1p2 259:2    0     1G  0 part [SWAP]
└─nvme0n1p3 259:3    0 929.5G  0 part /
  • After installing the microcode updates I forgot to rebuild the grub config… when I realized what I did it was easy to chroot back into my ssd from the live usb and run grub-mkconfig… oops :slight_smile:

Stuff I did (mostly yesterday so I haven’t kicked the tires on these settings much yet fwiw) after installing:

I haven’t used bluetooth for anything in like a decade so I haven’t tested that, but wifi works great so far with default netctl and wifi-menu installs – although I did get some warnings from wifi-menu as it launched, they seem to have gone away today. :slight_smile:

The only issue I’m noticing so far that I didn’t have on my x250 is a weird one. I was hoping that disabling self-refresh would make it go away but I’m still experiencing it today:

Once in a while firefox will seemingly freeze up and I won’t be able to scroll the page – watching htop when this happens doesn’t show any special load (my load average stays well below 1 in htop, and I have 32GB of ram installed with plenty free…) but also happens sometimes when trying to switch between tabs. I’ll click the tab title and nothing will happen for what seems like several seconds, then the tab will switch…

I’m using DWM for my window manager and I’ve noticed the same behavior switching to and from the desktop where firefox is displayed, or switching to and from a tab where vlc is playing a video.

Generally though I’m having a wonderful time with this machine and I’m hopeful it’ll catch on as planned!