disabpe-secondary-gpu service fix

This commit is contained in:
aliriza committed 2024-02-13 12:35:43 +00:00
1 parent 0c8739e0af
commit c5aa7b1f86
1 file changed
+10 -7
@@ -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