So zeigen Sie den FPS-Zähler in Linux-Spielen an

How Show Fps Counter Linux Games



Linux-Gaming hat einen großen Schub bekommen, als Ventil angekündigt Linux-Unterstützung für den Steam-Client und seine Spiele im Jahr 2012. Seitdem haben viele AAA- und Indie-Spiele den Weg zu Linux gefunden und die Anzahl der Benutzer, die unter Linux spielen, ist erheblich gestiegen.

Mit dem Wachstum von Linux-Spielen begannen viele Benutzer nach geeigneten Wegen zu suchen, um den Frames per Second (FPS)-Zähler als Overlay für laufende Linux-Spiele anzuzeigen. Ein FPS-Zähler hilft bei der Optimierung der Leistung von laufenden Spielen sowie beim Benchmarking der Gesamtfähigkeit eines PCs, Spiele in verschiedenen Auflösungen zu spielen.







Leider gibt es keine einheitliche Möglichkeit, den FPS-Zähler in allen Linux-Spielen anzuzeigen, der unabhängig von den zugrunde liegenden Technologien ist, auf denen ein Spiel ausgeführt wird. Verschiedene Renderer und APIs haben unterschiedliche Möglichkeiten, den FPS-Zähler anzuzeigen. In diesem Handbuch werden verschiedene Methoden erläutert, mit denen ein FPS-Zähler in Linux-Spielen angezeigt werden kann.



Kompatibilitätshinweise:



  • Funktioniert mit OpenGL- und Vulkan-Spielen.
  • Funktioniert mit nativen Spielen und Proton Proton ist eine in Steam enthaltene Kompatibilitätsschicht zum Ausführen von Windows-Spielen unter Linux. Es basiert auf Wein , DXVK und D9VK Open-Source-Projekte mit zusätzlichen Patches und neuen Funktionen, die von Valve/Wine-Entwicklern hinzugefügt wurden.
  • Funktioniert mit Spielen, die bei Steam gekauft wurden, oder Spielen von Drittanbietern, die vom Benutzer zu Steam hinzugefügt wurden.
  • Getestet mit integrierten Intel- und AMD-Grafikkarten.
  • Ungetestet mit NVIDIA-Karten, da ich keine NVIDIA-Karte besitze. Aber laut Steam-Community-Foren funktioniert der integrierte FPS-Zähler auf NVIDIA-Karten gut.

Steam für Linux enthält einen integrierten FPS-Zähler, der in den Einstellungen umgeschaltet werden kann. Dies ist wahrscheinlich eine der am besten kompatiblen Optionen, die mit den meisten Linux-Spielen funktioniert. Ich hatte jedoch einige Probleme mit Spielen der Unity-Engine, die den integrierten FPS-Zähler nicht anzeigten. Diese Option erfordert auch, dass Sie ein Steam-Konto und einen Steam-Client auf Ihrem System installiert haben.







Mit Steam können Sie sogar Spiele, die nicht bei Steam gekauft wurden, zur Spielebibliothek hinzufügen und der integrierte FPS-Zähler funktioniert auch in diesen Spielen. Um ein Nicht-Steam-Spiel hinzuzufügen, klicken Sie auf Spiele und dann auf Ein Nicht-Steam-Spiel zu meiner Bibliothek hinzufügen, wie im folgenden Screenshot gezeigt:

Navigieren Sie zum Speicherort Ihrer Spieldateien und schalten Sie dann die Option Alle Dateien unten um.

Wählen Sie die ausführbare Datei des Spiels aus und klicken Sie dann auf AUSGEWÄHLTE PROGRAMME HINZUFÜGEN, wie im Screenshot unten gezeigt:

Wenn Sie ein reines Windows-Spiel in der Proton-Kompatibilitätsebene von Steam ausführen möchten, müssen Sie eine zusätzliche Option in den Spieleigenschaften aktivieren.

Ich habe die ausführbare SuperTuxKart-Datei in der Steam-Bibliothek hinzugefügt, und der FPS-Zähler funktioniert auch hier einwandfrei. Beachten Sie, dass Spiele von Drittanbietern, die der Steam-Bibliothek hinzugefügt werden, keine Leerzeichen in ihrem Dateipfad enthalten sollten.

Methode 2 (LibGL)

Kompatibilitätshinweise:

  • Funktioniert nur mit OpenGL-Spielen.
  • Funktioniert mit nativen Spielen und Wine-Spielen.
  • Getestet mit integrierten Intel- und AMD-Grafikkarten mit Open-Source-Treibern.
  • Ungetestet mit NVIDIA-Karten, da ich keine NVIDIA-Karte besitze. Es sollte jedoch mit NVIDIA-GPUs mit Open-Source-Treibern funktionieren.

