UMU - Unified Linux Game Launcher: Revolutionary step towards an Open Source gaming platform without Steam

UMU - Unified Linux Game Launcher: Revolutionary step towards an Open Source gaming platform without Steam
Photo by mahdi chaghari / Unsplash

Important projects for getting Windows applications up and running on Linux

Let's find out why we need another game launcher for Linux and why famous developers invest their time to create it. The first question from newcomers will probably be "What does the word UMU even mean? UMU comes from Polynesian culture and means hot volcanic stones that are good for cooking. So this project is definitely hot.

Linux as a platform for games is very promising - Valve, CodeWeavers (founders of Wine, the most important application for running Windows software on Linux) and other companies and developers have invested a lot in the ability to run Windows applications and Linux graphics stack. And this is not only about games - Wine is able to run Adobe Suite (Photoshop, Illustrator, InDesign), Microsoft Office and many other applications.

The Steam storefront

For the average Linux user, there is a landscape of tools that make life easier:

  • Wine, developed by CodeWeavers and the open source community.
  • Proton - a fork of Wine, created by Valve and also developed with the help of the open source community.

At first sight, these two projects are competitors, but this is not true. Both have the same root and success of one is also success of the other, so cooperation is profitable for both.

Additional tools:

  • DXVK - Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux and Wine.
  • VK3D - is a 3D graphics library based on Vulkan with an API very similar to Direct3D 12.
  • VKD3D-proton - VK3D fork from Valve
  • winetricks - an easy way to work around problems in Wine
  • protontricks - wrapper that does Winetricks things for Proton-enabled games, also requires Winetricks.

Finally, the peak of the iceberg - game launchers:

  • Lutris
  • PlayOnLinux
  • Bottles
  • Heroic Games Launcher
  • Faugus Launcher and many more.

There are a lot of launchers - everyone wants to make life easier for their users. Steam is a launcher too, with the store, community, achievements and a lot of stuff inside. Two negative Steam moments - it's a proprietary 32-bit application. Why open source is better than proprietary is obvious - you can improve it and analyze possible security issues. 32-bit application is painful for Linux maintainers because they have to provide additional 32-bit libraries as dependencies, update them and do QA.

So can we use Proton without Steam for a more open source gaming environment? Short answer - yes, but not without problems. Proton is developed with full Steam compatibility and uses Steam Runtime - this is a compatible environment for running Steam games on various Linux distributions. Here UMU wins advanced score because it is nothing else than modified Steam Runtime Tools and Steam Linux Runtime that Valve uses for Proton.

More competition is always better for customers, so more game launchers will bring more unique features to the Linux ecosystem. Some launchers already support UMU: Lutris, Heroic Games Launcher or Faugus Launcher. Also, UMU works inside Snap or Flatpak packages, but doesn't provide it's own package for both yet.

Who stays behind of UMU

UMU was created by important figures from Linux gaming scene:

They have very different levels of commitment, but just the fact that they are all involved sends a good signal to all of us.

Go hard or go home - how UMU can win the game

Many years ago, when I first tried Wine to run a game on Linux, the algorithm was this:

  • Install Wine and run wine game.exe.
  • If it doesn't work, analyze the log and use winetricks to install the correct library.
  • If it fails, go to the Wine Application Database also called AppDB to find the right way.

UMU is well designed by people with the above experience, so they decided to create UMU Database, which contains all the information needed to run games successfully. There are also differences between game versions: games from Steam and Epic Games Store are not exactly the same and may need different fixes for successful gameplay. The UMU game fixes are called protonfixes and their repository can be found here.

For example, let's search for Grand Theft Auto V in the UMU database. This is the very popular game that doesn't need any advertising:

TITLE,STORE,CODENAME,UMU_ID,COMMON ACRONYM (Optional),NOTE (Optional)
Grand Theft Auto V,egs,9d2d0eb64d5c44529cece33fe2a46482,umu-271590,gtav,
Grand Theft Auto V,none,none,umu-271590,gtav,Standalone Rockstar installer
Grand Theft Auto V Enhanced on Steam

As you can see this is the same game with id umu-271590 but from different stores: Epic Games and Rockstar. Currently the UMU database has 1090 games, this is a good result because the first UMU release was in February 2024.

Non-Steam Games

First you need to install Proton. You can do it using Steam or in case of Proton GE use it's README. You don't need to worry about the Steam Runtime, the latest version will be downloaded to $HOME/.local/share/umu.

Now start with no options:

$ umu-run game.exe

UMU will automatically set Proton and create a Wine prefix. It will work in some cases, but many games will need more tuning. The next command will run Star Citizen, apply protonfix and create Wine prefix in a different location:

$ WINEPREFIX=~/.wine-starcit GAMEID=umu-starcitizen PROTONPATH=~/GE-Proton9-4 umu-run StarCitizen.exe
Star Citizen gameplay

If something goes wrong, the debug option is available:

$ UMU_LOG=debug WINEPREFIX=~/.wine-starcit GAMEID=umu-starcitizen PROTONPATH=~/GE-Proton9-4 umu-run StarCitizen.exe

How to run winetricks command to install some libraries:

PROTONPATH=GE-Proton umu-run winetricks quartz corefonts

In case if protonfix is broken or the game needs to be tested in clean environment:

$ PROTONFIXES_DISABLE=1 WINEPREFIX=~/.wine-starcit GAMEID=umu-starcitizen PROTONPATH=~/GE-Proton9-4 umu-run StarCitizen.exe

Want to try another experimental Proton build? No problem, UMU allows you to use it with these environment variables:

GAMEID=0 PROTONPATH=/path/to/proton-ge-custom-bin umu-run game.exe

If you want to run native Linux game and disable Proton there's special option for it:

UMU_NO_PROTON=1 umu-run game.sh

Steam Games

They are supported - run games from any store just like you do on Steam. The main difference from doing it manually with Wine or Proton is that UMU can automatically apply Proton fixes to the game title. When Steam runs a game through Proton, it shares some data about specific game title and personal configuration that title needs - for example, does it need OpenGL or Vulkan. UMU is able to talk to Proton in the same way Steam does.

Final Note

Unsplash / Uriel Soberanes

UMU is the unified launcher for Linux that allows you to run Windows games outside of Steam and does the heavy lifting of setting up the game environment correctly. It has a large database of games with preconfigured protonfixes for each, but also supports many flags and environment variables for complex configurations. You can use UMU as a standalone launcher or together with other launchers like Lutris to get a stable Proton environment for many games. Thank the contributors and remember - you can win even faster with open source software!

Read more