OpenDingux ports (Ingenic JZ4770)


The GCW-Zero (and the RG-350) was really the first platform that i enjoyed developing for.
This is no small part due to the work of pcercuei along with other people (JohnnyonFlame, senquack etc...).
Besides the CFW that i did for the Retrostone 2, SDL 1.2 games run really fast on it.
SDL2 is also decently well supported now and is recommended for 3D accelerated games.

There is, however, a complete lack of support for other libraries like SFML or Allegro 4/5 due to the lack of a proper DRM/KMS backend.
This isn't a huge problem for most games but a few obscure ones make use of them and it can be bothersome.

python/pygame performs very poorly on it due to the fact python hogs on the (only) CPU core as well pygame utterly lacking GPU-accelerated functions that SDL2 provides.
It is no wonder barely any games use pygame seriously.

The Vivante GPU is also a very poor performer with extremely low fillrate.
To give you an idea: JohnnyOnFlame was barely able to make Super Mario 64 run at 30 fps and 480p.
The GPU driver is making matters worse, although it is improving with each Mesa3D release.
Back in 2013, it was pretty good for what it was but nowadays people just expect more out of it and the OpenPandra that came out before it was destroying it in terms of performance with its PowerVR GPU, which is what some people ended up going with.

Years later after the GCW-Zero was discontinued, Anbernic released newer handhelds based of it and using the OpenDingux firmware.
They added dual analog stick support and with the RG-350M, a 480p screen was added.
Needless to say, this screen was only useful for PS1 games and a few handful 2D/3D games as the GPU was not even powerful enough for 320x240.

Games