Jump to content

3D Acceleration

From postmarketOS Wiki
Revision as of 19:59, 16 June 2022 by Jenneron (talk | contribs) (Mali T628)
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 T628

We have patched linux-postmarketos-exynos5 kernel, but it also needs mesa patched with this:

diff --git a/src/panfrost/lib/pan_props.c b/src/panfrost/lib/pan_props.c
index 5884a826..22d610a8 100644
--- a/src/panfrost/lib/pan_props.c
+++ b/src/panfrost/lib/pan_props.c
@@ -53,6 +53,7 @@
 
 /* Table of supported Mali GPUs */
 const struct panfrost_model panfrost_model_list[] = {
+        MODEL(0x620, "T620", "T62x", NO_ANISO, {}),
         MODEL(0x720, "T720", "T72x", NO_ANISO, { .no_hierarchical_tiling = true }),
         MODEL(0x750, "T760", "T76x", NO_ANISO, {}),
         MODEL(0x820, "T820", "T82x", NO_ANISO, { .no_hierarchical_tiling = true }),

PowerVR

The required blobs and a patched Mesa are packaged in pmaports.

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.