Hardware/Framework/Laptop 16: Difference between revisions

From NixOS Wiki
No edit summary
(Adding hint for audio compatibility bios configuration)
 
(3 intermediate revisions by 2 users not shown)
Line 31: Line 31:


[[Category: Incomplete]]
[[Category: Incomplete]]
The device still has a couple of hardware quirks (see below).
[[Linux kernel|Using the latest kernel]] will fix some issues. Also read configuration hints in this article.


== Configuration ==
== Configuration ==
Line 39: Line 42:


It is recommended to use [https://search.nixos.org/options?channel=23.11&show=services.power-profiles-daemon.enable power-profiles-daemon] over <code>tlp</code> for the AMD framework.
It is recommended to use [https://search.nixos.org/options?channel=23.11&show=services.power-profiles-daemon.enable power-profiles-daemon] over <code>tlp</code> for the AMD framework.
=== Touchpad Palm Rejection ===
The Framework 16 keyboard is treated as an external USB device by libinput causing the touchpad to stay enabled when typing.
Fix sourced from here: [https://community.frame.work/t/nixos-on-the-framework-laptop-16/46743/162 community.frame.work] by: [https://community.frame.work/u/sumiflow/summary @sumiflow]
environment.etc = {
<nowiki> </nowiki> "libinput/local-overrides.quirks".text = <nowiki>''</nowiki>
<nowiki> </nowiki>  [Keyboard]
<nowiki> </nowiki>  MatchUdevType=keyboard
<nowiki> </nowiki>  MatchName=Framework Laptop 16 Keyboard Module - ANSI Keyboard
<nowiki> </nowiki>  AttrKeyboardIntegration=internal
<nowiki> </nowiki> <nowiki>''</nowiki>;
};
=== 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 = <nowiki>''</nowiki>
<nowiki> </nowiki>  ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled"
<nowiki> </nowiki>  ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled"
<nowiki>''</nowiki>;
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 ===
[https://guides.frame.work/Guide/Ubuntu+22.04+LTS+Installation+on+the+Framework+Laptop+16/306?lang=en#s1974 Enable Linux Audio Compatibility in the bios] to improve speaker audio quality.
== External resources ==
There is [https://community.frame.work/t/nixos-on-the-framework-laptop-16/46743 a nixos thread on the framework forum], where you can find additional help, guidance and example configurations.

Latest revision as of 11:50, 1 July 2024

Framework Laptop 16
Laptop 16
Manufacturer Framework
Architecture x86_64-linux
7040 Series
Status maybe supported

The Framework Laptop 16 is a configurable, upgradeable, and repairable laptop made by the Framework company.

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.

Touchpad Palm Rejection

The Framework 16 keyboard is treated as an external USB device by libinput causing the touchpad to stay enabled when typing.

Fix 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 = ''
   ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled"
   ACTION=="add", 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.