Ich hatte die große Freude, vor wenigen Tagen auf den diesjährigen GermanDevDays in Frankfurt am Main darüber reden zu dürfen, wie gut sich Linux aktuell für die Spieleentwicklung eignet. Ich habe ja auch in der Vergangenheit schon den einen oder anderen Artikel über Linux geschrieben, aber bislang noch nicht konzentriert auf Spieleentwicklung zusammengefasst. Als ich dann nach dem Vortrag gefragt wurde, ob ich die Folien zur Verfügung stellen könnte, ist mir die Idee für diesen Artikel gekommen.
Vielleicht hätte es auch ausgereicht, einfach die Folien zum Download anzubieten, aber ich bin der Meinung, dass Vortragsfolien alleine in der Regel nicht aussagekräftig sind. Es fehlt schließlich die Tonspur. Also dachte ich mir, dass ich die Inhalte etwas ausformuliere und dadurch verständlicher zur Verfügung stelle. Als kleiner Nebeneffekt entsteht so auch eine englische Version. Ich hatte auch eine englische Version des Vortrags für die diesjährige gamescom dev eingereicht, aber leider bekam ich 2 Stunden nach meinem Vortrag auf den GermanDevDays die Absage dafür 😥
Allen, für die Linux ein komplett neues Thema ist, kann ich empfehlen, sich vorher mal meinen Artikel Linux? Was zum Pinguin!? durchzulesen, da ich dort ein wenig auf die Geschichte eingehe und die grundlegenden Begriffe erkläre.
Linux ist überall
In der heutigen Zeit finden wir Linux fast überall. Sehr viele Menschen nutzen Linux, auch wenn es ihnen nicht bewusst ist:
- 🧮 Alle Supercomputer der Top 500 laufen mit Linux
- 🌐 Ein Großteil der Server im Internet läuft mit Linux
- ☁️ Ein Großteil der “Cloud” läuft mit Linux
- ☎️ Ein Großteil der Smartphones läuft mit Linux (Android)
- 📖 Viele Ebook-Reader laufen mit Linux (Amazon Kindle, Tolino, …)
- 🕸️ Viele Router laufen mit Linux (AVM Fritz!Box, ASUS RT, Netgear, TP-Link, OpenWRT, …)
Selbst Microsoft hat 2024 bekanntgegeben, dass Linux beeindruckende 60% Anteil der auf ihrer eigenen Cloudplattform Azure laufenden Systeme hält. Mittlerweile bietet Microsoft mit Microsoft Azure Linux sogar eine eigene Linux-Distribution an.
Linux und die Spieleentwicklung
Um einen etwas besseren Überblick zu bekommen, was Linux im Bereich Spieleentwicklung zu bieten hat bzw. welche Software unter Linux läuft, habe ich versucht, die verschiedenen Gesichtspunkte im Bereich Spieleentwicklung entsprechend zu kategorisieren.
Stabiles Fundament / Linux-Distribution
Distrowatch führt 467 verschiedene Linux-Distributionen. Und wenn man sich die Linux Distribution Timeline auf Wikipedia anschaut, wird es dadurch nicht gerade übersichtlicher. Daher habe ich mir ein paar Abwägungen überlegt, die meiner Meinung nach für den professionellen / beruflichen Einsatz beachtet werden sollten (YMMV):
- Stabilität ist wichtiger als die letzten Prozent an Performance
- Optimierter Wartungsaufwand ist eingesparte Zeit und dadurch bares Geld, d.h.
- Lange Supportzeiträume => lange Zeit Sicherheitsupdates => weniger Betriebssystem-Upgrades notwendig
- Gute offizielle Unterstützung von Anbietern relevanter kommerzieller Produkte ist wünschenswert
Daher ist meine Empfehlung Rocky Linux in Kombination mit Extra Packages for Enterprise Linux (EPEL). Rocky Linux bietet für Hauptversionen in der Regel 5 Jahre vollen Support (inkl. 2 Unterversionen pro Jahr / Service Packs) und anschließend nochmals für weitere 5 Jahre Sicherheitsupdates. Dazu kommt, dass kommerzielle Anbieter, die offizielle Linux-Versionen ihrer Software anbieten, Rocky Linux in den meisten Fällen unterstützen.
Wem Rocky Linux wiederum zu konservativ ist (was ich persönlich voll und ganz nachvollziehen kann), dem würde ich zu Fedora raten. Fedora und Rocky Linux haben die gleichen Wurzeln, Fedora ist aber bei den Updates nicht ganz so konservativ wie Rocky Linux, sodass man im Schnitt 1x pro Jahr ein Upgrade durchführen müsste. Aber da das einkalkuliert ist, ist dieses Upgrade in der Regel auch schnell und problemlos möglich.
Tools
In die Kategorie Tools zähle ich all die Software, die vermutlich jeder irgendwie im Arbeitsalltag nutzt bzw. nutzen könnte. Und wenn man sich die nun folgende Auflistung ansieht, kann man vielleicht erkennen, dass man dort die üblichen Verdächtigen findet, die man vielleicht auch schon von Windows kennt.
Versionsverwaltung
Build & Deployment
Weitere Tools
Game Engines
Es gibt große Unterschiede in der Unterstützung von Linux als Entwicklungsplattform. Es gibt zwei generelle Einschränkungen, die für alle Game Engines gelten:
- Es gibt kein DirectX unter Linux, daher nutzen moderne Game Engines in der Regel Vulkan unter Linux.
- Konsolenhersteller bieten ihre SDKs aktuell vermutlich nicht für Linux an. Aber ganz sicher darf darüber niemand sprechen, da diese Information der NDA der Konsolenhersteller unterliegt 😉
Godot hat annähernd vollen Support von Linux als Entwicklungsplattform. Ich nutze Godot selbst mehrfach pro Woche ohne Schwierigkeiten unter Linux, und meines Wissen benutzen viele der Projekt-Maintainer selbst Linux als Standardbetriebssystem.
Unity bietet auch einen großen Funktionsumfang unter Linux. Es ist bspw. auch CrossCompile für Windows dabei, wobei die Einschränkung gilt, dass weder UWP und noch IL2CPP für Windows unterstützt werden.
Meine eigenen Erfahrungen mit Unity liegen schon 6 Jahre zurück und ich kann bestätigen, dass CrossCompile damals relativ problemlos funktioniert hat.
UnrealEngine bietet aktuell einen sehr eingeschränkten Funktionsumfang unter Linux. Es wird momentan nativ keinerlei CrossCompile-Funktionalität unterstützt, sodass es bei Unreal unter Linux nicht möglich ist, eine Windows-Version von Projekten zu erstellen. Zumindest wird seit der UE 5 eine vorkompilierte Version angeboten, sodass man sie für einen ersten Einstieg nicht direkt selbst kompilieren muss. Ansonsten gibt es, je nach Setup, mit neueren UE 5 Versionen teilweise ein paar Kompatibilitätsprobleme unter Linux. Falls ihr mehr darüber wissen wollt, das Thema habe ich in der Vergangenheit schon mal genauer beleuchtet: Die Unreal Engine unter Linux
Meine persönliche Erfahrung ist, dass der UnrealEditor soweit stabil unter Linux funktioniert und ich nur wenige Schwierigkeiten hatte, als ich ihn im letzten halben Jahr bspw. im Rahmen meiner Vorlesung eingesetzt hatte.
Ansonsten habe ich durch angenehme und interessante Gespräche mit Entwicklern verschiedener Studios gelernt, dass es auch Linux-Versionen diverser Custom Engines gibt, auch wenn die Spiele offiziell nie eine native Linux-Version bekommen. Der Aufwand wird oftmals gescheut, da es gerade für kleinere Studios einfacher ist, die Kompatibilität zu Proton sicherzustellen.
Programmier-, Debugging- und Profiling-Tools
In dieser Kategorie gibt es eigentlich nur wenig Grund zu meckern.
IDEs
Debugging und Profiling
- gdb
- lldb
- Valgrind
- Tracy
- Superluminal (aktuell als Alpha Version)
- RenderDoc
- NVIDIA Nsight Graphics
- …
2D-Assets
Im 2D-Bereich haben wir ein differenziertes Bild. Die vermutlich größte Einschränkung bzw. Umstellung für viele professionelle 2D-Artists besteht darin, dass es keine Adobe Cloud unter Linux gibt. Somit stehen weder Adobe Photoshop noch Adobe Illustrator zur Verfügung. Dafür gibt es mit Fog Panther einen interessanten neuen Photoshop-Konkurrenten. Mit der aktuellen Version 0.8.1 wird es vermutlich noch dauern, bis es einen ähnlichen Funktionsumfang hat, aber soweit ich bislang mitbekommen habe, orientiert sich Fog Panther, im Gegensatz zu anderen Alternativen, an den Photoshop-Workflows, was einen möglichen Wechsel deutlich erleichtert.
Pixel Art
Illustration
- Krita
- Gimp
- Fog Panther
- Affinity Photo (*)
- Affinity by Canva (*)
- …
Vektorgraphiken
- Inkscape
- Affinity Designer (*)
- Affinity by Canva (*)
- …
2D-Animation
*) Affinity bietet aktuell zwar keine native Linux-Version, dafür gibt es mittlerweile komfortable Lösungen, es mit Hilfe von Wine zum laufen zu bringen. Ich habe darüber auch schon mal in einem früheren Artikel geschrieben.
3D-Assets
Im 3D-Bereich sieht die Welt wieder etwas besser aus, zumindest solange man das Thema Sculpting ausklammert. Sowohl Blender als auch 3D Coat bieten Sculpting an, und Nomad Sculpt ist wohl mit Hilfe von Wine bzw. Proton lauffähig. Bisher schwört eigentlich jeder, den ich kennengelernt habe, der professionelle Ansprüche im Bereich Sculpting hat, auf ZBrush, was momentan leider noch keine Linux-Version anbietet.
Auch wenn es die Adobe Cloud unter Linux nicht gibt, muss man nicht auf Substance-Produkte verzichten, da man diese über Steam beziehen kann und das sogar mit nativen Linux-Versionen. Es funktioniert nicht immer alles einwandfrei, aber das Team dahinter bei Adobe ist bemüht, die Probleme zu beheben, und in den Community-Diskussionen findet man auch entsprechende Hilfen. Besonders interessant dabei finde ich diesen Thread, da dort teilweise Lösungen für Probleme geliefert werden, die Adobe selbst noch nicht gelöst hat 🤯
Hier nun aber endlich die Liste möglicher Software für den 3D-Asset-Bereich:
Modelling
- Blender
- Autodesk® Maya®
- 3DCoat
- Plasticity
- Nomad Sculpt (Wine)
- …
Baking und Texturing
- Blender
- 3DCoat
- Adobe Substance 3D Painter
- Adobe Substance 3D Designer
- Marmoset Toolbag 5 (*)
- InstaMAT
- MaterialMaker
- …
Simulation
*) Marmoset Toolbag 5 läuft überraschend gut mit Hilfe von Wine. Die genauen Schritte dafür hatte ich hier beschrieben.
Audio
Audio ist der einzige Teilbereich hier, von dem ich kaum bis keine Ahnung habe. Daher kann es wirklich gut sein, dass es in dem Bereich Möglichkeiten gibt, von denen ich nichts weiß.
Audioerstellung
Audioverwaltung
Warum überhaupt Linux?
Es gibt eine Menge Gründe, die für Linux sprechen, und es ist sehr einfach, dabei emotional zu werden. Da Emotionalität aber teilweise dazu verleitet, logische Argumente zu ignorieren, biete ich diese nüchternen Argumente:
- Dateisystem- & Build-Performance
- Typische Dateisysteme unter Linux (ext4, Btrfs) bieten bei großen Repositories und Asset-Ordnerstrukturen spürbar schnellere Dateizugriffe im Vergleich zu NTFS
- Linux bietet durch angepasste Scheduler effizienteres Multithreading bei CPU-intensiven Kompilierungsvorgängen
- Minimale Ressourcenbelegung
- Ein schlankes Betriebssystem bedeutet, dass mehr RAM, VRAM und CPU-Zyklen für Engine, IDE und Grafiktools übrig bleiben
- Es gibt keine künstlichen Hardwaresperren, bspw. wird TPM 2.0 nicht zwingend vorausgesetzt
- Volle Systemkontrolle
- Keine erzwungenen Updates oder Reboots mitten in langen Renderings, Bakes oder Build-Prozessen
- Keine Bloatware oder aufgezwungene Cloud-Dienste im Hintergrund
- CI/CD-Symmetrie
- Da viele Build-Server auf Linux laufen, können lokale Entwicklungsumgebungen identisch zu denen auf den Build-Servern aufgesetzt werden
- Keine “works on my machine”-Probleme bei Build-Skripten mehr
Fazit
Ist Linux in 2026 ein geeignetes Betriebssystem, um damit Spiele zu entwickeln? Die Antwort ist, wie so oft: Kommt drauf an.
Es gibt kein perfektes Betriebssystem, daher geht man bei Linux auch bewusste Kompromisse ein. Doch man geht mit Windows ebenfalls Kompromisse ein, auch wenn diese anders sind. Vielen sind diese Kompromissen aber nicht ganz so bewusst, da sie teilweise bereits damit aufgewachsen sind und es nicht anders kennen. Anderen hat man über die Jahre anfangs zähneknirschend, mangels sichtbarer Alternativen, zugestimmt und nimmt sie mittlerweile auch nicht mehr wahr. So kann es einem unter Linux ebenfalls gehen. Die Welt hat auch hier nicht einfach nur 1 Bit Farbtiefe, sie ist also nicht einfach schwarz oder weiß, sondern setzt sich aus einer Vielzahl an Graustufen zusammen.
Moderne Toolchains erlauben generell auch, dass Teammitglieder das Betriebsystem nutzen, das ihren individuellen Workflow am besten unterstützen kann. Entscheidend dabei ist, dass man dies möglichst bei Projektbeginn bereits bedenken sollte, damit man bspw. einfach direkt mit Vulkan statt DirectX arbeitet, um so auch auf Linux problemlos mitarbeiten zu können und um die Reibungsverluste möglichst kleinzuhalten.
Es gibt aktuell aus meiner Sicht nur einen harten Blocker: Konsolen-Ports. Möchte man auch auf Konsolen releasen, muss man momentan wohl mindestens ein Windows-System haben. Aber dank Dual-Boot, muss es ja nicht täglich genutzt werden 😉

