Embedded Linux GPU driver support is a great big mess
. There's no doubt about it. There's some partial open-source driver code
, but nothing that's been quite popular or welcomed for integration into the mainline Linux kernel. There might be an open-source PowerVR SGX driver
later in the year, but that's still months out. However, with more mobile Linux devices emerging that utilize these closed-up ARM GPUs, clean-room reverse engineering to write open-source drivers is going to be inevitable unless the vendors step up their Linux support game.
There's now an effort underway to write an open-source driver for the Samsung S3C6410 GPU as found in the Samsung Galaxy Spica (GT-i5700). The goal of this open gles6410 driver is to provide an open-source driver that is capable of providing OpenGL ES 1.1 and possibly OpenGL ES 2.0 support for the S3C6410.
According to the status page, context management and error handling for EGL 1.4 support is done but the memory management, rendering surfaces, and rendering to textures is still being worked on. Most of the EGL extensions, however, are already hooked up. Lots of the OpenGL ES 1.1 features and extensions are also hooked in but a few, including some Android-specific OpenGL ES extensions, have yet to be implemented.
More information on the open-source "gles6410" driver can be found on its Google Code page. There also seems to be some confusion whether the Samsung S3C6410 is derived from the PowerVR core, but it appears that this processor is designed solely with Samsung IP.