OpenFIMG ARM Graphics Driver Is Still Active

Posted by Michael Larabel on January 12, 2012

OpenFIMG, the open-source graphics driver project that began as the GLES6410 driver for providing a full open-source 3D stack for some Samsung ARM SoCs, continues to be developed and is moving on with its OpenGL ES accelerated support.

One year ago I mentioned An Open-Source GLES Driver For Samsung's Galaxy GPU by way of this GLES6410 driver project. While this driver project is nearly a one-man effort, in the past year the project has continued and much headway has been made. In the process, the driver was also renamed to OpenFIMG. The OpenFIMG project site and code is now over on GitHub.

OpenFIMG's aim remains the same -- to provide a proper implementation of OpenGL ES 1.1 (and potentially OpenGL ES 2.0) for the 3D engine on some Samsung SOCs. The project name comes from FIMG 3DSE, which is the Samsung 3D engine as found on the S3C6410, S5P6442 and S5PC100 ARM SoCs. (Note: this OpenGL ES 3D engine isn't derived from PowerVR SGX technology).

The OpenFIMG driver is being principally developed from a Samsung Galaxy Spica (S3C6410) running Google Android as well as a Tiny6410 development board having the same Samsung chipset while running Debian Linux, but should be compatible with any mobile device bearing FIMG-3DSE graphics.

As far as the status of this open-source Samsung graphics driver goes, which is being developed by reverse-engineering the Samsung Linux blob, there is the status page.

All basic EGL 1.4 features have now been implemented in this driver except for rendering-to-texture support. Key EGL (and Android EGL) extensions have also been implemented with the exception of EGL_KHR_image_pixmap. When it comes to OpenGL ES 1.1 coverage, basic features like support for context management, buffer objects, emulation shaders, texturing, buffer clearing, and glReadPixels have been implemented (among other functionality) in this open-source driver. Areas of missing GLES 1.1 base coverage at this point is support for clipping, lighting, and fog.

Many of the extensions that are part of the OpenGL ES 1.1 specification have also been successfully implemented, but there's still many extensions that are not yet implemented. However, the progress on this driver over the past year is quite good -- especially considering it's a one-man show -- and that there is no support at all from the vendor (Samsung).

Sadly though this driver isn't being written against Mesa's Gallium3D, but rather being all implemented from scratch as its own library for the FIMG 3DSE hardware. The driver is working under Android and other Linux distributions for the select ARM SoCs.

This driver also isn't using the Linux kernel DRM (Direct Rendering Manager). However, the project's TODO list does indicate plans for "Convert the architecture to use Direct Rendering Manager." There's also TODO plans for possible X11/Qt back-end support, FIMG-3DSE 1.5.3 (S5P6442) support, OpenGL ES 2.0 compliance, a shader compiler possibly like Intel's Mesa "GLSL2" compiler, merging an FBO (Frame Buffer Object) implementation, and adding other functionality.

This impressive progress comes while the Free Software Foundation's high-priority PowerVR driver project (also to be done via reverse-engineering) is dead in the water. Since writing the scathing article about the sad state of the FSF's high-priority projects several months ago, there's no other visible signs of progress. In fact, the last Wiki updates for the project (the Wiki) were in November and that's when someone was using the Wiki to try to find out who is even working on the project, who can be contacted, how can anyone even collaborate on the code/reverse-engineering for those interested, and whether there's even a code repository yet. Those questions have yet to even be answered as the project really hasn't done anything yet.

Stay tuned though for some announcements.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. Raspberry Pi Gets New Wayland Weston Renderer
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  3. Xserver 1.14 support will arrive with Catalyst...
  4. Linux Desktop Security Could Be A Whole Lot Better
  5. Microsoft's zombie attacks Android (again)
  6. Chrome 28 To Offer More Speed Improvements
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite