Using immutable Linux OpenSuSE Kalpa Desktop for Gaming

If you find any issues with the instructions then do not hesitate to create an issue here
This document is under European Union Public License 1.2 (EUPL-1.2).

Changelog

Date Description
2025-08-31 Add information about ProtonPlus
2025-08-30 Clarified Kalpa Desktop branding guide
2025-07-30 Using Kalpa Desktop based immutable Linux operating system for gaming

If you have already another operating system installed then please make a backup of all your data to a separate medium or different computer/host before changing the operating system. Otherwise you may loose all of it without recovery.

Introduction

Linux for gaming is on the rise since the last years. There are multiple reasons for this:

Many games are published on the PC platform for Windows, but Wine and Proton allows to run most them to run under Linux in a very efficient manner. This has especially improved since hardware vendors, such as the SteamDeck, use Linux as a primary operating system to run games. You can check the compatibility of those games under ProtonDB.

Many games distributors have a Linux application or open source launchers allow to run them (e.g. Gog.com, Ubisoft, Steam).

You can select amongst numerous Linux distributions (e.g. here) to run your gaming platform. Nowadays many of them are easy to install and use. In fact, some of them also feature an immutable Linux. Nevertheless, you may in some cases need to invest a bit of time to get to know more how Linux work.

We look here into a special new type of Linux systems for supporting gaming: Immutable Linux Desktop. They are still experimental, so you may see sometimes issues. This is though rare and it can be expected that latest in 2026 they will be also "officially" stable. However, this should not stop you using them now - they are suitable for daily gaming.
Nevertheless, they can be the future of any Linux deployment, especially for gaming. They encompass the following features: Often you need to require a whole range of different games that without isolation or controlled updates to the operating system break your whole system or each other. If you do not want to spend hours to fix it then immutable Linux Desktops are ideal.
Thus they are suitable for your own gaming pc or if you are more ambitious to produce your gaming console or gaming handheld.

We will use in this manual the immutable Linux Desktop Kalpa Desktop. It provides the KDE desktop on top of the immutable Linux operating system derived from OpenSuSE MicroOS. It is based on the package repositories of OpenSuSE Tumbleweed.
OpenSuSE technologies were also used to provide a more secure Linux distribution for the gaming handheld SteamDeck.

We will put here special emphasis on securely configuring games.
This also means very insecure practices such as using the root user (administration user, priviledged user) for running them are strictly forbidden.

Installation of Kalpa Desktop

The installation is rather simple and you can follow the instructions.
There is nothing specifically to consider here all hardware is detected and configured automatically.
You may want to configure the following aspects during installation (you can also do it afterwards, but it is simpler during installation):

Configure for Gaming

Kalpa Desktop uses Security-Enhanced Linux (SElinux). This protects your computer from badly written software and can avoid some (but not all) attacks of malicous software (you should in all cases have always an independent backup and test it regularly).

As Windows does not offer sophisticated protection mechanisms, also Windows application and Windows games do not take them into account. Most of them will require to have the OpenSuSE package for enabling selinux policies for gaming.
You can simply install them as follows:

Note: It is acceptable for a Gaming PC to install this policy, if you need to emulate insecure operating systems, such as Windows. However, use it only if needed for your Gaming PC and do not use it for non-gaming PCs.

You can find more background information in Annex: SElinux and Gaming

Configure peripherals

USB Peripherals

Virtually all modern and older USB peripherals, such as Gamepads, Joysticks, Yokes, Pedals, etc., run out of the box on Linux. Thus, you just simply connect them and that is all.

However, since we said in the beginning we should run games as normal users and not root, you need to allow user access.

This is done by providing udev rules in files (see for some peripheral in the annex).

How can you come up with an udev rule?
First you need to plug your peripheral(s) into the USB port of your Gaming PC.
Then you check via the following command some information of your device

