I actually dont remember the exact order of install, but from what i can recall first i compiled and installed libva-v4l2-request-HACK_HEVC.zip and followed that tutorial
then i downloaded h618_hwdec.tar.gz from https://www.elektroda.pl/rtvforum/topic4018092.html#20840047, those are the libs i replaced in /lib/aarch64-linux-gnu/
install latest edge kernel from armbian-config (or enable rolling updates), download kernel hearders and enable gpu in device tree overlays
to compile mesa first install deps than creat a python venv in mesa src directory to download latest meson in it
sudo apt-get install bison build-essential ccache clang cmake flex git glslang-tools libclang-dev libdrm-dev libelf-dev libexpat1-dev libgl1-mesa-dev libgles2-mesa-dev libgoogle-perftools-dev libgtk-3-dev libllvm-18-dev libomxil-bellagio-dev libpciaccess-dev libsensors-dev libspirv-tools-dev libunwind-dev libva-dev libvdpau-dev libvulkan-dev libwayland-dev libx11-dev libx11-xcb-dev libxatracker-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-xfixes0-dev libxdamage-dev libxext-dev libxfixes-dev libxrandr-dev libxshmfence-dev libxxf86vm-dev libzstd-dev llvm-18-dev meson ninja-build pkg-config python3-mako python3-pil wayland-protocols python3-venv
python3 -m venv mesa_venv
source mesa_venv/bin/activate
pip3 install meson
but if i tried to compile from inside the venv i was gettin a mako version error so i exited the venv (just open another terminal window) used this exact command to be able to build from outside the python3 venv
PYTHON=~/src/mesa/mesa_venv/bin/python3 ~/src/mesa/mesa_venv/bin/meson setup build -Dbuildtype=release -Dprefix=/usr -Dgallium-drivers=panfrost -Dvulkan-drivers=panfrost -Dplatforms=x11 -Dvideo-codecs=all
you need to add wayland to platforms if you're using it, i'm not
(replace '~/src/mesa/mesa_venv/bin/python3' and '~/src/mesa/mesa_venv/bin/meson' with the path where you cloned the source...)
install any other dependencies it complains about then install with sudo ninja -C build install
you can confirm with glxinfo -B
gabriel@orangepizero3:~/$ glxinfo -B
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa (0xffffffff)
Device: Mali-G31 (Panfrost) (0xffffffff)
Version: 25.2.0
Accelerated: yes
Video memory: 3922MB
...
i don't know if that libva hack is working but vainfo recognize
gabriel@orangepizero3:~$ LIBVA_DRIVER_NAME=v4l2_request vainfo
libva info: VA-API version 1.20.0
libva info: User environment variable requested driver 'v4l2_request'
libva info: Trying to open /usr/lib/aarch64-linux-gnu/dri/v4l2_request_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.12.0)
vainfo: Driver version: v4l2-request
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
and finally mpv (with yt-dlp installed)
gabriel@orangepizero3:~/$ mpv --hwdec=drm --profile=fast https://www.youtube.com/watch?v=Dyzf2evNjwc
(+) Video --vid=1 (*) (h264 1920x1080 29.970fps)
(+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
File tags:
Uploader: Zen Mechanics
Channel_URL: https://www.youtube.com/channel/UCC8n8afKsdaYuI7Pr0J4pgA
Using hardware decoding (drm).
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 drm_prime[nv12]
it is a bit confusing but i hope it helps...
i also recommend this moded mpv handler with youtube playlist and mpv prefetch queueing support: https://github.com/gabreek/mpv-handler-queue