God of War, GTA IV und Elex 2: DXVK und VKD3D-Proton für besseres Spielen unter Linux

Update Sven Bauduin
86 Kommentare
God of War, GTA IV und Elex 2: DXVK und VKD3D-Proton für besseres Spielen unter Linux
Bild: Valve

Der freie „DirectX-zu-Vulkan-Übersetzer“ DXVK 1.10 und die DirectX-12-Implementierung VKD3D-Proton 2.60, die für Valves Laufzeitumgebung Proton optimiert ist, verbessern jetzt das Spielen von Hochkarätern wie God of War, GTA IV, Elex 2 und vielen weiteren unter Linux.

DXVK 1.10: Optimiert für God of War, GTA IV und Elex 2

Als Nachfolger von DXVK 1.9.4, das bereits mehr Leistung und DLSS für God of War mitbrachte, versprechen die Entwickler den Spielern eine bessere Leistung für viele hochkarätige Titel wie Assassin's Creed: Origins, Elex II, God of War, GTA IV, Quantum Break, Resident Evil 0, 5, 6, Resident Evil: Revelations 2, Total War: Warhammer III, sowie spezifische Fehlerkorrekturen für Black Mesa und Arma 2.

Die offiziellen Release Notes listen neben weiteren Verbesserungen für D3D9, D3D11 sowie der GPU-Synchronisation zudem die obligatorischen Optimierungen und Korrekturen.

Performance improvements
  • Reduced unnecessary worker thread synchronization around resource readbacks for both D3D11 and D3D9. This can significantly increase CPU-bound performance in games like Assassin's Creed: Origins and other titles built on the same engine, with smaller improvements seen in Elex II, God of War, GTA IV and others.
  • When using D3D11_MAP_WRITE on a staging resource that's currently being read by the GPU, DXVK will now attempt to create a copy of that resource in order to avoid GPU synchronization. This improves performance in Quantum Break and potentially other games. This behaviour can be tweaked using the d3d11.maxImplicitDiscardSize option.
  • Optimized UpdateSubresource for small constant buffer updates. This further improves performance in God of War and potentially other games.
  • Improved the way resource uploads and staging buffers are handled in D3D11. This may reduce memory usage and CPU overhead in some games.
  • Added more information to the HUD that can be useful for troubleshooting performance issues: GPU synchronizations per frame, worker thread synchronizations per frame, and pipeline barrier count.
  • GPU synchronization, when necessary, no longer uses busy-waiting, which may reduce power consumption on portable devices in some games.