This will return a list of all usb devices
Screenshot of lsusb output with information on a USB periphals
We highlighted here two values the vendor id (which is the first value), 294b, and the product id (which is the second value), 1903.

You now need to create (as root) a file in /etc/udev/rules.d/ with the filename NN-name.rules, where NN stands for a digit priority number (low number = higher priority) and a name of the rule. Example: 65-honeycomb.rules.
This file has the following content to enable user access to the peripheral we highlighted in the screenshot:

You can easily see where to put the vendor id and the product id in the file. Find here more rules on the udev rules syntax.

Once you have defined the rules you need to load them once by using the following command

Bluetooth

You connect bluetooth devices like you would do on any other operating system. You need to put them in pairing mode and then you can click on the Desktop on the Bluetooth symbol and connect them.
Screenshot of Bluetooth configuration dialog on the Desktop
Similarly to USB, virtually all modern and old Bluetooth devices are supported, including popular Console Gamepads, such as the PS5 Controller.
Some peripherals you can switch off using a button on the peripheral itself. Others are switched off by disconnecting the Bluetooth connection using the Bluetooth configuration dialog mentioned before (e.g. PS5 Controller).

Game Launcher: Heroic

Unfortunately, for the Heroic Game Launcher for some games you need to enable peripherals, such as Gamepads, specifically per game, if they do not work in this game. However, this is simple.
Go to the settings of the game.

Add a new environment variable with the following content:
Variable Name: PROTON_PREFER_SDL
Value: 1
See also the following screenshot:
Set the environment variable to enable gamepad input for a game in Heroic Launcher

Installing game distribution software

While you can in some cases download games directly from a website or you can fetch the Flatpak (see next section), the most common way for native and non-native Linux game are launcher. These launchers also automatically configure and run everything to run non-native Linux games, such as Windows ones. They also fetch automatically the games that you bought and make them available for installation/star.
You can install the following popular launcher:


There are also others and I recommend that you try them out.
The recommended way is to use Flatpaks as it will be explained in the following section.

Install any software

There are various supported ways of installing software and you should stick to the ones recommended by Kalpa Desktop.
Game launchers described in the previous section are available as Flatpaks. These are sandboxed applications that have only a subset of the permissions of the user to reduce the blast impact of malware or application defects. They also contain all dependencies to run the application.
Nevertless, you should always make sure that the Flatpaks come from a valid and credible publisher (even if they are marked as verified - always check).
You can search for Flatpaks using the Discover application already preinstalled in Kalpa Desktop. Discover provides als updates of the application in case you need it. Additionally you can further limit permissions of the application to increase security.

Tweaking runtimes

Linux provides various runtimes to run games, such as Proton or Wine.
The games launcher allow to configure them and tweak them in various details. However, nowadays this is not necessary and should be avoided to not have issues.

ProtonPlus provides some advanced tweaking and additional runtimes in case you are open for experiments. It is available as Flatpak in Discover.

Annex: udev Rules for specific peripherals

Honeycomb

These are some rules for Honeycomb peripherals.
/etc/udev/rules.d/65-honeycomb.rules:

Logitech Thrustmaster

These are some rules for Logitech Thrustmaster
/etc/udev/rules.d/66-thrustmaster.rules:

InputLabs Alpakka

These are some rules for the InputLabs Alpakka gamepad.
/etc/udev/rules.d/61-alpakka.rules:

Annex: SElinux and Gaming

We have explained how you can enable in OpenSuSE SElinux policies for gaming here. This provides a package to be installed by the standard OpenSuSE package manager and we recommend to use this package. This annex explains what this means in detail and alternative solutions.

You can alternatively enable the following SElinux policy:

The setting selinuxuser_execmod allows for all unconfined libraries to do text relocation. The parameter "-P" makes the setting permanent (without it you have to enter it after every restart). You can of course at anytime set it back to 0 permanently.
You can find the background of this setting and its implications here. To summarize it: It is acceptable to enable it for a gaming PC, if you need to run Windows games.