The Mesa 18.2 driver for Linux has finally been released today after a few minor setbacks occurring in August. This latest driver update features Vega 20 support, OpenGL 4.4 compatibible profile, notable improvements to the RadeonSI OpenGL and RADV Vulkan driver support, OpenGL ES 3.2 support for RadeonSI, and really just a huge handful of other significant improvements.
The smallest amount of updates is for the Intel front, which received mainly NIR optimizations – development is still working on OpenGL 4.6 support with SPIR-V ingestion, and some new Vulkan driver extensions for ANV, plus general optimizations across the board for the latest hardware support.
Mesa 18.2 is the third-quarter 2018 update for the Mesa3D graphics driver stack, which is mostly used in Linux desktops open-source Vulkan/OpenGL drivers for Intel, Radeon, and Nouveau, plus a handful of other smaller drivers.
Users should also notice some small performance improvements, and faster LLVM shader compilation in RADV. There is also a Radeon EQAA anti-aliasing mode, ASTC texture compression support for RadeonSI, and OpenGL 4.4 compatibility profile supports for RadeonSI which should help in playing Wine/SteamPlay games on a Linux system.
Additionally, there’s some new RADV Vulkan driver extensions, and OpenGL 4.3 support to the VirGL driver for OpenGL acceleration in VirtIO-enabled KVM guests – which should bring improvements for those users. There’s also Vulkan display extensions for improving SteamVR Linux support, as SteamVR on Linux has been a bit finicky and difficult to get under control, though things are definitely improving.
The Broadcom V3D driver is also now enabled by dfault, and the Mesa shader cache supports caching RadeonSI compute shaders. There’s been a few NIR optimizations and OpenGL extension additions for Nouveau NVC0.
The official changelog of new features is as follows (note that some of these new features are only available with certain drivers):
- OpenGL 4.3 on virgl
- OpenGL 4.4 Compatibility profile on radeonsi
- OpenGL ES 3.2 on radeonsi and virgl
- GL_ARB_ES3_2_compatibility on radeonsi
- GL_ARB_fragment_shader_interlock on i965
- GL_ARB_sample_locations and GL_NV_sample_locations on nvc0 (GM200+)
- GL_ANDROID_extension_pack_es31a on radeonsi.
- GL_KHR_texture_compression_astc_ldr on radeonsi
- GL_NV_conservative_raster and GL_NV_conservative_raster_dilate on nvc0 (GM200+)
- GL_NV_conservative_raster_pre_snap_triangles on nvc0 (GP102+)
- multisampled images on nvc0 (GM107+) (now supported on GF100+)
There is also a massive amount of bugfixes, so massive that you should probably just read the entire Mesa 18.2 release notes if you must, though we’ll cherry-pick a few of the most notable for you:
- Bug 61761 – glPolygonOffsetEXT, OFFSET_BIAS incorrectly set to a huge number
- Bug 100177 – [GM206] Misrendering in XCOM Enemy Within
- Bug 100430 – [radv] graphical glitches on dolphin emulator
- Bug 105497 – shader-db crashes on 72 core system after ast_type_qualifier bitset change
- Bug 105904 – Needed to delete mesa shader cache after driver upgrade for 32 bit wine vulkan programs to work.
- Bug 106382 – Shader cache breaks INTEL_DEBUG=shader_time
- Bug 106511 – radv: MSAA broken on SI (assertion failure in vkCreateImage)
- Bug 106642 – X server crashes in i965 on desktop startup when DRI3 v1.2 / modifier support is enabled
Its likely that we could see the Mesa 18.3 release by around the end of November to early December, so stay tuned as there’s a lot of exciting work happening in the Linux graphic driver community.