GPU Screen Recorder - Enregistrez votre écran sans perte de FPS

par Korben -

Voici un petit outil bien pratique pour enregistrer votre écran sous Linux sans faire cramer votre CPU ! Ça s’appelle GPU Screen Recorder et ça utilise quasi exclusivement la puissance de votre carte graphique (GPU) pour enregistrer votre écran, en réduisant au maximum l’impact sur les performances de votre système.

Plus de processeur qui gargouille à mort dès que vous lancez une capture vidéo et cela que vous ayez une carte NVIDIA, AMD ou Intel, ce sera votre fidèle GPU qui se tapera tout le boulot, un peu comme ce fameux ShadowPlay sous Windows pour ceux qui connaissent.

Et niveau fonctionnalités et codecs vidéo/audio supportés, on est plutôt bien lotis :

  • Codec vidéo H264 (par défaut sur Intel)
  • Codec vidéo HEVC (par défaut sur AMD et NVIDIA)
  • Codec vidéo AV1 (sauf sur NVIDIA avec la version Flatpak)
  • Codecs audio Opus (par défaut) et AAC
  • Capture écran en mode offline, streaming live ou replay façon ShadowPlay
  • Compatible Wayland… mais seulement pour capturer des écrans entiers

Bon, y’a encore 2-3 bugs et features en cours de dev comme le support HDR (un enfer à implémenter apparemment), mais l’essentiel est que ça fonctionne déjà comme un charme sur la plupart des configurations.

Par contre, pour ceux qui utilisent le driver NVIDIA et qui veulent capturer leur écran en Wayland, va falloir mettre votre plus beau cosplay de Neo et passer en mode “sudo” pour permettre au programme d’accéder en root au pipeline graphique. Sinon, en utilisant une fenêtre X11 simple, pas de soucis, le programme tournera en mode user classique.

Côté performances, ça décoiffe sévère quand on compare à OBS Studio + NVEnc sur un bon gros jeu en 4K. Pour vous donner une idée, on passe de 7 FPS de moyenne sur Zelda BoTW avec OBS+NVEnc à 30 FPS constants avec GPU Screen Recorder sur un GPU de bourgeois (GTX 1080). Pareil sur GTA V @ 4K, avec OBS+NVEnc on se tape des chutes à 23 FPS, contre du quasi constant à 58 FPS avec notre soft magique même quand le GPU crache ses poumons à 100% de charge.

Au final, les vidéos capturées sont bien plus fluides qu’avec OBS, avec une qualité au poil bien qu’il soit recommandé de rester sur des réglages “High” ou “Very High” max. Encodez en “Ultra” uniquement si vous avez un SSD de riche et l’envie de stocker des vidéos de 3h qui font chacune la taille du déficit de la France…

Bon allez, maintenant que je vous ai vendu du rêve, comment qu’on fait pour chopper et installer cette petite merveille ? Plusieurs options s’offrent à vous :

  • Les archeux et assimilés (manjaro, endeavour…) : yay -S gpu-screen-recorder-git
  • Les ubuntistes et autres debianeux : clonez le git et lancez le script install.sh en root (n’oubliez pas les dépendances)
  • Les adeptes de Flatpak (GPU Screen Recorder GTK) : tout simplement depuis Flathub !

Une fois installé, jouez avec le programme en ligne de commande comme un grand :

gpu-screen-recorder -w screen -f 60 -a "$(pactl info)" -o mavideo.mp4

… pour lancer une capture 60 FPS de tous vos écrans + l’audio par défaut (micro + sortie son), le tout sauvegardé dans le fichier mavideo.mp4. Facile non ? Pour des usages plus avancés genre capture fenêtre, replay, streaming live… je vous laisse creuser la doc.

Bref, c’est un outil super pratique pour tous ceux qui veulent enregistrer leurs sessions de jeu sous Linux sans perdre en fluidité.

Merci à Lorenper pour le partage !