https://bugzilla.kernel.org/show_bug.cgi?id=60606
--- Comment #4 from Sebastien Fievet <sebastien.fievet at free.fr> --- (In reply to Jani Nikula from comment #3) I reverted the patch and double checked. The workaround is enough for me. What I do is : 1. echo OFF > /sys/kernel/debug/vgaswitcheroo/switch at init time with a rc script. Hence I always start on the IGD with the DIS OFF : cat /sys/kernel/debug/vgaswitcheroo/switch 0:DIS: :Off:0000:02:00.0 1:DIS-Audio: :Off:0000:02:00.1 2:IGD:+:Pwr:0000:00:02.0 2. to switch from IGD to DIS I do : for cmd in "ON MIGD DDIS"; do echo $cmd > /sys/kernel/debug/vgaswitcheroo/switch done The screen flickers a bit during the OFF -> ON -> MIGD transition cat /sys/kernel/debug/vgaswitcheroo/switch 0:DIS: :Pwr:0000:02:00.0 1:DIS-Audio: :Pwr:0000:02:00.1 2:IGD:+:Pwr:0000:00:02.0 3.I logout/login to X. To switch back to IGD I do : for cmd in "ON DIGD"; do echo $cmd > /sys/kernel/debug/vgaswitcheroo/switch done The screen doesn't flicker. => I can cycle through IGD and DIS at will. When testing your patch I was starting with both IGD and DIS ON. So initial conditions were different :-(. Then : 1. echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch worked, while without your patch it didn't. 2. logout/login to X echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch worked. 3. logout/login to X echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch screwed up the display. So I think I have been abused by the favourable initial conditions I used when testing your patch. Let me know if you need anything else. -- You are receiving this mail because: You are watching the assignee of the bug.