Browse Source

Merge pull request #114 from tomberek/master

Initial 15-7590
wip-nanopi-m4v2
Jörg Thalheim 6 years ago
committed by GitHub
parent
commit
cc7140b4bf
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 91 additions and 0 deletions
  1. +52
    -0
      dell/xps/15-7590/README.wiki
  2. +39
    -0
      dell/xps/15-7590/default.nix

+ 52
- 0
dell/xps/15-7590/README.wiki View File

@@ -0,0 +1,52 @@
= 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).'' 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.)

=== Wifi ===
~~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;
boot.loader.grub = {
device = "nodev";
efiSupport = true;
efiInstallAsRemovable = true;
};
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.

=== Optional ===

* ''Update BIOS.'' According to Reddit, this helps with battery life.

=== Troubleshooting ===


+ 39
- 0
dell/xps/15-7590/default.nix View File

@@ -0,0 +1,39 @@
{ lib, ... }:

{
imports = [
../../../common/cpu/intel
../../../common/pc/laptop
../../../common/pc/ssd
];

# 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 <nixpkgs> {
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";
});
})
];
};
}

Loading…
Cancel
Save