Hello guys,

I've prepared a patch based on my findings for the bbswitch module
(https://github.com/Lekensteyn/acpi-stuff/tree/master/bbswitch). This adds a proper
check whether a _DSM function is supported or not and make OFF / ON for
vga_switcheroo work for nVidia Optimus models. The patch is based against the
mainline kernel.

It has been tested on my Clevo B7130 laptop running kernel 3.2 which has a GT425M
dGPU:
# cat /sys/kernel/debug/vgaswitcheroo/switch
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Pwr:0000:01:00.0
# tee /sys/kernel/debug/vgaswitcheroo/switch <<<OFF
OFF
# cat /sys/kernel/debug/vgaswitcheroo/switch
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0
# tee /sys/kernel/debug/vgaswitcheroo/switch <<<ON
ON
# cat /sys/kernel/debug/vgaswitcheroo/switch
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Pwr:0000:01:00.0

The iGPU/dGPU LEDS on the keyboard also change as a result.

Regards,
Peter