Bug 99520 - Xwayland uses swrast for GL instead of a hardware driver
Summary: Xwayland uses swrast for GL instead of a hardware driver
Alias: None
Product: Wayland
Classification: Unclassified
Component: XWayland (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact: Xorg Project Team
Depends on:
Reported: 2017-01-24 17:14 UTC by aguertin+freedesktop
Modified: 2017-01-24 18:21 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description aguertin+freedesktop 2017-01-24 17:14:41 UTC
On my system, Xwayland uses swrast instead of the expected i965 for GLX. This happens both under weston and a gnome wayland session. 3D-intensive programs run very slowly, and glxinfo reports that it is using swrast.

As far as I can tell, both weston and the gnome compositor use i965 for themselves, it is only Xwayland that gets swrast. i965 is also used for a gnome X session.

Kernel 4.8.6
weston 1.11.0
wayland 1.12.0
xorg-server 1.19.0
mesa git (recent)
gnome 3.22
Comment 1 aguertin+freedesktop 2017-01-24 17:26:14 UTC
I have spent a while trying to debug this (even though I don't know this code at all).

It seems that in GlxExtensionInit(), glxext.c:396 (https://cgit.freedesktop.org/xorg/xserver/tree/glx/glxext.c#n396) we loop through a list of potential GLX providers, looking for one that works.

Slightly before that, at line 371, we add swrast to the end of the list, presumably as a fallback in case nothing else works.

My debugging shows that, for me, before line 371 __glXProviderStack is null. There are no providers in the list of potential GLX providers.

Beyond that, I don't know where to look. Where should something be adding a potential provider to that list?
Comment 2 aguertin+freedesktop 2017-01-24 18:21:09 UTC
pq helped me figure out on IRC that the problem here is my xorg-server package was built without glamor. Rebuilding with glamor fixed everything.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.