xref: /aosp_15_r20/external/mesa3d/docs/drivers/panfrost.rst (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1Panfrost
2========
3
4The Panfrost driver stack includes an OpenGL ES implementation for Arm Mali
5GPUs based on the Midgard and Bifrost microarchitectures. It is **conformant**
6on `Mali-G52 <https://www.khronos.org/conformance/adopters/conformant-products/opengles#submission_949>`_,
7`Mali-G57 <https://www.khronos.org/conformance/adopters/conformant-products/opengles#submission_980>`_
8and `Mali-G610 <https://www.khronos.org/conformance/adopters/conformant-products/opengles#submission_1053>`_,
9but **non-conformant** on other GPUs. The following hardware is currently
10supported:
11
12+--------------------+---------------+-----------+--------+
13| Models             | Architecture  | OpenGL ES | OpenGL |
14+====================+===============+===========+========+
15| T600, T620, T720   | Midgard (v4)  | 2.0       | 2.1    |
16+--------------------+---------------+-----------+--------+
17| T760, T820, T830   | Midgard (v5)  | 3.1       | 3.1    |
18| T860, T880         |               |           |        |
19+--------------------+---------------+-----------+--------+
20| G72                | Bifrost (v6)  | 3.1       | 3.1    |
21+--------------------+---------------+-----------+--------+
22| G31, G51, G52, G76 | Bifrost (v7)  | 3.1       | 3.1    |
23+--------------------+---------------+-----------+--------+
24| G57                | Valhall (v9)  | 3.1       | 3.1    |
25+--------------------+---------------+-----------+--------+
26| G310, G610         | Valhall (v10) | 3.1       | 3.1    |
27+--------------------+---------------+-----------+--------+
28
29Other Midgard and Bifrost chips (e.g. G71) are not yet supported.
30
31Older Mali chips based on the Utgard architecture (Mali-400, Mali-450) are
32supported in the :doc:`Lima <lima>` driver, not Panfrost. Lima is also
33available in Mesa.
34
35Other graphics APIs (Vulkan, OpenCL) are not supported at this time.
36
37Building
38--------
39
40Panfrost's OpenGL support is a Gallium driver. Since Mali GPUs are 3D-only and
41do not include a display controller, Mesa uses kmsro to support display
42controllers paired with Mali GPUs. If your board with a Panfrost supported GPU
43has a display controller with mainline Linux support not supported by kmsro,
44it's easy to add support, see the commit ``cff7de4bb597e9`` as an example.
45
46LLVM is *not* required by Panfrost's compilers. LLVM support in Mesa can
47safely be disabled for most OpenGL ES users with Panfrost.
48
49Build like ``meson . build/ -Dvulkan-drivers=
50-Dgallium-drivers=panfrost -Dllvm=disabled`` for a build directory
51``build``.
52
53For general information on building Mesa, read :doc:`the install documentation
54<../install>`.
55
56Chat
57----
58
59Panfrost developers and users hang out on IRC at ``#panfrost`` on OFTC. Note
60that registering and authenticating with ``NickServ`` is required to prevent
61spam. `Join the chat. <https://webchat.oftc.net/?channels=panfrost>`_
62
63Technical details
64-----------------
65
66You can read more technical details about Panfrost here:
67
68.. toctree::
69   :glob:
70
71   panfrost/*
72