1
0
Fork 0
mirror of https://github.com/NixOS/nixos-hardware synced 2024-11-27 05:19:43 +01:00

Framework 12th gen: add keys workaround

This commit is contained in:
Peter Ferenczy 2023-05-21 21:53:56 +03:00 committed by GitHub
parent 71ce85372a
commit d569ff4fcf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,10 +17,33 @@
"i915.enable_psr=1" "i915.enable_psr=1"
]; ];
# This enables the brightness keys to work # This enables the brightness and airplane mode keys to work
# https://community.frame.work/t/12th-gen-not-sending-xf86monbrightnessup-down/20605/11 # https://community.frame.work/t/12th-gen-not-sending-xf86monbrightnessup-down/20605/11
boot.blacklistedKernelModules = [ "hid-sensor-hub" ]; boot.blacklistedKernelModules = [ "hid-sensor-hub" ];
# Further tweak to ensure the brightness and airplane mode keys work
# https://community.frame.work/t/responded-12th-gen-not-sending-xf86monbrightnessup-down/20605/67
systemd.services.bind-keys-driver = {
description = "Bind brightness and airplane mode keys to their driver";
wantedBy = [ "default.target" ];
after = [ "network.target" ];
serviceConfig = {
Type = "oneshot";
User = "root";
};
script = ''
ls -lad /sys/bus/i2c/devices/i2c-*:* /sys/bus/i2c/drivers/i2c_hid_acpi/i2c-*:*
if [ -e /sys/bus/i2c/devices/i2c-FRMW0001:00 -a ! -e /sys/bus/i2c/drivers/i2c_hid_acpi/i2c-FRMW0001:00 ]; then
echo fixing
echo i2c-FRMW0001:00 > /sys/bus/i2c/drivers/i2c_hid_acpi/bind
ls -lad /sys/bus/i2c/devices/i2c-*:* /sys/bus/i2c/drivers/i2c_hid_acpi/i2c-*:*
echo done
else
echo no fix needed
fi
'';
};
# Alder Lake CPUs benefit from kernel 5.18 for ThreadDirector # Alder Lake CPUs benefit from kernel 5.18 for ThreadDirector
# https://www.tomshardware.com/news/intel-thread-director-coming-to-linux-5-18 # https://www.tomshardware.com/news/intel-thread-director-coming-to-linux-5-18
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.18") (lib.mkDefault pkgs.linuxPackages_latest); boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.18") (lib.mkDefault pkgs.linuxPackages_latest);