X.Org's Modesetting Driver Gets Smarter - Queries Mesa For Which GL Driver To Use
The X.Org Server and its integrated "modesetting" DDX driver that is most commonly used on modern Linux systems in place of hardware-specific DDX drivers is finally getting more robust with xorg-server 1.21... It will no longer rely upon the server's PCI ID driver mapping for figuring out the DRI driver to load as needed for GLAMOR 2D acceleration over OpenGL.
There is a list of PCI ID driver mappings that has needed to be maintained for correlating graphics hardware to the respective DRI driver that should be loaded. That's been another maintenance burden and rather vintage, but now a modern solution has landed thanks to Intel's Ken Graunke. Since earlier this year has been the MESA_query_driver EGL extension for being able to query the name of the running 3D/OpenGL driver on the system. EGL_MESA_query_driver is now being used for dynamically querying the driver that was loaded by Mesa rather than having to duplicate the PCI ID driver mapping logic within X.Org Server.
Besides the burden of having to maintain multiple graphics PCI ID mappings in 2019, the motivation for Graunke to get this change made is for Intel's transition to the "Iris" Gallium3D driver he has been leading. With Intel Gen12 / Tiger Lake graphics, only Iris is supported and starting with Mesa 20.0 they intend to default to this Gallium3D driver over the "i965" classic driver. Rather than having to work this logic into their mapping for the xorg-server, EGL_MESA_query_driver can simply leverage the logic from Mesa's driver loader.
The existing driver/ID mapping will still be in the X.Org Server for cases where this extension isn't present. So it's great to see this change landed for X.Org Server 1.21 that will hopefully be released in the next few months.
There is a list of PCI ID driver mappings that has needed to be maintained for correlating graphics hardware to the respective DRI driver that should be loaded. That's been another maintenance burden and rather vintage, but now a modern solution has landed thanks to Intel's Ken Graunke. Since earlier this year has been the MESA_query_driver EGL extension for being able to query the name of the running 3D/OpenGL driver on the system. EGL_MESA_query_driver is now being used for dynamically querying the driver that was loaded by Mesa rather than having to duplicate the PCI ID driver mapping logic within X.Org Server.
Besides the burden of having to maintain multiple graphics PCI ID mappings in 2019, the motivation for Graunke to get this change made is for Intel's transition to the "Iris" Gallium3D driver he has been leading. With Intel Gen12 / Tiger Lake graphics, only Iris is supported and starting with Mesa 20.0 they intend to default to this Gallium3D driver over the "i965" classic driver. Rather than having to work this logic into their mapping for the xorg-server, EGL_MESA_query_driver can simply leverage the logic from Mesa's driver loader.
The existing driver/ID mapping will still be in the X.Org Server for cases where this extension isn't present. So it's great to see this change landed for X.Org Server 1.21 that will hopefully be released in the next few months.
10 Comments