It seems the binary curtain among ARM graphics vendors may finally be falling. Aside from NVIDIA contributing to the open-source Tegra DRM driver
and other interesting actions recently in the ARM Linux space, Imagination Technologies may finally becoming more open. It's looking like there may be a surprise open-source play out of Imagination for PowerVR graphics in the near future.
In recent days I have heard from two independent sources about Imagination Technologies likely having a "modestly open" reference driver to deliver for PowerVR graphics processors in the near future. It seems thanks to greater competition in the ARM graphics space (e.g. ARM's Mali), more openness among SoC vendors, Intel switching to in-house HD graphics
on future Atom SoCs, the continued success of Linux/Android in the mobile space, and new requirements being presented on the Linux desktop (i.e. Wayland), we are finally on the verge of seeing a fundamental shift out of Imagination Technologies.
PowerVR graphics have long been notorious on Linux due to there being no open-source GPU driver. The binary drivers that are out there for the different SoCs bearing these graphics cores generally range in state from unmaintained to poorly maintained; it's been a bloody mess
There's been a few small initiatives to reverse-engineer the PowerVR blobs and to create an open-source PowerVR 3D driver
, but to date none of them have been successful. Even the open-source PowerVR driver project deemed by the Free Software Foundation to be a "high priority" hasn't resulted in code
. A number of the experienced open-source Linux graphics driver developers capable of reverse-engineering and writing a new driver for PowerVR have been tainted due to being employed by Nokia, Texas Instruments, and similar companies that have licensed Imagination's IP.
A few months back I did hear how there almost was an open-source PowerVR driver
with Imagination planning to provide programming documentation under NDA to a third-party company and in turn allowing them to write an open-source driver, but ultimately that never came to materialize.
What it's looking like we're to see soon is a basic open-source reference driver -- user-space implementation too -- covering PowerVR that could be adapted for the various SoCs implementing the different PowerVR graphics processors. Already out of companies like Texas Instruments and Samsung we've been seeing open-source DRM drivers to support their own display controllers, so hopefully they'll be open to leveraging a more open driver going forward with the backing of Imagination (well, with the latest Samsung Exynos we're now seeing Mali deployed but with TI there is still PowerVR). I haven't heard anything though about NDA-free programming documentation for their hardware.
Outside of Imagination in the ARM space there is the controversial
open-source Broadcom Raspberry Pi driver
, the reverse-engineered Freedreno
for Qualcomm Adreno open-source graphics, and the open-source reverse-engineered Lima driver
for ARM Mali graphics cores.
Ideally we will hear some official confirmation out of Imagination Technologies in the next few weeks and that the actual code will surface sooner rather than later.