From 814bd1a02422e7007fe469442c94f1ec54b065d6 Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Thu, 18 Jul 2019 15:19:31 -0400 Subject: Initial 15-7590 --- dell/xps/15-7590/README.wiki | 46 ++++++++++++++++++++++++++++++++++++++++++++ dell/xps/15-7590/default.nix | 14 ++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 dell/xps/15-7590/README.wiki create mode 100644 dell/xps/15-7590/default.nix diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki new file mode 100644 index 0000000..b323b31 --- /dev/null +++ b/dell/xps/15-7590/README.wiki @@ -0,0 +1,46 @@ += Dell XPS 15 7590 = +*Mostly copied from 15-9550 + +== Tested Hardware == + +* CPU: Intel(R) Core(TM) i9-9980HK +* RAM: 32 GB +* HDD: 1 TiB SSD +* Screen: 15" 4k (3840✕2160) +* Input: Touchscreen and trackpad. + +== Firmware Configuration == + +Not much tweaking of NixOS itself was needed. But we currently cannot automate the firmware setup, so this must be done by hand. + +=== Before installation === + +These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. + +* ''Disable Secure Boot (but keep UEFI Boot).'' Thakfully doing so is as easy as changing any other simple setting. + +* ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) + +=== Wifi === +Wifi does not work with kernels older than 5.1 (firmware not present) or newer (https://bbs.archlinux.org/viewtopic.php?id=247705) +``` + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.grub = { + device = "nodev"; + efiSupport = true; + efiInstallAsRemovable = true; + }; + boot.loader.efi.canTouchEfiVariables = true; + boot.kernelPackages = pkgs.linuxPackages_5_1; +``` +=== After installation === + +* ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. + +=== Optional === + +* ''Update BIOS.'' According to Reddit, this helps with battery life. + +=== Troubleshooting === + diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix new file mode 100644 index 0000000..a3540e7 --- /dev/null +++ b/dell/xps/15-7590/default.nix @@ -0,0 +1,14 @@ +{ lib, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ]; + + # TODO: boot loader + boot.loader.systemd-boot.enable = lib.mkDefault true; + boot.kernelPackages = pkgs.linuxPackages_5_1; + boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + +} -- cgit v1.2.3 From 64afb7c12df56edf5070ddd1e92a21bf5d059fdf Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sun, 21 Jul 2019 21:49:13 -0400 Subject: Wifi fixed by removing iwlwifi-cc-a0-48.ucode --- dell/xps/15-7590/README.wiki | 5 ++++- dell/xps/15-7590/default.nix | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki index b323b31..b583b19 100644 --- a/dell/xps/15-7590/README.wiki +++ b/dell/xps/15-7590/README.wiki @@ -22,7 +22,10 @@ These settings are needed both for booting the final install, and installer itse * ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) === Wifi === -Wifi does not work with kernels older than 5.1 (firmware not present) or newer (https://bbs.archlinux.org/viewtopic.php?id=247705) +~~Wifi does not work with kernels older than 5.1 (firmware not present) or newer~~ (https://bbs.archlinux.org/viewtopic.php?id=247705) + +Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46.ucode works perfectly. default.nix contains an overlay that removes the offending ucode from the linux-firmware bundle. + ``` # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index a3540e7..4a9030a 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -11,4 +11,24 @@ boot.kernelPackages = pkgs.linuxPackages_5_1; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + # The 48.ucode causes the Killer wifi card to crash. + # The iwlfwifi-cc-a0-46.ucode works perfectly + nixpkgs.pkgs = import { + config.allowUnfree = true; + overlays = [ + (self: super: { + firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { + src = super.fetchgit{ + url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; + rev = "bf13a71b18af229b4c900b321ef1f8443028ded8"; + sha256 = "1dcaqdqyffxiadx420pg20157wqidz0c0ca5mrgyfxgrbh6a4mdj"; + }; + postInstall = '' + rm $out/lib/firmware/iwlwifi-cc-a0-48.ucode + ''; + outputHash = "0dq48i1cr8f0qx3nyq50l9w9915vhgpwmwiw3b4yhisbc3afyay4"; + }); + }) + ]; + }; } -- cgit v1.2.3 From 53ca456f6013f3c6762943a172ee0d4cc656e26f Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sat, 17 Aug 2019 02:08:08 -0400 Subject: Suggested fixes --- dell/xps/15-7590/README.wiki | 3 +++ dell/xps/15-7590/default.nix | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki index b583b19..7c74582 100644 --- a/dell/xps/15-7590/README.wiki +++ b/dell/xps/15-7590/README.wiki @@ -37,6 +37,9 @@ Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46 boot.loader.efi.canTouchEfiVariables = true; boot.kernelPackages = pkgs.linuxPackages_5_1; ``` +Disable the `canTouchEfiVariables` after a boot or two to prevent NVRAM wearout. + + === After installation === * ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index 4a9030a..0666373 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -4,10 +4,11 @@ imports = [ ../../../common/cpu/intel ../../../common/pc/laptop + ../../../common/pc/ssd ]; # TODO: boot loader - boot.loader.systemd-boot.enable = lib.mkDefault true; + #boot.loader.systemd-boot.enable = lib.mkDefault true; boot.kernelPackages = pkgs.linuxPackages_5_1; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; -- cgit v1.2.3 From f128fbbdd62527781b3761498c55e014d7fc4d51 Mon Sep 17 00:00:00 2001 From: tomberek Date: Sat, 17 Aug 2019 02:04:44 -0400 Subject: Update dell/xps/15-7590/README.wiki MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Jörg Thalheim --- dell/xps/15-7590/README.wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki index 7c74582..b55a946 100644 --- a/dell/xps/15-7590/README.wiki +++ b/dell/xps/15-7590/README.wiki @@ -17,7 +17,7 @@ Not much tweaking of NixOS itself was needed. But we currently cannot automate t These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. -* ''Disable Secure Boot (but keep UEFI Boot).'' Thakfully doing so is as easy as changing any other simple setting. +* ''Disable Secure Boot (but keep UEFI Boot).'' Thankfully doing so is as easy as changing any other simple setting. * ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) -- cgit v1.2.3 From 3f1a5617bf3aca2b2c4e61af5e8ad644de4cf4e7 Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sat, 1 Feb 2020 20:43:01 -0500 Subject: Make note about EFI and remove 5.1 kernel hardcode --- dell/xps/15-7590/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index 0666373..aa3dd7f 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -7,10 +7,8 @@ ../../../common/pc/ssd ]; - # TODO: boot loader - #boot.loader.systemd-boot.enable = lib.mkDefault true; - boot.kernelPackages = pkgs.linuxPackages_5_1; - boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + # Set to true for just the first run, then disable it. + # boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; # The 48.ucode causes the Killer wifi card to crash. # The iwlfwifi-cc-a0-46.ucode works perfectly -- cgit v1.2.3 From 22a16c801ccc908e6d4c8893e0bdf7e38e623e89 Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sat, 1 Feb 2020 21:11:31 -0500 Subject: Apply suggestions from 9999years --- dell/xps/15-7590/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index aa3dd7f..cad9ba6 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -10,6 +10,12 @@ # Set to true for just the first run, then disable it. # boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + # Earlier font-size setup + console.earlySetup = true; + + # Prevent small EFI partiion from filling up + boot.loader.grub.configurationLimit = 10; + # The 48.ucode causes the Killer wifi card to crash. # The iwlfwifi-cc-a0-46.ucode works perfectly nixpkgs.pkgs = import { -- cgit v1.2.3