Recalbox sur TV CRT en RGB
-
Bonjour,
J'ai fait acheté récemment un cable VGA > Peritel et un HDMI > VGA, j'ai branché ça au RPI2 et à ma TV Sony Trinitron 4:3. J'ai constaté que seuls les modes suivants étaient supportés : 576i 480i et 240p. Je les ai tous testés, et finalement j'ai constaté 2 choses, le 480i permet de mieux afficher Emulationstation, mais il scintille trop. Le 240p est beaucoup plus net mais Emulationstation le supporte mal, les graphismes ne se mettent pas bien à l'échelle. J'ai constaté aussi que le 240p nécessite que je passe l'affichage en 8:3 sur recalbox pour obtenir un plein écran. Du coup j'ai configuré config.txt pour CEA 6 (480i), et recalbox.conf sur CEA 8 (240P). L'image du jeu est presque parfaite quand on passe en 8:3 mais il y a un peu de scintillement lors du scrolling, et le lissage une fois activé est bcp trop fort, du coup je ne trouve pas de réglage qui permet de trouver l'équilibre entre le scintillement et le lissage trop flou. Est-ce qu'il y a un paramètre qui permet d'éliminer ce scintillement sans trop flouter l'image ? Deuxième question : j'ai des problèmes avec l'overscan. Quand je le désactive Emulationstation déborde de l'écran, mais l'image dans Retroarch ne produit pas de marges lorsque je la règle. Inversement lorsque j'active l'overscan pour caler Emulationstation, les marges noires viennent gâcher la fête dans Recalbox. Peut-on régler ces deux paramètres de manière indépendante ? Troisième question : comment faire pour sauvegarder et charger au démarrage des paramètres personnalisés comme la résolution de Retroarch Pcengine, Super Nintendo, etc... Si vous avez des conseils pour m'aider à résoudre ces problèmes et obtenir une image RGB la plus proche des consoles je serais super reconnaissant.
-
Sur un CRT, soit t'es en basse résolution sans scintillement, soit t'es en "haute résolution" mais avec scintillement (entrelacement). Pas le choix.
On peut réduire l'effet de scintillement par du lissage mais ES ne doit pas le gérer.- Pour ES, soit tu fais avec ce scintillement (480i), soit tu trouves/créés un thème pour du 240p.
- Pour les jeux, vaut mieux rester en 240p car c'est la résolution des jeux 8bits/16bits.
(pas de lissage et pas de shader ou alors un shader léger qui va réduire ce scintillement).
Donne nous la référence de tes câbles, au cas ou.
J'ai constaté aussi que le 240p nécessite que je passe l'affichage en 8:3 sur recalbox pour obtenir un plein écran
Tu parles de RetroArch ou de EmulationStation, Recalbox, c'est le tout.est-ce qu'il y a un paramètre qui permet d'éliminer ce scintillement sans trop flouter l'image
Essais différents shaders.Pour l'overscan, je pense qu'il est réglé au boot et une bonne fois pour tout. Suis pas sur de pouvoir le changer a la volée a chaque lancement/fin de jeu.
Pour les résolutions et les aspect ration de chaque émulateur, voir le wiki :
https://github.com/recalbox/recalbox-os/wiki/recalbox.conf-(FR)..... exemple .....
snes.videomode=CEA 4 HDMI
snes.shaders=/recalbox/share/shaders/shaders_glsl/snes.glsl
snes.ratio=4/3
snes.smooth=0
.....D'autres auront probablement des idées/infos a te donner.
-
@ironic Salut, merci pour tes réponses
Pour le cable je l'ai acheté chez retrocables.es, j'ai ouvert le cable, il n'a rien d'anormal, tout est bien relié les pins R V B Sync Audio Left Audio Right et GND Sync, il y a une resistance entre la pin de commutation et un cable usb, et un gnd usb pour le gnd de commutation. La seule chose que j'ai trouvé légère, c'est une simple résistance reliant le sync horizontal et le sync vertical. Peut-être est-ce insuffisant ? J'ai trouvé des schémas sur le net proposant de mettre en plus de la résistance des diodes, et d'autres schemas avec des condensateurs en plus des résistances...
J'ai constaté aussi que le 240p nécessite que je passe l'affichage en 8:3 sur recalbox pour obtenir un plein écran
Oui c'est bien Retroarch que je voulais dire. D'ailleurs je ne suis plus en 8:3, mais en 720x240 customJe pense qu'une solution en soft serait bonne provisoirement, le temps de trouver une manière d'atténuer ce scintillement en soft. Pour mieux décrire le scintillement, quel serait le shader que je pourrais utiliser pour l'atténuer en minimisant le lag ?
La résolution de retroarch est configurée en 720x240p, je n'ai plus de problème d'overscan, ce n'est pas pixel perfect mais c'est h**ogène.
Le scintillement que j'ai en 240p s'apparente à des lignes horizontales de tearing lors du scrolling vertical si ça peut aider à cerner le problème. Pas de tearing en scrolling horizontal.
Merci pour vos conseils !
-
Pour la qualité du câble, je peut rien te dire.
Le Ratio a 8:3 est étrange.
Essaie plutôt le (si t'as pas déjà essayé) :
CEA hdmi_mode=23 288p 50 HzLes TV PAL on une résolution verticale de 576i.
576/2 = 288Mais normalement en 240p, tu devrait egalement avoir un affichage 4;3
Si t'as du tearing, c'est qu'il y a pas de synchro verticale, rien a voir avec l'entrelacement.
De plus, si t'es en 240p, ya pas d'entrelacement. ou plutôt si mais comme les lignes sont identiques, ca ne se voit pas.
T'est bien en 60Hz en 240p ? (Ah, je vois pas de 50Hz pour le 240p donc ca doit etre bon).
Peut être que ta TV reste en 50Hz.Un shader qui réduit le scintillement ... si t'es en 240p, comme je l'ai dis, ya pas d'entrelacement donc pas de shader possible pour réduire cet effet.
Si t'as du scintillement (de l'entrelacement), ça doit piquer les yeux même en pause dans un jeu.J'aurais bien aimé avec le même matos que toi pour essayer et ne pas dire des trucs dans le vent, désolé.
Je me souvient que sur mon Amiga 500 et sur mon vieux CRT, je pouvais monter jusqu'en 640x512 et ça scintillait fort (en 320x512 également, c'est la résolution verticale qui compte). On utilisait donc un petit programme résident qui lissait un peut le tout et rendait l'affichage supportable.
On pouvait même monter en 1280x512 mais c’était inexploitable...J’espère t’être utile et pour ma culture personnelle, je suis ton poste avec attention.
-
Salut, j'ai fait quelques recherches qui m'ont permis d'enlever le tearing, mais sur le chemin un tas de question m'arrivent à l'esprit. Mon objectif étant d'obtenir un rendu le plus proche possible de la console en hardware. En fait il faut vraiment se concentrer sur une seule console sinon on est vite perdu.
Prenons le cas de la Snes. Elle sort d'origine du 256x240p50hz et du 256x224p60hz. Si la résolution en NTSC est plus basse comment se fait-il qu'elle passe en fullscreen en NTSC et qu'en PAL on a les bandes noires ? L'option pixel perfect poussait l'emulateur à me mettre en 768x240p, mais je crois que ma télé est en 240p60hz quand je rentre 224p en resolution verticale sur Retroarch le tearing disparait..
Première question : Je n'arrive pas bien à comprendre comment fonctionne le pixel perfect. Ce sont des valeurs prédéfinies stockees comme un preset ou c'est une fonction qui trouve automatiquement le bon ratio ? Il y aurait des chances que ces resolutions soient faussées par une liste qui ne prend pas en compte les différentes résolutions verticales en fonction de la fréquence ? Je suis étonné qu'elle ne propose pas le 224p.
Deuxième question : Il y a une autre truc que je ne comprends pas, je suis en 720x240p (CEA 8), et l'option pixel perfect me propose 768x240 pour la Snes, or je sais que je dois passer en 224 maintenant, est-ce que je dois modifier aussi la resolution horitonale en conséquence 768 ? Ce sont des choses qui m'échappent complètement. Car d'emblée je ne comprends pas comment la télé produit des bandes noires en PAL alors qu'elle sort du 240p qui est supérieur au 224p Si la Snes dispose de deux resolutions, 256x240p 256x224p quel ratio est le bon ?
Troisième question, quand on définit une resolution dans recalbox.conf pour l'emulateur est-ce que ça correspond à un espace téléviseur ou la résolution de sortie de la console ? Je pose la question parceque je me demande si je dois créer une résolution custom pour chaque emulateur en dehors du CEA 8 en plus de regler Retroarch.
Dernière question : J'ai le problème des bandes noires et du tronquage ou le tearing, que je n'arrive pas à résoudre... Une idée ?
-
pourquoi tu n'utilises tout simplement pas la sortie composite du pi ???
-
@subs Parceque ce n'est pas du RGB, c'est horrible comme rendu...
-
@ironic J'ai bien vérifié, la télé est bien en 60hz, quand on passe en 50hz le framerate tombe... Je suis étonné qu'on ne puisse pas sortir du 280p en 60hz (PAL-60) d'ailleurs... Là en faisant le tour je me suis rendu compte que je suis coincé un peu par le fait d'avoir à choisir entre le tearing et les bandes noires/debordement parceque la télé n'accepte d'afficher correctement que la resolution réelle de la console, et que je n'arrive pas à éliminer les bandes noires et les débordements dans Retroarch, car l'overscan est valable pour toute la session de Raspberry Pi et pas par parametres custom de Retroarch
-
Les résolutions sur un CRT c'est extrêmement compliqué ou plutôt complexe.
C'est vrai que c'est la jungle ces résolutions et comme on peut avoir plusieurs résolutions par consoles...
La SNES affiche bien du 256x240 mais seulement 256x224 sont utilisés pour afficher des pixels. (NTSC).
Il y a donc 2 lignes de pixels noirs en haut et en bas (des-fois invisible car les TV sont plus ou moins bien réglées).En PAL, on affiche une image de 240 pixels de haut (dont 224 sont utilisés) sur une résolution de 256 pixels de haut.
(suis pas sur mais c'est a peu près ça).
C'est pour ça qu'on a toujours des bandes noires sur les consoles avec des TV PAL contrairement a des TV NTSC.Pour le pixels perfect, faut pas oublier que les pixels ne sont pas carré !!!
L'option pixel perfect de RetroArch, utilise un multiple en résolution vertical pour que tous les pixels soient de taille identique.
Il te multiplie la résolution verticale/honrizontale et t'interdit autre chose.
Si ta résolution de RetroArch est de, par exemple, 1280x1024 et que tu veux afficher la SNES (256x240), il te propose :- 256x240
- 256x480
- 256*720
- 256*960
- 512x240
- 512x480
- 512*720
- 512*960
- 768x240
- 768x480
- 768*720
- 768*960
- 1024x240
- 1024x480
- 1024*720
- 1024*960
...
Je disait que les pixels ne sont pas carré, a ne pas oublier.
Exemple, si on prend une capture d'écran d'un jeu SNES, on aura en sortie une image de 256x240 avec des bandes noires en haut et en bas de 8 pixels.Si on affiche cette image sur nos moniteurs, on aura une image/ratio déformée.
Ici : 256x240 (L'image est en 512x480 pour mieux voir).Pour avoir un affichage correct de 4:3, il faut modifier la capture.
L'image doit être de 256x192 (ici 512x384).
C'est pour cela que vous verrez que vos scraps de jeux ne sont pas fidèles aux jeux.
quand on définit une resolution dans recalbox.conf pour l'emulateur est-ce que ça correspond à un espace téléviseur ou la résolution de sortie de la console ?
C'est la résolution envoyé au moniteur, rien a voir avec l’émulateur et ça résolution.Utilise pas le pixels perfect, défini ta propre "résolution" (ou plutôt format de sortie) d'affichage dans RetroArch.
Comme ça tu occuperas un maximum de l’écran sans déformation.
Le tearing est forcement du a la synchro, rien d'autre. -
@ironic Merci pour tous ces détails ! Si le tearing est dû à la synchro pourquoi disparait-il en 224p ? L'image est parfaite à l'exception des bandes noires. Comment résoudre ce problème de synchro ? Par le hardware ou software ?
-
je suis coincé un peu par le fait d'avoir à choisir entre le tearing et les bandes noires/debordement
Tu peux faire ce que tu veux sous RetroArche, agrandir ou diminuer en X et en Y, pixel par pixel, l'affichage de l'émulation.
Le but et de caler la surface d'affichage du jeu sur la surface visible de ta TV.RETROARCH MENU
- Aspect Ratio Index : CUSTOM
- Custom Ratio : (A toi de caler ton coin gauche/haut et droit/bas)
- Integer Scale : OFF
Affichage "normal"
Affichage modifié 1
Affichage modifié 2
-
@ironic c'est justement là le problème, lorsque je change la taille de la résolution verticale par rapport à celle d'origine de la console (224p toujours dans le cas de la snes en 60hz) le tearing apparait
-
J'ai reglé le problème côté Retroarch, c'était l'overscan que j'avais mis au début pour caler Emulationstation, le 224p60hz tourne en fullscreen à présent ! Bon il faut que je trouve une méthode pour qu'emulationstation rentre en 4:3 !
-
Sujet très intéressant car je souhaite faire de même. Garder la résolution native du système d'origine.
Question bête mais on fait comment pour modifier la résolution dans recalbox ?
Merci -
Si tu veux jouer avec les resolutions d'origine il te faut une télé CRT pour accepter du 240p60hz, c'est une resolution qui passe mal sur les télés modernes. Il faut bidouiller config.txt pour passer le signal adapté à ces télés. Ne pas mettre d'overscan, éviter l'acquisition d'EDID, hdmi_drive=2 pour sortir le son depuis le convertisseur hdmi-vga en jack, ignorer le hdmi_safe, et enfin te munir d'un cable convertisseur hdmi > vga puis cable vga > peritel. Ensuite il faut régler la résolution sur recalbox.conf en 240p en créant un CVT custom, j'ai mis 1920x240p60hz. Puis sur les émulateurs un par un sur retroarch en respectant la résolution verticale d'origine que tu trouves sur wikipedia (224, 240 etc...). Il te calera directement ça quasiment en fullscreen car c'est proche du 240p, la résolution horizontale tu l'adaptes pour te rapprocher du 4/3, si t'es pointilleux tu fais un rapport de proportion avec la résolution d'origine. Une fois que tu connais la résolution d'origine évite le pixel perfect qui aura tendance à ne pas te donner assez de flexibilité pour customiser. Voilà pour moi ça a marché du feu de dieu, le rendu est magnifique, j'ai passé la chose en 1920x240p, et ça sort un signal super propre. Mon seul souci maintenant c'est emulationstation, je n'arrive pas à régler ses proportions, je l'ai mis en 480i depuis config.txt mais il déborde allègrement car je pense qu'il était conçu pour du 16/9, et quand je touche à l'overscan je tombe dans le problème que j'avais... une image avec des marges...
-
Pour EmulationStation, ça doit être le thème qui pose probleme.
Il faudrait essayer un thème adapté pour du 640x480. -
J'ai créé un résolution custom avec sur config.txt pour les émulateurs avec la ligne hdmi_cvt=1920 240 1 0 0 1 1, ça crée un mode hdmi sur mesure sur la liste des DMT, c'est le 87, est-il possible d'en créer d'autres pour déterminer une résolution qui forcerait une déformation ? Sinon il n'y a pas un moyen d'incruster l'affichage dans des bandes noires sans interferer avec l'affichage des ému ? Bricoler le thème est long et fastidieux pour les mises à jour...
-
Le thème rexalbox est en svg, il te pose problème ? Tu peux faire un screen sous ES (utilise la commande
raspi2png
stp et profite du png généré) -
il déborde de l'écran sur les 4 côtés, le screen m'a sorti une image aux bonnes dimensions pourtant... il faudrait un overscan mais le problème c'est que ça affecte les emulateurs...
-
@reivax le theme recalbox a été conçu pour quelle résolution au minimum ?