VA-API - ArchWiki

# VA-API

Related articles

- VDPAU
- XvMC

Video Acceleration API is a specification and open source library to provide hardware accelerated video encoding and decoding.

## Supported hardware

This article or section needs expansion.

Reason: This revision contained some information about libva-mesa-driver and `LIBVA_DRIVER_NAME=gallium`, which should be added here. (Discuss in Talk:VA-API#)

Open source drivers:

- AMD Radeon 9500 and newer GPUs are supported by the libva-vdpau-driver package together with the mesa package.
- Intel GMA 4500 series and newer GPUs are supported by the libva-intel-driver package together with the mesa package.
- NVIDIA GeForce 8 series and newer GPUs are supported by the libva-vdpau-driver package together with the mesa package. It uses the nouveau-fwAUR package, which contains the required firmware to operate that is presently extracted from the NVIDIA binary driver.

Proprietary drivers:

- AMD Radeon HD 4000 series and newer GPUs are supported by the libva-xvba-driverAUR package. It uses the catalyst-utilsAUR driver for Radeon HD 5000 series and newer, and catalyst-total-hd234kAUR for Radeon HD 4000 series.
- NVIDIA GeForce 8 series and newer GPUs are supported by the libva-vdpau-driver package together with the nvidia-utils driver.

### Supported formats

| Open source | Proprietary
--- | --- | ---
| AMD | Intel | Nvidia | AMD | Nvidia
MPEG2 decoding | Radeon 9500 and newer | GMA 4500 and newer | GeForce 8 and newer | Radeon HD 4000 and newer | GeForce 8 and newer
MPEG4 decoding | Radeon HD 6000 and newer | — | GeForce 200 and newer | Radeon HD 6000 and newer | GeForce 200 and newer
H264 decoding | Radeon HD 4000 and newer | GMA 45001, Ironlake Graphics and newer | GeForce 8 and newer | Radeon HD 4000 and newer | GeForce 8 and newer
VC1 decoding | Radeon HD 4000 and newer | Sandy Bridge Graphics and newer | GeForce 8200, 8300, 8400, 9300, 200 and newer | Radeon HD 4000 and newer | GeForce 8 and newer
MPEG2 encoding | — | Ivy Bridge Graphics and newer | — | — | —
H264 encoding | — | Sandy Bridge Graphics and newer | — | — | —

1Supported by the libva-intel-driver-g45-h264AUR package. See H.264 decoding on GMA 4500 for instructions and caveats.

In order to check what profiles (features) are supported by your GPU, you may want to read the #Verifying section.

### Configuration

This article or section needs expansion.

Reason: Add notes on the `LIBVA_DRIVER_NAME` values for different drivers, c.f. VDPAU#Configuration. The drivers are installed in `/usr/lib/dri/`. (Discuss in Talk:VA-API#)

The driver used by VA-API is autodetected, but sometimes it may be necessary to configure it manually by setting the environment variable `LIBVA_DRIVER_NAME`, for example:

    export LIBVA_DRIVER_NAME=vdpau

### Verifying

Verify the settings for VAAPI by running `vainfo`, which is provided by the libva package:

    $ vainfo

    libva info: VA-API version 0.38.0
    libva info: va_getDriverName() returns 0
    libva info: User requested driver 'vdpau'
    libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so
    libva info: Found init function __vaDriverInit_0_35
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 0.38 (libva 1.6.1)
    vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
    vainfo: Supported profile and entrypoints
          VAProfileMPEG2Simple            : VAEntrypointVLD
          VAProfileMPEG2Main              : VAEntrypointVLD
          VAProfileMPEG4Simple            : VAEntrypointVLD
          VAProfileMPEG4AdvancedSimple    : VAEntrypointVLD
          VAProfileH264Baseline           : VAEntrypointVLD
          VAProfileH264Main               : VAEntrypointVLD
          VAProfileH264High               : VAEntrypointVLD
          VAProfileVC1Simple              : VAEntrypointVLD
          VAProfileVC1Main                : VAEntrypointVLD
          VAProfileVC1Advanced            : VAEntrypointVLD

VAEntrypointVLD means that your card is capable to decode this format, VAEntrypointEncSlice means that you can encode to this format.

## Supported software

- GStreamer based players - VA-API is used automatically, if supported format found.

  See more at http://docs.gstreamer.com/display/GstSDK/Playback+tutorial+8%3A+Hardware-accelerated+video+decoding.

- VLC media player: see VLC media player#Hardware acceleration support.
- Mpv: see Mpv#Hardware Decoding.
- MPlayer: see MPlayer#Enabling VA-API.

Categories:

- Graphics
- X server

Hidden category:

- Pages or sections flagged with Template:Expansion