Unsolved How to change resolution per-game?
-
-
This post is deleted! -
Quote: "The only way to define the screen size per game, as far as I know, is: start the game, press hotkey B to access the retroarch menu, press A to go to the Main menu, go to Settings, go to video, modify the "aspect ratio" to "custom", modify the 4 items below to what you want:
Custom aspect ratio x pos.
Custom aspect ratio and pos.
Custom aspect ratio width
Custom aspect ratio Height
After that, press A twice to back to the Main menu, go to Quick Menu, go to Configuration Override options, choose Save Game Overrides."**Only problem with using Custom Aspect Ratio is shimmering caused by scaling. For example, the game Frogger runs at 256p. I have the screen resolution running at DMT 87 which is 240p. The game will be stretched on the vertical axis and certain game HUD elements will be cut off. I could turn off Integer scaling and than adjust the image with the Custom Aspect Ratio settings, but because Integer Scaling is off I will get shimmering because it isn't displaying those pixels perfectly aka Pixel Perfect/Integer Scaling mode. The best solution would be running the emulator at a higher resolution than the game resolution which is 800x600 because 256 * 2 is 512. Even at 480p the image will still be cropped.
Quote: I found this:
https://forums.libretro.com/t/per-game-resolution-config-or-auto-change/4836**I looked at this and the settings suggested will not work for me, it's not a good solution as I would need to run all my MAME games as a whole in a higher resolution than 240p. I like 240p on my CRT because of scanlines. Can per-game video resolution not be implemented? If RetroPie can do it so can RecalBox. Certain games need to be run at different resolutions, don't only think of my reason for this, but others as well. Maybe it's not just because certain games are not scaled properly. For example, maybe some user has over 8 N64 games they play at 1080p. 3 out of those 8 games perform slowly at 1080p so maybe the user decides they just want those 3 games to run at 720p. See what I'm getting at here? Changing the resolution for specific games is very important. It's a very important setting that should be implemented, not just for my sake but for others as well.
-
-
Even if development team takes this feature, you will sit a long time for it to be done. Last recalbox release took ten months or so..
You could try asking at batocera, they usually release every two months. Or stick to retropie. Or maybe recalbox developers will shorten release periods, who knows.. -
@tonificante what is this troll post ? If you know nothing about Recalbox development, please just don't post.
-
Sorry, didn't want to troll or hurt sensibilities, just give some information to the user. Please remove my previous post, I tried but I don't find any option.
-
@Lumbeechief081 Sorry, I'm not a developer, maybe @Bkg2k or @OyyoDams can help you.
-
@tonificante RecalBox is more optimized than RetroPie, that's why I switched in the first place. Running at 240p with Black Frame Insertion I would get flickering on certain games. For example, Super Mario World 2: Yoshi's Island on the SNES I would get flickering on the title screen which is Super FX heavy. With RecalBox I don't get that at all and other games I tested between the two OS's.
-
@lumbeechief081 Maybe you can find some video option which corrects that. I would try for example to disable the vertical video sync first. Hope it helps
-
@lumbeechief081 we'll try to add such options ASAP. It won't be available from EmulationStation, at least in the first versions, but most likely through configuration files per rom and per rom folder.
-
Alphanu is working on a very interesting feature for Retroarch : « switchres ».
More information on his Github, or his dedicated forumBasically, it changes the resolution and the refresh rate automatically for each system, and possibly each game. The feature is already on the last Retroarch, but not really working on Raspberry yet. We’ll have to wait a bit for this ultimate feature...
-
Other informations on the Libretro forum
-
@lumbeechief081 We just finished implementing the resolution override on a per rom and/or per folder basis. This also works for emulators/libretro cores, shaders, ratio and a few other keys. We'll test this feature as well as other changes in the next days.
-
@greenalex I'm using a VGA CRT monitor therefore 15khz isn't possible.. Even though "Switchres" is present in Retroarch on both RecalBox/RetroPie it would be cool if it actually worked on a Raspberry Pi through an HDMI to VGA adapter.
-
@bkg2k That is so awesome!!!! Thank you so very much and the rest of the team for adding this very important feature!!! Now I just have to wait for it to be merged and then update my RecalBox.
-
@lumbeechief081 said in How to change resolution per-game?:
@greenalex I'm using a VGA CRT monitor therefore 15khz isn't possible.. Even though "Switchres" is present in Retroarch on both RecalBox/RetroPie it would be cool if it actually worked on a Raspberry Pi through an HDMI to VGA adapter.
The switchres setting does have a 31khz option that you could try. I'm using a 15khz monitor and the switchres 15khz setting (and 1920 as the super resolution) already seems to be working on the current Recalbox via HDMI to VGA adapter (and then combining HV sync to S for the monitor), after setting up config.txt as detailed here: https://github.com/recalbox/recalbox-os/wiki/Connect-your-recalbox-to-a-CRT-with-HDMI-(EN)
It looks to be working since loading different games/systems with different resolutions and refresh rates results in smooth scrolling (as long as the game's vertical resolution does not exceed 240 by too much), and the OSD notification does show different refresh rates being set. I've only been testing this for a couple of days though. Is it really not supposed to be working yet?
It also seemed to work the same way using Lakka, but that whole frontend seemed less stable than Recalbox using the above configuration.
-
-
@lumbeechief081 I thought we could already set per-system resolution overrides by adding them to the recalbox.conf file. For example for games that have a vertical resolution of 224 or 256 instead of 240 I add:
segacd.videomode=hdmi_cvt 1920 224 60 1 1 0 0
x68000.videomode=hdmi_cvt 1920 256 60 1 1 0 0which overrides the global 1920x240 custom hdmi video mode.
And then for per-game resolution configs you can go to the retroarch configs folder and add name of rom.cfg with
aspect_ratio_index = "22" (custom, or maybe it's 23 can't remember)
custom_viewport_width = whatever you need
custom_viewport_height = whatever you needIf that guide did not work for you perhaps your VGA monitor is simply not compatible with that custom hdmi mode. It could also be due to the HDMI to VGA adapter you're using. It might also help to put a sync processor in between the adapter and the monitor, such as an Extron RGB interface.
-
I just realized I probably misunderstood what you're trying to do. If what you want is to set the video mode (screen resolution) rather than the game resolution on a per-game basis, then yes it does look like there's still no way to do that. The best thing to do for now seems to be to set a video mode that works well with the game resolution you want, and display the game's native resolution (via custom config) within that video mode. For example, I think a 320x224 game fits nicely on a 640 (or any multiple of 320)x240 screen.
You still need to figure out a way to get custom video modes over to your VGA monitor though. If HDMI is not working for you then a hat for VGA output like the Retrotink would be a good solution for you.