|
|
|
@ -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'" |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|