LibGL ist eine Mesa-Bibliothek, die OpenGL-APIs für Apps und Spiele bereitstellt und standardmäßig in fast allen Linux-Distributionen enthalten ist. Mit dieser Bibliothek und einem anderen Paket, das ein HUD auf sichtbarer Anzeige erstellt, zeigen wir einen FPS-Zähler in Linux-Spielen. Führen Sie den folgenden Befehl aus, um das erforderliche Paket zu installieren:

sudogeeignetInstallierenxosd-bin

Um den FPS-Zähler in nativen Linux-Spielen anzuzeigen, verwenden Sie den folgenden Befehl, nachdem Sie /path/to/executable durch Ihren eigenen ausführbaren Spielpfad ersetzt haben. Sie können mehr über alle osd-cat-Optionen erfahren von Hier .

LIBGL_SHOW_FPS=1 /Pfad/zu/ausführbare Datei 2>&1 |
tee /dev/stderr | sed -u -n -e '/^libGL: FPS = /{s/.* ([^ ]*)= /1/;p}' |
osd_cat --lines=1 --color=yellow --outline=1 --pos=top --align=left

Um den FPS-Zähler in Windows-Spielen anzuzeigen, die unter Linux über Wine ausgeführt werden, verwenden Sie den folgenden Befehl, nachdem Sie /path/to/executable durch Ihren eigenen ausführbaren Spielpfad ersetzt haben.

WINEDEBUG=fps wine /path/to/executable 2>&1 | tee /dev/stderr |
sed -u -n -e '/trace/ s/.*approx //p' | osd_cat --lines=1 --color=gelb
--outline=1 --pos=top --align=center

Wenn Sie ein Wine-Präfix verwenden, lautet der Befehl (ersetzen Sie /path/to/wine/prefix und /path/to/executable):

WINEDEBUG=fps WINEPREFIX=/Pfad/zu/Wein/Präfix Wein
/Pfad/zu/ausführbare Datei 2>&1 | tee /dev/stderr | sed -u -n -e '/trace/ s/
.*ungefähr //p' | osd_cat --lines=1 --color=yellow --outline=1 --pos=top
--align=center

Diese Methode hat eine kleine Einschränkung. Sie können das osd-cat HUD zwar anpassen, es bleibt jedoch an einer festen Position im Anzeigebereich, ohne die Geometrie des Spielfensters zu berücksichtigen. Im obigen Screenshot wird der FPS-Zähler über dem Spielfenster angezeigt, nicht darin. Spiele im Vollbildmodus sind davon nicht betroffen.

