# Building VA support

**URL:** https://discourse.gstreamer.org/t/building-va-support/5728
**Category:** Application Development
**Created:** [February 19, 2026, 4:13am UTC](https://discourse.gstreamer.org/t/building-va-support/5728 "2026-02-19T04:13:51Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![bluewave41](https://discourse.gstreamer.org/letter_avatar_proxy/v4/letter/b/c6cbf5/32.png) [@bluewave41](https://discourse.gstreamer.org/u/bluewave41)
#### Post date: [February 19, 2026, 4:13am UTC](https://discourse.gstreamer.org/t/building-va-support/5728/1 "2026-02-19T04:13:51Z")

</div>

Following [https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-meson.html?gi-language=c](https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-meson.html?gi-language=c) I’ve done the following

```auto
git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git
cd gstreamer
meson setup ./builddir

```

Which prints out at the end of the log

> FFmpeg| Library va skipped: feature vaapi disabled

Going ahead anyway…

```auto
cd builddir
ninja
cd ../
./gst-env.py
[main] gst-inspect-1.0 va
No such element or plugin 'va'

```

`vainfo` reports

`vainfo`  
`libva info: VA-API version 1.20.0`  
`libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_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: Mesa Gallium driver 25.2.8-0ubuntu0.24.04.1 for AMD Ryzen 9 7950X3D 16-Core Processor (radeonsi, raphael_mendocino, LLVM 20.1.2, DRM 3.64, 6.17.0-14-generic)`  
`vainfo: Supported profile and entrypoints`  
`VAProfileH264ConstrainedBaseline:	VAEntrypointVLD`  
`VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice`  
`VAProfileH264Main :	VAEntrypointVLD`  
`VAProfileH264Main :	VAEntrypointEncSlice`  
`VAProfileH264High :	VAEntrypointVLD`  
`VAProfileH264High :	VAEntrypointEncSlice`  
`VAProfileHEVCMain :	VAEntrypointVLD`  
`VAProfileHEVCMain :	VAEntrypointEncSlice`  
`VAProfileHEVCMain10 :	VAEntrypointVLD`  
`VAProfileHEVCMain10 :	VAEntrypointEncSlice`  
`VAProfileJPEGBaseline :	VAEntrypointVLD`  
`VAProfileVP9Profile0 :	VAEntrypointVLD`  
`VAProfileVP9Profile2 :	VAEntrypointVLD`  
`VAProfileAV1Profile0 :	VAEntrypointVLD`  
`VAProfileNone :	VAEntrypointVideoProc`

I cannot understand why it’s disabled or how to enable it.

[How to build the va plugins vah264enc element? - #9 by vjaquez](https://discourse.gstreamer.org/t/how-to-build-the-va-plugins-vah264enc-element/4327/9) seems similar but there’s no solution and nothing there helps me.

---

<div class="post-metadata">

### Author: ![philn](https://discourse.gstreamer.org/user_avatar/discourse.gstreamer.org/philn/32/13_2.png) [@philn](https://discourse.gstreamer.org/u/philn)
#### Post date: [February 19, 2026, 9:55am UTC](https://discourse.gstreamer.org/t/building-va-support/5728/2 "2026-02-19T09:55:29Z")

</div>

We don’t use the FFmpeg VA support, so it is expected that it is disabled.

We have a “standalone” VA plugin, currently in gst-plugins-bad.

Maybe share the meson log file here?

---

<div class="post-metadata">

### Author: ![ndufresne](https://discourse.gstreamer.org/user_avatar/discourse.gstreamer.org/ndufresne/32/10_2.png) [@ndufresne](https://discourse.gstreamer.org/u/ndufresne)
#### Post date: [February 19, 2026, 10:43pm UTC](https://discourse.gstreamer.org/t/building-va-support/5728/3 "2026-02-19T22:43:56Z")

</div>

Check the logs in `./builddir/meson-logs/meson-log.txt` . You’ll need development package for libva and udev.

```auto
Dependency libva found: YES 1.22.0
Dependency libva-drm found: YES 1.22.0
Dependency gudev-1.0 found: YES 238 

```

---

<div class="post-metadata">

### Author: ![bluewave41](https://discourse.gstreamer.org/letter_avatar_proxy/v4/letter/b/c6cbf5/32.png) [@bluewave41](https://discourse.gstreamer.org/u/bluewave41)
#### Post date: [February 19, 2026, 11:47pm UTC](https://discourse.gstreamer.org/t/building-va-support/5728/4 "2026-02-19T23:47:53Z")

</div>

I think those 3 depenencies are installed. I see

Run-time dependency libva found: YES 1.20.0

Run-time dependency libva-drm found: YES 1.20.0

Dependency gudev-1.0 found: YES 238 (cached)

I’ve uploaded the logs to

> **[Filebin | od2ye81dwp30pd6w](https://filebin.net/od2ye81dwp30pd6w)**
>
> Convenient file sharing. Registration is not required. Large files are supported.

---

<div class="post-metadata">

### Author: ![philn](https://discourse.gstreamer.org/user_avatar/discourse.gstreamer.org/philn/32/13_2.png) [@philn](https://discourse.gstreamer.org/u/philn)
#### Post date: [February 20, 2026, 5:01pm UTC](https://discourse.gstreamer.org/t/building-va-support/5728/5 "2026-02-20T17:01:03Z")

</div>

And in your build dir you see no `libgstva.so` file?

---

<div class="post-metadata">

### Author: ![philn](https://discourse.gstreamer.org/user_avatar/discourse.gstreamer.org/philn/32/13_2.png) [@philn](https://discourse.gstreamer.org/u/philn)
#### Post date: [February 20, 2026, 5:48pm UTC](https://discourse.gstreamer.org/t/building-va-support/5728/6 "2026-02-20T17:48:13Z")

</div>

If you have it, inspect it, that might give some hints. `gst-inspect-1.0 path/to/libgstva.so`

---

<div class="post-metadata">

### Author: ![bluewave41](https://discourse.gstreamer.org/letter_avatar_proxy/v4/letter/b/c6cbf5/32.png) [@bluewave41](https://discourse.gstreamer.org/u/bluewave41)
#### Post date: [February 20, 2026, 6:34pm UTC](https://discourse.gstreamer.org/t/building-va-support/5728/7 "2026-02-20T18:34:07Z")

</div>

I do.

`/home/matthew/Desktop/gstreamer/gstreamer/builddir/subprojects/gst-plugins-bad/sys/va`

```auto
[1.28] Terminal:~/Desktop/gstreamer/gstreamer$ gst-inspect-1.0 builddir/subprojects/gst-plugins-bad/sys/va/libgstva.so
Plugin Details:
Name va
Description VA-API codecs plugin
Filename builddir/subprojects/gst-plugins-bad/sys/va/libgstva.so
Version 1.28.0.1
License LGPL
Source module gst-plugins-bad
Documentation https://gstreamer.freedesktop.org/documentation/va/
Binary package GStreamer Bad Plug-ins git
Origin URL Unknown package origin

vaav1dec: VA-API AV1 Decoder in AMD Ryzen 9 7950X3D 16-Core Processor
vacompositor: VA-API Video Compositor in AMD Ryzen 9 7950X3D 16-Core Processor
vadeinterlace: VA-API Deinterlacer in AMD Ryzen 9 7950X3D 16-Core Processor
vah264dec: VA-API H.264 Decoder in AMD Ryzen 9 7950X3D 16-Core Processor
vah264enc: VA-API H.264 Encoder in AMD Ryzen 9 7950X3D 16-Core Processor
vah265dec: VA-API H.265 Decoder in AMD Ryzen 9 7950X3D 16-Core Processor
vah265enc: VA-API H.265 Encoder in AMD Ryzen 9 7950X3D 16-Core Processor
vajpegdec: VA-API JPEG Decoder in AMD Ryzen 9 7950X3D 16-Core Processor
vapostproc: VA-API Video Postprocessor in AMD Ryzen 9 7950X3D 16-Core Processor
vavp9alphadecodebin: VA-API VP9 Alpha Decoder
vavp9dec: VA-API VP9 Decoder in AMD Ryzen 9 7950X3D 16-Core Processor

11 features:
±- 11 elements

[1.28] Terminal:~/Desktop/gstreamer/gstreamer$

```

I was under the impression that that gst-env.py script would automatically set my GST\_PLUGIN\_PATH but maybe it’s just not or it’s being overwritten by my local path. When run inside the gst environment

`echo $GST_PLUGIN_PATH`  
`/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0`

I’ll have to experiment more later. I’m still getting used to this whole build process and installing updated versions locally.
