When it comes to open-source reverse-engineered ARM graphics drivers, most of what's talked about these days is the Lima driver
for ARM's Mali graphics cores and then Freedreno for Qualcomm's Snapdragon
, but even older than those driver initiatives has been OpenFIMG.
The OpenFIMG driver is what began as the GLES6410 driver
for the Samsung S3C6410 GPU, found in products like the Samsung Galaxy Spica. This driver work began more than 18 months ago. Back in January I mentioned the OpenFIMG driver is still active
, but since then there hasn't been too much work.
The TODO list and status pages for OpenFIMG haven't been updated since the end of March. More importantly, there haven't been any Git commits since the end of April.
The latest status on OpenFIMG is that EGL 1.4 support is basically done except that rendering to textures is unimplemented and rendering surfaces only supports window and the pbuffer. Most EGL extensions are covered except for EGL_KHR_image_pixmap. For OpenGL ES 1.1 compliance, most features are complete like texturing, shader emulation, buffer objects, geometry transfer, context management, etc. Still being worked on is glGet*, lighting, and fog. Clipping has yet to be touched. OpenGL ES 2.0 isn't a target at this point.
Unfortunately this driver in its current form doesn't take advantage of the DRM or Mesa infrastructures, but it's on the TODO list for future work. There's also no shader compiler right now.
The GPUs being targeted by this driver is the FIMG 3DSE and bundled within the Samsung SoCs like the S3C6410, S5P6442, and S5PC100. The Samsung Galaxy III and Tiny 6410 development board are among the products now using this in-house Samsung 3D core.
It's premature to call this driver now dead, but it's unfortunate to see that there isn't any active work on it at the moment. More information on OpenFIMG is available from its GitHub area
. The developer, Tomasz Figa, as of late seems to be working on other code
for Android/Linux around the Samsung Galaxy Spica.