LinuxCommandLibrary

vainfo

Display VA-API capabilities

TLDR

Show version and supported entrypoints

$ vainfo
copy

Test a specific display protocol
$ vainfo --display [wayland|x11|drm|...]
copy

Show available display protocols
$ vainfo --display help
copy

Show all supported entrypoints
$ vainfo [[-a|--all]]
copy

Display help
$ vainfo --help
copy

SYNOPSIS

vainfo [--display dpy] [--device=device] [-l|--list-profiles] [--list-profiles-all] [--entrypoints profile] [-i|--info] [-h|--help] [-V|--version]

PARAMETERS

--display dpy
    Specify X11 display name (default: :0)

-d device, --device=device
    VA display device path, e.g., /dev/dri/renderD128

-l, --list-profiles
    List only supported profiles

--list-profiles-all
    List all profiles, including unsupported ones

--entrypoints profile
    List entrypoints for specific profile name

-i, --info
    Print additional driver and device information

-h, --help
    Display help and exit

-V, --version
    Print version information and exit

DESCRIPTION

vainfo is a command-line tool from the libva-utils package that queries and reports detailed information about Video Acceleration API (VA-API) support on Linux systems. VA-API enables hardware-accelerated video decoding, encoding, and processing, primarily for Intel, AMD, and NVIDIA GPUs.

By default, it lists available VA display devices (typically /dev/dri/renderD* nodes) and, for each, shows supported profiles (e.g., VAProfileH264Main, VAProfileVP9Profile0, VAProfileHEVCMain) along with corresponding entrypoints (e.g., VLD for decode, EncSlice for encode) and their status (enabled/unsupported). This helps users and developers verify codec support in media applications like FFmpeg, GStreamer, mpv, and VLC.

The output includes driver details, API version, and max image dimensions. It's invaluable for troubleshooting hardware video acceleration, ensuring apps leverage GPU instead of CPU for efficiency.

Requires libva and a VA-API-compatible driver (e.g., iHD for modern Intel, mesa-vaapi for AMD).

CAVEATS

Requires read access to /dev/dri/render* nodes (add user to video or render group). Output depends on loaded driver; may show no devices without VA-API support. Not all profiles/entrypoints imply full feature support.

TYPICAL USAGE

Run vainfo for default summary; vainfo -i for verbose info; vainfo --device=/dev/dri/renderD128 -l for specific GPU profiles.
Check libva info lines for driver/version.

HISTORY

Part of libva-utils from the libva project, started by Intel in 2008 for G45 GPUs. Evolved with VA-API versions (1.x to 1.20+), adding support for modern codecs like AV1 and driver-specific extensions.

SEE ALSO

glxinfo(1), vdpauinfo(1), eglinfo(1)

Copied to clipboard