It’s probably nice for AMD graphics users too, but I haven’t seen that, so I know very little about it. Intel graphics, though, I do have a bit of experience with, as my Swift and my G3 (Dell) both use it. The G3 also has an nVidia dGPU (discrete GPU), which uses Optimus (Windows) or Prime (Linux) technology to deliver rendered frames across the PCIE bus to be displayed by the Intel iGPU (integrated GPU). This is the usual configuration for nVidia laptops while using the laptop display. For devices that are plugged into the laptop’s HDMI or other graphics port, those may be connected directly to the dGPU without going through the Intel iGPU.
For Intel graphics users, the situation can be confusing. There is a lot of misinformation out there about the various driver bits. With a closed-source driver like the ones offered by nVidia, everything is included in the downloadable driver package. With Intel, there are no closed source drivers… all of the work Intel does to create drivers is open source, and I think that has been true of AMD (graphics) as well for a while too. It’s nVidia that continues to plow ahead with closed source everything, refusing to cooperate with open-source devs, making the nVidia open drivers pretty close to unusable for many GPUs. This led to the famous image of Linus Torvalds giving a gesture of an avian variety to nVidia as a whole.
I’ve tried to learn what the real deal is with the many different Intel driver bits that are around. A graphics driver such that nVidia releases actually has a bunch of different drivers within it, not just one. It’s the same with Intel, but the users are more exposed to the inner workings since it’s not a secret. If you don’t want to tweak anything, you can just use what the distro provides, but you also have the choice to try other things!
The kernel driver for Intel hardware is called i915. It’s distributed with the kernel, and is used by all Intel Linux setups.
Older Linux distros used to come with the “Intel” Xserver driver. This driver is known as xserver-xorg-video-intel in the Ubuntu repo. This driver works with the i915 kernel module to enable the X server, which previously handled all of the video output as well as user input in Linux. It’s still in use on many, probably most, Linux desktops now (mine included), but it’s showing its age, and the goal is for it to be replaced by Wayland, the next generation graphics subsystem. Some people use it now, but it’s a work in progress.
The “Intel” X driver uses its own acceleration methods, with the most advanced being SNA, for Sandy Bridge’s New Acceleration (showing how old it is), and forms the graphic stack along with the X server and OpenGL (which is a free software equivalent of Direct3d in Windows).
Newer Ubuntu-based distros do not come with the “Intel” X driver installed on newer hardware, though it is still available in the repo. For newer hardware, the preferred X driver is the “modesetting” driver, which is built into the kernel itself. Like the “Intel” X driver, it uses the i915 kernel module. It also uses another open-source Intel driver for Mesa, the open-source graphics library that handles things like OpenGL and Vulkan. That driver has long been the i965 driver that is included as part of Mesa. What this means is that if you are using the “modesetting” driver for Intel graphics, you are actually using the i915 driver for the kernel end, the modesetting driver (that is part of the kernel) for X or Wayland, and the i965 driver for Mesa, which implements the graphics APIs like OpenGL.
Some writers for various sites clearly have the idea that i915 is the Intel Xorg driver, but it’s not. The i915 driver is used with the Intel Xorg driver, as well as its alternative, the modesetting Xorg driver. If you see someone talking about using either the modesetting or i915 driver, they really mean the modesetting or the Intel X driver.
On top of that, there’s the VAAPI i965 driver, which allows the Mesa library to do video decoding in hardware. VAAPI stands for Video Acceleration API, and is the standard Linux way of handling video acceleration– for everyone but nVidia, who instead uses VDPAU (and this split is one of the reasons that browsers have not implemented video decoding in hardware in Linux).
It’s several different interlocking drivers for the same graphics chip, and you can see where it gets confusing.
The i965 driver is inefficient in a number of ways, and the Intel developers who work on it began a rewrite named Iris, which is somewhat confusingly also the name of the highest-end graphics hardware available from Intel. Iris has been in Mesa for a while, but it was turned off by default, as Intel wanted to get it to a good and stable state before making it the default. I’ve had Iris switched on for the last month or so, and it’s been quite good, performing at least as well as the i965 driver, and sometimes better. I haven’t seen one particular rendering error I used to get on Thunderbird and Waterfox while using Iris, which is nice.
Now, Mesa 20.0 has arrived, and Iris is the default Mesa driver for Intel graphics in that version. If you’re using the modesetting X driver, you’re using Mesa also, and if you’re using Mesa 20, Iris will be the driver for that instead of i965 (and the kernel driver is still i915) by default. You can still enable the i965 driver instead of Iris if you want to on that version of Mesa.
Mesa 20 isn’t in any Ubuntu distro yet, but it will be in Ubuntu 20.04, the next LTS version to come out (targeted for April). You can get it now, though, on Ubuntu and its offspring (including Mint), from the Kisak PPA. It’s run by one of the Valve devs.
As with any PPA, if you wish to remove the PPA and return to the standard distro packages, you can use ppa-purge.
Dell XPS 13/9310, i5-1135G7/16GB, KDE Neon 6.2
XPG Xenia 15, i7-9750H/32GB & GTX1660ti, Kubuntu 24.04
Acer Swift Go 14, i5-1335U/16GB, Kubuntu 24.04 (and Win 11)