If you happen to have Google's Nexus One or other phones based upon Qualcomm's Snapdragon processor, there is great news today. Qualcomm has just released an open-source 2D/3D kernel driver for their OpenGL ES graphics processor. This Qualcomm kernel driver provides support for interrupts, command streams, context switching, memory management, etc. Qualcomm is looking to push this code into the mainline Linux kernel ASAP.
For right now this Snapdragon graphics driver can be found in this Git tree
based upon the Android Linux 2.6.32 kernel. Unfortunately the user-space component hasn't been released yet or Qualcomm simply forgot to link to that portion.
In this mailing list post
is an overview of the graphics driver. This driver is a bit different from the other open-source graphics driver in its design and a new /dev/kgsl
device, etc. DRM support so they could provide DRI2 capabilities was added on top of this driver and from there it supports GEM, but the underlying Qualcomm code still uses their Kernel GSL (KGSL) interface. They though are looking at switching internally to using TTM.
This is definitely good news and we'll be monitoring the thread and looking out for their user-space code. Hopefully other ARM-based/mobile vendors will follow suit in providing open-source Linux graphics drivers.