Quand un jeu rame, le premier réflexe est souvent de changer dix réglages au hasard. Le bon réflexe est de mesurer, puis de changer une chose à la fois. GLF OS livre pour cela quatre outils complémentaires, déjà installés : une jauge à l'écran, un optimiseur système, un compositeur dédié au jeu, et un filtre d'image. Voici à quoi sert chacun, et quand s'en servir.
Remarque
Ces quatre outils sont fournis avec la distribution. Si l'un d'eux manque chez vous, vérifiez ses bascules dans GLF Customizer, section gaming, entrées « Overlay : MangoHud » et « Overlay : GOverlay ».
MangoHud : savoir ce qui se passe
MangoHud affiche par-dessus le jeu les images par seconde, la charge du processeur et de la carte graphique, leurs températures, la mémoire utilisée. C'est l'outil qui répond à la seule question qui compte au départ : qu'est-ce qui limite, le processeur ou la carte graphique ?
Pour l'activer sur un jeu Steam, clic droit sur le jeu, Propriétés, champ Options de lancement :
mangohud %command%
Hors de Steam, préfixez simplement la commande :
mangohud monjeu
Le raccourci pour afficher ou masquer la jauge est Maj droite + F12. Retenez-le : il évite d'avoir à relancer le jeu pour se débarrasser de l'affichage, et il n'entre pas en conflit avec la touche F12 seule, que vous avez peut-être attribuée à autre chose.
La configuration vit dans ~/.config/MangoHud/MangoHud.conf. Vous pouvez l'éditer à la main, mais il y a plus confortable.
GOverlay : régler MangoHud sans éditer de fichier
GOverlay est l'interface graphique de MangoHud et de vkBasalt. Vous cochez ce que vous voulez voir, dans quel ordre, avec quelles couleurs et quels seuils d'alerte, et l'aperçu se met à jour en direct. Le fichier de configuration est écrit pour vous.
C'est aussi par GOverlay que se règle vkBasalt, dont il est question plus bas.
GameMode : demander au système de se concentrer
GameMode, de Feral Interactive, bascule le système en mode performance le temps de la partie : gouverneur de fréquence du processeur, priorité du processus, réglages de la carte graphique. Le gain est réel sur les machines qui passent leur temps à économiser l'énergie, portables en tête, et négligeable sur une tour déjà réglée au maximum.
Il est déjà activé sur GLF OS. Pour qu'un jeu en profite :
gamemoderun %command%
Pour vérifier qu'il tourne bien pendant une partie, depuis un terminal :
gamemoded -s
La réponse est gamemode is active quand un jeu l'a demandé, gamemode is inactive sinon.
gamescope : un compositeur rien que pour le jeu
gamescope crée un petit serveur d'affichage dédié, dans lequel le jeu tourne isolé du reste du bureau. C'est la brique qui équipe la Steam Deck, et elle résout des problèmes que rien d'autre ne règle :
- un jeu qui gère mal le changement de fenêtre, qui se minimise ou se fige en alt-tab ;
- un jeu bloqué dans une définition qui ne correspond pas à votre écran ;
- la mise à l'échelle, pour faire tourner un jeu en 1080p affiché proprement sur un écran 1440p, avec un gain de performance à la clé ;
- le verrouillage de la fréquence d'images, utile sur un portable pour tenir la chauffe et l'autonomie.
Un exemple complet, à mettre dans les options de lancement :
gamescope -W 2560 -H 1440 -f -- %command%
-W et -H donnent la définition de la fenêtre gamescope, -f demande le plein écran, et tout ce qui suit -- est le jeu. Pour faire tourner le jeu en 1080p tout en affichant en 1440p, ajoutez -w 1920 -h 1080 en minuscules, qui décrivent la définition interne.
Remarque
Sur GLF OS, gamescope est livré sans la capacité de priorité temps réel. Ce choix est délibéré : avec cette capacité, l'environnement d'exécution de Steam perd ses variables de bibliothèques et les jeux lancés sous gamescope refusent de démarrer. Vous perdez un gain de priorité mineur, vous gagnez des jeux qui se lancent.
vkBasalt : retoucher l'image
vkBasalt est un filtre qui s'insère dans la chaîne graphique Vulkan. Il apporte de la netteté adaptative, un effet de contraste local, et quelques filtres de type ReShade. C'est très efficace sur un jeu au rendu un peu mou, ou quand vous jouez à une définition inférieure à celle de l'écran.
Il ne s'active pas tout seul. Ajoutez la variable dans les options de lancement :
ENABLE_VKBASALT=1 %command%
En jeu, la touche Début (Home) bascule l'effet, ce qui permet de comparer avec et sans en une seconde. Les filtres et leur intensité se règlent dans GOverlay, ou dans ~/.config/vkBasalt/vkBasalt.conf.
Les combiner
Ces outils s'empilent, dans cet ordre :
ENABLE_VKBASALT=1 mangohud gamemoderun gamescope -W 2560 -H 1440 -f -- %command%
Astuce
Ne commencez jamais par cette ligne. Mettez d'abordmangohud %command%seul, jouez cinq minutes, et regardez. Si la carte graphique est à 99 pour cent, le processeur n'y changera rien. Si c'est le processeur qui sature, baisser la définition ne servira à rien. Une fois que vous savez ce qui limite, vous savez quoi essayer.
En cas de problème
- La jauge MangoHud ne s'affiche pas. Vérifiez que le jeu utilise bien Vulkan ou OpenGL, et non une couche particulière qui contourne la surcouche. Essayez aussi Maj droite + F12, elle est peut-être simplement masquée.
- Le jeu ne se lance plus après ajout de gamescope. Retirez les options une à une. Certaines combinaisons de définition ne conviennent pas à certains jeux, et un jeu qui gère lui-même le plein écran s'accommode parfois mal de
-f. gamemoded -srépond toujours inactive. Le jeu n'a pas été lancé avecgamemoderun, ou le lanceur relance le jeu dans un autre processus. C'est fréquent avec les lanceurs tiers, où il faut mettre le préfixe dans le lanceur et non dans Steam.- vkBasalt ne change rien. La variable doit être devant la commande, et le jeu doit utiliser Vulkan. En Direct3D traduit par Proton, c'est le cas, mais un jeu OpenGL natif ne verra rien.
- Tout est plus lent avec les surcouches. Elles ont un coût, faible mais réel. Retirez-les une fois vos mesures faites, elles sont là pour diagnostiquer, pas pour rester en permanence.