You could try revision c3679faad640f9b8d82f59aeef51294ba0dc517c.... that's the last one with OpenGL 2.1. Would be nice to know how that one runs.
-Build and SDL2 version with KMSDRM video backend support. Use current soures for that. DO NOT run emulators inside X11: run them on KMSDRM, with NO X11 server running.
Apparently, this is the way to go for RPi.
You could try revision c3679faad640f9b8d82f59aeef51294ba0dc517c.... that's the last one with OpenGL 2.1. Would be nice to know how that one runs.
OK, I built OpenMSX with revision e2aaec058341fce27e45d0434cf2080455a91907, which is 1 revision before the one you mentioned, because that one already contains work on OpenGL 3.3.
Results are quite positive, actually. Using renderer SDLGL-PP and Scale x2, I get an almost constant frame rate of 50fps. It's not 100% flawless, but close enough!
Seems like that is the best option for the pi 4 for now... thanks for the suggestion.
I have to say that the new render subsystem is much slower than the old one. On PC I use the old SDL instead the SDLGL-PP because I get much more speed in throttle mode.
I have to say that the new render subsystem is much slower than the old one. On PC I use the old SDL instead the SDLGL-PP because I get much more speed in throttle mode.
I was experiencing the same, and it turned out to be caused by VSYNC. When VSYNC became adjustable, disabling it restored normal behaviour for me. Until then, setting maxframeskip=100 worked around it.
I'm not sure if that's the issue you're having, though.
I have to say that the new render subsystem is much slower than the old one. On PC I use the old SDL instead the SDLGL-PP because I get much more speed in throttle mode.
I was experiencing the same, and it turned out to be caused by VSYNC. When VSYNC became adjustable, disabling it restored normal behaviour for me. Until then, setting maxframeskip=100 worked around it.
I'm not sure if that's the issue you're having, though.
I use Catapult and it has no VSYNC option. Simply when using SDL it runs much faster than with SDLGL-PP. Don't know exactly the settings that Catapult uses, but in both cases with the same maxframeskip.
So, try this:
- in Catapult set maxframeskip to 100 or so (whatever max you can put in there). Does that help?
Or, open the console with F10 and type: set sync_to_vblank_mode immediate
, which gives no sync to vblank. This setting is new in recent development builds.
Changing VBLANK could vary slighty, but not very noticeable.
Increasing the maxframeskip helps, but this means that the rendering process takes much longer in the new renderer, if there is need to skip more frames to get the same speed.
And the RPi has not a so great CPU compared to PC.
No, the SDLGL-PP takes much less CPU processing, as most of it is done on the GPU. But if there is vsync, it will never output more than 60 fps (for typical monitors). Hence the frameskip needed. What kind of OS and GPU are you using?
I wonder if it's falling back to software GL.