From c5aa7b1f86fc68ad4cce88025ce154a1c91044bc Mon Sep 17 00:00:00 2001 From: aliriza Date: Tue, 13 Feb 2024 12:35:43 +0000 Subject: [PATCH] disabpe-secondary-gpu service fix --- sys/apps/openrc/extras/disable-secondary-gpu.sh | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/sys/apps/openrc/extras/disable-secondary-gpu.sh b/sys/apps/openrc/extras/disable-secondary-gpu.sh index 42c6ba04..3c372dd7 100644 --- a/sys/apps/openrc/extras/disable-secondary-gpu.sh +++ b/sys/apps/openrc/extras/disable-secondary-gpu.sh @@ -1,4 +1,6 @@ #!/bin/bash +set -e + if [[ ! -f /var/cache/disable-gpu ]] &>/dev/null; then exit 0 fi @@ -7,23 +9,24 @@ if grep "nomodeset" /proc/cmdline ; then fi remove_pci(){ - if [[ -d "/sys/bus/pci/devices/0000:$1/driver" ]] ; then - module=$(basename $(readlink /sys/bus/pci/devices/0000:$1/driver/module)) + if [[ -d "/sys/bus/pci/devices/$1/driver" ]] ; then + module=$(basename $(readlink /sys/bus/pci/devices/$1/driver/module)) echo "Disabled: $module ($1)" rmmod -f $module fi - echo 1 > /sys/bus/pci/devices/0000:$1/remove + echo 1 > /sys/bus/pci/devices/$1/remove } echo 1 > /sys/bus/pci/rescan -for dir in /sys/class/drm/card[0-9*] ; do +for dir in $(ls /sys/bus/pci/devices/); do # 03 Display controller # 02 3D controller - if grep "^0x0302" $dir/device/class ; then - pci="$(basename $(readlink $dir/device))" + if grep "^0x0302" /sys/bus/pci/devices/$dir/class ; then + pci="$dir" echo "Found 3D controller: ${pci:5}" - remove_pci "${pci:5}" + remove_pci "$pci" fi done + udevadm control --reload