Framework Laptop 16

HardwarePCI/USB IDWorking?
iGPU1002:15bfYes
Wi-Fi14c3:0616Yes
Audio1002:1640Yes
Keyboard Module - ANSI32ac:0012Yes
Keyboard Module - ISO32ac:0018Yes
Numpad Module32ac:0014Yes
Webcam0bda:5634Yes
Fingerprint reader27c6:609cYes
Bluetooth0e8d:e616Yes
Accelerometer Untested
TPMYes
Ambient light sensorYes

This article covers the installation and configuration of Arch Linux on a Framework 16 Laptop.

For a general overview of laptop-related articles and recommendations, see Laptop.

Note: The AMD sections of the Framework 13 Page may serve helpful for troubleshooting while the Framework 16 page is being developed.

Installation

Follow the Arch Install Guide upto and including `Prepare an installation medium`. Plug the install media into any of the expansion ports, and press the power button.

The first boot after assembly can take up to 30 seconds to perform memory training, but if it takes longer (up to a few minuites), refer to Problems Booting

If you get the error `EFI USB Device (USB_NAME) boot failed`, refer to the Disabling Secure Boot section

Continue with the Arch Install Guide, then read through the rest of this article to setup framework specific hardware.

Problems Booting

The first boot after assembly can take up to 30 seconds to perform memory training, but if it takes longer (up to a few minutes) the LEDs next to the expansion modules should flash an error code. The first part of the code (Diagnosis) can be decoded here, and the second part (POST Code) can be decoded here

Disabling Secure Boot

If you get the error `EFI USB Device (USB_NAME) boot failed`, you may need to disable secure boot.

  1. Unplug the install media
  2. Press the power button to power off
  3. After a few seconds press it again to power back on
  4. Press `enter` to clear the error
  5. Select `Administer Secure Boot`
  6. Change `Enforce Secure Boot` to `Disabled`
  7. Re-insert your install media
  8. Press `F10` (You may have to press `fn + F10`) then `enter` to save changes

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 components.

Note: Ensure you have linux-firmware installed, as pointed out by Installation guide#Install essential packages before reporting hardware issues on the Arch bug tracker or Framework Community boards. It is an optional dependency of linux and does not automatically get installed as part of base. Without it, much of the hardware will be detected but may not be fully functional. You will see firmware loading issues in the journal.

Wi-Fi

You will be limited to 802.11n (Wi-Fi 4) and 2.4GHz bands if you do not configure the regulatory domain.

There have been reports of Wi-Fi stability and throughput improvements when using iwd on the 13 inch AMD model, either directly or as the NetworkManager backend. It is unclear if these issues persist on the 16 inch model, which uses the exact same Wi-Fi card.

Display

The Framework Laptop 16 has an IPS display manufactured by BOE (BOE NE160QDM-NZ6) with a native resolution of 2560 x 1600, 165Hz variable refresh rate and FreeSync support. The panel is uncalibrated from factory, giving a suboptimal default sRGB coverage. It is thus recommended to apply an ICC profile to have better color reproduction.

Framework 16 ICC color profile: https://www.notebookcheck.net/uploads/tx_nbc2/BOE_CQ_______NE160QDM_NZ6.icm

Ambient light sensor

Should work out of the box, you can check by reading /sys/bus/iio/devices/iio\:device0/in_illuminance_raw.

On GNOME, you need to install iio-sensor-proxy and restart the session (or reboot, just in case). Then run monitor-sensor to check if it is working.

If you do not use GNOME but still want automatic brightness control, check out illuminanced-gitAUR.

Audio

Linux audio compatibility

The speakers do not sound very well out of the box. To improve that just enable the linux audio compatibility in the bios.

Easy Effects

To further improve the sound you may use Easy Effects PipeWire#EasyEffects with custom profiles.

Note: Running easyeffects may drain the battery faster.

First install easyeffects and the needed dependencies calf and lsp-plugins. Then just follow the installation instructions on the GitHub page.

There are some good profiles available:

~/.config/easyeffects/output/amesb fw16 EE profile.json
  • Framework 13 profile by cab404 is made for Framework 13 but also works quite well on the Framework 16. Just follow the instructions in the repository.

Sensors

Framework has a fork of lm-sensors on their GitHub with config files added. Copy and paste config/Framework/Framework16-AMD.conf from this branch into a new file in /etc/sensors.d/ to get sensor labels. This seems to be work in progress so it is probably worth checking back up on it occasionally and see if any updates have been pushed.

Fan control

As of 2024-03-17 the software fw-fanctrl can work with the framework 13 and 16 AMD versions. Just install fw-fanctrl-gitAUR and set your desired config in /etc/fw-fanctrl/config.json.

Note: This is an AUR package, and as such may cause issues. As of 2024-06-12, there was at least one case of the sleep hook installed by this package causing a 90-second hang on resume from suspend and hibernate (now fixed).fw-fanctrl#48,.

Touchpad

Disable while typing

To be able to disable the touchpad while typing you can add a quirk:

/usr/share/libinput/50-framework.quirks
[Framework Laptop 16 Keyboard Module]
MatchName=Framework Laptop 16 Keyboard Module*
MatchUdevType=keyboard
MatchDMIModalias=dmi:*svnFramework:pnLaptop16*
AttrKeyboardIntegration=internal

Then enable the respective setting in your desktop environment and reboot.

Prevent waking up in backpack

Due to a firmware misconfiguration, the Framework16 will wake up when its screen flexes onto the keyboard while carried in a backpack.

You can disable keyboard and numpad module from waking your device using udev rules, but note that they will stay ON along with their backlight at all times unless you manually turn LED off. Also, this method won't disable the touchpad.

1. Add wakeup rule

/etc/udev/rules.d/90-disable-keyboard-wake.rules
# Framework Laptop 16 Keyboard Module - ANSI
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", ATTR{power/wakeup}="disabled"

# Framework Laptop 16 RGB Macropad
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0013", ATTR{power/wakeup}="disabled"

# Framework Laptop 16 Numpad Module
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", ATTR{power/wakeup}="disabled"

# Framework Laptop 16 Keyboard Module - ISO
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0018", ATTR{power/wakeup}="disabled"

2. Load the new rules

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.