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-binUm 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)
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: 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. Wenn Sie ein Wine-Präfix verwenden, lautet der Befehl (ersetzen Sie /path/to/wine/prefix und /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: Nur als Referenz, hier ist der benutzerdefinierte Befehl, den ich in den obigen Screenshots verwendet habe: Kompatibilitätshinweise: 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: 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: Wenn Sie ein Wine-Präfix verwenden, lautet der Befehl (ersetzen Sie /path/to/wine/prefix und /path/to/executable): Kompatibilitätshinweise: 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: Wenn Sie ein Wine-Präfix verwenden, lautet der Befehl (ersetzen Sie /path/to/wine/prefix und /path/to/executable): 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:
GALLIUM_HUD=Hilfeglxgears
sensor_temp_cu-k10temp-pci-00c3.Tdie ' /Weg/zu/ausführbar Methode 4 (Vulkan-Overlay-Tabelle)
VK_LAYER_MESA_OVERLAY_CONFIG=Position=oben-links
WINEPREFIX=/Pfad/zu/Wein/Präfix Wein /Pfad/zu/ausführbare Datei Methode 5 (DXVK-HUD)