at 17.09-beta 1.3 kB view raw
1# This module provides the proprietary AMDGPU-PRO drivers. 2 3{ config, lib, pkgs, pkgs_i686, ... }: 4 5with lib; 6 7let 8 9 drivers = config.services.xserver.videoDrivers; 10 11 enabled = elem "amdgpu-pro" drivers; 12 13 package = config.boot.kernelPackages.amdgpu-pro; 14 package32 = pkgs_i686.linuxPackages.amdgpu-pro.override { libsOnly = true; kernel = null; }; 15 16 opengl = config.hardware.opengl; 17 18in 19 20{ 21 22 config = mkIf enabled { 23 24 nixpkgs.config.xorg.abiCompat = "1.18"; 25 26 services.xserver.drivers = singleton 27 { name = "amdgpu"; modules = [ package ]; libPath = [ package ]; }; 28 29 hardware.opengl.package = package; 30 hardware.opengl.package32 = package32; 31 32 boot.extraModulePackages = [ package ]; 33 34 boot.blacklistedKernelModules = [ "radeon" ]; 35 36 hardware.firmware = [ package ]; 37 38 system.activationScripts.setup-amdgpu-pro = '' 39 mkdir -p /run/lib 40 ln -sfn ${package}/lib ${package.libCompatDir} 41 '' + optionalString opengl.driSupport32Bit '' 42 ln -sfn ${package32}/lib ${package32.libCompatDir} 43 ''; 44 45 environment.etc = { 46 "amd/amdrc".source = package + "/etc/amd/amdrc"; 47 "amd/amdapfxx.blb".source = package + "/etc/amd/amdapfxx.blb"; 48 "gbm/gbm.conf".source = package + "/etc/gbm/gbm.conf"; 49 }; 50 51 }; 52 53}