Methode 3 (Gallium3D)

  • Funktioniert nur mit OpenGL-Spielen.
  • Funktioniert mit nativen Spielen und Wine-Spielen.
  • Getestet mit AMD-Grafikkarten mit Open-Source-Treibern.
  • Die Gallium3D-Unterstützung für Intel läuft noch, funktioniert also noch nicht.
  • Ungetestet mit NVIDIA-Karten, da ich keine NVIDIA-Karte besitze. Da der NVIDIA Open Source-Treiber Gallium3D-fähig ist, sollte diese Methode funktionieren.
  • Gallium3D ist eine API, die die Entwicklung von Treibern für Grafikkarten erleichtert, indem sie eine Reihe von Standardbibliotheken und Schnittstellen bereitstellt. AMD- und NVIDIA-Open-Source-Treiber basieren auf Gallium3D.

    Um den FPS-Zähler in nativen Linux-Spielen anzuzeigen, verwenden Sie den folgenden Befehl, nachdem Sie /path/to/executable durch Ihren eigenen ausführbaren Spielpfad ersetzt haben:

    GALLIUM_HUD='einfach, fps' /Weg/zu/ausführbar

    Um den FPS-Zähler in Windows-Spielen anzuzeigen, die unter Linux über Wine ausgeführt werden, verwenden Sie den folgenden Befehl, nachdem Sie /path/to/executable durch Ihren eigenen ausführbaren Spielpfad ersetzt haben.

    GALLIUM_HUD='einfach, fps' Wein /Weg/zu/ausführbar

    Wenn Sie ein Wine-Präfix verwenden, lautet der Befehl (ersetzen Sie /path/to/wine/prefix und /path/to/executable):

    GALLIUM_HUD='simple,fps' WINEPREFIX=/path/to/wine/prefix wine /path/to/executable

    Im obigen Screenshot verwende ich eine angepasste GALLIUM_HUD-Variable, die auch die GPU- und CPU-Temperaturen anzeigt. Dieser benutzerdefinierte Befehl ist für verschiedene PC-Konfigurationen unterschiedlich. Um mehr über alle Anpassungsoptionen zu erfahren, führen Sie Befehle aus:

    sudogeeignetInstallierenTabellen-Utilities
    GALLIUM_HUD=Hilfeglxgears

    Nur als Referenz, hier ist der benutzerdefinierte Befehl, den ich in den obigen Screenshots verwendet habe:

    GALLIUM_HUD='einfach,fps;sensors_temp_cu-amdgpu-pci-1c00.temp1;
    sensor_temp_cu-k10temp-pci-00c3.Tdie '
    /Weg/zu/ausführbar

    Methode 4 (Vulkan-Overlay-Tabelle)

    Kompatibilitätshinweise:

    • Funktioniert nur mit Vulkan-Spielen.
    • Funktioniert nur mit Ubuntu 19.10+ und anderen Distributionen mit dem neuesten Mesa mit vulkan Overlay Layer.
    • Funktioniert mit nativen Spielen und Steam Proton-Spielen, die mit DXVK/D9VK-Unterstützung laufen.
    • Funktioniert mit Wine-Spielen, die mit DXVK/D9VK-Bibliotheken laufen.
    • Arbeitsstatus für Wine’s unbekannt Vkd3d . Da es sich um eine Vulkan-Schicht handelt, sollte sie mit allem funktionieren, solange Mesa mit VK_LAYER_MESA_overlay-Unterstützung erstellt wird.
    • Getestet mit AMD-Grafikkarten und integrierten Intel-Karten mit Open-Source-Treibern.
    • Ungetestet mit NVIDIA-Karten, da ich keine NVIDIA-Karte besitze. Da es sich um eine Vulkan-Schicht handelt, sollte sie mit allem funktionieren, solange Mesa mit VK_LAYER_MESA_overlay-Unterstützung erstellt wird.

    Vulkan-Overlay-Tabelle ist eine neue Vulkan-Schicht, die den letzten Builds von Mesa hinzugefügt wurde. Es zeigt verschiedene Informationen über die laufende Anwendung mithilfe eines Overlays an.

    Um den FPS-Zähler in nativen Linux-Spielen anzuzeigen, verwenden Sie den folgenden Befehl, nachdem Sie /path/to/executable durch Ihren eigenen ausführbaren Spielpfad ersetzt haben:

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=links oben /Pfad/zu/ausführbare Datei

    Um den FPS-Zähler in Windows-Spielen anzuzeigen, die unter Linux über Wine und DXVK ausgeführt werden, verwenden Sie den folgenden Befehl, nachdem Sie /path/to/executable durch Ihren eigenen ausführbaren Spielpfad ersetzt haben:

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=oben links Wein /Pfad/zu/ausführbare Datei

    Wenn Sie ein Wine-Präfix verwenden, lautet der Befehl (ersetzen Sie /path/to/wine/prefix und /path/to/executable):

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG=Position=oben-links
    WINEPREFIX=/Pfad/zu/Wein/Präfix Wein /Pfad/zu/ausführbare Datei

    Methode 5 (DXVK-HUD)

    Kompatibilitätshinweise:

    • Funktioniert nur mit Vulkan-Spielen, die in Wine und Proton mit DXVK/D9VK-Libs laufen.
    • Getestet mit AMD- und integrierten Intel-Grafikkarten mit Open-Source-Treibern.
    • Ungetestet mit NVIDIA-Karten, da ich keine NVIDIA-Karte besitze. Der Quellcode enthält Commits, die NVIDIA-Unterstützung erwähnen, sodass diese Methode funktionieren sollte.

    DXVK bietet eine Vulkan-basierte Übersetzungsschicht für D3D10 und D3D11, mit der Benutzer Direct3D 10/11-Spiele unter Linux spielen können. D9VK verwendet das DXVK-Backend, um eine zusätzliche Direct3D9-Implementierung bereitzustellen, die zum Spielen von Spielen verwendet werden kann, die auf D3D9 basieren.

    Um den FPS-Zähler in DXVK-Spielen anzuzeigen, die unter Linux über Wine ausgeführt werden, verwenden Sie den folgenden Befehl, nachdem Sie /path/to/executable durch Ihren eigenen ausführbaren Spielpfad ersetzt haben:

    DXVK_HUD= fpsWein /Weg/zu/ausführbar

    Wenn Sie ein Wine-Präfix verwenden, lautet der Befehl (ersetzen Sie /path/to/wine/prefix und /path/to/executable):

    DXVK_HUD= fpsWEINPREFIX=/Weg/zu/Wein/PräfixWein /Weg/zu/ausführbar

    Dies markiert das Ende dieses Beitrags. Abschließend möchte ich noch ein kleines Detail erwähnen, das oben weggelassen wurde. Alle oben erläuterten Nicht-Steam-Methoden funktionieren auch für Steam-Spiele. Sie müssen /path/to/executable or wine /path/to/executable or WINEPREFIX=/path/to/wine/prefix wine /path/to/executable durch %command% in den gleichen Befehlen wie oben ersetzen. Fügen Sie einfach den vollständigen Befehl hinzu, um Optionen in den Spieleigenschaften in der Steam-App zu starten, wie im folgenden Screenshot gezeigt: