diff --git a/README.md b/README.md index 1be9165..10d82bb 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,7 @@ See code for all available configurations. | [Lenovo ThinkPad L13](lenovo/thinkpad/l13) | `` | | [Lenovo ThinkPad L14 (AMD)](lenovo/thinkpad/l14/amd) | `` | | [Lenovo ThinkPad L14 (Intel)](lenovo/thinkpad/l14/intel) | `` | +| [Lenovo ThinkPad L480](lenovo/thinkpad/l480) | `` | | [Lenovo ThinkPad P1 Gen 3](lenovo/thinkpad/p1/3th-gen) | `` | | [Lenovo ThinkPad P14s AMD Gen 2](lenovo/thinkpad/p14s/amd/gen2) | `` | | [Lenovo ThinkPad P16s AMD Gen 1](lenovo/thinkpad/p16s/amd/gen1) | `` | @@ -280,6 +281,7 @@ See code for all available configurations. | [Purism Librem 5r4](purism/librem/5r4) | `` | | [Raspberry Pi 2](raspberry-pi/2) | `` | | [Raspberry Pi 4](raspberry-pi/4) | `` | +| [Raspberry Pi 5](raspberry-pi/5) | `` | | [Samsung Series 9 NP900X3C](samsung/np900x3c) | `` | | [StarFive VisionFive v1](starfive/visionfive/v1) | `` | | [StarFive VisionFive 2](starfive/visionfive/v2) | `` | diff --git a/flake.nix b/flake.nix index 6f4d46a..2b77735 100644 --- a/flake.nix +++ b/flake.nix @@ -121,6 +121,7 @@ lenovo-thinkpad-l13-yoga = import ./lenovo/thinkpad/l13/yoga; lenovo-thinkpad-l14-amd = import ./lenovo/thinkpad/l14/amd; lenovo-thinkpad-l14-intel = import ./lenovo/thinkpad/l14/intel; + lenovo-thinkpad-l480 = import ./lenovo/thinkpad/l480; lenovo-thinkpad-p1 = import ./lenovo/thinkpad/p1; lenovo-thinkpad-p1-gen3 = import ./lenovo/thinkpad/p1/3th-gen; lenovo-thinkpad-p14s-amd-gen2 = import ./lenovo/thinkpad/p14s/amd/gen2; @@ -219,6 +220,7 @@ purism-librem-5r4 = import ./purism/librem/5r4; raspberry-pi-2 = import ./raspberry-pi/2; raspberry-pi-4 = import ./raspberry-pi/4; + raspberry-pi-5 = import ./raspberry-pi/5; kobol-helios4 = import ./kobol/helios4; samsung-np900x3c = import ./samsung/np900x3c; starfive-visionfive-v1 = import ./starfive/visionfive/v1; diff --git a/lenovo/legion/16arha7/default.nix b/lenovo/legion/16arha7/default.nix index 30015e3..da8174b 100644 --- a/lenovo/legion/16arha7/default.nix +++ b/lenovo/legion/16arha7/default.nix @@ -18,4 +18,14 @@ in # √(2560² + 1600²) px / 16 in ≃ 189 dpi services.xserver.dpi = 189; + + # Enable fingerprint reader + services.fprintd = { + enable = true; + package = pkgs.fprintd-tod; + tod = { + enable = true; + driver = pkgs.libfprint-2-tod1-elan; + }; + }; } diff --git a/lenovo/thinkpad/l480/default.nix b/lenovo/thinkpad/l480/default.nix new file mode 100644 index 0000000..d000320 --- /dev/null +++ b/lenovo/thinkpad/l480/default.nix @@ -0,0 +1,12 @@ +{ lib, ... }: +{ + imports = [ + ../. + ../../../common/cpu/intel/kaby-lake + ../../../common/pc/laptop/ssd + ]; + + # available cpufreq governors: performance powersave + # The powersave mode locks the cpu to 700Mhz which is not really usable + powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; +} diff --git a/microsoft/surface/common/kernel/linux-6.8.x/default.nix b/microsoft/surface/common/kernel/linux-6.8.x/default.nix index cc3b663..e016d77 100644 --- a/microsoft/surface/common/kernel/linux-6.8.x/default.nix +++ b/microsoft/surface/common/kernel/linux-6.8.x/default.nix @@ -7,14 +7,14 @@ let cfg = config.microsoft-surface; - version = "6.8.6"; + version = "6.8.9"; kernelPatches = surfacePatches { inherit version; patchFn = ./patches.nix; }; kernelPackages = linuxPackage { inherit version kernelPatches; - sha256 = "sha256-nnIyMtYDq0Xr8EPDRxTEjyd6sZXCmry4Ry8qTDpaGZU="; + sha256 = "sha256-+QXxI46nqOhTFLrPKDMC6AlwBgENJfzqcm0N4OpbybY="; ignoreConfigErrors=true; }; diff --git a/raspberry-pi/5/default.nix b/raspberry-pi/5/default.nix new file mode 100644 index 0000000..aba0178 --- /dev/null +++ b/raspberry-pi/5/default.nix @@ -0,0 +1,35 @@ +{ lib, pkgs, config, ... }: +let + linux_rpi5 = pkgs.linux_rpi4.override { + rpiVersion = 5; + argsOverride.defconfig = "bcm2712_defconfig"; + }; +in +{ + boot = { + kernelPackages = lib.mkDefault (pkgs.linuxPackagesFor linux_rpi5); + initrd.availableKernelModules = [ + "nvme" + "usbhid" + "usb_storage" + ]; + }; + + # Needed for Xorg to start (https://github.com/raspberrypi-ui/gldriver-test/blob/master/usr/lib/systemd/scripts/rp1_test.sh) + # This won't work for displays connected to the RP1 (DPI/composite/MIPI DSI), since I don't have one to test. + services.xserver.extraConfig = '' + Section "OutputClass" + Identifier "vc4" + MatchDriver "vc4" + Driver "modesetting" + Option "PrimaryGPU" "true" + EndSection + ''; + + assertions = [ + { + assertion = (lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.1.54"); + message = "The Raspberry Pi 5 requires a newer kernel version (>=6.1.54). Please upgrade nixpkgs for this system."; + } + ]; +} diff --git a/tests/run.py b/tests/run.py index 8ad6025..07a86c0 100755 --- a/tests/run.py +++ b/tests/run.py @@ -81,7 +81,7 @@ def write_eval_test(f: IO[str], profiles: list[str]) -> None: continue system = "x86_64-linux" - if "raspberry-pi/4" == profile: + if "raspberry-pi/4" == profile or "raspberry-pi/5" == profile: system = "aarch64-linux" f.write(