Skip to content

modesetting: Use EGL_MESA_query_driver where available to choose the DRI driver

Kenneth Graunke requested to merge kwg/xserver:query-driver into master

This series makes the modesetting driver use EGL_MESA_query_driver / eglGetDisplayDriverName to select the DRI driver when setting up Glamor-based DRI2. This allows us to bypass the X server's PCI ID driver map entirely, centralizing the decision making inside Mesa's loader.

Suggested by @ajax in !278 (merged).

This will make the X server select the 'iris' driver for Intel Gen12/Tigerlake, which isn't supported by i965 any longer. It also paves the way for switching from i965 to iris on other platforms—we can select once in Mesa and not try and keep both places in sync.

Requires an unreleased libepoxy to enable the new functionality (1.5.3 doesn't conatin EGL_MESA_query_driver support).

If the EGL implementation doesn't support the extension, or libepoxy is too old, the modesetting driver continues using the existing PCI ID driver map and works as always.

Merge request reports