Closed MichaIng closed 1 year ago
The alternative to DispmanX going forward, will probably KMSDRM (running from the console). This works well, but has one significant drawback: it cannot use multi-threading for drawing the buffer and then swapping it out (which we can do with Dispmanx but also under X11 and OpenGLES). If you enable it, you will only get a black screen showing.
So, considering the above:
In general, SDL2 should use whatever back-end it finds available automatically for you. You just ask for a Window/Screen and it will try to provide it, falling back to software rendering as the last available option if no hardware-accelerated one is found.
We can use OpenGLES, there is a relevant option in the Makefile, but then the GUI cannot use TTF fonts (I have some bitmap fonts included in the data
folder for this reason) and it looks kind of ugly. Performance-wise however, it's as fast as the X11 back-end with multi-threading.
You can enable multi-threading in the amiberry.conf
file, the option is named use_sdl2_render_thread
: https://github.com/BlitterStudio/amiberry/wiki/Amiberry.conf-options
Hi, I reviewed our (DietPi) Amiberry builds, found the current information here that DispmanX on RPi does not provide performance benefits anymore and the new experimental RPi 4 OpenGLES target. For updating our builds I have some questions, also some more fundamental ones which had im mind since a longer time.
Some questions may be noobish since I never coded GUI/3D software or worked with graphics APIs, so bear with me. I hope it is still okay to ask them here since it is in the context of Amiberry.