From 8517b166b09c6fa3014257ea09c9ac84464279c2 Mon Sep 17 00:00:00 2001 From: "Ward Nakchbandi (CosmicFusion)" Date: Mon, 2 Sep 2024 11:23:17 +0200 Subject: [PATCH] fix udev rules again --- ...ia-modprobe-#DRIVER_VERSION_MAJOR#.install | 3 +- ...vidia-modprobe-#DRIVER_VERSION_MAJOR#.udev | 6 +-- .../extra_files/nvidia-create-device-nodes | 37 +++++++++++++++++++ 3 files changed, 40 insertions(+), 6 deletions(-) create mode 100755 nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/extra_files/nvidia-create-device-nodes diff --git a/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/debian/nvidia-modprobe-#DRIVER_VERSION_MAJOR#.install b/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/debian/nvidia-modprobe-#DRIVER_VERSION_MAJOR#.install index 9786a26..effba6f 100644 --- a/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/debian/nvidia-modprobe-#DRIVER_VERSION_MAJOR#.install +++ b/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/debian/nvidia-modprobe-#DRIVER_VERSION_MAJOR#.install @@ -1 +1,2 @@ -nvidia-modprobe /usr/bin/ \ No newline at end of file +nvidia-modprobe /usr/bin/ +extra_files/nvidia-create-device-nodes /usr/bin/ \ No newline at end of file diff --git a/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/debian/nvidia-modprobe-#DRIVER_VERSION_MAJOR#.udev b/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/debian/nvidia-modprobe-#DRIVER_VERSION_MAJOR#.udev index 0d83d9d..256493b 100644 --- a/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/debian/nvidia-modprobe-#DRIVER_VERSION_MAJOR#.udev +++ b/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/debian/nvidia-modprobe-#DRIVER_VERSION_MAJOR#.udev @@ -5,11 +5,7 @@ # nvidia-modprobe should not be invoked. ACTION=="add|bind", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", \ DRIVER=="nvidia", TEST!="/dev/nvidia-uvm", \ - RUN+="/usr/bin/nvidia-modprobe", \ - RUN+="/usr/bin/bash -c 'for i in $(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/nvidia-modprobe -c${i} && /usr/bin/nvidia-modprobe -s -c${i}; done", \ - RUN+="/usr/bin/nvidia-modprobe -l -m", \ - RUN+="/usr/bin/nvidia-modprobe -c0 -u", \ - RUN+="/usr/bin/nvidia-smi" + RUN+="/usr/bin/nvidia-create-device-nodes" # Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind ACTION=="add|bind", SUBSYSTEM=="pci", DRIVERS=="nvidia", ATTR{vendor}=="0x10de", \ diff --git a/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/extra_files/nvidia-create-device-nodes b/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/extra_files/nvidia-create-device-nodes new file mode 100755 index 0000000..396e1d5 --- /dev/null +++ b/nvidia-graphics-drivers-#DRIVER_VERSION_MAJOR#/extra_files/nvidia-create-device-nodes @@ -0,0 +1,37 @@ +#! /bin/bash + +if ls /dev/ 2>&1 | grep nvidia[0-9] 2>&1 > /dev/null +then + true +else + for gpu in $(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4) + do + echo "Creating device node for NVGPU: ${gpu}" + /usr/bin/nvidia-modprobe -c${gpu} + /usr/bin/nvidia-modprobe -s -c${gpu} + done +fi + +if [[ ! -e /dev/nvidia-uvm ]] +then + echo "Creating Unified Memory device nodes" + /usr/bin/nvidia-modprobe -c0 -u +fi + +if [[ ! -e /dev/nvidia-nvlink ]] +then + echo "Creating Nvlink device nodes" + /usr/bin/nvidia-modprobe -l +fi + +if [[ ! -e /dev/nvidia-modeset ]] +then + echo "Creating modeset device nodes" + /usr/bin/nvidia-modprobe -m +fi + +if [[ ! -e /dev/nvidiactl ]] +then + echo "Creating NVIDIA Control device nodes" + nvidia-smi +fi