summary refs log tree commit diff
path: root/nixos/modules/hardware
diff options
context:
space:
mode:
authorRostislav Beneš <r.dee.b.b@gmail.com>2017-05-07 21:37:56 +0200
committerFranz Pletz <fpletz@fnordicwalking.de>2017-09-28 00:18:57 +0200
commit4f91397c987739cc96e1dd418f79fc0d94326485 (patch)
tree75bdd848c688e30b2553385f1e5247b0f71bc59c /nixos/modules/hardware
parenta06f839439c1fd3fa123ec654daafaf8405ac6b4 (diff)
downloadnixlib-4f91397c987739cc96e1dd418f79fc0d94326485.tar
nixlib-4f91397c987739cc96e1dd418f79fc0d94326485.tar.gz
nixlib-4f91397c987739cc96e1dd418f79fc0d94326485.tar.bz2
nixlib-4f91397c987739cc96e1dd418f79fc0d94326485.tar.lz
nixlib-4f91397c987739cc96e1dd418f79fc0d94326485.tar.xz
nixlib-4f91397c987739cc96e1dd418f79fc0d94326485.tar.zst
nixlib-4f91397c987739cc96e1dd418f79fc0d94326485.zip
nixos/nvidia: populating /dev with nvidia devices at boot
Diffstat (limited to 'nixos/modules/hardware')
-rw-r--r--nixos/modules/hardware/video/nvidia.nix7
1 files changed, 6 insertions, 1 deletions
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 80abec95c03d..2bad50d65e7a 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -62,11 +62,16 @@ in
     boot.extraModulePackages = [ nvidia_x11.bin ];
 
     # nvidia-uvm is required by CUDA applications.
-    boot.kernelModules = [ "nvidia-uvm" ];
+    boot.kernelModules = [ "nvidia-uvm" ] ++
+      lib.optionals config.services.xserver.enable [ "nvidia" "nvidia_modeset" "nvidia_drm" ];
+
 
     # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
     services.udev.extraRules =
       ''
+        KERNEL=="nvidia", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidiactl c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 255'"
+        KERNEL=="nvidia_modeset", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-modeset c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 254'"
+        KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia%n c $(grep nvidia-frontend /proc/devices | cut -d \  -f 1) %n'"
         KERNEL=="nvidia_uvm", RUN+="${pkgs.stdenv.shell} -c 'mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 0'"
       '';