|

Shaders RetroArch : comment retrouver un rendu CRT sans ralentir les jeux ?

Shaders RetroArch pour rendu CRT

Sur un écran plat moderne, les vieux jeux pixelisés n’ont plus du tout le même rendu qu’à l’époque. Les pixels sont trop nets, les couleurs trop crues, et tout ce qui faisait le charme visuel des jeux rétro sur tube cathodique (un vrai écran d’époque, épais et bombé) a disparu.

Les shaders de RetroArch permettent de retrouver ce rendu. Le réglage est moins compliqué qu’il n’y paraît.

C’est quoi un shader dans RetroArch ?

Un shader est un filtre visuel qui s’applique en temps réel à l’image affichée par l’émulateur. Il ne modifie pas le jeu lui-même, uniquement ce que vous voyez à l’écran.

RetroArch traite chaque image du jeu avec ce filtre avant de l’afficher. Cela permet d’ajouter plusieurs effets :

  • des lignes de balayage (les petites lignes horizontales visibles sur les vieux écrans CRT)
  • un léger flou caractéristique
  • la courbure de l’écran
  • la grille de pixels de la Game Boy

Techniquement, les shaders sont de petits programmes exécutés par votre carte graphique. Les plus simples sont donc rapides à calculer, même sur du matériel modeste.

Les shaders sont-ils disponibles par défaut dans RetroArch ?

Pas forcément. Selon votre installation, ils doivent parfois être téléchargés depuis RetroArch.

Voici la marche à suivre :

  1. Ouvrez le menu principal.
  2. Allez dans Mise à jour en ligne (Online Updater).
  3. Sélectionnez Mettre à jour les shaders Slang (Update Slang Shaders).

Le mot Slang désigne le format de shader recommandé lorsqu’il est disponible. Les formats GLSL et Cg disposent de leur propre entrée dans le même menu. Le Cg est un ancien format, aujourd’hui déconseillé.

Le téléchargement prend quelques minutes selon votre connexion. Une fois terminé, un grand nombre de shaders et de presets sont disponibles, rangés par catégorie.

Comment activer un shader dans RetroArch ?

Lancez un jeu, puis ouvrez le Menu Rapide (Quick Menu) avec la touche F1 ou avec la combinaison Hotkey + Menu sur votre manette.

Faites ensuite défiler jusqu’à Shaders et activez l’option Shaders vidéo. Utilisez enfin Charger un preset de shader pour choisir un réglage. Un preset est un fichier qui contient une configuration de shader prête à l’emploi.

Les presets sont classés dans des dossiers thématiques :

  • crt pour les effets tube cathodique
  • handheld pour les consoles portables, par exemple les meilleurs jeux Game Boy et leur grille de pixels
  • scalefx pour les effets de netteté moderne

Quel shader CRT choisir selon la puissance de son matériel ?

Les options légères

Si votre PC ou votre console de salon est modeste, ou si vous jouez sur un appareil portable, privilégiez les shaders CRT simples.

CRT-Hyllian ajoute des lignes de balayage et un effet de phosphore avec une charge raisonnable pour votre matériel. C’est un bon point de départ sur une machine d’entrée de gamme ou sur une console rétro portable sous Linux.

CRT-Geom ajoute la courbure de l’écran et un effet de brillance pour imiter un vrai écran CRT. Il reste accessible à la majorité des configurations et offre un rendu convaincant pour les jeux NES et Super Nintendo.

Les options avancées

CRT-Royale est l’un des shaders CRT les plus fidèles disponibles dans RetroArch. Il reproduit avec précision :

  • le masque de phosphore (le motif de points colorés visible de très près sur un vrai CRT)
  • la diffusion lumineuse
  • l’effet de bloom (le halo lumineux autour des zones claires)

En contrepartie, il exige une carte graphique assez puissante. Sur un PC gaming récent, il tourne généralement sans problème. Sur un appareil plus modeste, comme un Steam Deck, testez-le avant de l’adopter.

Mega Bezel Reflection Shader est une autre option très populaire. Il ajoute au rendu CRT un cadre décoratif avec le reflet d’une télévision rétro autour de l’écran. L’effet est spectaculaire, mais très gourmand en ressources.

Tableau comparatif des shaders CRT

ShaderEffet CRTExigence GPUIdéal pour
CRT-HyllianLignes de balayage et phosphoreFaible à modéréeMachines modestes, portables
CRT-GeomCourbure et brillanceModéréePC standard, consoles rétro
CRT-RoyaleFidélité maximaleÉlevéePC gaming récent
Mega BezelCRT et cadre TVTrès élevéePC haut de gamme

Les shaders ralentissent-ils toujours les jeux ?

Non. Les shaders simples ont en général peu d’impact sur les performances, même sur une configuration modeste. CRT-Royale et Mega Bezel peuvent en revanche faire chuter les images par seconde sur une machine peu puissante.

