Jeux

Comment afficher le compteur FPS dans les jeux Linux

Comment afficher le compteur FPS dans les jeux Linux
Les jeux Linux ont reçu une impulsion majeure lorsque Valve a annoncé la prise en charge de Linux pour le client Steam et leurs jeux en 2012. Depuis lors, de nombreux jeux AAA et indépendants ont fait leur chemin vers Linux et le nombre d'utilisateurs qui jouent sur Linux a considérablement augmenté.

Avec la croissance des jeux Linux, de nombreux utilisateurs ont commencé à rechercher des moyens appropriés d'afficher le compteur « images par seconde » (FPS) en tant que superposition sur l'exécution de jeux Linux. Un compteur FPS aide à peaufiner les performances des jeux en cours d'exécution ainsi qu'à évaluer la capacité globale d'un PC à jouer à des jeux à différentes résolutions.

Malheureusement, il n'existe pas de moyen unifié d'afficher le compteur FPS dans tous les jeux Linux qui soit indépendant des technologies sous-jacentes sur lesquelles un jeu s'exécute. Différents moteurs de rendu et API ont différentes manières d'afficher le compteur FPS. Ce guide expliquera les différentes méthodes qui peuvent être utilisées pour afficher un compteur FPS dans les jeux Linux.

Méthode 1 (Vapeur)

Remarques sur la compatibilité :

Steam pour 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 quelques problèmes avec les jeux du moteur Unity qui n'affichaient pas le compteur FPS intégré. Cette option nécessite également que vous ayez un compte Steam et un client Steam installés sur votre système.

Steam vous permet même d'ajouter des jeux non achetés sur 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 sur « Ajouter un jeu non-Steam à ma bibliothèque », comme indiqué dans la capture d'écran ci-dessous :

Accédez à l'emplacement de vos fichiers de jeu, puis activez 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é Proton 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 également bien ici. Notez que tous les jeux tiers ajoutés à la bibliothèque Steam ne doivent pas avoir d'espace dans leur chemin d'emplacement de fichier.

Méthode 2 (LibGL)

Remarques sur la compatibilité :

LibGL est une bibliothèque Mesa qui expose les API OpenGL aux applications et aux jeux et elle est incluse par défaut dans presque toutes les distributions Linux. En utilisant cette bibliothèque et un autre package qui crée un HUD sur un écran 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é /path/to/executable par votre propre chemin d'exécutable de jeu. Vous pouvez en savoir plus sur toutes les options osd-cat ici.

LIBGL_SHOW_FPS=1 /chemin/vers/exécutable 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

Pour afficher le compteur FPS dans les jeux Windows exécutés sur Linux via Wine, utilisez la commande ci-dessous après avoir remplacé /path/to/executable par votre propre chemin d'exécutable de jeu.

WINEDEBUG=fps wine /chemin/vers/exécutable 2>&1 | tee /dev/stderr |
sed -u -n -e '/trace/ s/.*environ //p' | osd_cat --lines=1 --color=jaune
--contour=1 --pos=top --align=center

Si vous utilisez un préfixe Wine, la commande serait (remplacez /path/to/wine/prefix et /path/to/executable) :

WINEDEBUG=fps WINEPREFIX=/chemin/vers/vin/préfixe vin
/chemin/vers/exécutable 2>&1 | tee /dev/stderr | sed -u -n -e '/trace/ s/
.*environ //p' | osd_cat --lines=1 --color=jaune --outline=1 --pos=top
--aligner=centre

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 compte la géométrie de la fenêtre de jeu. Dans la capture d'écran ci-dessus, le compteur FPS est affiché au-dessus de la fenêtre de jeu, pas à l'intérieur. Les jeux fonctionnant en plein écran ne sont pas affectés par cela.

