Linux Gaming in 2017: Progress and Stagnation

By

After my other post related to what games I really liked in this year, I still find it’s worth mentioning a little more about what occurred in general terms on the Linux gaming market, as well as… what did not occur. If you’d like a TLDR, most of my observations can fit in the next three points:

  • Lots of infrastructure improvements across the board: Mesa, Vulkan, AMD drivers, SteamOS updates, WINE DX11 support, Solus Steam Integration…
  • Despite all that, still bittersweet AAA support: no clear improvement vs 2016
  • Games distribution: no change, GOG is still way behind Steam for Linux support

Now, more details…

Vulkan happened

Yes, we are now starting to have a few Linux games with working Vulkan renderers (Mad Max, The Talos Principle, F1 2017, Dawn of War III, DOTA 2, Ballistic Overkill), and among them one game running ONLY on Vulkan (F1 2017). I used to be skeptical about the maturity of Vulkan drivers, but my concerns were alleviated fairly quickly, at least on nVIDIA. It’s still early to say if it will really bring any major performance benefits (even games made for Windows, translated via a Vulkan renderer, do not seem to run massively better than with OpenGL, while they show some lower CPU usage), but if it makes porting easier down the road (as in, DX12 to Vulkan), it will be a net positive anyway. For this to happen we need to see Vulkan adoption on Windows.

Vulkan did not change everything (yet?)

It’s still early days, but for now Vulkan did not change the Windows landscape. Games on Windows using Vulkan can be counted on one or two hands maybe, and there is no clear indication that large studios are shifting there, outside of id software (they already have Doom on Vulkan and the latest Wolfenstein). On top of that, games running on Vulkan on Windows did not show up on Linux yet (such as Ashes of the Singularity).

Such tech changes take time anyway, so it’s probably very early to have a definitive opinion on that matter, we need to consider the impact of Vulkan probably by 2019-2020 to have a more tangible opinion. DirectX12 has been out for a while and therefore has the first mover advantage. While Windows supports Vulkan, the Xbox does not, so DirectX development is anyway not going away for anything that’s targeting consoles.

Third party engines like Unity/Unreal Engine have already experimental Vulkan support and as long as more games use such engines this could make ports more consistent across platforms.

SteamOS still gets updates

Yes, that’s almost news in itself. Despite it sucking big time on release (ancient GPU drivers for nVIDIA, no AMD support, broken audio settings, broken locale time settings, broken Xbox controller support, surprise black screen of death, no bluetooth support, etc…) it’s apparently improving little by little and getting regular updates. The latest official stable version is from August 2017, and the latest beta is from less than 2 months back. I stopped using SteamOS myself for numerous reasons, but it’s still somewhat comforting to know it’s not dead, because ongoing support means Valve still cares. I would be glad if it received a lot more attention, though. It’s still nowhere ready to be a plug’n play console replacement (media player functionality is still atrocious by default), but as long as it is alive it may still improve… slowly. Since the Steam Machines are pretty much dead at this stage, at this stage its main raison d’etre is to provide a convenient target for developers who target Linux for the first time and might be pulled off by the existence of multiple distributions.

Ambivalent AAA support

Linux is still getting some AAA support, but this year it’s been sluggish to say the least. Feral did release some high profile games, but they were fewer than in 2016 (probably because of the extra work on Vulkan, as well as their focus on iOS and Android). Aspyr has released Civilization VI and a couple of other games, but it’s almost a shadow of their initial support after the Steam for Linux initiative. More importantly, there has not been (please correct me if I’m wrong) any high profile studio jumping in to declare they will officially support the platform in the near future. In other words, unless things change drastically in the near future, most AAA ports are still going to come from Feral and other porting companies. Nothing wrong with that approach, however how much Feral and other companies can deal with is limited, so this will place a hard limit on how many AAA ports we get every single year.

Virtual Programming seems to have had a rough year, too: no major title released apart from the new Micromachines’ title. It was really a shame that this particular Micromachines’ game was really poor (not VP’s fault). They have been working on ARMA III, and while it’s still in beta, the Linux port is apparently catching up to the Windows build. Apparently they also have an upcoming alpha for MXGP3 Motorcross for Mac and Linux. That’s great news, while I would really like for them to focus on more popular AAA titles.

SteamVR on Linux is still behind

I don’t own a VR headset (while I had the chance to try both the Occulus and the Vive on several occasions) but it’s pretty clear from several sources (Phoronix did a recent article on that point) that VR support on Linux is still lacking. That does not sound too good, since the combination of poor support along with lower performance makes it really hard to consider Linux for VR, where framerate and latency are critically important for a good experience (stable 90fps recommended). It’s not like we are missing a lot at this stage (most VR games are close to worthless, gameplay-wise) but it’s getting a lot of investment out there and unless Linux catches up soon enough, this is another platform where it’s going to remain a second-class citizen.

Desktop Linux seems to be growing

