Intel Iris

From LinuxReviews
Jump to navigationJump to search

Intel Iris is a new MESA graphics driver for Intel (i)GPUs which uses the same Gallium stack as the AMD GPU driver. It was first merged in February 2019[1]. It has lower CPU overhead than the existing i915 driver and limited testing indicates that the new Iris driver is faster.

Hardware support

Iris will replace the i915 driver as the default Intel GPU graphics driver for Broadwell (Gen (8) and newer iGPUs sometime in 2020. Older pre-Broadwell iGPUs will not be supported. These older iGPUs will still work with the existing i915 driver.

New Intel iGPUs will only be supported by Iris starting with "Tigerlake" (Gen12+).[2]

Testing The Intel Iris Driver

It is possible to run OpenGL games and applications using the Intel Iris driver instead of the currently-standard i915 driver if you have a 5.x+ kernel and Mesa 19.2.x+. Note that only the Mesa driver is called Iris, the kernel portion will still be using the i915 kernel module. You will want to use a 5.0.21 kernel since 5.1.x, 5.2.x and specially 5.3.x kernels have i915 modules with messed up memory management. The i915 modules in the 5.3-series kernels are totally messed up and should not be used by anyone. The Iris driver in Mesa 19.2+ is mostly up to par with the i915 driver.

Starting a game or application using the Iris Mesa back-end is as easy as setting the environment variable MESA_LOADER_DRIVER_OVERRIDE=iris prior to loading the program. It can either be exported to the environment or set as a prefix:


It is also possible to enable Iris system-wide using a configuration file in /usr/share/drirc.d or a file in the home directory called $HOME/.drirc which looks like this[3]:

File: $HOME/.drirc
  <device driver="loader" kernel_driver="i915">
    <option name="dri_driver" value="iris" />
Kemonomimi rabbit.svg
Note: The above .drirc configuration will enable Iris for all Intel GPUs even if it is a pre-Broadwell GPU which will not work with the Iris driver. You will have a problem if you force-enable Iris on a unsupported Intel GPU.

Intel Iris Is The Default OpenGL Driver As Of Mesa 20

The Intel Iris driver is the default driver for Intel gen8-11 hardware in Mesa 20 (meson: Prefer 'iris' by default over 'i965'.)

It is possible to run specific games and applications with the old driver by specifying MESA_LOADER_DRIVER_OVERRIDE=i965

glxinfo does not indicate which driver is used. However, there is a slight tell-tale difference. Vendor: Intel (0x8086) is listed when Iris is used, the longer string Vendor: Intel Open Source Technology Center (0x8086) is shown when the older i965 driver is used.

$ glxinfo -B | grep Vendor
    Vendor: Intel (0x8086)
$ MESA_LOADER_DRIVER_OVERRIDE=iris glxinfo -B | grep Vendor
    Vendor: Intel (0x8086)
$ MESA_LOADER_DRIVER_OVERRIDE=i965 glxinfo -B | grep Vendor
    Vendor: Intel Open Source Technology Center (0x8086)


Intel developers story is that Iris will perform 10-15% better than the existing i965 driver[4].

There is a performance improvement on weak hardware. Testing Unity WebGL in Chrome 78 on a Intel Pentium N4200 with kernel 5.0.21 and Mesa 19.2.2 gives these results:

  • Iris: 27423 points
  • i915: 26514 points

That is not a huge difference but it is a more than margin of error win for Iris.

Performance in SuperTuxKart is not noticeable. Note that we did not actually benchmark, we placed the FPS counter on the screen to get an idea. What we can say is that the game runs and works as fine with the Iris driver as it does with the i915 driver.

Other basic testing hints that Iris is, as of Mesa 19.2.2, near stable enough to be activated system-wide. However, we can not guarantee that you will not run into issues or get a less stable system; wait for Intel to make it a default if you are unsure if enabling it system-wide is a good idea.


Iris got on-disk shader cache support in May 2019[5].