Skip to content

Instantly share code, notes, and snippets.

@gulafaran
Created June 4, 2024 09:05
Show Gist options
  • Save gulafaran/d3ce0a36f0081e7c067faf2a8078aaab to your computer and use it in GitHub Desktop.
Save gulafaran/d3ce0a36f0081e7c067faf2a8078aaab to your computer and use it in GitHub Desktop.
#nvidia sucks
ACTION=="add", DEVPATH=="/bus/pci/drivers/nvidia", RUN+="/usr/bin/nvidia-modprobe -c0 -u"
# usb suspend
# 046d:c094 Logitech, Inc. PRO X Wireless
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c094", GOTO="power_usb_rules_end"
# 046d:c547 Logitech, Inc. USB Receiver
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c547", GOTO="power_usb_rules_end"
# 1b1c:1b40 Corsair Corsair Gaming K63 Keyboard
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1b1c", ATTR{idProduct}=="1b40", GOTO="power_usb_rules_end"
# 041e:324d Creative Technology, Ltd Sound Blaster Play! 3
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="041e", ATTR{idProduct}=="324d", GOTO="power_usb_rules_end"
# 05e3:0608 usbhub
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05e3", ATTR{idProduct}=="0608", GOTO="power_usb_rules_end"
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
LABEL="power_usb_rules_end"
# Disable wake on lan.
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wl*", RUN+="/usr/bin/iw dev $name set power_save on"
# SATA
ACTION=="add", SUBSYSTEM=="scsi_host", KERNEL=="host*", ATTR{link_power_management_policy}="med_power_with_dipm"
# Enable runtime PM for all pci devices
ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{power/control}="auto"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{power/control}="on"
# 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"
ACTION=="bind", SUBSYSTEM=="PCI", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
ACTION=="change", SUBSYSTEM=="PCI", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
# lenovo shenanigans
ACTION=="add", KERNEL=="0000:01:00.1", SUBSYSTEM=="pci", RUN="/bin/sh -c ‘echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove"
ACTION=="bind", KERNEL=="0000:01:00.1", SUBSYSTEM=="pci", RUN="/bin/sh -c ‘echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove"
ACTION=="change", KERNEL=="0000:01:00.1", SUBSYSTEM=="pci", RUN="/bin/sh -c ‘echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove"
# 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"
# libinput
# DualShock 4
ATTRS{name}=="Sony Interactive Entertainment Wireless Controller Touchpad", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# DualShock 4 Bluetooth
ATTRS{name}=="Wireless Controller Touchpad", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# mouse as keyboard?
ATTRS{name}=="Logitech USB Receiver Keyboard", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# legion 7 quirk
ATTRS{name}=="ELAN06FA:00 04F3:327E Mouse", ENV{LIBINPUT_IGNORE_DEVICE}="1"
ATTRS{name}=="ITE Tech. Inc. ITE Device(8258) Wireless Radio Control", ENV{LIBINPUT_IGNORE_DEVICE}="1"
#ATTRS{name}=="AT Translated Set 2 keyboard", ENV{LIBINPUT_IGNORE_DEVICE}="1"
ATTRS{name}=="Video Bus", ENV{LIBINPUT_IGNORE_DEVICE}="1"
#ATTRS{name}=="Ideapad extra buttons", ENV{LIBINPUT_IGNORE_DEVICE}="1"
#ATTRS{name}=="Lid Switch", ENV{LIBINPUT_IGNORE_DEVICE}="1"
#ATTRS{name}=="Power Button", ENV{LIBINPUT_IGNORE_DEVICE}="1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment