How exactly is RetroArch supposed to work on 30Hz displays?

For example, on a device that can only output 4K @ 30fps, or on a display that can only show 1080i, what is RetroArch supposed to do?

It seems like it always tries to hit 60fps. Should there be a way to only generate 30 frames though?

I have seen weird banding issues in these environments and experimented with different settings, but I’m not sure what to expect or what is ideal.

Is there a way to force 30 fps (even on a display that can show 1080p@60)?

1 Like

You can use the swap interval to halve the framerate but that’s going to make your games run half speed. RetroArch doesn’t do frameskipping, so if you’re trying to play 60 hz games on a 30 hz display, it’s going to be half speed.

Thanks for the reply. So then what is actually going on when RetroArch says 60fps, but its a 30Hz display? Is all of the frame data going out the TV, and then the TV just takes every other frame? Or will the system create the frames, but not send them? Either way, would there be sync/tearing issues?

It should either be running at half speed with vsync or at full speed with tearing without vsync. RetroArch typically stops trying to achieve vsync if the core is handing more/less than ~8(?) fps to the display, so I believe it would go with the latter rather than the former.

So, yeah, RA should send out the frames as normal and the TV will display them as best it can, which should result in a tear halfway down the screen, I think.