Ho! Ho! Ho!
We have approached the end of 2019 and this month has left some interesting things going on around the Linux Gaming community.
Mesa 19.3 release and new features in the upcoming 20.0 version
As predicted, Mesa 19.3 has been released in early December which marks the 1st stable release to include Valve's shader compiler for AMD called ACO, however it is not enabled by default and users are required to run with RADV_PERFTEST=aco to take advantage of it, of course on Steam ya need to put RADV_PERFTEST=aco %command% into Launch options. As a reminder, this is meant for AMD only running on GCN architecture or newer which halves the compiling time making the game less suspectible to stuttering and increase the frame rate as a bonus. Besides that it provides a support for Navi 14 based GPUs (Such as RX 5500 XT), Intel Tiger Lake support, Zink driver (OpenGL To Vulkan driver, currently supports OpenGL 2.1) which is currently in experimental state and new Vulkan extensions for both Radeon RadV and Intel ANV.
New features have been announced to appear in the upcoming Mesa 20.0 which will be released in February:
- Intel GPUs under Mesa will use Iris by default, a Gallium3D driver made by Intel themselves. Allowing you to take advantage of Gallium3D features such as the HUD and perhaps even Gallium3D Nine to run Direct3D 9 games under Wine without any translation to OpenGL, causing a boost to the frame rate.
- OpenGL 4.6 support for RadeonSI (Open source OpenGL driver for AMD) and replacing TGS route with NIR, which results in some slight frame rate boost.
- OpenGL Tesselation Support in Gallium3D's Software Rasterizer
- AMD R600 GPUs will receive NIR support
Linux 5.5 performance regression and AMDGPU's experimental GCN 1.0 support may be dropped
Currently we are receiving Release Candidates for the upcoming stable 5.5 Linux kernel and it seems that some performance regression has been found, according to the Phoronix article this is cause by the usage of AppArmor feature presented in the kernel and a second unknown issue. If you are using Debian or Ubuntu (including even flavours such as Xubuntu, Kubuntu etc.) then it must be disabled by adding apparmor=0 into the kernel parameter. Luckily other distros such as Fedora and perhaps even ArchLinux have their kernels compiled to not use it by default.
Now here's the bad news for any owner of AMD's graphics card that uses GCN 1.0 architecture, AMD might drop the experimental support for it under AMDGPU kernel driver due to the UVD video driver not being included and some occasional bugs due to lack of testing and any output from AMD themselves. Enabling the usage of AMDGPU kernel driver for GCN 1.0 required a manual change in the kernel parameter with radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 (Not required for GCN 3 and newer, as it's enabled by default) but it provided not only a frame rate boost but also a Vulkan support for GPUs which uses this architecture, the worst part is that they are unlikely to release a firmware which provides UVD video driver, but may also drop SI support from AMDGPU entirely. Valve may not like that as in their Future Work list for ACO, GFX6 lists Radeon HD 7000 series along with Radeon 200 series (Specifically 240 and 250) to have it's support added.
Proton 4.11-11 release, D9VK merged with DXVK, Wine 5.0 reached into freeze mode
Speaking of Valve, they have recently released a 10th and 11th revision of Proton 4.11 which not only includes some fixes but also:
- Halo: Master Chief Collection is supported from the single player side, multiplayer mode uses Easy AntiCheat which Wine and Proton has yet to provide support for it (Unless EAC hasn't been updated).
- Adds a Interger Scaling Mode which can be toggled by running the game with WINE_FULLSCREEN_INTEGER_SCALING=1
- Updated FAudio to 19.12 and DXVK to 1.5
Now the DXVK 1.5 is special one here, as D9VK which is a fork of DXVK that translated Direct3D 9 games to Vulkan has been merged with it, so by default DXVK currently supports D3D9, D3D10 and D3D11.
From the Wine side, the Wine 5.0 development has reached into the freezing state, so for now we are getting release candidates (RC3 being the last release in this year!) which only includes bug fixes in order to be prepared for the stable release of it which may happen in February or March. This is rather important as Wine is used by Valve to create Proton, so once 5.0 gets a full stable release, then perhaps we will get Proton 5.0?
Life Is Strange 2 Linux release, some NVIDIA updates, leading Vulkan dev at Feral Interactive leaves
Folks at Feral Interactive has been busy this month and released the Linux port of Life Is Strange 2 which uses Vulkan by default, now for the bad news, their leading Vulkan dev Alex Smith has left the studio after 3 years and currently works at Sony with the PlayStation, luckily he mentioned that Feral still has some capable Vulkan devs ready to take over. Wonder if PlayStation 5 will use Vulkan?
Now time for some NVIDIA news, they have released a new update for their legacy 340 driver series in order to make them work on recent distros for the upcoming 2020 and currently GNOME (one of the big desktop environments) will provide a much easier GPU switch in the 3.36 release, whereas KDE Plasma is soon to follow.
The 2010s was a decade which showed some activity in terms of Linux gaming, starting from Valve providing Steam support for it in 2012 with other stores such as GOG, followed by a release of SteamOS and Steam Machine and later on this caused some companies who made only Mac ports to join in such as Feral Interactive, Aspyr Media, Virtual Programming etc. some of them made a huge progress and some of em didn't, but despite the failure of Steam Machines Valve still continues to this day to spend their time and money to make Linux more viable for gaming and even decided to use most of the open source middlewares such as SDL2, OpenAL, libavcodec, Vulkan and OpenGL in their newer games which most likely even reduced to cost of developing the game for specific platforms such as Windows, Mac, Linux, Android, iOS.
Other contributions which Valve made for Linux are as follows:
- Contributes their codes to SDL2, Vulkan, Mesa, Linux kernel
- Working together with Codeweavers on Proton and upstream the codes to Wine
- Open sourcing some of their projects such as OpenVR, GameNetworkingSockets, Proton, Fossilize
- Giving contracts to specific developers such as DXVK, Feral GameMode etc. to continue their work
Now let us remember that Linux Gaming wasn't born with Valve, but with Loki Software in late 90s and early 2000 which were responsible for using SDL and OpenAL which are still being used to this day, even in source ports of your favourite games.
The biggest question here is, what will await in 2020?
Previous Monthly Linux Gaming News