Gaming on Linux

From /tech/ Wiki
Jump to navigationJump to search

Linux is becoming an increasingly viable platform for playing videogames.

Compatibility Layers

  • WINE
    • D9VK
    • DXVK
    • VKD3D
    • FAudio
    • Proton (contains all of above)
  • Darling (MacOS compatability layer)
  • Zink (OpenGL -> Vulkan layer)

Emulation

Most modern emulators are available cross-platform, including Linux. Some notable exceptions include Cemu, a proprietary Wii-U emulator and Xenia, a free/libre Xbox 360 emulator. Xenia has placed Linux support on hold as part of a development pivot from Vulkan to DirectX 12. Support is planned to return in the future.

History

The first commercial Linux title was a port of DOOM in 1994 followed by ports of other games from the id software catalog. Other than that about two dozen games were ported to Linux by studio Loki Entertainment before declaring bankruptcy in 2001. liflg.org maintains scripts to install these early titles on modern Linux systems with the original CD-ROMs.

Steam has been available on Linux since 2012. The only other notable storefront to support Linux is GOG although they haven't ported their GOG Galaxy client yet.

Valve has been pushing Linux adoption for many years. Microsoft has failed to launch a successful game store on two occasions, first with GFWL and then with the Microsoft Store. Valve rightly fears that Microsoft will in some unscrupulous way leverage Windows dominance to capture the market.

Valve quietly funded the development of DXVK - a software layer that dynamically converts DirectX 11 and 12 calls to Vulkan calls. The project progressed so rapidly that many suspected a monetary interest was at hand. When Valve announced Proton - their fork of WINE shipped with DXVK and integrated with the Steam client this suspicion was confirmed. They have also funded other projects in the Linux ecosystem such as kwin and Mesa as well as a set of kernel patches intended to improve game performance known as fsync. These changes have yet to be merged in the mainline kernel, but can be found in the alternative linux-fsync kernel meanwhile.

There are some bumps in the road for gaming on Linux. For instance, Metro 2033 and Metro Last Light were released on Linux but Metro Exodus was not. Perhaps not so coincidentally the developers signed an exclusivity deal with Epic Games which does not support Linux on their storefront.

When Microsoft acquired Mojang they proceeded to rewrite Minecraft in C++ for the "Play Anywhere" edition, a misnomer for sure as it cannot be played on Linux (although the Java Edition is still supported).

Vulkan is a modern cross platform graphics API that competes with DirectX 12. It is the successor to OpenGL. Games using Vulkan are not always ported to Linux but generally perform well under WINE.

Many games ship with DRM like Denuvo which is unsupported by WINE. It's up in the air whether this is a bug or a feature.

Embedded anti-cheat software does not play nice with WINE. Valve is working on it, though.

Misc

Athenaeum

Lutris