The first working ARM System-on-Chip (SoC) GPU graphics driver built for Gallium3D has been merged into mainline Mesa!
The driver that was merged into mainline Mesa is the Gallium3D Freedreno
for Qualcomm Snapdragon/Adreno graphics hardware. This Freedreno Gallium3D driver initially supports the A220, which is the GPU that Qualcomm uses with its Snapdragon S3 SoC.
The Qualcomm Snapdragon with the APQ8060, MSM8260, and MSM8660 parts is found in devices like the HP TouchPad, Samsung Galaxy S II, Samasung Galaxy S Blaze 4G, ASUS Eee Pad Memo, HTC Sensation, Samsung Galaxy Note, and LG Optimus LTE. The Freedreno Gallium3D driver will eventually be expanded to fully support other non-A220 Adreno hardware, with Rob Clark recently beginning to play with other devices. The A3xx support may come via an extension to this current driver with a different compiler or as a new Freedreno Gallium3D driver.
The Freedreno driver was started last year as a personal pet project by Rob Clark when he decided to write an open-source, reverse-engineered Qualcomm GPU driver
. At the time he was working for Texas Instruments and the Adreno GPU was one of the few ARM SoC GPU designs that didn't taint him or put him in a questionable legal state due to having worked on PowerVR IP and other projects at TI.
The Freedreno libdrm support
was already merged for the DRM library. The Freedreno DRM component is needed for this Gallium3D driver as well as his xf86-video-freedreno 2D/DDX driver.
Just last week this ARM Gallium3D driver hit the milestone of being able to run the GNOME Shell
This new driver will appear in Mesa 9.2/Mesa 10.0 and is the first merged driver for an ARM SoC. Other Gallium3D drivers in Mesa right now that concern end-users are Intel i915, LLVMpipe, Nouveau (NV30/NV50/NVC0), R300, R3600, RadeonSI, Softpipe, and VMware SVGA.