Besser Spielen unter Linux: DXVK 2.0 ist ein weiteres wichtiges Puzzleteil

Sven Bauduin
121 Kommentare
Besser Spielen unter Linux: DXVK 2.0 ist ein weiteres wichtiges Puzzleteil
Bild: Valve

DXVK ist eine freie Programmbibliothek, die DirectX in den Versionen 9, 10 und 11 für die offene Grafikschnittstelle Vulkan übersetzt und die Kompatibilität und Leistung vieler bekannter Spiele unter Linux verbessert. Die jetzt erschienene Version 2.0 ist ein weiteres enorm wichtiges Puzzleteil für besseres Spielen unter Linux.

Verbesserter Support für viele bekannte Spiele

Wie bei den vorangegangenen Releases von DXVK 1.9.2, das insbesondere den CPU-Overhead reduzieren konnte, DXVK 1.9.3, welches erstmals Nvidia DLSS 2.0 unter Linux bot, sowie DXVK 1.10, 1.10.2 und 1.10.3 werden mit der neuesten Version auch wieder diverse Spiele besser unterstützt, die zuvor noch für Probleme sorgen konnten.

DXVK 2.0 bietet Optimierungen und Fehlerkorrekturen für insgesamt 17 Spiele, darunter bekannte Titel wie Metal Gear Solid V und Grand Theft Auto IV.

  • The Ship
  • Alan Wake
  • Sonic Generations
  • Grand Theft Auto IV
  • Alice Madness Returns
  • Anomaly: Warzone Earth
  • SiN Episodes: Emergence
  • Heroes Of Annihilated Empires
  • Metal Gear Solid V: Ground Zeroes
  • Spider Man: Shattered Dimensions
  • Limit King Of Fighters XIII
  • Beyond Good and Evil
  • Warhammer Online
  • Dragon Age Origins
  • Empire: Total War
  • Final Fantasy XV
  • Ys Seven

Durch eine weiter optimierte Direct3D-auf-Vulkan-Implementierung sind auch bei anderen Spielen höhere Bildwiederholraten zu erwarten. Das vom Philip Rebohle alias doitsujin auf der Entwicklerplattform GitHub gepflegte Open-Source-Projekt macht auch diesbezüglich von Release zu Release weiter große Fortschritte.

Support für Direct3D 11 Feature Level 12_1

DXVK 2.0 unterstützt jetzt unter anderem auch das Direct3D 11 Feature Level 12_1 mit Conservative Rasterization Tier 1 bis Tier 3 und Rasterizer Ordered Views sowie eine nochmals optimierte Shader-Kompilierung durch die Verwendung von EXT_graphics_pipeline_library. Hinzu kommen eine verbesserte Speicherverwaltung und optimierte Ladezeiten durch eine effizientere Übersetzung von Direct3D zu Vulkan 1.3.

DXVK als nativer Ersatz für D3D-Anwendungscode

Mit dem Release der Version 2.0 geht auch erstmals die Aufnahme von DXVK-Native als „Drop-in-Ersatz“ für die Portierung von D3D-Anwendungscode auf Linux einher, was es Entwicklern zukünftig deutlich leichter machen soll, native Linux-Builds zu erstellen ohne dabei den Rendering-Code anpassen zu müssen.

Für die Direct3D-10-Implementierung wurden die beiden unvollständigen D3D-Implementierungen d3d10.dll sowie d3d10_1.dll zugunsten der Wine-Implementierung dieser DLLs zur Unterstützung von D3D10-Spielen entfernt.

DXVK ist ein wichtiges Puzzlestück

DXVK 2.0 ist ein bedeutendes Update und ein wichtige Puzzleteil für das immer besser werdende Spielen unter Linux, zu dem unter anderem auch der 3D-Grafik-Stack Mesa 3D und Valves Proton ihren Teil beitragen.

Für Spieler, die den DirectX-zu-Vulkan-Übersetzer selbst für ihr System kompilieren möchten, steht DXVK 2.0 jetzt über die Projektseite auf GitHub zum Download bereit und soll zeitnah auch in die jeweiligen stabilen Repositories der bekannten Linux-Distributionen aufgenommen werden. Auch der Quellcode (ZIP) kann entsprechend eingesehen werden.

D3D9 changes
  • Memory management improvements
    • In order to reduce the likelihood of running out of address space in 32-bit D3D9 games, DXVK will now use memory-mapped files to store shadow copies of textures. This allows us to unmap memory that is not being used by the game, thus freeing up significant amounts of address space, up to several hundred Megabytes. See PR #2663 for implementation details.
    • On drivers which support VK_EXT_attachment_feedback_loop_layout, reading from an active render target in D3D9 games is now properly supported, which previously caused rendering artifacts on newer AMD hardware and required driver-level workarounds. This affects a number of games, including GTA IV.
D3D10 changes
  • DXVK previously shipped incomplete implementations of d3d10.dll and d3d10_1.dll, but has not installed them by default since Version 1.6 since wine's implementation provides more features that are needed for D3D10 games to run, including the D3D10 Effects framework.
  • Since our implementation is incomplete and has not been used by Proton or Lutris for a very long time, DXVK will no longer ship these DLLs starting with this release. The D3D10 API itself is still supported via d3d10core.dll.
D3D11 changes
  • Feature support
    • DXVK now exposes D3D11 Feature Level 12_1 with the following newly added features:
      • Tiled Resources up to Tier 3, provided that the corresponding Vulkan sparse binding and sparse residency features are supported
      • Conservative Rasterization up to Tier 3, provided that the corresponding Vulkan conservative rasterization features are supported.
      • Rasterizer Ordered Views, provided that the corresponding Vulkan fragment shader interlock features are supported.
    • While no games are known to use these features directly in D3D11, some games and game launchers rely on feature support being consistent between D3D11 and D3D12 in order to allow users to enable D3D12 in the game options. While our implementation of these feature is generally functional, there may be bugs or performance issues in case a game does use them.

Weitere Informationen liefern wie immer die offiziellen Release Notes.

Die Redaktion dankt Community-Mitglied „konkretor“ für den Hinweis zu dieser Meldung.