Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Retropie using jpac hdmi to vga on an arcade monitor



  • Hi All

    I`ve spent a lot of time trying to get this right but there always seems to be a compromise.

    I have an arcade monitor that is 15khz and I`m using a J-Pac and HDMI to VGA converter.

    Using these settings in config.cfg:
    hdmi_cvt=1920 240 60 1 1 0 0
    hdmi_ignore_edid=0xa5000080
    hdmi_pixel_encoding=2
    hdmi_group=2
    hdmi_mode=87
    hdmi_force_hotplug=1

    results in a squished up retropie command line and emulationstation but is really good for RetroArch.

    Using these settings in config.cfg:
    hdmi_cvt=320 240 60 1 1 0 0
    hdmi_ignore_edid=0xa5000080
    hdmi_pixel_encoding=2
    hdmi_group=2
    hdmi_mode=87
    hdmi_force_hotplug=1

    results in the command line looking huge and emulationstation looking terrible. RetroArch doesn`t look good either using that setting.

    I also used:
    hdmi_group=1
    hdmi_mode=8

    but this results in squished menus and

    hdmi_group=1
    hdmi_mode=6

    which uses 480i but then the emulators look terrible.

    Has anyone got a better setup suggestion?

    Thanks


  • Global Moderator

    You can use a normal resolution for Emulationstation - and the system as a whole - then switch the resolution on the fly when starting the emulator using the Runcommand onstart/onend script support - see here for details.
    You can get an idea on how to do this by looking at this setup for a start. You can see how the resolution is switched in the onstart/onend scripts.



  • @mitu

    Thanks



  • @mitu

    I've looked through the retrotink start ups and they are using hdmi timings which i haven't got working with a hdmi-vga adapter.

    Do i need a different type of specifying what i want in the Runcommand?


  • Global Moderator

    @M3th0D said in Retropie using jpac hdmi to vga on an arcade monitor:

    Do i need a different type of specifying what i want in the Runcommand?

    Probably yes, you can add your own timings instead of the ones in those scripts, I linked to them to give you an idea on how to use the onstart/onend scripting abilities and switch the resolution on the fly. It also contains resolution presets for RetroArch for each system so you can also adjust those to fit your own resolution.
    You can also experiment with the Runcommand launch options and choose your own resolution from there, but it might not include the resolution you want. The idea is the same - switching the resolution when starting an emulator.



  • @mitu I see that you can set specific things such as:

    custom_viewport_width = 1920
    custom_viewport_height = 224
    custom_viewport_x = 0
    custom_viewport_y = 0

    in each retroarch.cfg

    I still have an issue with the hdmi timings. I have tried a few different variants but i only get a blank screen when doing so.

    The only way I can get an image is using:

    hdmi_cvt=1920 240 60 1 1 0 0

    but this doesn't work in the runcommand onstartup.

    My current code in runcommand-onstart.sh:

    hdmi_group=2
    hdmi_mode=87
    hdmi_cvt=1920 240 60 1 1 0 0

    Doesn't seem to do anything.


  • Global Moderator

    @M3th0D Those are not commands, they're just configuration parameters for the config.txt . You can't just add them to the onstart script since they're not commands.
    Have you looked at the scripts I linked ? To change the resolution from the scripts, you'd need to have something like

    vcgencmd hdmi_cvt 1920 240 60 1 1 0 040870000 1
    tvservice -e "DMT 87"
    fbset -depth 32 && fbset -depth 32 -xres 1920 -yres 240
    


  • @mitu I did read through and tried it with the code you provided:

    vcgencmd hdmi_cvt 1920 240 60 1 1 0 040870000 1
    tvservice -e "DMT 87"
    fbset -depth 32 && fbset -depth 32 -xres 1920 -yres 240

    Unfortunately it results in the screen not syncing when i start an emulator.


  • Global Moderator

    @M3th0D So the screen stays blank after that ? You can try a more precise hdmi_timing and see if you find one that fits for your hardware - you can look in https://github.com/Vykyan/retroTINK-setup/blob/master/opt-retropie-configs-all/runcommand-onstart.sh to see what the numbers mean or try with one of the pre-defined hdmi_timing commands to see if one fits your display. I'm not sure how the pixel_encoding and ignore_edid would translate into the tvservice commands though.



  • @mitu It doesn't blank but the picture is scrambled/out of sync.

    On my J-pac, the sync light doesn't hold.

    The videmodes.cfg allows me to change from CEA to DMT but when doing so it has black boarders on the top and bottom of the screen.



  • I tried recalbox and you can use:

    system.es.videomode=CEA 6 HDMI

    global.videomode=DMT 87 HDMI

    in recalbox.conf file.

    Is there something similar for retropie?


  • Global Moderator

    @M3th0D said in Retropie using jpac hdmi to vga on an arcade monitor:

    Is there something similar for retropie?

    Yes, the video mode selection from Runcommand - that you just tried. The 'global' video mode is the one you set in your config.txt.



  • @M3th0D did you get it working after all.. ??



  • @MrCoffee

    I ended up using lakka. You can use cvt 320 x 240 in the config text if you want to use emulation station.



  • @M3th0D I was getting 15khz out of HDMI like you but i went into a hdmi to component converter, using retropie.. I came a cross this post when i was trying to work things out, and seen the runcommand , I used it but in a different way,,I got emulation station running in 480i, and retroarch running in 1600x240.. and it switches back to 480i when exiting games.

    https://retropie.org.uk/forum/topic/22467/hdmi-to-component-crt-help-runcommand/10

    just wanted to pass on the info.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.