From 6d38eb17cd19a2b6fa21ff1548352cf97c6e596a Mon Sep 17 00:00:00 2001 From: "Ward Nakchbandi (CosmicFusion)" Date: Mon, 2 Sep 2024 04:03:12 +0200 Subject: [PATCH] Update nvidia-graphics-drivers-555/debian/nvidia-modprobe-555.udev --- .../debian/nvidia-modprobe-555.udev | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/nvidia-graphics-drivers-555/debian/nvidia-modprobe-555.udev b/nvidia-graphics-drivers-555/debian/nvidia-modprobe-555.udev index 96afa7d..0d83d9d 100644 --- a/nvidia-graphics-drivers-555/debian/nvidia-modprobe-555.udev +++ b/nvidia-graphics-drivers-555/debian/nvidia-modprobe-555.udev @@ -1,8 +1,20 @@ -# Make sure device nodes are present even when the DDX is not started for the Wayland/EGLStream case -KERNEL=="nvidia", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $$(grep nvidia$ /proc/devices | cut -d \ -f 1) 255'" -KERNEL=="nvidia", RUN+="/usr/bin/bash -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia$${i} c $$(grep nvidia$ /proc/devices | cut -d \ -f 1) $${i}; done'" -KERNEL=="nvidia_modeset", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-modeset c $$(grep nvidia$ /proc/devices | cut -d \ -f 1) 254'" -KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'" -KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'" -ACTION=="add" DEVPATH=="/module/nvidia" SUBSYSTEM=="module" RUN+="/usr/bin/nvidia-smi" +# Device nodes are created by nvidia-modprobe, which is called by the nvidia DDX. +# In case the DDX is not started, the device nodes are never created, so call +# nvidia-modprobe in the udev rules to cover the Wayland/EGLStream and compute +# case without a started display. In the case where vfio-pci is used +# 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" +# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind +ACTION=="add|bind", SUBSYSTEM=="pci", DRIVERS=="nvidia", ATTR{vendor}=="0x10de", \ + ATTR{class}=="0x03[0-9]*", TEST=="power/control", ATTR{power/control}="auto" + +# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind +ACTION=="remove|unbind", SUBSYSTEM=="pci", DRIVERS=="nvidia", ATTR{vendor}=="0x10de", \ + ATTR{class}=="0x03[0-9]*", TEST=="power/control", ATTR{power/control}="on"