Bug fixes and Improvements
  • Added a D3D11On12CreateDevice stub so applications using this don't immediately crash.
  • Note that supporting D3D11on12 is currently not viable.
  • Version numbers for Intel's Windows driver should now be reported properly.
  • Note that using DXVK on this driver is highly discouraged and will likely not work.
  • Arma 2: Fixed texture-related issues (PR #2477).
  • Black Mesa: Fixed lighting issues.
  • Resident Evil 0, 5, 6, Resident Evil: Revelations 2: Improved performance.
  • Total War: Warhammer III: Significantly improved GPU-bound performance on setups with a dedicated GPU.
DXVK 1.10 – Release Notes

Nachgebessert wurde unter anderem bei Age of Empires 2: Definitive Edition, Anno 1800, Final Fantasy XIV, Nier Replicant und The Evil Within. Insbesondere für die Implementierung von DirectX unter Linux wirkt sich auch die zweite Neuvorstellung positiv aus.

VKD3D-Proton 2.60: DX12 für Steam unter Linux

VKD3D-Proton 2.6, das als Fork auf der VKD3D-Codebasis speziell für Proton entwickelt wird um die Kompatibilität des Steam-Clients zu DirectX 12 unter Linux zu verbessern, korrigiert Fehler in Spielen wie beispielsweise Elden Ring, Herizon Zero Dawn, Final Fantasy VII: Remake und Guardians of the Galaxy.

Außerdem weisen die offiziellen Release Notes eine Beschleunigung der Ladezeiten unter anderem in Monster Hunter: Rise und Elden Ring aus. Age of Empires: IV erhält zudem ein fehlerbereinigtes Geometrie-Rendering.

Fixes
  • Fix black screen rendering bug in Horizon Zero Dawn after latest game updates.
  • Fix crashes on startup in Final Fantasy VII: Remake and Warframe.
  • Fix crashes in Guardians of the Galaxy when interacting with certain game objects.
  • Fix hang on game shutdown in Elden Ring.
  • Fix broken geometry rendering in Age of Empires: IV.
Optimization
  • Improve generated shader code for vectorized load-store operations in DXIL.
  • Greatly reduce CPU overhead for descriptor copy operations, which is a key contributor to CPU overhead in D3D12.
Features
  • Support D3D12 pipeline libraries better where we can now also cache generated SPIR-V from DXBC/DXIL.
  • Massively reduces subsequent load times in Monster Hunter: Rise, and helps other titles like Guardian of the Galaxy and Elden Ring.
  • Also lays the groundwork for internal driver caches down the line for games which do not use this API.
  • Also, deduplicates binary blobs for reduced disk size requirements.

Erstmals vollständig unterstützt werden unter anderem auch das Shader Model 6.6 sowie das neue Featureset der freien Grafik-API Vulkan 1.3, welche seit der Veröffentlichung der Version 7.1 auch von Wine unterstützt werden.

Steam Deck und SteamOS 3.0 als Triebfeder

Der in der Zwischenzeit bei ersten Spielern eingetroffene Zen-2-RNDA-2-Handheld-PC Steam Deck und das speziell dafür entwickelte und von Valve auf die Nutzung seiner hauseigenen Spiele-Vertriebsplattform Steam optimierte Betriebssystem SteamOS 3.0 sorgen insofern für Schwung beim Thema „Spielen unter Linux“ und ein hohes Entwicklungstempo.

Mehr zum Thema

Auch der freie Grafik-Stack Mesa 3D, die Windows-Kompatibilitätsschicht Wine und das darauf basierende Proton machen weiter Fortschritte, während mehr und mehr Spiele als „Steam Deck Verified“ eingestuft werden.

SteamOS 3.0 irgendwann für jedermann

Auch von SteamOS 3.0, das als freies Betriebssystem auf Basis von Arch Linux für andere Systeme erscheinen soll, gibt es neue Lebenszeichen. Wie die Website 9to5Linux zuerst berichtet hat, ist jetzt erstmals ein Systemabbild für die Wiederherstellung („Recovery Image“) erschienen. Dabei handelt es sich aber um ein speziell für das Steam Deck angepasstes Systemwerkzeug zur Wiederherstellung und nicht um ein reguläres Systemabbild, das die Installation auf beliebigen Rechnern ermöglicht.

For all the tinkerers out there, please note that this system image is not quite SteamOS 3 yet. Depending on what you try to install it on (desktop, another handheld, refrigerator, toaster), it may not work properly. SteamOS 3 proper will come out sometime after launch (and even then it may not work on your toaster).

Valve

Während Valve das Release von SteamOS 3.0 sehr unspezifisch mit „irgendwann nach der Vorstellung“ des Steam Decks ankündigt, liefert die offizielle Website von SteamOS nach wie vor Version 2.195 vom 18. Juli 2019 aus. Der Internetauftritt der Distribution wurde ebenfalls jahrelang nicht aktualisiert.

Mehr zum Thema

Von den Verbesserungen in DXVK 1.10, VKD3D-Proton 2.60, Proton 7.0 sowie Mesa 21.3.7 für das Spielen unter Linux profitieren aber auch alle anderen Distributionen mit entsprechenden Quellen.

Update 28.03.2022 10:47 Uhr

DXVK 1.10.1 mit Verbesserungen für GTA, God of War und Rayman

In der Zwischenzeit haben die Entwickler des freien „DirectX-zu-Vulkan-Übersetzers“ DXVK das erste Point-Release mit der Version 1.10.1 freigegeben, das noch einmal bei den Spielen GTA: San Andreas, God of War und Rayman Origins sowie Assassin's Creed 3, Assassin's Creed IV: Black Flag und Frostpunk nachbessert.

Die offiziellen Release Notes auf der Entwicklerplattform GitHub listen zudem Optimierungen für das Shader Model 4.0, einen verbesserten Vendor-ID-Override sowie eine höhere Leistung in einigen D3D11-Spielen mit den Grafiktreiber von Nvidia.

Features
  • Implemented initial support for shared resources. This fixes video playback in a number of Koei Tecmo games, as well as the D3D11-based UI in the Windows version of Black Mesa. The required wine patches are currently only available in Proton Experimental. This feature will not be supported on Windows systems.
  • This feature is still experimental and has not been thoroughly tested on all graphics drivers, so issues are to be expected. Currently, only basic 2D texture sharing between D3D9 and D3D11 is supported when using DXVK for both APIs. API features that are currently not supported include:
    • IDXGIKeyedMutex. Documentation is very poor and it's not clear how an implementation is supposed to behave.
    • Resource sharing with D3D12 applications under vkd3d-proton. This may be added in the future.
    • Resource sharing with Vulkan applications.
    • Note: The Black Mesa UI flickers heavily when the game is not GPU-bound. This also happens on Windows to some degree and is a game bug.
Bug fixes and Improvements
  • Added an environment variable DXVK_ENABLE_NVAPI to bypass the vendor ID override. Setting it to 1 behaves exactly the same as setting dxvk.nvapiHack = False in the config file, but may allow for better integration into Lutris or the Proton launch script.
  • Improved shader code generation when local arrays are used. This may improve performance on Nvidia drivers in some D3D11 games.
  • Fixed shader code generation when switch-case fallthrough is used in Shader Model 4.0. Current FXC versions no longer generate such code.
  • Potentially improved performance when rendering to DXGI_FORMAT_R11G11B10_FLOAT images that can also be used with unordered access views.
  • Fixed various D3D9 issues related to texture uploads.
  • Assassin's Creed 3, Black Flag: Enabled d3d11.cachedDynamicResources = a to work around severe performance issues.
  • Frostpunk: Enabled d3d11.cachedDynamicResources = c to work around low CPU-bound performance.
  • God of War: Fixed some issues that started with game patch 1.0.9:
    • Extremely inconsistent frame pacing when the game detects an AMD GPU, dxgi.maxFrameLatency = 1 is now set by default to work around this issue.
    • Heavy flickering of some lights. Apparently this was also fixed in the game in patch 1.0.11.
  • GTA: San Andreas: Fixed UI rendering issues.
  • Rayman Origins: Fixed rendering issues.