The 32-bit Radeon VAAPI driver exported VAAPI 1.23:
nm -D /usr/lib32/dri/radeonsi_drv_video.so | grep __vaDriverInit 000d9460 T __vaDriverInit_1_23@@libgallium-26.0.5-arch2.2.so
But Steam’s 32-bit VAAPI path saw libva 1.22 and failed to initialize the driver:
libva: VA-API version 1.22.0 Trying to open /usr/lib32/dri/radeonsi_drv_video.so /usr/lib32/dri/radeonsi_drv_video.so has no function __vaDriverInit_1_0 Failed to initialise VAAPI connection: -1 CGameStreamVideoStageVAAPI: Failed to create device context
Steam then fell back to CPU encoding:
Game Vulkan NV12 + libx264 main (4 threads)
I locally rebuilt/installed lib32-libva 2.23.0-1 from the Arch PKGBUILD, and after restarting Steam, Remote Play hardware encoding started working:
Game Vulkan NV12 + VAAPI HEVC
So it looks like the repos currently provide a lib32-mesa driver built for VAAPI 1.23, while lib32-libva is still at 2.22/VAAPI 1.22.
The thing is that the lib32-libva package is not from Cachy but from the Arch [multilib] repo.
Upstream Arch [extra]libva is also on ver ~.23.0 so I might guess the mismatch occurs there as well.
I do not see the lib32-libva (ver ~.22.0) as being marked out of date though this would seem to indicate it should be.
I can confirm I’m running into this exact issue on CachyOS Handheld Edition, and it matches the mismatch described here perfectly.
On a fresh install, my system currently shows:
libva 2.23.0
lib32-libva 2.22.0
lib32-mesa exporting __vaDriverInit_1_23
So the 32-bit VAAPI stack is clearly out of sync. Steam (which depends on the 32-bit side for Remote Play) attempts to initialize VAAPI, fails to load the correct entrypoint, and then falls back to CPU encoding (libx264). In the logs this shows up as:
VAAPI encoder creation attempts (AV1/HEVC)
VAAPI initialization failure
fallback to Desktop PipeWire NV12 + libx264
That explains why AV1/HEVC can appear selectable but don’t actually work. I’ve confirmed via vainfo that AV1 encode is supported on the hardware, so this is strictly a userspace mismatch—not a GPU limitation.
I don’t want to risk destabilizing an otherwise working system, so I’m avoiding rebuilding or forcing packages manually. My plan is to wait for CachyOS to publish lib32-libva 2.23.x, which should properly align the stack and restore VAAPI functionality in Steam.
For anyone else running into this: it’s worth temporarily disabling AV1/HEVC in Steam Remote Play. That prevents repeated failed VAAPI attempts and avoids unnecessary fallback churn, leaving you with stable x264 streaming for now. Once the packages are aligned, those options can be safely re-enabled.