What are the current GPUs with fully open-sourced drivers on Android? There's been issues recently with Qualcomm's GPU in the new Nexus 7, which makes me wonder how strict are the rules for open-sourcing all the code for a working Android device, including the GPU drivers.
1 Answer
Broadcom, Qualcomm, Imagination's PowerVR, Nvidia's Tegra, and ARM's Mali GPUs all have partially (mostly) closed-source drivers. In general, the only open-source code in the driver is any vendor extension to the GL and EGL header files, and a GPL'ed shim that can be loaded into the kernel to allow it to communicate with the binary-only driver. Vendors often contribute related code to upstream projects, though, such as X Windows direct rendering code, or the Android graphics subsystem.
Most of the GPU vendors are afraid that open-sourcing their drivers will reveal details of how their technology works, which will provide leverage for patent trolls to make spurious claims that parts of the GPUs or drivers infringe their patents. For this reason, it's unlikely that any drivers will be open-sourced fully unless/until this risk changes.
There are no rules for open-sourcing all the code for an Android device. It would be very difficult to make a completely open-source device. Even if GPU drivers were open, most (if not all) cell radios have binary-only firmware for regulatory reasons: if you could change the drivers, you could make them run on illegal channels, or exceed the maximum permitted transmit power.
-
1Neo Free Runner is one example of pure open source handset, Greenphone is another, there was also another one ... am googling it...– t0mm13bAug 9, 2013 at 21:57
-
1
-
@Izzy I'd take what it says in a press release with a pinch of salt, if I were you. It only means that Firefox OS is open-source: it'll still have binary-only drivers like most phones. Aug 10, 2013 at 8:42
-
1@t0mm13b You may be interested to learn that the GPU in the Freeruner can't actually render to the full screen of that device, and the vendor doesn't exist any more. OpenMoko's replacement model, the GTA-04, uses closed-source drivers for the GPU and the Wi-Fi chip. Aug 10, 2013 at 9:03
-
1I doubt it: mainline Linux doesn't accept drivers which can't be used without binary components. That's why you won't find vendors' kernel drivers for desktop GPUs in mainline, either. More likely, this company is trying to reverse-engineer an open-source driver, like the 'nouveau' and 'radeon' drivers on the desktop. Aug 10, 2013 at 9:27