2

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
cfstras
  • 143

3 Answers3

3

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

Then:

  • 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
3

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...

W. Goeman
  • 1,580
2

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? :-/