--setprovideroutputsource crashes X
terragonjohn at yahoo.com
Sun Apr 13 01:05:54 PDT 2014
I have (what seems to be) a muxless AMD/intel hybrid laptop. I saw the progress on dpm for the radeon driver
and so I wanted to try it. Using the radeon driver directly does not work (being the system muxless, X loads the radeon module, init DRM and all that stuff but ultimately
exits with a (EE) RADEON(0): No modes.). So, I saw the --setprovideroffloadsink and --setprovideroutputsource options for randr 1.4 and I thought I'd try them. --setprovideroffloadsink works as intended and DRI_PRIME=1 glxgears -info shows that glxgears is offloaded to radeon. What I wanted though was to find a way to use the radeon for rendering the whole X session. And by its description --setprovideroutputsource seemed to provide the solution with radeon set as source (of display output images) and intel set a provider (of connections to the outputs). But when I execute
xrandr --setprovideroutputsource 0 1 (0=intel 1=radeon)
X crashes with this
X: ../../dix/dispatch.c:3920: DetachUnboundGPU: Assertion `slave->isGPU' failed.
which I don't know if it's related at all.
The other way around xrandr --setprovideroutputsource 1 0 doesn't crashes X but it really doesn't do anything (understandably, if I interpreted correctly the source and provider roles with --setprovideroutputsource, since radeon is not connected to any output).
One last thing. The BIOS has a setting for the hybrid graphics system that allows to put it in Dynamic mode or Fixed mode. When you change it one way or the other, it causes the system to power down completely like it was actually doing some "major switching", like going from muxless to muxed (but I am just speculating). When there was a Windows installation on this laptop I remember that Windows in Fixed mode behaved as if the system was muxed, the two GPU were seen as independent and I could choose between one or the other as the primary card. For some reason I can't get the same behavior in linux. In Fixed mode the kernel still says that there are no connectors attached to the radeon and disabling runpm (to fully control radeon on/off status) and using vgaswitcheroo to switch to radeon gives me the usual blank screen (as one would expect in a muxless system).
Any ideas? Am I missing something?
I almost forgot: the system is debian sid with 3.14 kernel, 184.108.40.2061 xserver, 7.3 radeon drive and 2.21.15 intel driver.
More information about the xorg-driver-ati