Hey everybody,

I dug around in the source code of vga_switcheroo.c in the meantime and
found the feature to only switch the Mux by passing MIGD and MDIS
correspondingly. While issuing IGD, DIS, DDIS, DIGD or any combination
of ON and OFFs in the sleep.d script did not work, passing MIGD does :)
The screen comes back :)

Finally I got a working workaround (hehe) by writing the following
sleep.d script (location: /usr/lib/pm-utils/sleep.d/95switcheroo):

#!/bin/sh

[ -f /sys/kernel/debug/vgaswitcheroo/switch ] || exit $NA

case "$1" in
        hibernate|suspend)
                echo ON > /sys/kernel/debug/vgaswitcheroo/switch
                if grep -c 'IGD:+:Pwr' /sys/kernel/debug/vgaswitcheroo/switch
                then
                    echo MIGD > /sys/kernel/debug/vgaswitcheroo/switch
                fi
                ;;
        thaw|resume)
                echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
                ;;
        *) exit $NA
                ;;
esac


Now i can finally add echo OFF > /sys/kernel/debug/vgaswitcheroo/switch to my 
/etc/rc.local and enjoy long battery life and a working standby mode :)

Since only switching the mux to the gpu where it should be (IGD) solves
the black screen on ON issue, I think Its clear that the ON command
(while the DIS is powered down) does switch the mux to the discrete gpu.

Note that this script does NOT solve the bug, its only a workaround.

Greetings

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1077675

Title:
  ON to vgaswitcheroo/switch causes Mux to switch to ATI

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1077675/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to