Vaapi vs vdpau. It seems this is never going to be updated given that NVIDIA now have nvdec. These efforts should equally apply to Windows and Android as well as Linux. Historically, the benefits of hardware acceleration under Linux have been uncertain, but it seems likely that support today has improved drastically. 2. I once read somewhere that one of these is for the newer graphic cards (like new gforce GT) and overlaps the other. Most apps support VAAPI, so you could just use that and be happy. The other cores had a very small utilization ~15-35%. What's the difference between V4L2, VAAPI, and VDPAU other than being developed by Intel or Nvidia? Firefox is finally working on hardware accelerated video decode on Linux however it plans to use VAAPI. For AMD and Intel, everything is set up properly in the default Fedora 40 installation. My cpu could render (FHD 1080p 25 fps) at about 80-70 fps and VDPAU achieved 60-50 fps with the VA-API achieving almost the same performance (maybe a couple fps lower). But if you use mpv, the API doesn't matter, mpv has zero-copy with both. The libva-vdpau-driver project gave us a VA-API implementation on-top of VDPAU. Copy-back is more resource intensive, as decoded frames are copied back into system RAM. May 5, 2018 · I compiled Mesa from mainline git (18. You may need to set the LIBVA_DRIVER_NAME=iHD environment variable for some programs to pick up on the VAAPI support. VDPAU on Radeon R600 and newer GPUs is supported by mesa-vdpau. There are several ways to achieve this on Linux: Video Acceleration API (VA-API) is a specification and open source library to provide both hardware accelerated video encoding and decoding, developed by Intel. If you have vdpau working correctly, then "export LIBVA_DRIVER_NAME=vdpau" will make the vaapi library translate the call and use vdpau. I also noticed that the CPU cores (CPU rendering profile) were NOT fully utilized except one core. VAAPI is the native protocol for Intel graphic cards and VDPAU is for Nvidia. VAAPI”, where “VDPAU” is NVIDIA’s Video Decode and Presentation API for Unix, and “VAAPI” is the Video Acceleration API led by Intel, and (not surprisingly) supported by recent Intel integrated graphics hardware, but also supported by recent S3 Graphics hardware. Jan 28, 2024 · All VAAPI hardware surfaces in ffmpeg are represented by the vaapi pixfmt (the internal layout is not visible here, though). Intel provides a VAAPI implementation but not a VDPAU implementation. Seems like an effort to stick video en/decoding behind graphics drivers as a vendor neutral approach instead of relying on VDPAU or VA-API. My understanding is that vaapi and vdpau are two concurrent libraries doing essentially the same thing. It is what makes applications able to access your GPU regarding hardware video acceleration capabilities. 0-devel ) and now i have no VDPAU working but VAAPI works perfectly well and it has also working VP9 and HEVC decoding (tested with 4k@60fps clips). However, the GLX part of libva has seemingly been deprecated, with Description This talk is the infamous “Video API Deathmatch: VDPAU vs. In at least some relatively typical scenarios, the performance gains of using hardware decoding can be huge, with reductions in CPU usage of around 90%. Dec 29, 2025 · Ultimately, VAAPI and VDPAU represent two generations of Linux video acceleration philosophy. Feb 12, 2026 · Hardware video acceleration makes it possible for the video card to decode/encode video, thus offloading the CPU and saving power. Before my r600g A8 had VDPAU implementation, VAAPI was working via a plugin. With zero-copy, the frames are displayed directly. Nov 4, 2015 · You can test if vaapi and vdpau works correctly with the command vainfo and vdpauinfo respectively. VCE also has some initial support for encode via VAAPI, but should be considered experimental. On Windows, UVD is accessible via standard DXVA2/D3D11VA APIs, while VCE is supported via AMF. VDPAU hasn’t been updated for a while, and is now missing HEVC 10-bit and VP8/VP9 support. The hwaccel decoders normally output frames in the associated hardware format, but by default the ffmpeg utility download the output frames to normal memory before passing them to the next component. VAAPI requires libva-intel-driver and libva-vdpau-driver for Intel and Nvidia respectively. Mar 30, 2010 · Purpose of both VAAPI and VDPAU is to provide hardware accelerated video decode/encode. . Did the amdgpu driver switch to VAAPI from VDPAU? Intel created VAAPI , while NVIDIA created VDPAU. Programs that use VA-API will use VA-API and programs that use VDPAU will use VDPAU. So if VLC is your player of choice, go with VDPAU. Stephen Warren will be putting on the gloves VDPAU doesn't make sense on GPUs other than older nVidia hardware. Jul 29, 2016 · For example, VLC supports zero-copy VDPAU, but only copy-back VAAPI. Oct 28, 2024 · AMD UVD/VCE AMD UVD is usable for decode via VDPAU and VAAPI in Mesa on Linux. Firefox’s implementation reflects this evolution, embracing VAAPI as the primary path while maintaining VDPAU for compatibility. In a nutshell, VAAPI is the API that resides between your GPU drivers and applications. Nov 26, 2023 · AMD and ATI open-source drivers support both VA-API and VDPAU: VA-API on Radeon HD 2000 and newer GPUs is supported by libva-mesa-driver. Video Decode and Presentation API for Unix (VDPAU) is May 7, 2018 · Hi It seems this whole situation is starting to get a little bit more complex. I wanted to compile a variant of mplayer and came across these options: VAAPI VDPAU. Sep 10, 2025 · VA-API has enjoyed more widespread support among Linux applications and typically more robust while the Video Decode and Presentation API for Unix (VDPAU) was the interface originally started by NVIDIA for their official Linux driver. ova ocs hmz joq res jdd bah ncb dpo xqt gvw nar hhd ffo eju