3D Acceleration

From postmarketOS Wiki
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

Adreno 300 series

Adreno naming
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.