3D Acceleration
GPU | Used in | Driver | Issues |
---|---|---|---|
Adreno | Qualcomm | freedreno | |
Vivante | HiSilicon, Marvell, NXP i.MX, Rockchip | etnaviv | |
Mali | Allwinner, Exynos, HiSilicon, Intel, MediaTek, Rockchip, Spreadtrum, ST-Ericsson, WonderMedia | lima | |
Mali T/G | Allwinner, Exynos, HiSilicon, Intel, MediaTek, Rockchip, Spreadtrum | panfrost | |
PowerVR SGX5 | Allwinner, Apple, Exynos, Intel, MediaTek, Rockchip, Spreadtrum, TI OMAP | sgx-ddk, openpvrsgx, sgx540-reversing | |
PowerVR "Rogue" | MediaTek | powervr | |
Tegra 2/3/4 | Nvidia | grate | |
Tegra K1/X1 | Nvidia | nouveau | |
VideoCore IV | Broadcom | vc4 | |
VideoCore V/VI | Broadcom | v3d |
Adreno
- IRC: #freedreno on OFTC (advanced/expert discussion)
- Matrix: Freedreno on Matrix (newbie/advanced discussion)
Adreno 300 series
Marketing | Gen | Internal name | revision | GPU ID |
---|---|---|---|---|
Adreno 304 | 304 | 304 | 0x03000400 | |
Adreno 305 | 1st | 305 | 305 | 0x03000500 |
Adreno 305 | 2nd | 305b | 335 | 0x03000510 0x03000512 |
Adreno 305 | 3rd | 305c | 306 | 0x03000520 |
Adreno 306 | 306 | 307 | 0x03000600 | |
Adreno 308 | 306a | 308 | 0x03000620 |
Vivante
Mali
There are two projects for open source Mali drivers.
The lima driver is for the Mali Utgard GPUs, specifically the Mali 400 (2008) and the Mali 450 (2012)
The panfrost drivers is for the Mali Midgard and Bifrost GPUs, except T604 and G71.
Mali T720 and older are limited to OpenGL 2.1 and OpenGL ES 2.0.
Mali T628 uses only 4 of 6 cores.
Tegra
The opensource reverse-engineered driver for Tegra GPUs is Grate (anagram of "tegra"). It seems to work with Tegra 2, 3 and 4 GPUs
The newer Tegra K1 and X1 use an 3D core that can be used with Nouveau instead with a seperate tegra display driver to handle the I/O
VideoCore
There are two projects for open source VideoCore drivers.
The vc4 driver is for Broadcom VideoCore IV GPUs.
The v3d driver is for Broadcom VideoCore V and VideoCore VI GPUs.
PowerVR SGX5
There is no FOSS driver for the PowerVR SGX5 series GPUs found on OMAP3 and OMAP4 TI SoCs.
However, the driver and blobs from TI do work on the mainline kernel when built with the open parts of the TI drivers, and a patched Mesa is used. This work cannot be integrated into pmaports, but is maintained in a separate, pmOS-compatible repository, https://gitlab.com/pvrports
A project aiming to reverse engineer these GPUs has been started, https://codeberg.org/Garnet/sgx540-reversing and is still in its early stages.