#XDC2025: Erik Faye-Lund & Arm's Lars-Ivar Simonsen giving an overview of #PanVK's significant progress in just 6 months, going from a PoC to supporting #Vulkan 1.4!

#OpenSource #Panfrost

AFBC support has been merged to #PanVK and will be available in the Mesa 25.3 release! This new enablement reduces memory bandwidth and boosts performance.

Try it for yourself: https://www.collabora.com/news-and-blog/news-and-events/panvk-now-uses-afbc-by-default.html

#Panfrost #OpenSource

PanVK now uses AFBC by default

AFBC support has been merged to PanVK and will be available in the Mesa 25.3 release!

Collabora | Open Source Consulting
#PanVK #Panfrost #Mesa Looks like This PanVK [patch that enable SNORM, boosted a lot #Vulkan driver on #MaliG610 #RK3588. Vulkan was far slower than OpenGL in lot of cases. This is no more true. It can still be useful in some case, to use #OpenGL mode for applications and #Zink to still use Vulkan.

It improve FPS on higher resolution on PPSSPP(SDL) PSX emulator for example (x4 1080p instead of x2 with OpenGL driver is fluent, but full screen using directly Vulkan driver limit the viewport to a little part of the screen ). 0ad is at the same FPS in Vulkan and OpenGL, it was maybe half the FPS in Vulkan in regard of OpenGL driver version.

There is still a bug somewhere in my stack ArchLinux + self adapted PKGBUILD for Mesa-git from Arch Mesa package + Armbian 6.16.5-edge-rockchip64 kernel, doesn't allow using EGL with acceleration (plain GL/Vulkan or zink). This prevent applications like Blender, Wings3D, Obs, gtk4-demo (Shadertoy part) to work with 3D acceleration, but they work with LLVMpipe driver. I still need to test the Vulkan equivalent of LLVMpipe and/or Zink+Lavapipe.

Krita and few other are still able to use it without special settings.

I made to script as I was unable to remember the flags for LLVM or ZINK mode:

For zink:

$ cat launch_zink.sh:
ESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink $@
Launch it with:

./launch_zink.sh PPSSPPSDL

For LLVMpipe:

$ cat launch_llvmpipe.sh
LIBGL_ALWAYS_SOFTWARE=1 $@
Launch it with:

./launch_llvmpipe.sh obs

For Lavapipe

It displays Zink, vulkan 1.4 support, and using llvmpipe and not lavapipe

$ cat launch_zink_llvmpipe.sh
MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink LIBGL_ALWAYS_SOFTWARE=true $@

My recommandations for some softwares:

Applications:
- Krita works accelerated
- Waydroid works accelerated
- pmbootstrap Qemu works accelerated (but boot is very slow, need to understand why for)
- Firefox works accelerated (need to use Wayland, to have WebGL2 support, doesn't works with X11).
- Epiphany support WebGL2 with both Wayland and X11
- Obs using LLVMpipe
- OSMin works accelerated

Creativity:
- Glslviewer works accelerated
- Bonzomatic need to use LLVMpipe
- LÖVE2D works accelerated
- LÖVR (VR reusing LÖVE principles), didn't managed to build it for aarch64, works fine using box64 (fast x86_64 emulator) + x86_64 appimage: `box64 lovr-v0.18.0-x86_64.AppImage $1`
- Blender (last version unusable too slow) using LLVMpipe, need to test older version.
- wings3d need to use LLVMpipe, but very slow
- raylib, fail to create GLX context (need to investigate), works in webGL version

Games/emulation:
- PPSSPPSDL using zink
- OpenLara works accelerated
- SuperTuxKart is better in OpenGL mode, some needed functions for Vulkan mode are missing, need to disable depth view
- 0ad about the same in GL or Vulkan now
- Crawl (PowerHoof, proprietary) : works fine using box64 (even with emulated included Crawl_Data/Mono/x86_64/libmono.so)
panvk: Enable SNORM rendering (497005dc) · Commits · Mesa / mesa · GitLab

Blending should work properly those days. Signed-off-by: Mary Guillemard Reviewed-by: Erik Faye-Lund Reviewed-by: Boris Brezillon Part-of:

GitLab

The latest #Mesa 25.2 release introduces support for AFBC compressed YUV textures in the #Panfrost driver for ARM Mali GPUs.

See how this new feature enables more efficient memory bandwidth and power usage in video playback and real-time texture processing: https://www.collabora.com/news-and-blog/news-and-events/improvements-to-mesa-video-decoding-for-panfrost.html

#OpenSource

Improvements to Mesa video decoding for Panfrost

The latest Mesa 25.2 release sees added support for AFBC compressed YUV textures.

Collabora | Open Source Consulting

PanVK has reached another milestone and will be supporting #Vulkan 1.4 on V10 and later GPUs! 🎉 https://www.collabora.com/news-and-blog/news-and-events/panvk-now-supports-vulkan-1.4.html

#Panfrost #OpenSource

PanVK now supports Vulkan 1.4

PanVK has reached another milestone with Vulkan 1.4 support on V10!

Collabora | Open Source Consulting
ICYMI ➡️ Just about 6 weeks after we announced #Vulkan 1.1 conformance, #PanVK is now officially conformant with the #Vulkan 1.2 specification on the Arm Mali-G610 GPU! https://col.la/pvkcf12 #Panfrost #OpenSource
PanVK reaches Vulkan 1.2 conformance on Mali-G610

PanVK is now conformont for Vulkan 1.2 on Mali-G610 GPUs.

Collabora | Open Source Consulting

Just about 6 weeks after we announced #Vulkan 1.1 conformance for PanVK on G610 GPUs, Vulkan 1.2 is now also checked off the list!

A big thank you goes out to Arm for their assistance and for the actual conformance submission.

https://www.collabora.com/news-and-blog/news-and-events/panvk-reaches-vulkan-12-conformance-on-mali-g610.html #Panfrost #OpenSource

PanVK reaches Vulkan 1.2 conformance on Mali-G610

PanVK is now conformont for Vulkan 1.2 on Mali-G610 GPUs.

Collabora | Open Source Consulting
Commits · wip/adalessandro/mediatek-fix-afbc · MediaTek / aiot / linux · GitLab

MediaTek SoC Upstream Integration

GitLab
Mesa 25.1 #Panfrost & #PanVK Begin Supporting Newer Arm Mali 5th Gen Graphics https://www.phoronix.com/news/Mesa-25.1-Newer-Mali-5th-Gen #OpenSource
Mesa 25.1 Panfrost & PanVK Begin Supporting Newer Arm Mali 5th Gen Graphics

With the newest Mesa 25.1-devel Git code merged today the Panfrost Gallium3D and PanVK Vulkan drivers for Arm Mali open-source graphics are supporting Mali 5th Gen gen 1 (v12) and gen 2 (v13) devices.

PanVK has reached a new milestone, and is now officially conformant with the #Vulkan 1.1 specification on the Arm Mali-G610 GPU! 🎉 https://www.collabora.com/news-and-blog/news-and-events/panvk-is-officially-vulkan-11-conformant.html #Panfrost #OpenSource
PanVK is officially Vulkan 1.1 conformant

PanVK has reached a new milestone, and is now officially conformant with the Vulkan 1.1 specification on the Arm Mali-G610 GPU!

Collabora | Open Source Consulting