Every release of Fedora introduces a wide range of updates to the graphics stack from a wide range of upstream projects. Fedora 21 includes a range of updates and feature enablement to many elements of the graphics stack, including: new 2D & 3D driver support, updates to the X Server, and updates to the kernel. All these updates make even more devices perform better under Fedora than ever before.
This article details some of the driver support and feature updates that will be available for the graphics stack in Fedora 21. Note that this post does contain some pretty low level details about new drivers and features in Fedora 21. While most users won’t directly see many of these features in day to day usage, the effects of all these low-level updates make more graphics cards work better on Fedora. Special thanks to Adam Jackson for collating this list of updates for this article.
3D Support & Drivers
Mesa is a collection of open source libraries that implement the OpenGL API, and also contains the 3D drivers for Fedora. Mesa in Fedora 21 is updated to version 10.3 (Fedora 20 shipped version 9.2.3) This updated version of Mesa provides support for OpenGL 3.3 for many cards, including: NVIDIA GeForce 8 and newer, AMD Radeon HD2000 and newer, and the Intel HD Graphics featured in the Ivybridge and Haswell chipsets.
The radeonsi 3D driver for AMD Radeon video cards now supports the Hawaii and Mullins chips. Additionally, support for the freedreno driver that powers ARM boards with Adreno A2xx and A3xx GPUs is now built into Mesa in Fedora 21. Mesa in Fedora 21 now also provides drivers for OpenMAX (OMX) and OpenCL.
2D Support & Drivers
The 2D driver for Intel graphics in Fedora 21 is updated to version 2.99.916 (Fedora 20 shipped version 2.21.15). These updated drivers provide preliminary support for Intel graphics on the Broadwell and Cherryview chipsets. Additionally, default acceleration architecture for Intel Graphics is now SNA, replacing the older UXA. SNA is much faster than UXA, but it is important to note that it is not as mature, and some issues have been encountered with it.
The Radeon 2D driver is updated in Fedora 21 to version 7.5.0 (Fedora 20 contained 7.2.0). The updated Radeon driver adds support for Berlin, Hawaii, and Mullins chips. The default acceleration architecture for R600 (Radeon HD2000) and newer devices is now glamor (see the “Updates to the X server” section below for more on glamor). Performance is also improved on the Southern Islands and Sea Islands chips due to texture tiling being enabled by default.
The nouveau 2D driver for NVIDIA GPUs is updated to version 1.0.11 (Fedora 20 shipped version 1.0.9). This update provides support for Maxwell chips. Glamor support is enabled by default for Maxwell chips, and is optionally available on GeForce 8 and newer GPUs.
Updates to the X Server
The X server in Fedora 21 is updated to version 1.16.1 (Fedora 20 shipped 1.14.4. This update merges glamor into the core server package. Glamor is an acceleration architecture that implements X acceleration in terms of OpenGL. Glamor in Fedora 21 has also been tuned significantly to provide much better performance relative to Fedora 20.
The X server now logs to the systemd journal, so X logs are now available via the journalctl command or using the Logs application on the Fedora 21 Workstation. Wayland support is now implemented via a separate X server, and uses Glamor for acceleration where available.
The smart scheduler in the X Server also has been tweaked for better fairness. If you have multiple animations running in multiple programs the framerate should be visibly improved.
Graphics-related updates to the Kernel
The Linux Kernel in Fedora 21 will be updated to version 3.16. This newer version of the kernel provides preliminary support for DisplayPort’s Multi-stream Transport (MST) which enables enables large (4k) monitors at high refresh rates. Additionally, there is now support for Multi-GPU laptops with NVIDIA GPUs to power down the unused chip at runtime. The kernel update also improves runtime power management for Radeon Southern Island and Sea Island chips.
The photo used in this article was based off the CC-BY licenced photo by francois on flickr.
Multi GPU means full optimus support?
“The Linux Kernel in Fedora 21 will be updated to version 3.16.”.
Did you mean 3.17? (http://pkgs.fedoraproject.org/cgit/kernel.git/tree/kernel.spec?h=f21#n51)
Thanks, Ryan, for this update. One of the biggest reasons for me to use Fedora on new hardware is the commitment to push new graphics code to users as quickly as possible.
Progress on Radeon graphics (which I’m running right now) has been very rapid over the past year or so, and I’m hoping for even better performance in F21 — and with all these changes it looks like we might get it, too.
While Fedora 20 indeed shipped mesa 9 initially the package was bumped through updates to 10.1.5. Therefore Fedora users can already enjoy OpenGL 3.3 for most cards – however the update is very welcome as it contains a more complete OpenGL stack with fixes all over the place.
Also it could be mentioned (as this is an in-depth article) that Mesa does not provide the OpenGL 3 compatibility contexts (no “GL_ARB_compatibility”) so some software may only report OpenGL 3.0 as highest supported level.
“Mesa in Fedora 21 now also provides drivers for OpenMAX (OMX) and OpenCL.”
Is AMD Radeon 8750M (Oland) is supported for OpenCL programming in Fedora 21? (This version, http://dri.freedesktop.org/wiki/GalliumCompute/, supports GPUs up to Tahiti only, despite the radeon driver supports also Oland. So, OpenCL programming is impossible in this case).