#!/bin/sh model=`sudo snail.dmidecode` let retry=5 while [ $retry -ne 0 ]; do case "$model" in M11XR2) echo '\_SB.PCI0.P0P2.PEGP._PS0' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; 1015PN) echo '\_SB.PCI0.P0P4.DGPU.DON' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; 1215N) echo '\_SB.PCI0.P0P4.GFX0._PS0' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; K42Jc|K52Jc|N53Jf|N53Jg|N71Jv|N73Jf|P52Jc|PL80Jt|U30Jc|U33Jc|U35Jc|U36Jc|UL80Jt) echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; N53Sn|U41Sv|N53Sv) echo '\_SB.PCI0.PEG0.GFX0.DON' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; N61Jv|N73Sv) echo '\_SB.PCI0.PEGR.GFX0.DON' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; P31Jg) echo '\_SB.PCI0.PEG1.GFX0._PS0' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; U43Jc) echo '\_SB.PCI0.RP00.VGA._PS0' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; UL30Vt) echo '\_SB.PCI0.P0P1.VGA._ON' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; E6420) echo '\_SB.PCI0.PEG0.VID._ON' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; InspironN5110|XPSL702X) echo '\_SB.PCI0.PEG0.PEGP._PS0' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; Vostro3300|Vostro3500) echo '\_SB.PCI0.P0P1.PEGP._ON' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; XPS15) echo '\_SB.PCI0.PEG0.PEGP._ON' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; ThinkPadT410) echo '\_SB.PCI0.PEG.VID._ON' > /proc/acpi/call \ && echo '\_SB.PCI0.PEG.VID._PS0' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; ThinkPadT420) echo '\_SB.PCI0.PEG.VID._PS0' > /proc/acpi/call \ && modprobe nvidia \ && exit 0 ;; *) echo "Snail: unknown Notebook model: $model"; exit -1 ;; esac let retry-- sleep 1 echo "retry $retry" done exit -1