New blog post: PanVK Extension Sprint - Mesa 26.1 🚀

18 Vulkan extensions landed in PanVK for Mesa 26.1 - the open-source Vulkan driver for Arm Mali GPUs. Covering the Proton stack essentials (DXVK, vkd3d-proton), DDK feature parity, and closing gaps on mesamatrix.

From VK_EXT_conditional_rendering to VK_EXT_nested_command_buffer - each one pulls PanVK closer to "throw a DXVK game at it and it just works."

https://christian-gmeiner.info/2026-04-20-panvk-extensions/

#Mesa #Vulkan #PanVK #Panfrost #Mali #Igalia

PanVK Extension Sprint: Mesa 26.1

Last week marks the Mesa 26.1 branch point, and I wanted to take a moment to look back at what happened on the PanVK front. Spoiler: it was a busy one. The landscape PanVK - the Vulkan driver for Arm Mali GPUs (Valhall and newer) - is a collaborative effort. Collabora has been doing incredible work on the compiler backend and the foundational infrastructure. Arm themselves are actively contributing to the open source Mali GPU stack as well, reviewing patches and pushing driver quality forward. On the Igalia side, my focus this cycle was Vulkan extension coverage. The kind of work that doesn’t make for flashy demos but is absolutely critical for real-world application compatibility - especially for things like DXVK.

Christian Gmeiner

ICYMI: PanVK just landed a new framebuffer abstraction for Mali GPUs that drops OpenGL-specific constraints and enables more flexible Vulkan tiled rendering.

Take a closer look: https://www.collabora.com/news-and-blog/blog/2026/03/23/re-thinking-framebuffers-in-panvk/

#Mesa #PanVK @vulkan #Panfrost #MaliGPU #OpenSource

Re-thinking framebuffers in PanVK

PanVK has a brand new buffer abstraction bringing a range of new features for the Vulkan driver.

Collabora | Open Source Consulting

PanVK’s new framebuffer abstraction for Mali GPUs removes OpenGL-specific constraints, unlocking more flexible tiled rendering features in Vulkan.

Learn more about the process: https://col.la/framebufferspanvk

#Mesa #PanVK #Vulkan #Panfrost #MaliGPU #OpenSource

Re-thinking framebuffers in PanVK

PanVK has a brand new buffer abstraction bringing a range of new features for the Vulkan driver.

Collabora | Open Source Consulting

#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