Initial commit

This commit is contained in:
admin
2025-08-24 11:13:39 -04:00
commit fb869f1131
168 changed files with 47986 additions and 0 deletions

22
fix_surface_interrupts.sh Normal file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
# This script is designed to mitigate a common interrupt storm issue on Surface devices running Linux.
# It identifies the IRQ that is firing excessively and disables it.
# Find the IRQ with the highest number of interrupts.
# We exclude the local timer interrupts (LOC) as they are expected to be high.
HIGH_IRQ=$(cat /proc/interrupts | grep -v "LOC" | sort -n -k 2 | tail -n 1 | cut -d: -f1 | tr -d ' ')
if [ -z "$HIGH_IRQ" ]; then
echo "Could not find a high IRQ to disable."
exit 1
fi
echo "Disabling IRQ $HIGH_IRQ"
# Disable the IRQ by writing it to /proc/irq/{number}/smp_affinity.
# This will prevent the interrupt from being handled by any CPU.
echo 0 > "/proc/irq/$HIGH_IRQ/smp_affinity"
echo "IRQ $HIGH_IRQ has been disabled."
echo "The associated device (likely the touchscreen) may no longer function."
echo "To re-enable, you can write the original smp_affinity value back, or simply reboot."