Intel Ready To Add Their Experimental "Iris" Gallium3D Driver To Mesa
For just over the past year Intel open-source driver developers have been developing a new Gallium3D-based OpenGL driver for Linux systems as the eventual replacement to their long-standing "i965 classic" Mesa driver. The Intel developers are now confident enough in the state of this new driver dubbed Iris that they are looking to merge the driver into mainline Mesa proper.
The Iris Gallium3D driver has now matured enough that Kenneth Graunke, the Intel OTC developer who originally started Iris in late 2017, is looking to merge the driver into the mainline code-base of Mesa. The driver isn't yet complete but it's already in good enough shape that he's looking for it to be merged albeit marked experimental.
The Iris Gallium3D driver is partially inspired by their "ANV" Vulkan driver. Graunke also characterizes the design as "Our main goal was to make the driver as efficient as possible, aiming for very low CPU overhead. We also decided to drop support for legacy hardware and outdated kernel drivers, freeing us up to design for the future without worrying about impacting the past."
When complete, the performance should be better than their current Mesa driver. The Iris Gallium3D driver is exclusively focused on Intel Broadwell "Gen 8" graphics hardware and newer; older Intel graphics will be bound to their existing i965 classic driver.
This new Iris driver is much more efficient, designed around modern interfaces, and also designed with their upcoming dedicated graphics cards in mind. The driver does re-use the existing NIR compiler back-end, Intel Surface Layout (ISL) code, BLORP, and other modern Intel code that has improved over time with the i965 and ANV drivers.
Once merged, assuming the driver is included as part of your Gallium3D driver list, overriding the default classic driver can be done through the MESA_LOADER_DRIVER_OVERRIDE=iris environment variable.
This is a super exciting milestone for this modern Intel OpenGL Linux driver. More details can be found via this pull request.
Hopefully we'll see this code reviewed and merged for the current Mesa 19.1 development cycle. I'll have more benchmarks inbound shortly for reference, while keeping in mind they have not yet exhausted all optimization possibilities.
The Iris Gallium3D driver has now matured enough that Kenneth Graunke, the Intel OTC developer who originally started Iris in late 2017, is looking to merge the driver into the mainline code-base of Mesa. The driver isn't yet complete but it's already in good enough shape that he's looking for it to be merged albeit marked experimental.
The Iris Gallium3D driver is partially inspired by their "ANV" Vulkan driver. Graunke also characterizes the design as "Our main goal was to make the driver as efficient as possible, aiming for very low CPU overhead. We also decided to drop support for legacy hardware and outdated kernel drivers, freeing us up to design for the future without worrying about impacting the past."
When complete, the performance should be better than their current Mesa driver. The Iris Gallium3D driver is exclusively focused on Intel Broadwell "Gen 8" graphics hardware and newer; older Intel graphics will be bound to their existing i965 classic driver.
This new Iris driver is much more efficient, designed around modern interfaces, and also designed with their upcoming dedicated graphics cards in mind. The driver does re-use the existing NIR compiler back-end, Intel Surface Layout (ISL) code, BLORP, and other modern Intel code that has improved over time with the i965 and ANV drivers.
Once merged, assuming the driver is included as part of your Gallium3D driver list, overriding the default classic driver can be done through the MESA_LOADER_DRIVER_OVERRIDE=iris environment variable.
This is a super exciting milestone for this modern Intel OpenGL Linux driver. More details can be found via this pull request.
Hopefully we'll see this code reviewed and merged for the current Mesa 19.1 development cycle. I'll have more benchmarks inbound shortly for reference, while keeping in mind they have not yet exhausted all optimization possibilities.
16 Comments