Framework Laptop
Hardware | PCI/USB ID | Working? |
---|---|---|
GPU | See Table | |
Wireless | See Table | |
Audio | 8086:a0c8 |
Yes |
Touchpad | 093a:0274 |
Yes |
Webcam | 0bda:5634 |
Yes |
Fingerprint reader | 27c6:609c |
Yes |
Bluetooth | See Table | |
Accelerometer | Untested | |
TPM | Yes | |
Ambient light sensor | Yes |
This article covers the installation and configuration of Arch Linux on a Framework Laptop.
For a general overview of laptop-related articles and recommendations, see Laptop.
Hardware
Framework is intended to be a configurable and upgradeable laptop. The lists below is not intended to be an exhaustive list of all the hardware sold with the framework, but rather a list of tested modules that are specially made for the Framework laptop.
Motherboards
CPU Model | Working? | Notes |
---|---|---|
Intel i5-1135G7 | Yes | |
Intel i7-1165G7 | Yes | |
Intel i7-1185G7 | Yes |
WiFi
Device Name | PCI ID | Bluetooth USB ID | Working? | Bluetooth? | Notes |
---|---|---|---|---|---|
AX200 | 8086:2723 |
8087:0029 |
Yes | Yes | Pre-production units |
AX201 vPro | Untested | Untested | Professional Edition | ||
AX201 w/o vPro | 8086:a0f0 |
8087:0026 |
Yes | Yes | Base/Performance Editions |
AX210 vPro | 8086:2725 |
8087:0032 |
Yes | Works on Linux 5.12,5.14 | DIY Edition (Optional) |
AX210 w/o vPro | 8086:2725 |
8087:0032 |
Yes | Works on Linux 5.12 or 5.15.4+ | DIY Edition (Optional) |
i915
Device Name | PCI ID | Working? |
---|---|---|
Tigerlake | f111:0001 |
Works on 5.14.x or 5.15.6+ |
Expansion Cards
Card Name | PCI/USB ID | Working? | Notes |
---|---|---|---|
USB-C | N/A | Yes | |
USB-A | N/A | Yes | |
MicroSD | 090c:3350 |
Yes | |
HDMI | 32ac:0002 |
Yes | |
DisplayPort | 32ac:0003 |
Yes | |
Storage 250GB | 13fe:6500 |
Yes | |
Storage 1TB | 13fe:6500 |
Yes |
Headset jack
The Framework laptop includes a 3.5mm combination headphone/headset jack (TRRS). By default, when a device is plugged into the jack, it will be recognized only as headphones. To allow recognition of a headset (with microphone), add the following:
/etc/modprobe.d/alsa-base.conf
options snd-hda-intel model=dell-headset-multi
Installation
ACPI
Some acpi_osi
options seems to cause CPU stalls on the laptop. This table is just a list of tested values.
Value | Stall? | Note |
---|---|---|
acpi_osi= |
Yes | |
acpi_osi="Windows 2020" |
No | Probably the preferred option. |
systemd sets up the reboot watchdog and generates an error when the laptop reboots:
[...] watchdog did not stop
You can disable the shutdown watchdog:
/etc/systemd/system.conf
RebootWatchdogSec=0
Firmware
Secure Boot
It is currently unknown if self-enrolling secure boot keys work will brick the Framework laptops or not. As a general recommendation, one can set up with shim-signedAUR or add a password to the BIOS setup menu, enable Secure Boot and manually allow the bootloader to be loaded after upgrades.
LVFS
Support for fwupd is to be expected, but currently not available [1].
Suspend
The inefficient s2idle (Suspend-To-Idle) suspend variant is pre-selected as default. This state is a generic, pure software, system sleep state. You can select the much more efficient deep (Suspend-To-RAM) variant, which offers significant power savings as everything in the system is put into a low-power state, except for memory, which is placed into the self-refresh mode to retain its contents. Note that the deep variant results in longer resume times.
$ cat /sys/power/mem_sleep [s2idle] deep # echo deep | tee /sys/power/mem_sleep $ cat /sys/power/mem_sleep s2idle [deep]
To make this permanent, add mem_sleep_default=deep
to your kernel parameters.
Function keys
Key | Visible?1 | Marked?2 | Effect |
---|---|---|---|
Fn+Esc |
Yes | Yes | Toggles Fn lock |
F1 |
Yes | Yes |
XF86AudioMute
|
F2 |
Yes | Yes |
XF86AudioLowerVolume
|
F3 |
Yes | Yes |
XF86AudioRaiseVolume
|
F4 |
Yes | Yes |
XF86AudioPrev
|
F5 |
Yes | Yes |
XF86AudioPlay
|
F6 |
Yes | Yes |
XF86AudioNext
|
F7 |
Yes | Yes |
XF86MonBrightnessDown
|
F8 |
Yes | Yes |
XF86MonBrightnessUp
|
F9 |
Yes | Yes |
Super_L+p
|
F10 |
Yes | Yes |
XF86RFKill , soft blocks wlan and bluetooth
|
F11 |
Yes | Yes |
Print
|
F12 |
Yes | Yes |
XF86AudioMedia
|
Fn+Delete |
Yes | Yes |
Insert
|
Fn+Space |
Yes | Yes | Controls the keyboard backlight |
Fn+b |
No | No |
Control_L+Break
|
Fn+k |
No | No |
Scroll_Lock
|
Fn+p |
No | No |
Pause
|
Fn+Left |
Yes | Yes |
Home
|
Fn+Right |
Yes | Yes |
End
|
Fn+Up |
Yes | Yes |
Prior/PgUp
|
Fn+Down |
Yes | Yes |
Next/PgDn
|
- The key is visible to
xev
and similar tools. - The physical key has a symbol on it, which describes its function.
Troubleshooting
Stuttering and periodic freeze
There are reports of stuttering and periodic freezes on the laptop when using GNOME and Wayland. Disabling Panel Self-Refresh has been reported to work[2], although this may no longer be needed on kernel 5.14. PSR is helpful for battery life, so it should be left on if there are no issues.
/etc/modprobe.d/i915.conf
options i915 enable_psr=0
See also Intel graphics#Screen flickering.
Bluetooth on Linux 5.13/5.14
The AX210 Bluetooth controller does not appear to work as expected when using 5.13 or 5.14 (current as of 5.14.7), tested with bluetoothctl list
. Here is the upstream bug report: https://bugzilla.kernel.org/show_bug.cgi?id=213829. AX210 Bluetooth works on 5.14 with cold boots, but the controller disappears after a warm boot. If necessary, downgrade to 5.12.15 for working Bluetooth support, or use a Bluetooth controller that is known to work, such as the AX201.
This issue is resolved with 5.15.4 [3].
Two/Three finger clicks
By default, the touchpad provides middle and right click by clicking on specific regions (bottom middle for middle click and bottom right corner for right click). To switch this two-finger click for right click and three-finger click for middle click, you will need to set the "click method" via libinput. First, find your "Touchpad" device name:
$ xinput
And then set the click method, where device
is the name (or ID) found in the previous step:
$ xinput set-prop "device" "libinput Click Method Enabled" 0 1
To make this persistent, put it in a startup script. Alternatively, if using X11, one can create a custom Xorg configuration file with the appropriate settings (see libinput#Via Xorg configuration file).
Dealing with HiDPI with a classic X11 window manager
If you are not using a desktop environment and are just rolling with an old school X11 window manager that does not support HiDPI, it is likely that Framework's default resolution will make things too small. Fixing this generally requires playing whack-a-mole. For "modern" GUI applications that use GTK or Qt, you can set environment variables that will generally make most things work:
$ export GDK_DPI_SCALE=1.5 $ export QT_SCALE_FACTOR=1.5
For some applications, you will need to do extra work. For example, Firefox also needs to have layout.css.devPixelsPerPx
set to 1.5
in about:config
. Other applications, like git gui
, have no DPI settings at all because their underlying toolkits do not support it. In those cases, you will have to increase font sizes.
Changing the brightness of the monitor does not work
If you are using a tool like xbacklight(1) (xorg-xbacklight), it might report that it cannot detect any output devices with backlight settings. This is despite a standard backlight directory tree in /sys/class/backlight/intel_backlight
. Use xbacklight(1) (acpilight) instead for a compatible tool that works with this laptop.
Bootmanager flashing black screen and not loading operating system
If your Framework laptop loads the bootloader and can recognize the EFI partition on your flash drive or m.2. drive, but cannot load your boot manager (it only flashes a black screen before returning to the bootloader), you must disable Secure Boot.
- Reboot holding
F2
- Go to the Security Tab
- Secure boot defaults to ON; disable it
- Save changes and restart
Additional Hardware
Docking Stations
The following docking station(s) work 100% out of the box with no additional configuration:
Name | Model Number | Interface | Power Delivery? | Notes |
---|---|---|---|---|
Hyper Drive Power 9-in-1 USB-C Hub | HD30F-GRAY |
USB-C | Yes | Needs to be reconnected if power is removed while connected. |
Anker PowerExpand 13-in-1 USB-C Dock | A8392 |
USB-C | Yes | |
ThinkPad Thunderbolt 3 Dock | DBB9003L1 |
USB-C | Yes | |
Dell USB-C Dock | WD19 |
USB-C | Yes | |
OWC Thunderbolt 3 Dock | OWCTB3DK14PSG |
USB-C | Yes |