Per game resolution config or auto change?

Hi, im fighting with retroarch, but i have a lot of problems, sorry to ask again

For arcade games, most of games have different resolutions, 256x224, 256x240, 320x224, 320x256… etc etc, but in retroarch the resolution looks like is fixed… then i have two questions

1 - Is possible to retroarch change the resolution automatically based on resolution?

2 - If not, is possible to save per game resolution?

In mame, i can do one INI per game with the resolution, and works great. I tried same in retroarch, but dont do anything…

Thanks for help

You can do this via game-specific overrides. Depending on what you’re trying to achieve, setting the aspect ratio index to “1:1 PAR” (not 1:1) and enabling “integer scaling” in the video options may do the trick.

Hi thanks, what i have now in my config is this

Fixed resolution of 1280x672, full stretch non integer, this work great for all x224 games, with scanlines

For example, in arcade, all CPS1, CPS2, CPS3, Neogeo, use 224 lines, no problem. But some arcade boards use 192, 240, 256 lines, in this case, i want to retroarch change to 1280x720 or 1280x768 instead of 1280x672

If I can do one cfg per game with the new resolution, will be great, since I already did in mame (i have one ini per game in mame) and i can “transform” all this mame ini to retroarch cfg, but when i made a “per game options” in retroarch the resolution options are not stored

Sorry, hope i can make understand myself, thanks

Are you outputting to a CRT or a fixed resolution display? If you’re using a fixed-resolution display, it would be better to just set the output to 1280x768 and let RetroArch handle the scaling.

Here are some examples with RetroArch on a 1280x768 display, set to 1:1 PAR with Integer Scaling enabled. [ul] [li]256x224[/li][li]320x232[/li][li]400x254[/li][li]384x256[/li][/ul] No config required, it just calculates the optimal scale. If you’re using a CRT display which actually changes its output resolution, this config file should work. Edit/rename as appropriate.

:\config<core name><rom name>.cfg

video_windowed_fullscreen = "false"
video_fullscreen = "true"
video_monitor_index = "0"
video_fullscreen_x = "1280"
video_fullscreen_y = "720"

If you want some integer scaling value which is not 1:1 PAR, I would set up a config to scale it in RetroArch instead of changing your output resolution. However I would also point out that the majority of these games are intended to be viewed at a 4:3 or 3:4 aspect ratio, and that’s what I would recommend using, in conjunction with the pixellate shader to avoid distortions from non-integer scaling.

Sorry, i have a CRT

I already tried <core name><rom name>.cfg with this options, but is not working, never change resolution (resolution per core works ok), is like retroarch ignore the per game CFG

Make sure you have:

Options > Configuration > Load Override Files Automatically ON Configuration Per-Core OFF

[QUOTE=larch1991;39554]Make sure you have:

Options > Configuration > Load Override Files Automatically ON Configuration Per-Core OFF[/QUOTE]

Hi, thanks, is working if I switch off “Configuration Per-Core”… i did not realize about this

But in this case, i have the problem that other cores will use the default config… true?

How retroarch works? MAIN CONFIG>PER CORE CONFIG>GAME CONFIG? or MAIN CONFIG>PER CORE “or” GAME CONFIG?

If is the second, i think the only way to override the problem, is to launch roms outside retroarch, using command line, and define cfg by hand

As I understand it, per-core configs are an old implementation which have been superseded by overrides. Overrides can be per-core or per-game.

:\config<core name><core name>.cfg will create a core override :\config<core name><rom name>.cfg will create a game override

You can just move your per-core configs into a folder with the core name to make them a core override. (per-core configs use :\config<core name>.cfg) Config files only need to include the lines that you want to override.

Game Config > Core Config > Main Config

[QUOTE=larch1991;39558]As I understand it, per-core configs are an old implementation which have been superseded by overrides. Overrides can be per-core or per-game.

:\config<core name><core name>.cfg will create a core override :\config<core name><rom name>.cfg will create a game override

You can just move your per-core configs into a folder with the core name to make them a core override. (per-core configs use :\config<core name>.cfg) Config files only need to include the lines that you want to override.

Game Config > Core Config > Main Config[/QUOTE]

Hi, sorry the delay to reply, thansk a lot. Moving the cfg file inside the core folder did the trick! now is workign great

Again, thanks for the tips and all reply

If you’re using a CRT, use a super resolution like 1920x240, or even 3840x240. Then set the aspect ratio to stretch to fit that resolution. This prevents the need for having many different resolutions, and also handles cases where games change their horizontal resolution on the fly.

Example configs I made for CRT usage: Standalone config Override config

The tvout shader shader presets in shaders_cg/cgp/tvout/ are recommended to apply adjustable interpolation and color controls.

[QUOTE=Monroe88;39779]If you’re using a CRT, use a super resolution like 1920x240, or even 3840x240. Then set the aspect ratio to stretch to fit that resolution. This prevents the need for having many different resolutions, and also handles cases where games change their horizontal resolution on the fly.

Example configs I made for CRT usage: Standalone config Override config

The tvout shader shader presets in shaders_cg/cgp/tvout/ are recommended to apply adjustable interpolation and color controls.[/QUOTE]

Hi thanks for tip, but yes, i already use a super resolution, but in my case, because CRT is 31khz, is 1280x672, 1920x672, 1280x720, etc

I have another PC connected to a 15khz CRT, but in this case, is a Athlon 1ghz, and I use standalone emulators (Kega, Magicengine, etc), and resolutions like the one you say, 1920x240, 100000x240 :slight_smile: jaja etc

Thanks a lot

Hi, many thanks to you both for this topic.

I would like to understand why it’s better to use super resolution. My purpose is to run CPS1/2/3, Neogeo and some other arcade games sudo resolutions like 384x256.

Many thanks by advance for your answer.

CPS1/2/3 are 384x224 while neogeo is 320x224. 1920 is the smallest integer multiple of both, not to mention most consoles. S/NES don’t fit into 1920 exactly, but the resolution is high enough that the fractional horizontal scaling gets smoothed out by the CRT’s inherent blurriness.

If you use the exact resolution, you’ll always have either pillarboxing or uneven pixel sizes when you switch to different games. For example, if you use 384x224, neogeo games will always have 32 px of black space on each side or some pixels will be doubled (very annoying!). If you use 320, CPS1/2/3 will either lose 32 px on each side to overscan or else have weird, missing pixels from the downscaling.

Is not better, i just the same

A 15khz CRT TV have limit in horizontal resolution can show… (of course is analog, technically no resolution)

For example, my sony trinitron 14" i tested with different stripes images, and the maximum resolution i think is capable was 400 px, more than this, the stripes dissapear

Then, if you use 1920x240 for example, you can use one resolution for all systems, more easy, and the image will look exactly the same

Hi,

Many thanks, I understand a little bit better. As Monroe88 suggest and as I have seen it on several sites, why using a different custom viewport.

for instance : Resolution 1920x240 (or 480) and viewport 1920x224 (or 448)

Many thanks by advance for your lights.

I’m using a HDMI to VGA converter with a JPAC to get the picture in my Candy (Screen Toshiba with Nanao MS9-29).

When I’m using the Monro88’s config sample with a screen wild of 3840, my display is doubled side by side. Is it normal?

Yeah, try dropping down to 1920 width instead. It’s not an exact integer multiple of S/NES’ 256/512 width, but I don’t notice any fractional scaling artifacts. If you do, you can either run a shader like tvout-tweaks/AANN/pixellate to put a minimal blur on the horizontal axis or set the whole image to use bilinear filtering.