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 | Allwinner, Apple, Exynos, Intel, MediaTek, Rockchip, Spreadtrum, TI OMAP | sgx-ddk, openpvrsgx | |
Tegra 2/3/4 | Nvidia | grate | |
Tegra K1/X1 | Nvidia | nouveau | |
VideoCore IV | Broadcom | vc4 | |
VideoCore V/VI | Broadcom | v3d |
Adreno
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, T628 and G71.
Mali T720 and older are limited to OpenGL 2.1 and OpenGL ES 2.0.
Mali T628
We have patched linux-postmarketos-exynos5 kernel, but it is still needed for users to build patched mesa themselves
1. Run pmbootstrap aportgen --fork-alpine mesa
.
2. Go to ~/.local/var/pmbootstrap/cache_git/pmaports/temp/mesa
.
3. Create a file e.g. enable-mali-t628.patch
. Fill it with this:
diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c
index 3633ad3..a228187 100644
--- a/src/gallium/drivers/panfrost/pan_screen.c
+++ b/src/gallium/drivers/panfrost/pan_screen.c
@@ -844,6 +844,7 @@ panfrost_create_screen(int fd, struct renderonly *ro)
/* Check if we're loading against a supported GPU model. */
switch (dev->gpu_id) {
+ case 0x620: /* T62x */
case 0x720: /* T720 */
case 0x750: /* T760 */
case 0x820: /* T820 */
4. Add this file to source
variable in APKBUILD
file.
6. Increase pkgrel
variable in APKBUILD
file.
7. Run pmbootstrap checksum mesa
.
8. Run pmbootstrap build --arch armv7 mesa
.
Next time you run pmbootstrap install --sdcard /dev/sdX
, you will get patched mesa installed.
Note: After installation, you may need to remove /etc/modprobe.d/mali.conf file. |
Note: Your mesa may be replaced with new unpatched one after an upgrade in Alpine. In this case, you will have to rebuild it again. Your device package also may be upgraded, then you will have to remove /etc/modprobe.d/mali.conf file again. |
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.