17ec681f3SmrgPanfrost 27ec681f3Smrg======== 37ec681f3Smrg 47ec681f3SmrgThe Panfrost driver stack includes an OpenGL ES implementation for Arm Mali 57ec681f3SmrgGPUs based on the Midgard and Bifrost microarchitectures. It is **conformant** 67ec681f3Smrgon Mali G52 but **non-conformant** on other GPUs. The following hardware is 77ec681f3Smrgcurrently supported: 87ec681f3Smrg 97ec681f3Smrg========= ============ ============ ======= 107ec681f3SmrgProduct Architecture OpenGL ES OpenGL 117ec681f3Smrg========= ============ ============ ======= 127ec681f3SmrgMali T720 Midgard (v4) 2.0 2.1 137ec681f3SmrgMali T760 Midgard (v5) 3.1 3.1 147ec681f3SmrgMali T820 Midgard (v5) 3.1 3.1 157ec681f3SmrgMali T860 Midgard (v5) 3.1 3.1 167ec681f3SmrgMali G72 Bifrost (v6) 3.1 3.1 177ec681f3SmrgMali G31 Bifrost (v7) 3.1 3.1 187ec681f3SmrgMali G52 Bifrost (v7) 3.1 3.1 197ec681f3Smrg========= ============ ============ ======= 207ec681f3Smrg 217ec681f3SmrgOther Midgard and Bifrost chips (T604, T620, T830, T880, G71, G51, G76) may 227ec681f3Smrgwork but may be buggy. End users are advised against using Panfrost on 237ec681f3Smrgunsupported hardware. Developers interested in porting will need to allowlist 247ec681f3Smrgthe hardware (``src/gallium/drivers/panfrost/pan_screen.c``). 257ec681f3Smrg 267ec681f3SmrgOlder Mali chips based on the Utgard architecture (Mali 400, Mali 450) are 277ec681f3Smrgsupported in the Lima driver, not Panfrost. Lima is also available in Mesa. 287ec681f3Smrg 297ec681f3SmrgOther graphics APIs (Vulkan, OpenCL) are not supported at this time. 307ec681f3Smrg 317ec681f3SmrgBuilding 327ec681f3Smrg-------- 337ec681f3Smrg 347ec681f3SmrgPanfrost's OpenGL support is a Gallium driver. Since Mali GPUs are 3D-only and 357ec681f3Smrgdo not include a display controller, Mesa uses kmsro to support display 367ec681f3Smrgcontrollers paired with Mali GPUs. If your board with a Panfrost supported GPU 377ec681f3Smrghas a display controller with mainline Linux support not supported by kmsro, 387ec681f3Smrgit's easy to add support, see the commit ``cff7de4bb597e9`` as an example. 397ec681f3Smrg 407ec681f3SmrgLLVM is *not* required by Panfrost's compilers. LLVM support in Mesa can 417ec681f3Smrgsafely be disabled for most OpenGL ES users with Panfrost. 427ec681f3Smrg 437ec681f3SmrgBuild like ``meson . build/ -Ddri-drivers= -Dvulkan-drivers= 447ec681f3Smrg-Dgallium-drivers=panfrost -Dllvm=disabled`` for a build directory 457ec681f3Smrg``build``. 467ec681f3Smrg 477ec681f3SmrgFor general information on building Mesa, read :doc:`the install documentation 487ec681f3Smrg<../install>`. 497ec681f3Smrg 507ec681f3SmrgChat 517ec681f3Smrg---- 527ec681f3Smrg 537ec681f3SmrgPanfrost developers and users hang out on IRC at ``#panfrost`` on OFTC. Note 547ec681f3Smrgthat registering and authenticating with `NickServ` is required to prevent 557ec681f3Smrgspam. `Join the chat. <https://webchat.oftc.net/?channels=#panfrost>`_ 56