Switchable graphics and radeon PX runtime

Alex Deucher alexdeucher at gmail.com
Fri Nov 14 07:40:08 PST 2014


On Fri, Nov 14, 2014 at 5:09 AM, Takashi Iwai <tiwai at suse.de> wrote:
> At Fri, 14 Nov 2014 19:33:00 +1000,
> Dave Airlie wrote:
>>
>> On 14 November 2014 18:12, Takashi Iwai <tiwai at suse.de> wrote:
>> > Hi Alex,
>> >
>> > we've got a few bug reports about the behavior of radeon driver on
>> > machines with Intel+AMD "switchable graphics" (no Muxless).  So far,
>> > it seems that the sane only way to make the machine working is to get
>> > back to the old vgaswitcheroo behavior via radeon.runpm=0.  Without
>> > it, radeon GPU gives a spurious output as connected, eventually
>> > crashes GNOME.  (Also, from the nature of the switchable graphics,
>> > vgaswitcheroo looks more intuitive to me.)
>>
>> vgaswitcheroo only matters if there is a MUX, the point of it is to drive
>> the MUX.
>>
>> dynamic poweroff makes more sense, switcheroo on/off switch was
>> just a hack.
>
> Well, I find the current form fairly unintuitive, at least, for the
> switchable (not optimus) graphics.
> With dynamic PM, the card is activated on demand.  So you may enable
> outputs of both cards at any time, right?
>
> Currently, all outputs from both cards are exposed in Xrandr,
> e.g. LVDS1 DP1, HDMI1, VGA1, LVDS-1-1, HDMI-1-2, DisplayPort-1-2, and
> VGA-1-1.  How can user-space know which one should be activated and
> which not, when you can use effectively only a single card?
>
>> > How are such machines supposed to work with the recent system?  Is PX
>> > wrongly detected on them, or something else missing?
>>
>> It sounds like the connector is wrongly detected and that should be what
>> is fixed.
>
> Yeah, that's a problem indeed.  In the bug report, both LVDS1 and
> LVDS-1-1 are reported to be connected at the same time while the
> latter doesn't get any real size and position.  We didn't trace
> whether this is the culprit of crash of GNOME, but at least, it looks
> fairly weird.
>
> I forgot to give the original bug report:
>   http://bugzilla.opensuse.org/show_bug.cgi?id=904417
>
> and the xrandr output is found at
>   http://bugzilla.opensuse.org/show_bug.cgi?id=904417#c18

It's not clear to me from the bug report what that problem is.  What
exactly is gnome complaining about?  The X logs look fine.  From the
xrandr output, LVDS1 (connected to the intel) is connected and active.
LVDS-1-1 (connected to the radeon) is connected but not active.  That
should be a perfectly reasonable configuration.  If LVDS-1-1 is not
active, the radeon kernel driver will power down the GPU until the
user either activates the panel or uses the dGPU as an offscreen
renderer.

There are plenty of cases when you may have a secondary GPU with
attached displays that are not active. If gnome barfs on this it
should be fixed in gnome.

Setting radeon.runpm=0 does not disable PX, it just stops the kernel
driver from dynamically turning the dGPU on and off on demand.

Alex


More information about the dri-devel mailing list