We have heard several stories in this year of developers leaving the Mac platform to switch to Linux, for numerous reasons. If you are a regular reader of Hacker News you would be familiar with posts describing such conversions. Of course, developers are a very different breed and do not necessarily represent the larger user base. Yet quantitative indicators seem to agree: Linux on DesktopPC is somewhat (slowly) growing (both netmarketshare and statcounter show similar progressions, see below). The main difference is the actual number - such differences are expected because sources differ.

Note that we are talking about some very progressive growth and no explosion, so let’s not fuel the “year of the Linux desktop” meme just based on such trends. In any case, it matters because Linux desktop adoption drives the Linux gaming market in parallel. The more time one spends on Linux, the more likely they are going to play games in it.

Witcher 3 is still missing in action.

The game that most Linux gamers want to see ported (source: our survey earlier this year) is still nowhere to be seen. There was a glimmer of hope back in late 2016 that Witcher 3 could materialize in 2017, but with the year behind us now, the likelihood of a port is close to zero at this stage. It’s very, very regrettable and damaging since many of us have been lied to about this port (first announced directly on Steam). Witcher 3 is just one game, but it’s almost a poster child of a pattern we are all too familiar with: hints of ports followed by broken promises. We could also include Street Fighter V in that list.

WINE is making great progress for DX11 support

In 2017 we have seen WINE making great strides, making it possible to play Overwatch, Witcher 3 (though at a very low framerate), Doom (using Vulkan!), and more. It’s definitely not going to cut it in terms of performance for very demanding games, but compared to one year ago the level of compatibility is night and day. This was announced by Codeweavers back in end 2015, and it took them a little longer than they expected but it’s now providing some real alternatives for games that get no ports. The below video speaks volumes:

In the absence of Blizzard officially supporting Linux, this is the best that we are going to get.

AMD Support finally materializes

It’s taken AMD a very long time, but recent advances in Mesa development have brought the open source drivers to new heights of compatibility and performance:

  • Vega has supported at launch by the open drivers
  • AMDGPU DC was merged in the Linux mainline kernel
  • Their Vulkan driver, AMDVLK, was made open-source very recently.

Mesa 17.3.0 brings OpenGL 4.5 to all hardware that supports it, which makes it close to parity with nVIDIA in terms of features. Performance is still behind nVIDIA (compared to how equivalent AMD hardware performs on Windows) but Mesa may bring further performance increases in the future. At last, the open source drivers are now a totally acceptable option for AMD gaming. Recent Feral ports tend to have AMD official support (Dirt Rally, Xcom2, Hitman, and more) so there are less and less reasons to discard AMD for Linux gaming. My guess is that one year from now, AMD will become a very competitive option both in price and performance. Maybe this will make nVIDIA consider opening their drivers at some point? Ryan Gordon thinks they may have to do it in the future.

Let’s also not forget that nVIDIA has apparently no intention of supporting Wayland. It’s not relevant right now for gaming, but if it ever changes AMD would have the upper hand.

Distribution: GOG Galaxy is still not here

It’s not dead either (GOG has said officially that they are still planning on having it, but not actively working on a Linux branch right now.

LinuxVanGog: I am afraid I don’t have any news for you regarding the Linux version of Galaxy client. For now, we are not actively developing a Linux branch, mostly because we have other features that are lined up in the client’s roadmap.

That said, the Linux client is not out of picture. It’s just that we cannot give you any estimates and it won’t happen in near future.

So, not in the near term sounds like it might not even happen in 2018. The lack of competition on distribution is not good for anyone. Steam continues to control the Linux gaming market, driven by a large portfolio and convenience (most games run through Steam without tweaking or installing dependencies, which cannot be always said for how GOG currently packages their Linux games).

OS: Solus is the new game in town

Good, easy-to-use distributions are essential for a smooth gaming experience. Up until recently Ubuntu was the best choice for gamers - but the installation of PPA to get the latest packages is kind of annoying for a distro that’s the official gaming one. If you rely on having pretty much the latest packages for graphics drivers, then rolling distributions should be amongst your choices. You could go for Arch Linux, OpenSUSE Tumbleweed, Slackware, Gentoo or Solus. Why Solus is becoming more and more the gaming distro is choice is because they have gone above and beyond the expectations of a rolling distro by developing a whole subsystem to integrate Steam for Linux. In practice this system intercepts calls to the Steam Runtime and modifies them to fix bugs, and/or to make them use the system’s libraries instead. Once activated it’s completely transparent to the user. I have been using Solus on two of my machines as the default OS now, and it’s been a smooth ride so far. Of course, YMMV, but it’s definitely worth trying out if you decide to change distributions.

New Emulation breakthroughs

It would have been almost unthinkable a few years back, but we now have a great emulator for PS3: RCPS3. It’s by no means perfect yet but there’s about 20% of games that are playable and running quite well if I recall the stats correctly. They also already have Vulkan support on top of OpenGL.

It’s also improving fast with a strong Patreon campaign, so in a year from now we can assume a majority of PS3 games may be well emulated and playable if the progress is steady. This opens up a whole new library of (until now) exclusive games to Linux gamers.

So this is it, unless I forgot something really important. The improvements in the general infrastructure around Linux will hopefully make the platform a little more attractive and easier to develop for. Let’s see where things go in 2018.