[Mesa-maintainers] Distros: Mesa 20.0 defaulting to the 'iris' driver instead of 'i965'

Kenneth Graunke kenneth at whitecape.org
Thu Jan 23 23:48:26 UTC 2020


Hello,

As most of you know, we've been developing a new 3D driver called 'iris'
for recent Intel hardware (Gen8+), based on the Gallium driver framework
used by the rest of the Mesa community.  After two years of development,
we think that it's ready for production, and recommend it as the default
driver starting with Mesa 20.0.

Building and Selecting Drivers
------------------------------

We recommend building and installing both drivers side-by-side:

    meson ... \
          -Dgallium-drivers=iris, ...other drivers... \
          -Ddri-drivers=i965, ...other drivers... \
          -Dprefer-iris=true

A new build option, -Dprefer-iris, will change Mesa's DRI driver loader
to select 'iris' as the default driver for all hardware it supports,
rather than i965.  Starting with Mesa 20, this will default to 'true',
but it's likely wise to set it explicitly.  To continue defaulting to
i965, you can set -Dprefer-iris=false, but still build and ship both.

Users can also override the driver selection at run-time.  To change
it for all applications, they can create a ~/.drirc file containing:

    <driconf>
      <device driver="loader" kernel_driver="i915">
        <option name="dri_driver" value="iris" />
      </device>
    </driconf>

This can also be set via an environment variable for one-off testing:

    dri_driver=iris ./app

This way, if users encounter a bug with iris, they can fall back to
i965.  (Or, if you ship i965 as the default, they can try iris.)

Gen12+ (Tigerlake) hardware is only supported by iris.

Dependencies on the X Server
----------------------------

We recommend upgrading to xserver 1.20.7 and libepoxy 1.5.4 before
shipping iris.  The modesetting driver in 1.20.7 will consult Mesa
to choose the DRI driver, instead of hardcoding i965.  So whatever
decision you make for Mesa will apply to the whole system.

With older X servers, you may have a case where apps use iris for
GL, but modesetting+glamor uses i965.  Although this can work, we
don't recommend shipping such a configuration.

Why Switch?
-----------

The new iris driver is significantly more efficient than i965.  Recent
benchmarking [1] shows that it's roughly 5-10% faster at many actual
applications.  In simple CPU overhead tests, iris can issue 5-20x as
many draw calls per second as i965.  Our hope is that this lower
overhead will translate to better laptop battery life and higher
performance.

[1] https://www.phoronix.com/scan.php?page=news_item&px=Intel-9900KS-Gallium3D-Perf

Future optimization work will primarily target iris (GL) and anv
(Vulkan), with very little performance work happening on i965.

We have no plans to drop support for i965 - it continues to
be the only 3D driver for Intel Gen4-7.5 hardware, as well as
Cherryview/Braswell.

Feedback & Bug Reporting
------------------------

We are definitely interested in any issues you encounter with iris.
Please report bugs as usual to Mesa's Gitlab issue tracker:

https://gitlab.freedesktop.org/mesa/mesa/issues

Please let us know if you have any questions.  Thanks!

--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-maintainers/attachments/20200123/984d2a47/attachment.sig>


More information about the Mesa-maintainers mailing list