On Wed, Feb 10, 2016 at 7:58 AM, Lennert Van Alboom
<lenn...@vanalboom.org> wrote:
> On Fri, Feb 05, 2016 at 11:24:12AM +0900, Michel Dänzer wrote:
>> On 04.02.2016 19:05, Lennert Van Alboom wrote:
>> > Hello. I've got a HP Elitebook 850g1 with hybrid graphics:
>> >
>> >     $ lspci | grep VGA
>> >     00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT 
>> > Integrated Graphics Controller (rev 0b)
>> >     03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. 
>> > [AMD/ATI] Mars [Radeon HD 8730M] (rev ff)
>> >
>> >     $ sudo cat /sys/kernel/debug/vgaswitcheroo/switch
>> >     0:IGD:+:Pwr:0000:00:02.0
>> >     1:DIS-Audio: :Off:0000:03:00.1
>> >     2:DIS: :DynOff:0000:03:00.0
>> >
>> > I'm running Debian (sid, x86_64) with kernel 4.4.0-trunk-amd64 (same 
>> > happens with the 4.3.0-1-amd64 kernel) and Xorg 1:7.7+13 (1.18.0).
>> > I'm having an odd issue where Xorg loads the correct "radeon" driver, but 
>> > after a split second, unloads it again and loads "modesetting":
>> >
>> >     [    13.688] (II) config/udev: removing GPU device 
>> > /sys/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/drm/card1 /dev/dri/card1
>> >     [    13.688] xf86: remove device 1 
>> > /sys/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/drm/card1
>> >     [    13.693] (II) UnloadModule: "radeon"
>> >     [    13.693] (II) UnloadSubModule: "fb"
>> >     [    13.693] (II) Unloading fb
>> >     [    13.693] (II) UnloadSubModule: "glamoregl"
>> >     [    13.693] (II) Unloading glamoregl
>> >     [    13.693] (II) config/udev: Adding drm device (/dev/dri/card1)
>> >     [    13.693] (II) xfree86: Adding drm device (/dev/dri/card1)
>> >     [    13.693] (II) LoadModule: "modesetting"
>> >     [    13.693] (II) Loading 
>> > /usr/lib/xorg/modules/drivers/modesetting_drv.so
>> >
>> > Full Xorg log at http://ziff.soleus.nu/Xorg.0.log.txt. I don't have a 
>> > xorg.conf, and no snippets in xorg.conf.d either.
>> >
>> > This results in two providers in xrandr, Intel and modesetting (as opposed 
>> > to radeon, as I had before):
>> >
>> >     $ xrandr --listproviders
>> >     Providers: number : 2
>> >     Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink 
>> > Offload crtcs: 4 outputs: 6 associated providers: 0 name:Intel
>> >     Provider 1: id: 0x140 cap: 0x3, Source Output, Sink Output crtcs: 2 
>> > outputs: 2 associated providers: 0 name:modesetting
>> >
>> > I can't set an offload sink:
>> >
>> >     $ xrandr --setprovideroffloadsink modesetting Intel
>> >     X Error of failed request:  BadValue (integer parameter out of range 
>> > for operation)
>> >     Major opcode of failed request:  140 (RANDR)
>> >     Minor opcode of failed request:  34 (RRSetProviderOffloadSink)
>> >     Value in failed request:  0x140
>> >     Serial number of failed request:  16
>> >     Current serial number in output stream:  17
>> >
>> > And, I suppose this is normal because of the above, DRI_PRIME doesn't do 
>> > much:
>> >
>> >     $ glxinfo | grep "OpenGL renderer"
>> >     OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
>> >     $ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
>> >     OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
>> >
>> > Strangely enough, the /sys device link for "card1", as mentioned in the 
>> > Xorg log, still points to the "correct" ATI device:
>> >
>> >     $ ls -l /sys/class/drm/card1/device
>> >     lrwxrwxrwx 1 root root 0 Feb  3 21:14 /sys/class/drm/card1/device -> 
>> > ../../../0000:03:00.0
>> >
>> >
>> > I'm a bit stumped here. How can I get my radeon device back in the xrandr 
>> > providers and working via DRI_PRIME?
>>
>> I can see two problems here: Xorg unloads the radeon driver and loads
>> the modesetting driver instead, and the modesetting driver doesn't
>> advertise PRIME render offloading capability. I don't think either is a
>> radeon driver issue though, so the xorg-devel list seems more
>> appropriate. Moving there.
>>
>>
>> --
>> Earthling Michel Dänzer               |               http://www.amd.com
>> Libre software enthusiast             |             Mesa and X developer
>
>
> Okay. The second problem isn't much of a problem (for me, personally) if the
> first gets resolved, so I suppose it makes sense to look at that first.
>
> Why would Xorg unload a valid driver for a card and load another instead? And,
> more to the point, is there a way of preventing it from happening?

Possibly an old version of the driver that is missing the pci id for
the asic you have.

Alex
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to