Framework Laptop 16
The Framework Laptop 16 is a configurable, upgradeable, and repairable laptop made by the Framework company.
Framework Laptop 16 | |
---|---|
Laptop 16 | |
Manufacturer | Framework |
Architecture | x86_64-linux |
7040 Series | |
Status | maybe supported |
Status
The device boots NixOS.
Known issues
The device still has a couple of hardware quirks (see below).
Using the latest kernel will fix some issues. Also read configuration hints in this article.
Configuration
Framework specific NixOS hardware options are bundled within the nixos-hardware project.
AMD 7040 Series
It is recommended to use power-profiles-daemon over tlp
for the AMD framework.
- NixOS Hardware module for flakes:
nixos-hardware.nixosModules.framework-16-7040-amd
- NixOS Hardware module for channels:
<nixos-hardware/framework/16-inch/7040-amd>
Fix Color accuracy in Power Saving modes
Active Backlight Management is used to reduce battery power consumption causing the colors of the screen to be inaccurate.
Some desktop environments may already be able to modify this setting.
To disable it add the kernel parameter:
boot.kernelParams = [ "amdgpu.abmlevel=0" ];
Touchpad Palm Rejection
Prior to libinput 1.26, the Framework 16 keyboard was treated as an external USB device by libinput, causing the touchpad to stay enabled when typing.
NixOS Unstable has updated libinput and is not affected. On NixOS 24.05 and earlier, this can be worked around with a libinput quirk (sourced from here: community.frame.work by: @sumiflow)
environment.etc = { "libinput/local-overrides.quirks".text = '' [Keyboard] MatchUdevType=keyboard MatchName=Framework Laptop 16 Keyboard Module - ANSI Keyboard AttrKeyboardIntegration=internal ''; };
Prevent wake up in backpack
Putting your Framework in a backpack can cause it to wake up due to the screen flexing onto the keyboard. While this is not resolved in Firmware, you can workaround this issue with a udev rule:
services.udev.extraRules = '' SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled" SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled" '';
The Product and Vendor IDs can be found using lsusb.
This does not prevent the trackpad from waking up the device. This however seems to happen less in a backpack.
Bios Configuration
Enable Linux Audio Compatibility in the bios to improve speaker audio quality.
External resources
There is a nixos thread on the framework forum, where you can find additional help, guidance and example configurations.