Avec la croissance des jeux Linux, de nombreux utilisateurs ont commencé à chercher des moyens appropriés d'afficher le compteur «Frames par seconde» (FPS) comme superposition sur l'exécution de jeux Linux. Un compteur FPS aide à modifier les performances des jeux en cours d'exécution ainsi qu'à l'analyse comparative d'une capacité globale d'un PC à jouer à des jeux à différentes résolutions.
Malheureusement, il n'y a pas de moyen unifié unique d'afficher le compteur FPS dans tous les jeux Linux qui sont indépendants des technologies sous-jacentes qu'un jeu fonctionne sur. Différents rends et API ont des façons différentes d'afficher le compteur FPS. Ce guide expliquera diverses méthodes qui peuvent être utilisées pour afficher un compteur FPS dans les jeux Linux.
Méthode 1 (vapeur)
Remarques de compatibilité:
Steam for Linux comprend un compteur FPS intégré qui peut être basculé à partir des paramètres. C'est probablement l'une des options les plus compatibles qui fonctionne avec la majorité des jeux Linux. Cependant, j'ai eu des problèmes avec les jeux Unity Engine n'affichant pas le comptoir FPS intégré. Cette option vous oblige également à faire installer un compte Steam et un client Steam sur votre système.
Steam vous permet même d'ajouter des jeux non achetés de Steam à la bibliothèque de jeux et le compteur FPS intégré fonctionne également dans ces jeux. Pour ajouter un jeu non Steam, cliquez sur «Jeux», puis cliquez sur «Ajouter un jeu non steam à ma bibliothèque», comme indiqué dans la capture d'écran ci-dessous:
Parcourez l'emplacement de vos fichiers de jeu, puis basculez l'option «tous les fichiers» en bas.
Sélectionnez l'exécutable du jeu, puis cliquez sur «Ajouter des programmes sélectionnés» comme indiqué dans la capture d'écran ci-dessous:
Si vous souhaitez exécuter un jeu Windows uniquement dans la couche de compatibilité des protons de Steam, vous devrez activer une option supplémentaire dans les propriétés du jeu.
J'ai ajouté l'exécutable SuperTuxkart dans la bibliothèque Steam, et le compteur FPS fonctionne bien ici également. Notez que tous les jeux tiers ajoutés à la bibliothèque Steam ne doivent pas avoir d'espaces dans leur chemin d'emplacement de fichier.
Méthode 2 (libgl)
Remarques de compatibilité:
Libgl est une bibliothèque Mesa qui expose les API OpenGL aux applications et aux jeux et il est inclus dans presque toutes les distributions Linux par défaut. En utilisant cette bibliothèque et un autre package qui crée un affichage HUD sur Visible, nous afficherons un compteur FPS dans les jeux Linux. Exécutez la commande suivante pour installer le package requis:
sudo apt installer xosd-bin
Pour afficher le compteur FPS dans les jeux Linux natifs, utilisez la commande ci-dessous après avoir remplacé / chemin / vers / exécutable par votre propre chemin exécutable de jeu. Vous pouvez en savoir plus sur toutes les options OSD-CAT à partir d'ici.
Libgl_show_fps = 1 / path / to / exécutable 2> & 1 | tee / dev / stderr | sed -u -n -e '/ ^ libgl: fps = / s /.* \ ([^] * \) = / \ 1 /; P '| OSD_CAT --LIONS = 1 --Color = Yellow --outLine = 1 - -pos = TOP --Align = Left
Pour afficher le compteur FPS dans les jeux Windows fonctionnant sur Linux via le vin, utilisez la commande ci-dessous après avoir remplacé / chemin / vers / exécutable par votre propre chemin exécutable de jeu.
Winedebug = FPS Wine / Path / To / Exécutable 2> & 1 | tee / dev / stderr | sed -u -n -e '/ trace / s /.* Environ // p '| OSD_CAT --LIONS = 1 --Color = Yellow --outLine = 1 - -pos = TOP --Align = Center
Si vous utilisez un préfixe de vin, la commande serait (remplacer / path / to / wine / préfixe et / path / to / exécutable):
Winedebug = fps wineprefix = / path / to / wine / préfixe wine / path / to / exécutable 2> & 1 | tee / dev / stderr | sed -u -n -e '/ trace / s /.* Environ // p '| OSD_CAT --LIONS = 1 --Color = Yellow --outLine = 1 - -pos = TOP --Align = Center
Cette méthode a une petite limitation. Bien que vous puissiez personnaliser le HUD OSD-CAT, il reste à une position fixe sur la zone d'affichage sans prendre en considération la géométrie de la fenêtre du jeu. Dans la capture d'écran ci-dessus, le compteur FPS est illustré au-dessus de la fenêtre de jeu, pas à l'intérieur. Les jeux qui se déroulent en plein écran ne sont pas affectés par cela.
Méthode 3 (Gallium3d)
Remarques de compatibilité:
Gallium3d est une API qui facilite le développement de pilotes pour les cartes graphiques en fournissant un ensemble de bibliothèques et d'interfaces standard. Les pilotes open source AMD et NVIDIA sont construits sur Gallium3d.
Pour afficher le compteur FPS dans les jeux Linux natifs, utilisez la commande ci-dessous après avoir remplacé / path / vers / exécutable par votre propre chemin exécutable de jeu:
Gallium_hud = "simple, fps" / path / to / exécutable
Pour afficher le compteur FPS dans les jeux Windows fonctionnant sur Linux via le vin, utilisez la commande ci-dessous après avoir remplacé / chemin / vers / exécutable par votre propre chemin exécutable de jeu.
Gallium_hud = "Simple, FPS" Wine / Path / To / Exécutable
Si vous utilisez un préfixe de vin, la commande serait (remplacer / path / to / wine / préfixe et / path / to / exécutable):
Gallium_hud = "simple, fps" wineprefix = / path / to / wine / préfixe wine / path / to / exécutable
Dans la capture d'écran ci-dessus, j'utilise une variable Gallium_hud personnalisée qui montre également les températures GPU et CPU. Cette commande personnalisée est différente pour différentes configurations de PC. Pour en savoir plus sur toutes les options de personnalisation, exécutez les commandes:
sudo apt install mesa-utils
Gallium_hud = aider GlxGears
Juste pour référence, voici la commande personnalisée que j'ai utilisée dans les captures d'écran ci-dessus:
Gallium_hud = "Simple, fps; capteurs_temp_cu-amdgpu-pCI-1c00.temp1; capteurs_temp_cu-k10temp-pci-00c3.Tdie "/ path / vers / exécutable
Méthode 4 (superposition Mesa Vulkan)
Remarques de compatibilité:
Mesa Vulkan Overlay est une nouvelle couche Vulkan ajoutée aux constructions récentes de Mesa. Il affiche diverses informations sur l'application en cours d'exécution à l'aide d'une superposition.
Pour afficher le compteur FPS dans les jeux Linux natifs, utilisez la commande ci-dessous après avoir remplacé / path / vers / exécutable par votre propre chemin exécutable de jeu:
Vk_instance_layers = vk_layer_mesa_overlay vk_layer_mesa_overlay_config = position = top-left / path / to / exécutable
Pour afficher le compteur FPS dans les jeux Windows fonctionnant sur Linux via le vin et DXVK, utilisez la commande ci-dessous après avoir remplacé / path / vers / exécutable par votre propre chemin exécutable de jeu:
Vk_instance_layers = vk_layer_mesa_overlay vk_layer_mesa_overlay_config = position = wine top-gauche / path / to / exécutable
Si vous utilisez un préfixe de vin, la commande serait (remplacer / path / to / wine / préfixe et / path / to / exécutable):
Vk_instance_layers = vk_layer_mesa_overlay vk_layer_mesa_overlay_config = position = top-left wineprefix = / path / to / wine / prefix wine / path / to / exécutable
Méthode 5 (DXVK HUD)
Remarques de compatibilité:
DXVK fournit une couche de traduction basée sur Vulkan pour D3D10 et D3D11 permettant aux utilisateurs de jouer aux jeux Direct3D 10/11 sur Linux. D9VK utilise le backend DXVK pour fournir une implémentation directe3d9 supplémentaire qui peut être utilisée pour jouer à des jeux construits sur D3d9.
Pour afficher le compteur FPS dans les jeux DXVK fonctionnant sur Linux via le vin, utilisez la commande ci-dessous après avoir remplacé / path / vers / exécutable par votre propre chemin exécutable de jeu:
DXVK_HUD = FPS WIN / PATH / TO / EXECTATILE
Si vous utilisez un préfixe de vin, la commande serait (remplacer / path / to / wine / préfixe et / path / to / exécutable):
Dxvk_hud = fps wineprefix = / path / to / wine / préfixe wine / path / to / exécutable
Cela marque la fin de ce post. Pour conclure, je mentionnerais un petit détail omis d'en haut. Toutes les méthodes non steam expliquées ci-dessus fonctionneront également pour les jeux Steam. Vous devez remplacer «/ path / to / exécutable» ou «Wine / Path / To / EXECTITABLE» ou «WinePrefix = / Path / To / Wine / Prefix Wine / Path / To / Executable» avec «% Command%» dans le mêmes commandes utilisées ci-dessus. Ajoutez simplement la commande complète pour lancer des options dans les propriétés du jeu à l'intérieur de l'application Steam, comme indiqué dans la capture d'écran ci-dessous:
Nouvelle mise à jour: Méthode 6 (Mangohud)
Mangohud est un compteur FPS universel pour Linux qui montre des cadres en temps réel par seconde pour presque tous les jeux qui peuvent fonctionner sur Linux. Il fonctionne avec des jeux indigènes et viticoles et fonctionne bien avec les rendus OpenGL et Vulkan. En plus des FP, il montre également les charges CPU et GPU. Voici une petite animation montrant à quoi cela ressemble en tant que superposition (crédits GIF):
Mangohud a été intégré à la console de jeu portable basée sur Linux de Valve appelée «Steam Deck» (lancé en 2022). Il est disponible dans les référentiels par défaut de la dernière version d'Ubuntu, vous pouvez donc l'installer en exécutant la commande ci-dessous:
$ sudo apt install mangohud
Vous pouvez en installer la dernière version dans Ubuntu et d'autres distributions Linux en téléchargeant sa nouvelle version à partir d'ici. Une fois téléchargé, extraire l'archive et exécuter la commande suivante pour l'installer:
$ ./ mangohud-setup.SH INSTALLATION
Vous pouvez maintenant utiliser Mangohud avec n'importe quel jeu Linux en exécutant une commande dans le format suivant (remplacer le chemin du fichier):
$ mangohud / path / to / game / exécutable / fichier
Si vous exécutez un jeu à partir du client Steam, accédez à la boîte de dialogue Propriétés du jeu en cliquant avec le bouton droit sur un titre de jeu installé. Dans le champ «Options de lancement», ajoutez la commande suivante pour activer Mangohud pour ce jeu:
$ mangohud% Command%
Par défaut, Mangohud montre des métriques de jeu détaillées, comme indiqué dans l'animation ci-dessus. Si vous souhaitez personnaliser la taille et la disposition de la superposition, vous pouvez modifier son vaste fichier de configuration en suivant les instructions officielles disponibles ici.