I have a Sony Vaio VPCCB-27FX with hybrid graphics. Using vgaswitcheroo enables me to switch my discrete card off to save power. Now when i want to switch to the discrete card for performance, my system freezes.

I already tried logging out and killing x with service lightdm stop, but still, it freezes as soon as I echo DIS > switch. typing blindly, echo IGD > switch returns me to my console where it reads [ 179.555171] i915: switched off, but it seems the discrete card never gets switched on... running echo DDIS > switch gives me the following:

[540....] [drm:atop_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting
[540....] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing CEE2 (len 62, WS 0, PS 0) @ 0xCEFE
[540....] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing BBF6 (len 1036, WS 4, PS 0) @ 0xBCF3
[540....] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing BB8C (len 76, WS 0, PS 0) @ 0xBB94
[541....] [drm:r600_RING_TEST] *ERROR* radeon: ring test failed (scratch(0x8504)=0xFFFFFFFF)
[541....] [drm:evergreen_resume] *ERROR* evergreen startup failed on resume

after that, the atombios part repeats a few times.

also, the terminal locks up again and sysrq+REISUB is my only rescue.

Has anybody an idea how I can switch to my discrete card without the system locking up?

#uname -srvmpio
Linux 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
#lsb_release -r
Description: Ubuntu 12.04 LTS
  • I am facing the exact same issue. Did you make any progress on this? – W. Goeman Sep 15 '12 at 8:16
  • no, but i got new debug info from dmesg: – cfstras Sep 17 '12 at 11:53
  • fbcon: remapping primary device, fb0, to tty 1-63 ACPI Error: [SSEL] namespace lookup failure, AE_NOT_FOUND (20110623/psargs-359) ACPI Error: Method parse/execution failed [\_SB_.PCI0.GFX0.ATPX] (Node fff880222075dc0), AE_NOT_FOUND (20110623/psparse-536) radeon_atpx_execute: failed to call ATPX: AE_NOT_FOUND i915: switched off <console hang> <blind type echo IGD > switch> <console working again> – cfstras Sep 17 '12 at 11:58
  • i915: switched on fbcon: Remapping primary device, fb1, to tty1-63 radeon: switched off i have no idea what ATPX: AE_NOT_FOUND means, but it seems to be the primary issue running on 3.2.0-30-generic x86_64 – cfstras Sep 17 '12 at 11:59
  • Did some more research. I found the cause of the problem. See my answer for the details about muxless systems. – W. Goeman Sep 17 '12 at 20:37

I have a HP Pavilion dm4t with ATI 5470 and use Xubuntu 12.04. Switching works for me with the following procedure. I should note that I have latest 3.4 kernel from here https://launchpad.net/~francisbrwn9/+archive/kernels

This is how I do the switching:

  • Logout
  • CTRL+ALT+F1 to get to console
  • service lightdm stop

Both cards should be ON, before switching, so next step is:

  • echo ON > switch

If I want to use Intel then enable it to start on next X start:

  • echo DIGD > switch

If I want to use Radeon then enable it to start on next X start:

  • echo DDIS > switch


  • service lightdm start
  • CTRL+ALT+F1 to return to console and logout from it
  • ALT+F7 or F8 to return to lightdm login and proceed using the selected card
  • the only reason i switched to precise was the 3.2 kernel -- i wanted it built with ureadahead support and the i915 deep-sleep fix all the kernel.ubuntu.com ones didn't have everything, but the vanilla ones do - dies the repository you linked to have those builtin? btw: the procedure you're describing doesn't seem to work for me... maybe with 3.4... – cfstras May 28 '12 at 16:48
  • Ureadahead runs here, i have just deleted the pack files and it regenerated them. Also I just tried hibernation and no problem with that too (i have never needed that in the last year or so). – Vangel V. Ajanovski May 29 '12 at 21:14
  • Same here... FYI, when switching to integrated card you also need to sudo killall pulseaudio. – Treviño Aug 9 '13 at 9:47
  • I had a similar issue with ubuntu 13.10 kernel 3.11. The same solution worked. Great answer. – kapad Oct 26 '13 at 21:45

Problem is relate to the fact that (y)our system is using "muxless" hybrid graphics. Apparently there is no way for these to work with the current xserver.

From what I understood from the info I found, muxless systems are the ones where the integrated chip is always connected to the display. In that case the discrete graphics chip is only used to render the frames, but sends them to the integrated one in order to show them on the display.

The counter part of this is ofcourse muxed. In this case both chips (integrated and discrete) are connected to a separate "thing" (the mux) and the display is can be switched from one chip to the other using this. This is the setup for which vgaswitcheroo does the trick

Conclusion: I have the impression that all we can do for now is wait until x supports these muxless systems, or maybe wayland will...

  • as far as i knew, combined systems are the ones which can display discrete-rendered windows side-by-side to integrated rendered windows. my pc has a mux (when on windows, switching takes some time and the display flickers, so i guess i can't have both at the same time), so my system should be able to work with vgaswitcheroo for the other system: bumblebee works for dynamically enabling and drawing single windows with the discrete card (systems like nvidia optimus) i'm no sure about the terminology with muxless/muxed, though – cfstras Sep 18 '12 at 9:16
  • @cfstras bumblebee is from what I understood to have a muxless setup working, but only works for intel/nvidia, and not intel/radeon. If you are sure you have mux, you might have a switch in the BIOS to choose the graphics you want to boot with. – W. Goeman Sep 18 '12 at 18:10
  • sadly, my bios was edited by a vaio member, it only has two settings: HPE 64-bit timer and time :( when i have some spare time left, i'll try and switch the gpu with an init script, i heard that might be more successful. – cfstras Sep 20 '12 at 9:25

I use Ubuntu 12.10

The workaroud above works fine for me when I want to switch from IGD (which is set after a normal ubuntu-boot) to DIS. Everything is fine then, I can use my monitor via HDMI and even HDMI sound output.

But if I want to switch back from DIS to IGD it does not work.

Either I get the message

 client 101 refused switch

or even

 [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 1sec aborting

It does only help to reboot then with ALT + PRINT + REISUB.

Any ideas? :-/


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.