From de600352bc4ba2c5ae3dd62a472b54be99d6bfc4 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 28 Sep 2019 23:58:20 +0200 Subject: [PATCH 1/2] thinkpad/x1-extreme/gen2: add module --- README.md | 79 +++++++++++---------- lenovo/thinkpad/x1-extreme/default.nix | 8 +++ lenovo/thinkpad/x1-extreme/gen2/default.nix | 47 ++++++++++++ 3 files changed, 95 insertions(+), 39 deletions(-) create mode 100644 lenovo/thinkpad/x1-extreme/default.nix create mode 100644 lenovo/thinkpad/x1-extreme/gen2/default.nix diff --git a/README.md b/README.md index bd57ba3..be6cdde 100644 --- a/README.md +++ b/README.md @@ -24,45 +24,46 @@ imports = [ See code for all available configurations. -| Model | Path | -| --------------------------------- | -------------------------------------------- | -| [Acer Aspire 4810T][] | `` | -| Airis N990 | `` | -| Apple MacBook Air 4,X | `` | -| Apple MacBook Air 6,X | `` | -| [Apple MacBook Pro 10,1][] | `` | -| Apple MacBook Pro 12,1 | `` | -| BeagleBoard PocketBeagle | `` | -| [Dell XPS 13 9360][] | `` | -| [Dell XPS 13 9370][] | `` | -| [Dell XPS 13 9380][] | `` | -| [Dell XPS 15 9550][] | `` | -| [Inverse Path USB armory][] | `` | -| Lenovo IdeaPad Z510 | `` | -| Lenovo ThinkPad T410 | `` | -| Lenovo ThinkPad T430 | `` | -| Lenovo ThinkPad T440s | `` | -| Lenovo ThinkPad T440p | `` | -| Lenovo ThinkPad T450s | `` | -| Lenovo ThinkPad T460s | `` | -| Lenovo ThinkPad T470s | `` | -| Lenovo ThinkPad T480s | `` | -| Lenovo ThinkPad T490 | `` | -| Lenovo ThinkPad X140e | `` | -| Lenovo ThinkPad X220 | `` | -| Lenovo ThinkPad X230 | `` | -| Lenovo ThinkPad X250 | `` | -| [Lenovo ThinkPad X260][] | `` | -| Lenovo ThinkPad X270 | `` | -| [Lenovo ThinkPad X1 (6th Gen)][] | ``| -| [Microsoft Surface Pro 3][] | `` | -| PC Engines APU | `` | -| [Raspberry Pi 2][] | `` | -| [Samsung Series 9 NP900X3C][] | `` | -| [Purism Librem 13v3][] | `` | -| Supermicro A1SRi-2758F | `` | -| Supermicro X10SLL-F | `` | -| [Toshiba Chromebook 2 `swanky`][] | `` | +| Model | Path | +| --------------------------------- | -------------------------------------------------- | +| [Acer Aspire 4810T][] | `` | +| Airis N990 | `` | +| Apple MacBook Air 4,X | `` | +| Apple MacBook Air 6,X | `` | +| [Apple MacBook Pro 10,1][] | `` | +| Apple MacBook Pro 12,1 | `` | +| BeagleBoard PocketBeagle | `` | +| [Dell XPS 13 9360][] | `` | +| [Dell XPS 13 9370][] | `` | +| [Dell XPS 13 9380][] | `` | +| [Dell XPS 15 9550][] | `` | +| [Inverse Path USB armory][] | `` | +| Lenovo IdeaPad Z510 | `` | +| Lenovo ThinkPad T410 | `` | +| Lenovo ThinkPad T430 | `` | +| Lenovo ThinkPad T440s | `` | +| Lenovo ThinkPad T440p | `` | +| Lenovo ThinkPad T450s | `` | +| Lenovo ThinkPad T460s | `` | +| Lenovo ThinkPad T470s | `` | +| Lenovo ThinkPad T480s | `` | +| Lenovo ThinkPad T490 | `` | +| Lenovo ThinkPad X140e | `` | +| Lenovo ThinkPad X220 | `` | +| Lenovo ThinkPad X230 | `` | +| Lenovo ThinkPad X250 | `` | +| [Lenovo ThinkPad X260][] | `` | +| Lenovo ThinkPad X270 | `` | +| [Lenovo ThinkPad X1 (6th Gen)][] | `` | +| Lenovo ThinkPad X1 Extreme Gen 2 | `` | +| [Microsoft Surface Pro 3][] | `` | +| PC Engines APU | `` | +| [Raspberry Pi 2][] | `` | +| [Samsung Series 9 NP900X3C][] | `` | +| [Purism Librem 13v3][] | `` | +| Supermicro A1SRi-2758F | `` | +| Supermicro X10SLL-F | `` | +| [Toshiba Chromebook 2 `swanky`][] | `` | [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 diff --git a/lenovo/thinkpad/x1-extreme/default.nix b/lenovo/thinkpad/x1-extreme/default.nix new file mode 100644 index 0000000..09a0ec1 --- /dev/null +++ b/lenovo/thinkpad/x1-extreme/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/ssd + ]; +} diff --git a/lenovo/thinkpad/x1-extreme/gen2/default.nix b/lenovo/thinkpad/x1-extreme/gen2/default.nix new file mode 100644 index 0000000..912cc95 --- /dev/null +++ b/lenovo/thinkpad/x1-extreme/gen2/default.nix @@ -0,0 +1,47 @@ +{ config, lib, ... }: + +with lib; + +{ + imports = [ + ../. + ../../../../common/pc/laptop/cpu-throttling-bug.nix + ]; + + # Fixes an issue with incorrect battery reporting. See + # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Extreme_(Gen_2)#Invalid_Stats_Workaround + boot.initrd.availableKernelModules = [ "battery" ]; + + # New ThinkPads have a different TrackPoint manufacturer/name. + # See also https://certification.ubuntu.com/catalog/component/input/5313/input%3ATPPS/2ElanTrackPoint/ + hardware.trackpoint.device = "TPPS/2 Elan TrackPoint"; + + # Since the HDMI port is connected to the NVIDIA card. + hardware.bumblebee.connectDisplay = true; + + nixpkgs.overlays = [ + (self: super: { + bumblebee = super.bumblebee.override { + extraNvidiaDeviceOptions = '' + Option "AllowEmptyInitialConfiguration" + ''; + }; + }) + ]; + + services.xserver = mkMerge [ + { + # Set the right DPI. xdpyinfo says the screen is 508×285 mm but + # it actually is 344×193 mm. + monitorSection = '' + DisplaySize 344 193 + ''; + } + + # To support intel-virtual-output when using Bumblebee. + (mkIf config.hardware.bumblebee.enable { + deviceSection = ''Option "VirtualHeads" "1"''; + videoDrivers = [ "intel" ]; + }) + ]; +} From b60ea643a4db066d48f7bdc08689a1fe6eacf348 Mon Sep 17 00:00:00 2001 From: Reno Reckling Date: Fri, 4 Oct 2019 19:27:28 +0200 Subject: [PATCH 2/2] match specifically on the sound chip --- lenovo/thinkpad/t490/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/t490/default.nix b/lenovo/thinkpad/t490/default.nix index e795aa7..1a4f71d 100644 --- a/lenovo/thinkpad/t490/default.nix +++ b/lenovo/thinkpad/t490/default.nix @@ -22,7 +22,7 @@ KERNEL!="card*", GOTO="pulseaudio_end" # Lenovo T490 - ATTRS{subsystem_vendor}=="0x17aa", ATTRS{subsystem_device}=="0x2279", ENV{PULSE_PROFILE_SET}="${t490ProfileSet}" + ATTRS{vendor}=="0x8086" ATTRS{device}=="0x9dc8" ATTRS{subsystem_vendor}=="0x17aa", ATTRS{subsystem_device}=="0x2279", ENV{PULSE_PROFILE_SET}="${t490ProfileSet}" LABEL="pulseaudio_end" '';