this is how my rule looks like
# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo mkinitcpio -p linux
I upgraded packages, now it:
pacman -Q | grep nvidia
lib32-nvidia-utils 550.67-1
nvidia 550.67-1
nvidia-settings 550.67-1
nvidia-utils 550.67-1
sudo journalctl -b | grep nvidia
[sudo] password for poznianski:
Mar 27 20:28:31 arch kernel: Command line: BOOT_IMAGE=/vmlinuz-linux root=/dev/mapper/volgroup0-lv_root rw loglevel=3 cryptdevice=/dev/nvme0n1p3:volgroup0 quiet nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_DynamicPowerManagement=0x02
Mar 27 20:28:31 arch kernel: Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=/dev/mapper/volgroup0-lv_root rw loglevel=3 cryptdevice=/dev/nvme0n1p3:volgroup0 quiet nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_DynamicPowerManagement=0x02
Mar 27 20:28:32 arch kernel: nvidia: loading out-of-tree module taints kernel.
Mar 27 20:28:32 arch kernel: nvidia: module license 'NVIDIA' taints kernel.
Mar 27 20:28:32 arch kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
Mar 27 20:28:32 arch kernel: nvidia: module license taints kernel.
Mar 27 20:28:32 arch kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 236
Mar 27 20:28:32 arch kernel: nvidia 0000:01:00.0: enabling device (0000 -> 0003)
Mar 27 20:28:32 arch kernel: nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.
Mar 27 20:28:32 arch kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 550.67 Tue Mar 12 23:29:25 UTC 2024
Mar 27 20:28:32 arch kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
Mar 27 20:28:33 arch systemd-modules-load[491]: Inserted module 'nvidia_uvm'
Mar 27 20:28:33 arch kernel: nvidia-uvm: Loaded the UVM driver, major device number 511.
Mar 27 20:28:33 arch kernel: nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
Mar 27 20:28:33 arch kernel: [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1
Mar 27 20:28:33 arch kernel: nvidia 0000:01:00.0: [drm] No compatible format found
Mar 27 20:28:33 arch kernel: nvidia 0000:01:00.0: [drm] Cannot find any crtc or sizes
Mar 27 20:28:33 arch nvidia-persistenced[954]: Started (954)
Mar 27 20:28:33 arch kernel: nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
Mar 27 20:28:33 arch kernel: nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
Mar 27 20:28:35 arch kernel: nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
Mar 27 20:28:36 arch kernel: nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
Mar 27 20:28:54 arch kernel: nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
Mar 27 20:30:06 arch sudo[4515]: poznianski : 1 incorrect password attempt ; TTY=pts/2 ; PWD=/home/poznianski ; USER=root ; COMMAND=/usr/bin/pacman -S nvidia-utils
sudo udevadm test /sys/bus/pci/devices/0000:01:00.0
[sudo] password for poznianski:
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.
Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/usr/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version: 255
file size: 12553028 bytes
header size 80 bytes
strings 2586460 bytes
nodes 9966488 bytes
Loading kernel module index.
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Found container virtualization none.
Using default interface naming scheme 'v255'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Created link configuration context.
Skipping overridden file '/usr/lib/udev/rules.d/80-nvidia-pm.rules'.
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/45-i2c-tools.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-ddcutil-i2c.rules
Reading rules file: /usr/lib/udev/rules.d/60-ddcutil-usb.rules
Reading rules file: /usr/lib/udev/rules.d/60-dmi-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-nvidia.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-mtd.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-tpm-udev.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/69-libftdi.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: /usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-steam-input.rules
Reading rules file: /usr/lib/udev/rules.d/70-steam-vr.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-broadmobi-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dlink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-foxconn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-gosuncn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-linktop-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-qcom-soc.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-quectel-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-sierra.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-tplink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ublox-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /usr/lib/udev/rules.d/80-mm-candidate.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /etc/udev/rules.d/80-nvidia-pm.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/84-nm-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/85-nm-unmanaged.rules
Reading rules file: /usr/lib/udev/rules.d/85-tlp.rules
Reading rules file: /usr/lib/udev/rules.d/90-bolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-iocost.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules
Reading rules file: /usr/lib/udev/rules.d/90-nm-thunderbolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-pipewire-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /usr/lib/udev/rules.d/99-fuse.rules
Reading rules file: /usr/lib/udev/rules.d/99-fuse3.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /usr/lib/udev/rules.d/wacom.rules
0000:01:00.0: /usr/lib/udev/rules.d/50-udev-default.rules:20 Importing properties from results of builtin command 'hwdb --subsystem=pci'
0000:01:00.0: hwdb modalias key: "pci:v000010DEd00001F9Dsv00001025sd00001524bc03sc02i00"
0000:01:00.0: /usr/lib/udev/rules.d/50-udev-default.rules:29 Importing properties from results of builtin command 'path_id'
0000:01:00.0: /usr/lib/udev/rules.d/80-drivers.rules:5 RUN 'kmod load'
0000:01:00.0: sd-device: Created db file '/run/udev/data/+pci:0000:01:00.0' for '/devices/pci0000:00/0000:00:01.1/0000:01:00.0'
DEVPATH=/devices/pci0000:00/0000:00:01.1/0000:01:00.0
DRIVER=nvidia
PCI_CLASS=30200
PCI_ID=10DE:1F9D
PCI_SUBSYS_ID=1025:1524
PCI_SLOT_NAME=0000:01:00.0
MODALIAS=pci:v000010DEd00001F9Dsv00001025sd00001524bc03sc02i00
ACTION=add
SUBSYSTEM=pci
ID_PCI_CLASS_FROM_DATABASE=Display controller
ID_PCI_SUBCLASS_FROM_DATABASE=3D controller
ID_VENDOR_FROM_DATABASE=NVIDIA Corporation
ID_MODEL_FROM_DATABASE=TU117M [GeForce GTX 1650 Mobile / Max-Q]
ID_PATH=pci-0000:01:00.0
ID_PATH_TAG=pci-0000_01_00_0
USEC_INITIALIZED=17275460
run: 'kmod load'
Unload kernel module index.
Unloaded link configuration context.
But anyway after reboot I see:
cat /sys/bus/pci/devices/0000:01:00.0/power/control
on