Jump to content
From ArchWiki

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Reason:

- The page has been renamed to reflect the introduction of the 16" model, but the page content would probably gain from being updated with that wording too.
- The multiple tables from #Hardware look like they can be squashed into the generic table since everything is listed as working. #Expansion Cards should be left as-is given the fact that more modules can be added over time.

(Discuss in Talk:Framework Laptop 13)

Hardware | PCI/USB ID | Working?
--- | --- | ---
GPU |  | Yes
Wireless |  | Yes
Audio | `8086:a0c8` | Yes
Touchpad | `093a:0274` | Yes
Webcam | `0bda:5634` | Yes
Fingerprint reader | `27c6:609c` | Yes
Bluetooth |  | Yes
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

This article or section needs expansion.

Reason: Probably needs a better way to distinguish between motherboard revisions and CPU model used. (Discuss in Talk:Framework Laptop 13)

CPU Model | Working?
--- | ---
Intel i5-1135G7 | Yes
Intel i7-1165G7 | Yes
Intel i7-1185G7 | Yes
Intel i5-1240P | Yes
Intel i7-1260P | Yes
Intel i7-1280P | Yes

### WiFi/Bluetooth

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 | Yes | DIY Edition (Optional)
AX210 w/o vPro | `8086:2725` | `8087:0032` | Yes | Yes | DIY Edition (Optional)
AX411 vPro | `8086:51f0` | `8087:0033` | Yes | Yes | Not sold by Framework, but works

### i915

Device Name | PCI ID | Working?
--- | --- | ---
TigerLake-LP GT2 [Iris Xe Graphics] | `8086:9a49` | Yes
Alder Lake-P Integrated Graphics Controller | `8086:46a6` | Yes

### 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 |
Ethernet | `0bda:8156` | Yes |

### Headset jack

The Framework laptop includes a 3.5mm combination headphone/headset jack (TRRS). In kernel versions before 5.18.1 [1], devices plugged into the jack will only be recognized as headphones. To allow recognition of a headset (with microphone), use `dell-headset-multi` as the value for the `model=`, as explained in Advanced Linux Sound Architecture#Correctly detect microphone plugged in a 4-pin 3.5mm (TRRS) jack.

When powersave activates and deactivates on the sound card, there is a small noisy popping sound. If you are using TLP, one way to avoid this is to disable the `SOUND_POWER_SAVE_` variables in `/etc/tlp.conf`.

### Speakers

By default, the speakers do not sound very balanced (due to downward firing speakers), so you may want to use an equalizer to fix this. One way is to install EasyEffects and use one of the presets in this github repo, such as `philonmetal.json`.

## Firmware

### BIOS Updates

