← Blog

DirectX-HDR geht, Vulkan-HDR nicht: so prüfst du die Ursache

Vulkan-Spiele lesen HDR beim GPU-Treiber, und der versteckt es auf virtuellen Displays. Drei Checks zeigen, ob das dein Problem ist.

Auf demselben virtuellen Display streamen Desktop und DirectX-Spiele in HDR, aber ein Vulkan-Spiel meldet, HDR werde nicht unterstützt.

Zwei Fragen

Ein DirectX-11- oder DirectX-12-Spiel fragt Windows, ob das Display in HDR läuft. Ein Vulkan-Spiel fragt den Vulkan-Treiber der GPU nach den Formaten des Displays und sucht HDR10_ST2084_EXT, das die Treiber von NVIDIA und AMD auf einem virtuellen Display weglassen. Der HDR Vulkan layer von Punktfunk ergänzt es wieder.

So prüfst du es

Führ die Befehle in der PowerShell im Stream aus. vulkaninfo (Vulkan SDK; viele GPU-Treiber installieren es mit) prüft den Hauptbildschirm, standardmäßig also den Stream.

  1. Das Statistik-Overlay des Clients zeigt auf Detailed in der ersten Zeile HDR. Wenn nicht, siehe The stream is SDR.
  2. vulkaninfo | Select-String "PUNKTFUNK|ST2084" sollte VK_LAYER_PUNKTFUNK_hdr_inject und COLOR_SPACE_HDR10_ST2084_EXT auflisten.
  3. $env:DISABLE_PF_VKHDR = "1"; vulkaninfo | Select-String ST2084 schaltet den Layer in diesem Fenster ab: ST2084 verschwindet, genau wie für ein Spiel ohne Layer.

Was das Ergebnis bedeutet

  • Kein PUNKTFUNK: Der Layer ist nicht installiert. Führ den Installer erneut aus, mit angehaktem HDR Vulkan layer.
  • Kein ST2084 in Schritt 2: Das Display und damit die Sitzung laufen nicht in HDR. Zurück zu Schritt 1.
  • Beides da, das Spiel weigert sich trotzdem: Starte es neu, vielleicht hat es vor dem HDR-Start der Sitzung geprüft. Sonst ist es ausgeschlossen (Anti-Cheat-Liste, PF_VKHDR_EXCLUDE, DISABLE_PF_VKHDR).

Was du tun kannst: die Kurzfassung. Wie der Layer funktioniert: der Technik-Artikel.