Framework Laptop 16
Hardware | PCI/USB ID | Working? |
---|---|---|
iGPU | 1002:15bf |
Yes |
Wireless | 14c3:0616 |
Yes |
Audio | 1002:1640 |
Yes |
Keyboard Module - ANSI | 32ac:0012 |
Yes |
Keyboard Module - ISO | 32ac:0018 |
Yes |
Numpad Module | 32ac:0014 |
Yes |
Webcam | 0bda:5634 |
Yes |
Fingerprint reader | 27c6:609c |
Yes |
Bluetooth | 0e8d:e616 |
Yes |
Accelerometer | Untested | |
TPM | Yes | |
Ambient light sensor | Yes |
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.
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.
WiFi
You will be limited to 802.11n (WiFi 4) and 2.4GHz bands if you do not configure the regulatory domain.
There have been reports of WiFi 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. [1]
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.
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:
- Framework 16 profile by amesb just put it in
~/.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
.
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
- ArchWiki vendor page
- Framework website
- Framework community thread for Arch Linux
- Framework community thread for battery life tuning
- Framework tools and rust libraries for talking to EC and other parts of the system. Get/set keyboard brightness, fingerprint led brightness, battery charge limits, information dumping from battery, usb ports, intrusion switches, privacy switches, output from EC console, firmware info.
- Framework fork of QMK used as firmware in the keyboard and number pad.
- Framework input module firmware and software.
- Git with electrical and mechanical designs for expansion cards.
- Git with electrical, mechanical, reference designs for gpu expansion bay.
- Git with electrical, mechanical and schematics for the main board.