Méthode 3 (Gallium3D)

  • Fonctionne uniquement avec les jeux OpenGL.
  • Fonctionne avec les jeux natifs et les jeux Wine.
  • Testé avec des cartes graphiques AMD avec des pilotes open source.
  • Le support Gallium3D pour Intel est en cours, donc ne fonctionne pas encore.
  • Non testé avec les cartes NVIDIA car je ne possède pas de carte NVIDIA. Étant donné que le pilote open source NVIDIA est activé pour Gallium3D, cette méthode devrait fonctionner.
  • Gallium3D est une API qui facilite le développement de pilotes pour cartes graphiques en fournissant un ensemble de bibliothèques et d'interfaces standards. Les pilotes open source AMD et NVIDIA sont basés sur Gallium3D.

    Pour afficher le compteur FPS dans les jeux Linux natifs, utilisez la commande ci-dessous après avoir remplacé /path/to/executable par votre propre chemin d'exécutable de jeu :

    GALLIUM_HUD="simple,fps" /chemin/vers/exécutable

    Pour afficher le compteur FPS dans les jeux Windows exécutés sur Linux via Wine, utilisez la commande ci-dessous après avoir remplacé /path/to/executable par votre propre chemin d'exécutable de jeu.

    GALLIUM_HUD="simple,fps" wine /chemin/vers/exécutable

    Si vous utilisez un préfixe Wine, la commande serait (remplacez /path/to/wine/prefix et /path/to/executable) :

    GALLIUM_HUD="simple,fps" WINEPREFIX=/chemin/vers/vin/préfixe wine /chemin/vers/exécutable

    Dans la capture d'écran ci-dessus, j'utilise une variable GALLIUM_HUD personnalisée qui affiche également les températures du GPU et du 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 installer mesa-utils
    GALLIUM_HUD=aide 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;sensors_temp_cu-amdgpu-pci-1c00.temp1;
    capteurs_temp_cu-k10temp-pci-00c3.Tdie" /chemin/vers/exécutable

    Méthode 4 (Superposition Mesa Vulkan)

    Remarques sur la compatibilité :

    La superposition Mesa Vulkan est une nouvelle couche Vulkan ajoutée aux versions 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/to/executable par votre propre chemin d'exécutable de jeu :

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=en haut à gauche /chemin/vers/exécutable

    Pour afficher le compteur FPS dans les jeux Windows exécutés sur Linux via Wine et DXVK, utilisez la commande ci-dessous après avoir remplacé /path/to/executable par votre propre chemin d'exécutable de jeu :

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=vin en haut à gauche /chemin/vers/exécutable

    Si vous utilisez un préfixe Wine, la commande serait (remplacez /path/to/wine/prefix et /path/to/executable) :

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG=position=en haut à gauche
    WINEPREFIX=/chemin/vers/vin/préfixe wine /chemin/vers/exécutable

    Méthode 5 (DXVK HUD)

    Remarques sur la compatibilité :

    DXVK fournit une couche de traduction basée sur Vulkan pour D3D10 et D3D11 permettant aux utilisateurs de jouer à des jeux Direct3D 10/11 sur Linux. D9VK utilise le backend DXVK pour fournir une implémentation Direct3D9 supplémentaire qui peut être utilisée pour jouer à des jeux construits sur D3D9.

    Pour afficher le compteur FPS dans les jeux DXVK exécutés sur Linux via Wine, utilisez la commande ci-dessous après avoir remplacé /path/to/executable par votre propre chemin d'exécutable de jeu :

    DXVK_HUD=fps wine /chemin/vers/exécutable

    Si vous utilisez un préfixe Wine, la commande serait (remplacez /path/to/wine/prefix et /path/to/executable) :

    DXVK_HUD=fps WINEPREFIX=/chemin/vers/vin/préfixe wine /chemin/vers/exécutable

    Ceci marque la fin de ce post. Pour conclure, je mentionnerais un petit détail omis d'en haut. Toutes les méthodes sans vapeur expliquées ci-dessus fonctionneront également pour les jeux Steam. Vous devez remplacer « /chemin/vers/exécutable » ou « vin /chemin/vers/exécutable » ou « WINEPREFIX=/chemin/vers/vin/préfixe wine /chemin/vers/exécutable » par « %command% » dans le mêmes commandes utilisées ci-dessus. Ajoutez simplement la commande complète pour lancer les options dans les propriétés du jeu dans l'application Steam, comme indiqué dans la capture d'écran ci-dessous :

    Outils utiles pour les joueurs Linux
    Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
    Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
    De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...
    Comment utiliser AutoKey pour automatiser les jeux Linux
    AutoKey est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script e...