The current Framework laptop BIOS version is 3.17 for 11th Gen Intel Mainboards [2]. As of writing Framework laptops with 12th Gen Intel Mainboards are currently stuck on BIOS version 3.04 [3] (later batches came with 3.05 "to resolve an in-factory specific issue"[4]). The BIOS can be updated by EFI shell script placed on a bootable USB flash drive. However, this firmware update method clears EFI bootloaders registered in NVRAM, so having a recovery disk or alternate method of reinstalling your bootloader(s) handy is recommended. If your bootloader installs itself as the EFI fallback at `esp/EFI/BOOT/BOOTX64.EFI` (systemd-boot will by default, GRUB will with GRUB#Default/fallback boot path), no recovery disk is necessary, but your bootloader may need to be reinstalled to restore its NVRAM entry.

To check which bios is currently installed without rebooting into the bios itself is possible with:

    # dmidecode -s bios-version

A beta Framework laptop BIOS version 3.06 is available for 12th gen Intel Mainboards [5]. Note, take extra care to properly update both the bios and extra chipset completed fully. partial updates resulted in non functional usb ports.

Warning: Please note that if you update to 3.06, you will not be able to downgrade to a lower version as it will cause left side ports to stop functioning for any mode except USB2.

A mention of version 3.07 in the same thread, but not yet available.

#### LVFS

Support for fwupd is in testing [6], and can be enabled by running:

    $ fwupdmgr enable-remote lvfs-testing

(for 11th Gen Intel Mainboards) BIOS versions previous to 3.17 do not have capsule update support, so uncomment this line, update to 3.17 or higher, and then comment the line again after the BIOS is updated:

    /etc/fwupd/uefi_capsule.conf

    DisableCapsuleUpdateOnDisk=true

### Secure Boot

One can enroll custom keys into the Framework Laptop without any Option ROM concerns, or use the SHIM approach. See Secure Boot for details.

### Suspend

Adding the kernel parameter `acpi_osi="!Windows 2020"` fixes a regression in s2idle, making the keyboard backlight and power button correctly turn off when suspending, as well as decreasing battery drain in suspend to about 1%/hour[7].

If your system fails to wake up from suspend due to the SSD disconnecting, you can try putting `nvme.noacpi=1` in your kernel parameters. This may also improve battery life in suspend, if your SSD has a bad ACPI implementation.

Warning: Some NVMe drives do not successfully wake from the deep sleep state described below, disconnecting from the laptop and becoming inaccessible until a reboot, which typically causes the laptop to lock up. One example is the Sabrent Rocket NVMe 4.0[8][9]. Before enabling this sleep state in a production installation, you may wish to test the suspend functionality of your NVMe drive from the Arch installer environment so as not to cause corruption.

See Power management/Suspend and hibernate#Changing suspend method if you want to use S3 sleep instead of s2idle.

### Touchpad

There are reports of the touchpad exhibiting issues (e.g. pointer does not move, two-finger scroll does not work, etc.) after waking from sleep. Disabling PS/2 mouse emulation under Advanced in the BIOS seems to resolve the issues[10].

## 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`

1. The key is visible to `xev` and similar tools.
2. The physical key has a symbol on it, which describes its function.

## Ambient light sensor

Should work out of the box with iio-sensor-proxy. On GNOME it is enough to install the package and restart the session (or reboot, just in case). Then run `monitor-sensor` to check if it is working.

## Troubleshooting

### Stuttering, flickering and periodic freeze

There are reports of stuttering, flickering and periodic freezes on the laptop. Disabling Panel Self-Refresh (as explained in Intel graphics#Screen flickering) has been reported to work. However it is helpful for battery life, so it should be left on if there are no issues.

This can also happen if you have installed xf86-video-intel instead of using modesetting, see the note at Intel graphics#Installation.

### 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).

### HiDPI settings

Using 1,5 scaling factor is suggested. For more details, see HiDPI.

### Lowering fan noise

The handling of fans can be significantly improved by using the thermald service. Install the package and then you can Start and Enable the service via the `thermald.service` unit file.

### Changing the brightness of the monitor does not work

See Backlight#xbacklight returns : No outputs have backlight property.

For Alder Lake CPUs a solution for using the backlight keys instead of the light sensor is to deactivate the ambient light sensor.

    /etc/modprobe.d/framework-als-deactivate.conf

    blacklist hid_sensor_hub

Reboot is required, the light sensor module will be deactivated and the backlight keys work.

### Bootmanager flashing black screen and not loading operating system

If your Framework laptop loads the bootloader and can recognize the EFI system 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.

1. Reboot holding `F2`. There is a bug in some versions of the BIOS that prevents the `F2` key on the builtin laptop keyboard from being recognized during reboot or power up. The workaround is to connect an external USB keyboard to the laptop an hold the `F2` key on the external keyboard while rebooting or powering up the laptop. After the laptop has entered the BIOS settings the builtin keyboard can be used and the external one can be disconnected.
2. Go to the Security Tab
3. Secure boot defaults to ON; disable it
4. Save changes and restart

### Intel Wi-Fi 6E AX210 reset/ low throughput / "Microcode SW error"

Under high stress, Wi-Fi device restarts and network speeds become abysmally slow or non-responsive until disconnecting and reconnecting to WiFi network.[11]

This issue has been observed by owners of other manufacturers' laptops (not just framework). [12]

Disabling IEEE 802.11ax seems to be a suitable workaround for the time being. [13]

    /etc/modprobe.d/iwlwifi.conf

    options iwlwifi disable_11ax=Y

Intel is aware[14] of the issue and there is a patch[15] that fix slow tx after restart, and another[16] that address the SW error.

### Fingerprint reader device disconnected error

When the fingerprint reader has been used to enroll a fingerprint on Windows, and you later attempt to use the reader under Linux without first unenrolling your print from within Windows, `fprintd` can fail to work. In this situation, upon enrolling with fprintd-enroll, the command will hang, as `fprintd` has crashed.

The best way to deal with this, if you still have access to Windows, is to boot back in and unenroll your fingerprint from there. If this is not possible, you can try a script posted by someone on the Framework laptop forums.

### Low framerate or stuttering webcam

This issue can occur if the program displaying the webcam feed is using the YUYV 4:2:2 color format. Most GUI camera applications do not allow for configuring this. Some applications that will let you configure this include guvcview and obs-studio, and they also appear to work with the default configuration. You can also open the webcam using vlc with:

    $ vlc v4l2:///dev/video1 --v4l2-chroma MJPG

### 12th gen Turbo-Boost on battery with tlp

This article or section is a candidate for merging with TLP.

Notes: This is not specific to this hardware and should thus be on the page for the specific tool. (Discuss in Talk:Framework Laptop 13)

By default the 12th gen will not Turbo-Boost on battery if tlp is installed. This can configured in tlp's configuration.

    /etc/tlp.conf

    CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
    CPU_ENERGY_PERF_POLICY_ON_BAT=balance_performance

### 12th gen brightness and airplane mode keys

On the 12th gen motherboards there is a bug where ALS and the brightness up/down including the airplane mode keys conflict. In order to make the brightness and airplane mode keys work in the detriment of using the ambient light sensor, blacklist the `hid_sensor_hub` module.

### Ethernet not working with tlp

By default tlp will power limit the framework ethernet adapter. This can be changed in tlp's configuration where `0bda:8156` is the ID of the framework ethernet adapter.

    /etc/tlp.conf

    USB_DENYLIST="0bda:8156"

### Shutdown and reboot hanging on kernel 6.4

Kernel 6.4+ currently hangs on shutdown and reboot due to a TPM regression - as a workaround, reverting TPM back to polling resolves the issue.

Add the following to one's kernel parameters:

    tpm_tis.interrupts=0

This has been resolved in Kernel 6.4.4.

## Additional Hardware

### Docking Stations

The following docking station(s) work 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 |
Anker 777 Thunderbolt Docking Station | `A8397` | USB-C | Yes | Instantaneous wakeups from suspend when connected to the dock if using `s2idle` for sleep; PCI/USB devices are not detected after resume from sleep when using `deep` for sleep.
ThinkPad Thunderbolt 3 Dock | `DBB9003L1` | USB-C | Yes | Dock Power button does not work properly to boot the laptop
ThinkPad Universal Thunderbolt 4 Dock | `40B00135AU` | USB-C | Yes | Dock Power button does not work properly to boot the laptop. Requires Framework firmware version 3.06 to be installed on the laptop.
ThinkPad USB-C Dock | `40A09` | USB-C | Yes | Dock Power button does not work properly to boot the laptop
Dell USB-C Dock | `WD19` | USB-C | Yes |
Dell Thunderbolt Dock | `WD19TBS` | USB-C | Yes | Thunderbolt 3, power button does not work
OWC Thunderbolt 3 Dock | `OWCTB3DK14PSG` | USB-C | Yes |
uni 8-in-1 USB-C Hub | `8IN101` | USB-C | Yes | Short removable cable can be replaced; the Spigen USB 4 cable works.
CalDigit TS3 Plus Thunderbolt 3 Dock | `TS3 Plus` | USB-C | Yes |
CalDigit TS4 Thunderbolt 4 Dock | `TS4` | USB-C | Yes |
StarTech.com USB-C Travel Docking Station | `DKT30CHPD` | USB-C | Yes |

### External GPU

Name | Model Number | Interface | Power Delivery? | eGPU? | Notes
--- | --- | --- | --- | --- | ---
AKITO Node Pro Thunderbolt 3 | `T3NP` | USB-C | Yes | No | Errors with PCIe bus expansion for eGPU, 3.16.5 kernel, 3.07 firmware
Sonnet | `eGPU 550` | USB-C | Yes | Yes | Tested in kernel 5.15 and above
Razer | `Core` | USB-C | Yes | Yes | Tested in kernel 5.15 and above
Mantiz MZ-03 Saturn Pro eGPU V2 | `MZ-03-EU-SG` | USB-C | Yes | Yes | EU-edition, Potentially needs intel_iommu=on,Tested in kernel 5.15 and above 3.06 Firmware 3.10 and 12th gen framework

## See also

- Framework website
- Framework community thread for Arch Linux
- Framework community thread for battery life tuning

Category:

- Framework

Hidden categories:

- Pages or sections flagged with Template:Style
- Pages or sections flagged with Template:Expansion
- Pages or sections flagged with Template:Merge