dell/xps/13-9360: review

This commit is contained in:
Yegor Timoshenko 2018-05-15 19:54:18 +03:00
parent b586e1051b
commit 0794564c45
3 changed files with 33 additions and 37 deletions

View file

@ -0,0 +1,8 @@
{
imports = [ ../. ];
kernelParams = [
"i915.enable_fbc=1"
"i915.enable_psr=2"
];
}

View file

@ -1,42 +1,26 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }:
let
firmware_qca6174 = pkgs.callPackage ./firmware_qca6174.nix {};
in
{ {
imports = [ imports = [
../../../common/cpu/intel ../../../common/cpu/intel/kaby-lake
../../../common/pc/laptop ../../../common/pc/laptop
]; ];
boot.kernelModules = ["kvm-intel"]; # should this be in common/cpu/intel?
boot = { boot.blacklistedKernelModules = [ "psmouse" ]; # touchpad goes over i2c
loader = {
systemd-boot.enable = lib.mkDefault true; # TODO: decide on boot loader policy
boot.loader = {
efi.canTouchEfiVariables = lib.mkDefault true; efi.canTouchEfiVariables = lib.mkDefault true;
systemd-boot.enable = lib.mkDefault true;
}; };
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; hardware.firmware = lib.mkBefore [ pkgs.qca6174-firmware ];
initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
# touchpad goes over i2c
blacklistedKernelModules = [ "psmouse" ];
kernelParams = [ "i915.enable_fbc=1" "i915.enable_psr=2" ]; # TODO: move to general HiDPI profile
}; i18n.consoleFont = lib.mkDefault "latarcyrheb-sun32"; # 4K screen, use bigger console font
# intel huc, guc. qca6174 (old?)
hardware.enableRedistributableFirmware = true;
# 4k screen, use bigger console font
i18n.consoleFont = "latarcyrheb-sun32";
# touchpad
services.xserver.libinput.enable = lib.mkDefault true;
networking.wireless.enable = lib.mkDefault true;
hardware.bluetooth.enable = lib.mkDefault true;
services.thermald.enable = lib.mkDefault true;
# optional: without it, firmware crashes happened
hardware.firmware = lib.mkBefore [ firmware_qca6174 ];
# TODO: upstream to NixOS/nixpkgs
nixpkgs.overlays = [(final: previous: {
qca6174-firmware = final.callPackage ./qca6174-firmware.nix {};
})];
} }

View file

@ -1,22 +1,26 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
target = "QCA6174";
branch = "4.4.1.c1";
version = "${branch}-00042";
name = "${target}-firmware-${version}"; name = "${target}-firmware-${version}";
version = "${branch}-00042";
branch = "4.4.1.c1";
target = "QCA6174";
src = fetchurl { src = fetchurl {
url = "https://github.com/kvalo/ath10k-firmware/raw/master/${target}/hw3.0/${branch}/firmware-6.bin_RM.${version}-QCARMSWP-1"; url = "https://github.com/kvalo/ath10k-firmware/raw/master/${target}/hw3.0/${branch}/firmware-6.bin_RM.${version}-QCARMSWP-1";
sha256 = "01vvz3qhqw5l3yilcqgk1spk4y9k4qy7na7a57cbl037r231szdh"; sha256 = "01vvz3qhqw5l3yilcqgk1spk4y9k4qy7na7a57cbl037r231szdh";
}; };
buildCommand = '' buildCommand = ''
install -D $src $out/lib/firmware/ath10k/${target}/hw3.0/firmware-6.bin install -D $src $out/lib/firmware/ath10k/${target}/hw3.0/firmware-6.bin
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
license = with licenses; unfreeRedistributable;
homepage = "https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0";
description = "Updated firmware for the qca6174 wireless chip"; description = "Updated firmware for the qca6174 wireless chip";
platforms = with platforms; linux; homepage = "https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0";
license = licenses.unfreeRedistributable;
maintainers = with maintainers; [ yorickvp ]; maintainers = with maintainers; [ yorickvp ];
platforms = platforms.linux;
}; };
} }