Unreal Engine 4/5 Linux Ray Tracing Problem

Wie ich bereits vor einiger Zeit geschrieben hatte, etabliert sich Linux immer mehr zu einer Gaming-Alternative zu Windows. Das zeigen auch immer mehr YouTube-Videos, die einen den Einstieg in Linux helfen sollen und viele Vorzüge aufzeigen. Allerdings gibt es so spezielle Spiele, die unter Linux so gar nicht richtig mögen. Vor allem nicht, wenn man noch so Schmankerl wie Ray Tracing (RT) und DLSS aktiviert.
STAR WARS Jedi: Survivor – Eine besondere Sorte
STAR WARS Jedi: Survivor ist ein super Spiel, das kann ich nicht abstreiten. Schon der Vorgänger Fallen Order war klasse. Doch Respawn Entertainment hat das Spiel scheinbar so dermaßen aufgeblasen, dass die Unreal Engine 4, auf dem beide Spiele basieren, hier richtig Salsa tanzt. Wenn dann noch Ray Tracing und DLSS dazu kommt, dann ist der Ofen – zumindest unter Linux – komplett aus. Allerdings beschränken sich diese Probleme nicht nur auf Linux, sondern treten auch unter Windows auf. Linux verstärkt die Probleme durch Proton und VKD3D nur.
Halbgare Technik
Die Unreal Engine 4 unterstützt seit Version 4.22 zwar Ray Tracing über DXR 1.0 (DirectX Ray Tracing), wurde aber nur halbgar implementiert und ist eher auf experimenteller Basis eingebaut worden. Und genau weil es nie wirklich fertig entwickelt und optimiert wurde, frisst UE4-RT Unmengen an Videoarbeitsspeicher (VRAM)!
Ich selber nutze für dieses Spiel eine Nvidia RTX 2070 mit 8 GB VRAM. Mit einer Detailstufe auf „Episch“, aktiviertem FSR (FidelityFX Super Resolution – hier Version 2.2) mag Kapitel 1 auf Coruscant noch wunderbar laufen, da das Level klein ist und wenig Assets verwendet werden. Geht es dann aber zu Kapitel 2 auf Kobah über, stürzt das Spiel wegen VRAM-Überlauf ab. Reduziert man dann einfach die Detailstufe auf „Hoch“, startet man immer mit matschigen Texturen, bleibt aber unter 8 GB VRAM. Spielt man ein bisschen, stürzt das Spiel trotzdem ab, weil das Texturstreaming nicht richtig mitläuft und RT sein übriges dabei tut.
Ein Modder hat hier einen Mod entwickelt, der diese Abstürze unterbinden soll. Vielleicht funktioniert das unter Windows, unter Linux jedoch leider nicht. Das ganze liegt auch einfach an der Umsetzungsmechanik von VKD3D.
Was kann man tun?
Einige Spieler berichten, dass Sie das Spiel mit aktiviertem RT – aber besserer Grafikkarte -, wunderbar spielen konnten. Bei anderen ist es nicht wirklich ersichtlich. Ich denke, dass dies auch Distro und Hardwareabhängig ist.
Jetzt ist aber immer noch die Frage, was man in dem Fall tun kann? Nun, RT ausschalten! 🙂 Ich persönlich habe mich dazu entschieden, RT auszuschalten und das Spiel so zu spielen. Ich spiele nun auf Detailstufe „Hoch“ und aktiviertem FSR – da DLSS zu buggy ist. Allerdings steht die Texturen- und Post Processing Detailstufe bei mir auf „Episch“. Die FPS pendelt immer zwischen 30 und 60 – je nach Szene -, aber mit sehr häufigen FPS-Abfälle (Frame Drops). Aber das Spiel sieht auch so richtig klasse aus! Respawn hat es mit Tricks geschafft, eine Art „Fake-RT“ zu nutzen. Ist zwar kein vollwertiges RT, aber immer noch besser als nichts. Doch mittels Lumen und Nanite aus der Unreal Engine 5 ist natürlich nochmal einen ganzen Ticken besser.
Was bleibt
Doch was bleibt letztendlich dann noch so unter Linux, bei diesem Spiel? Die Unreal Engine ist allgemein kein Fan von Linux. Allerdings klar auch nicht wirklich von Windows, denn die Engine muss man, aufgrund ihres Potenzials und der Komplexität, auch beherrschen können. Respawn musste schon einige Patches rausbringen, damit das Spiel selbst unter Windows einigermaßen läuft. Die GameStar hatte hierzu am 26.04.2023 ein Video zu diesen Problemen rausgebracht. Am 15.09.2024 gab’s dann ein Update-Video, in dem die Neuerungen beleuchtet wurden.
Linux nach wie vor Problembehaftet
Doch unter Linux gibt es nach wie vor Probleme. Abstürze, Ruckeln/Stottern, knisternder Ton (hierzu habe ich einen Blog zur Abhilfe geschrieben) und Texturstreaming-Probleme sind an der Tagesordnung. Und wenn man wie ich, das Spiel erst mal auf einer SATA-SSD installiert hatte, bekommt noch mehr Probleme.
Ich hatte zuvor das Spiel auf einer meiner SAMSUNG SSD 850 EVO installiert. Das führte dazu, dass zwar Kapitel 1 Coruscant wunderbar lief, bei Kapitel 2 Koboh aber das Spiel sehr häufig die Grätsche gemacht hatte. Dazu kam, dass sich die SSD im System dann komplett verabschiedet hatte. Nur ein Systemneustart konnte sie wieder herholen. Problematik hier ist, dass das Spiel jede Menge Draw Calls (Grafikbefehle zu Deutsch) auslöst und so die SSD bzw. den SATA-Controller, aufgrund der schieren Menge an Datenladungen, zur Überlastung bringt. Das resultiert dann in einen Spieleabsturz und dass der Kernel dann die SSD erst mal rausschmeißt, weil der I/O einfach überladen ist.
Die Lösung ist, das Spiel einfach auf eine NVMe-SSD zu schieben! Hier habe ich seit einiger Zeit eine SAMSUNG SSD 980 PRO NVMe im Einsatz. Wenn man die SATA- mit der NVMe-SSD vergleicht, geht einem ein Lichtlein auf! Die SATA-SSD schafft bei mit beim Lesen sequenziell 537,46 MB/s und Random 4k 22,96 MB/s. Scheinbar viel zu Wenig für dieses Spiel. Die NVMe-SSD schafft beim mir beim Lesen sequenziell 2841,74 MB/s und Random 4k 58,15 MB/s. Das ist ein haushoher Unterschied! Die NVMe-SSD kann noch ein bisschen mehr, da sie PCI-Express 4.0 konform ist. Da sie bei mir aber leider nur an PCI-Express 3.0 angebunden ist, kann sie nicht ganz ihr komplettes Potenzial entfalten.
Meine Empfehlung
Deshalb meine Empfehlung für die meisten Spieler: Schaltet RT ab und spielt das Spiel ohne. Ihr habt mehr Spaß daran! Zwar gibt es immer noch einige Framedrops, aber es ist zumindest spielbar. Aktiviert auch am besten kein VSync, da hier die Engine bei Proton auch gern mal allergisch reagiert. Und vor allem: Spiel das Spiel auf einer NVMe-SSD!
In Steam könnt Ihr diese Startoptionen nutzen:
VKD3D_CONFIG=dxr11,dxr PROTON_ENABLE_NVAPI=1 gamemoderun %command%
Das Spiel sollte auch mit Proton 9.0-4 gehen. Ich empfehle jedoch, aufgrund der neusten Übersetzungsschichten wie VKD3D und DXVK, wie Verwendung die neusten Glorious Eggroll Proton-Versionen – ich spiele mit Version 10-25.
Persönliche Meinung zur Unreal Engine
Die Unreal Engine ist schon eine richtig geile Engine – wenn man sie denn gescheit einsetzt. Ich bin mit der ersten Version der Unreal Engine groß geworden und konnte mit beobachten, wie sie sich von Zeit zu Zeit immer mehr verbessert hat. Mit der Unreal Engine 5 hat Epic Games ein richtiges Meisterwerk geschaffen, das allerdings auch seine Kehrseiten hat.
Auch wenn ich die Engine geil finde, hasse ich sie gleichzeitig, da sie unter Linux nur noch mehr Probleme bereitet. Doch wenn man sie richtig einsetzt, kann die Unreal Engine samt RT wunderbar laufen (wie z.B. im Falle von Stray (UE4)). Auch STAR WARS Jedi: Fallen Order (UE4) lief ganz gut – wenn auch mit vielen Frame Drops. Das Myst Remake von 2021 von Cyan Worlds, wurde ursprünglich auf der UE4 programmiert. Mit Version 2.0 wurde zur UE5 übergegangen. Hier war aber noch die schlechte RT-Implementierung mit drinnen und Lumen samt Nanite fehlten auch gänzlich. Dies sorgte dafür, dass das Spiel mit aktiviertem RT abstürzte.
Und das Problem ist, dass viele Entwickler – auch die Indie Studios – zur Unreal Engine greifen. Als Beispiel wären hier z.B. klar Stray (UE4), sowie Spirit of the North (UE4) und Spirit of the North 2 (UE5). Spirit of the North 1 lief noch normal auf der UE4 – ohne RT. Lief ganz gut, aber halt mit den bekannten Frame Drops. Spirit of the North 2 hat mittels der UE5 samt Lumen und Nanite nochmal eine richtige Schippe draufgelegt. Die Spielwelt sieht schon fast real aus und Lumen samt Nanite, bringen richtig geile Effekte auf den Monitor! Doch leider bietet Spirit of the North 2 kein RT und Lumen samt Nanite fressen Unmengen an Hardwareressourcen!
Hier ein Paar Bilder vom Spiel Spirit of the North 2 (UE5):



Zur Info: Die Grafikeinstellungen sind hier nicht die höchsten. Außer Texturenqualität, Schattierungsqualität und Himmelatmosphärenqualität ist alles auf „Mittel“. Texturen sind auf „Hoch“, die Schatten auf „Niedrig“. Ansonsten bruzelt das Spiel meinen PC! In Bewegung, sieht Sturmtal einfach noch grandioser aus.
Stray (UE4) hingegen, sieht eher unspektakulärer aus, kann aber RT nutzen:


Doch dass RT unter Linux 1a läuft, zeigt am besten das Spiel Doom Eternal. Das allerdings, nutzt von vorhinein die Vulkan API und braucht keine Übersetzung von DirectX zu Vulkan, was Rechenleistung spart.
Ich hoffe, dass die Indie-Entwickler auch mehr Engines wie Unity nutzen. Auch diese Engine kann bombastische Grafik rendern, wie dieses Video hier zeigt. Ob ich nochmal ein Spiel mit Unreal Engine kaufe, weiß ich noch nicht. Aber ich denke nicht. Die Engine macht einfach unter Linux zu viel Ärger.

Kommentare zu 'Unreal Engine 4/5 Linux Ray Tracing Problem' (0)
Kommentar-Feed