En cas de ralentissement, la meilleure solution est de passer à un shader moins exigeant. Vous pouvez aussi réduire le nombre de passes du preset dans le sous-menu Shaders du Menu Rapide.

Une précision importante : l’option Vidéo threadée (Threaded Video) n’est pas une solution pour alléger les shaders. Elle déplace le rendu vidéo sur un fil d’exécution séparé. Avec un shader trop lourd, cela peut provoquer des sauts d’images plutôt qu’un simple ralentissement, et rendre l’image moins fluide. Laissez-la désactivée, sauf si vous savez pourquoi vous en avez besoin.

Voici les systèmes qui profitent le plus des shaders CRT :

  • Les jeux NES et Super Nintendo, dont les graphismes ont été conçus pour un écran légèrement flou avec des lignes de balayage. Les meilleurs jeux Super Nintendo y gagnent beaucoup en cohérence visuelle.
  • Les jeux PlayStation 1, dont les textures en basse résolution gagnent en lisibilité avec un léger flou CRT
  • Les jeux d’arcade, nés sur des moniteurs à phosphore, qui retrouvent leur rendu d’origine. Une borne d’arcade 1UP offre d’ailleurs une expérience proche de celle d’origine.

Comment enregistrer un shader pour qu’il se charge automatiquement ?

Après avoir sélectionné et réglé votre shader dans le Menu Rapide, ouvrez Shaders, puis Enregistrer. Plusieurs niveaux sont proposés :

  • Enregistrer le preset global : le shader s’applique à tous les jeux, sur tous les cores
  • Enregistrer le preset du cœur : il s’applique à un seul émulateur
  • Enregistrer le preset du dossier de contenu : il s’applique aux jeux d’un même dossier
  • Enregistrer le preset du jeu : il s’applique à un seul jeu

Lorsque plusieurs presets existent, le plus précis l’emporte. Un preset de jeu passe donc avant un preset global. RetroArch charge ensuite le shader automatiquement à chaque lancement.

Pour un réglage sauvegardé sous le nom de votre choix, utilisez Enregistrer le preset de shader sous.

Les shaders fonctionnent-ils avec tous les pilotes vidéo ?

RetroArch propose plusieurs pilotes vidéo. Il s’agit de la couche technique qui fait le lien entre le logiciel et votre carte graphique.

Chaque format de shader est lié à des pilotes précis :

  • Slang : compatible avec Vulkan, Direct3D 10, 11 et 12, OpenGL Core et Metal
  • GLSL : destiné au pilote OpenGL
  • Cg : ancien format, parfois absent selon la compilation de RetroArch

Tous les shaders d’un même preset doivent être du même type. Si vous n’obtenez aucun effet, vérifiez donc que le format du preset correspond bien à votre pilote vidéo.

Questions fréquentes sur les shaders RetroArch

Je peux désactiver un shader si je n’aime pas le rendu ?

Oui. Dans le Menu Rapide, ouvrez Shaders et désactivez l’option Shaders vidéo. L’image revient aussitôt à son rendu d’origine.

Votre preset enregistré reste sur le disque. Vous pourrez donc le réactiver plus tard sans tout régler à nouveau.

Mon shader ne change rien à l’image, que vérifier ?

Commencez par vérifier que Shaders vidéo est bien activé. Contrôlez ensuite le format du preset : un preset Slang demande un pilote compatible Slang, un preset GLSL demande le pilote OpenGL.

Si vous avez mélangé des fichiers de formats différents dans un même preset, le résultat ne fonctionnera pas.

Je peux combiner plusieurs shaders en même temps ?

Oui. Les shaders peuvent être empilés pour cumuler les effets. Dans le sous-menu Shaders, vous pouvez ajouter un preset avant ou après la chaîne actuelle, puis régler le nombre de passes.

Gardez à l’esprit que chaque passe supplémentaire sollicite davantage votre carte graphique.

Je peux régler l’intensité des lignes de balayage ?

Oui, avec Paramètres du shader (Shader Parameters), dans le sous-menu Shaders. Les réglages disponibles dépendent du shader choisi. Ils s’appliquent avec un aperçu en direct pendant la partie.

Pensez à enregistrer ensuite un preset pour conserver vos réglages.

Je peux avoir un shader différent pour chaque console ?

Oui, grâce aux presets par cœur. Enregistrez un shader pour chaque émulateur, par exemple un rendu CRT pour la Super Nintendo et un rendu à grille de pixels pour la Game Boy.

Pour un jeu qui demande un réglage particulier, créez un preset de jeu. Il prendra le dessus sur les autres.

Sources 

  1. Libretro, documentation des shaders et presets : docs.libretro.com/guides/shaders
  2. Libretro, introduction aux shaders et formats compatibles : docs.libretro.com/shader/introduction
  3. Libretro, documentation du format Slang : docs.libretro.com/development/shader/slang-shaders
  4. Libretro, dépôt officiel des shaders Slang : github.com/libretro/slang-shaders

Publications similaires