In general, Linux gaming used to be limited to the few FOSS games available for the operating system, but this is no longer the case, and it has seen steady growth over the past few years. With major companies like Valve providing Steam for Linux, Proton, the development of DXVK, the continuous work put into Wine by its developers, and Indie game developers creating games with Linux support out-of-the-box, the amount of fun for Linux continues to expand.
This post will be pt. 1.
Difficulty: ★☆☆☆☆
📜 Table of Contents
Native
Native games refer to games that specifically target Linux, and these games do not require any form of emulation or Middleware to run.
Not all games native to Linux are FOSS (free, as in freedom, open-source software) or free (as in gratis).
With that said, how can users obtain these native Linux games?
AppImageHub.com/NX Software Center
The first source is AppImageHub.com, which offers games (among other applications) packaged as AppImage. Users can download content from AppImageHub.com using the NX Software Center.
To explore the games listed at AppImageHub.com, you can use the NX Software Center or the Station.
- 🔰 Information: To download AppImages using Station, see Software Management.
PortableLinuxGames
Likewise, PortableLinuxGames offers game packages such as AppImage. “PortableLinuxGames packs and distributes great Linux games as portable, self-contained packages that will (or should) run on any Linux system. It uses the AppImage package format and some script magic.”
- 🔰 Information: We recommend downloading the files from PortableLinuxGames to ~/Applications for more effortless organization.
Native and Non-Native
Non-native games don’t specifically target Linux, but they do require a form of emulation or “Middleware” to run.
Steam
Steam is the most popular source for non-native games on Linux. Steam is a top-rated digital game store that offers Linux games (including free-of-cost games). Steam has both ported and native Linux games and offers Steam Play for selected Windows games to be playable in Linux; see Middleware used to run non-native games on Linux.
- The Steam client doesn’t use the AppImage format; Steam stores the game in the user’s home folder instead of the root directory.
- 🔰 Information: We include a shortcut to install the Steam client for Linux in the application menu, but it is not included by default.
Heroic Games Launcher
Heroic Games Launcher is a popular option for accessing other stores, such as Epic Store, GOG, and Amazon. Heroic (for short) describes itself as “an Open Source Game Launcher for Linux, Windows and macOS.”
- Heroic doesn’t use the AppImage format; Heroic stores the game in the user’s home folder instead of the root directory, like a Debian package.
- 🔰 Information: We include a shortcut to install Heroic Games Launcher in the application menu, but it is not included by default.
Like Steam, Heroic allows users to use multiple Proton and (vanilla) Wine versions.
Bottles
Bottles is an application allowing users to run Windows software like Heroic Games Launcher and Steam. However, unlike these applications, Bottles uses separate environments (or Bottles, hence the name), allowing users to have different settings for each program. Additionally, Bottles handles many things necessary to run software like .NET installers, VC redistributable packages, etc., which is done via its integrated dependency manager. Additionally, Bottles has a feature called Installers, which allows users to install many store launchers or select applications easily; check this link for a list.
- Bottles don’t use the AppImage format; Bottles stores the game in the user’s home folder instead of the root directory, like a Debian package.
- 🔰 Information: We include a shortcut to install the Bottles in the application menu; we do not include it by default.
Bottles also allow users to adjust which Proton, DXVK, and VK3D versions to use.
itch.io Store
A third source for games is itch.io. itch.io is “an open marketplace for independent digital creators focusing on independent video games. It’s a platform that enables anyone to sell the content they’ve created.”
- The itch.io client doesn’t use the AppImage format; itch.io stores the game in the user’s home folder instead of the root directory, like a Debian package.
- 🔰 Information: We include a shortcut to install the itch.io client for Linux in the application menu; we do not include it by default.
- 🔰 Information: Please refer to their troubleshooting guide for support with itch.io.
- If users have problems launching the itch.io application after installation, do the following.
- Open the applications menu, right-click the desktop launcher, and select Edit application.
- Click on the tab Application and the Chromium option –no-sandbox to the field Arguments.
- The itch.io Store is not an AppImage. However, it’s an Electron application, so the same arguments apply.
- 🔰 Information: What does the Chromium option “–no-sandbox” mean?
- If there are other arguments in the desktop launcher, remove them.
- Click the Accept button and launch the application.
- The itch.io Store is not an AppImage. However, it’s an Electron application, so the same arguments apply.
- If users have problems launching the itch.io application after installation, do the following.
- ⚠️ Important: The itch.io Store does not work correctly on a virtual machine.
Middleware used to run non-native games on Linux
Proton/DXVK
First, let’s answer the question, “What is DXVK“?. DXVK is a set of replacement DLL files that translate from DirectX to Vulkan.
To run Windows games, Steam utilizes a version of Wine called “Proton,” which is optimized to run various games that do not have Linux support through Steam. Users can select from bundled versions of Proton with Steam, besides adding customized versions of Proton created by third parties such as Proton-GE.
- 🔰 Information: Proton-GE is also available as an add-on for Heroic Games Launcher and Bottles.
- 🔰 Information: By default, Steam will use Proton as developed and distributed by Valve and does not support adding other flavors or releases of Proton through the GUI. To use different flavors of Proton, users have to add them to Steam manually; see Proton-GE.
Proton-GE
Proton-GE is a custom flavor of Proton created by GloriousEggroll (hence the GE); it includes customizations that Valve’s Proton does not, such as the following.
- Additional media foundation patches for better video playback support
- AMD FSR patches added directly to fullscreen hack that can be toggled with WINE_FULLSCREEN_FSR=1
- FSR Fake resolution patch details here
- Nvidia CUDA support for PhysX and NVAPI
- Raw input mouse support
- The ‘proton fixes’ system is automated and applies per-game fixes (such as winetricks, envvars, EAC workarounds, overrides, etc.).
- Various upstream WINE patches backported
- Various wine-staging patches are applied as they become needed
To use Proton-GE, follow the steps below.
- Users can download Proton-GE from its repository.
- Download the latest release from Releases.
- Extract the TAR archive and move the uncompressed directory to the following path.
- 🔰 Information: We can manually use the directory below to add different Proton versions to Steam.
$HOME/.var/app/com.valvesoftware.Steam/.local/share/Steam/compatibilitytools.d
- 🔰 Information: Some programs like Bottles or Heroic Games Launcher can use Steam’s same directory to find Proton or a custom directory for their Proton installations. These programs also set custom paths for other tools like DXVK or VK3D.
- 🔰 Information: Users can manually add or update Proton (Proton-GE or other flavors of Proton), DXVK, VK3D, etc., or use each program’s settings to manage and update these installations. Since Steam does not have this ability, users must update Proton-GE manually.
Below, we list the paths that applications like Heroic Games Launcher and Bottles use when they install Wine/Proton, DXVK, VK3D, etc.,
$HOME/.var/app/com.heroicgameslauncher.hgl/config/heroic/tools
$HOME/.var/app/com.usebottles.bottles/data/bottles
Alternatively, download ProtonUp-Qt to do the above but using a GUI.
Disclaimer: We do not develop Proton or Proton-GE. Please create an issue at their respective bug tracker to report problems with this software.
Emulators
Emulation is a software compatibility layer that emulates hardware components of game consoles, instruction sets, and related APIs. In actual game consoles, emulation software can emulate CPUs, GPUs, audio hardware, and other physical components.
🔰 Information: The following list only accounts for some popular emulators available as AppImages either officially or by third parties and some Flatpak recommendations.
- Duckstation. DuckStation is a simulator/emulator of the Sony PlayStation(TM) console, focusing on playability, speed, and long-term maintainability.
- PCSX2. PCSX2 is a Playstation 2 ’emulator,’ a free program that replicates the Playstation 2 console so that you can play PS2 games on your PC.
- RPCS3. The world’s first free and open-source PlayStation 3 emulator/debugger, written in C++ for Windows and Linux.
- RetroArch. RetroArch is an emulation frontend that hooks into game-specific emulation cores to play games. It supports over a hundred emulation cores, a list of which is available here.
- Cemu. Cemu is a Wii U emulator that can run most Wii U games and homebrew in a playable state. It’s written in C/C++ and is being actively developed with new features and fixes.
- DeSmuME. DeSmuME is a Nintendo DS emulator.
- 🔰 Information: DeSmuME is available from AppImageHub.com through the NX Software Center.
- Dolphin. Dolphin is an emulator for two recent Nintendo video game consoles: the GameCube and the Wii.
- 🔰 Information: Dolphin is available from AppImageHub.com through the NX Software Center.
- 🔰 Information: An updated version is available from Flathub; see Software Management.
- 🔰 Information: Dolphin is available from AppImageHub.com through the NX Software Center.
- PPSSPP. A PSP emulator.
- 🔰 Information: Users can download PPSSPP from Flathub; see Software Management.
- Xemu. Original Xbox Emulator
- 🔰 Information: Users can download xemu from Flathub; see Software Management.
Check Pt. 2 of this tutorial series, where we will examine what extra tools we can use to improve our gaming experience.