Help with vaapisink

Victor Jaquez vjaquez at igalia.com
Thu Jun 8 09:20:39 UTC 2023


Hi Davide,

vaapisink doesn't draw anything with its DRM backend, its drawing method is a
no-op, while, either X11 or Wayland, they draw.

vaapisink is thought to be used in X11 or Wayland only. If you are willing to
draw directly with DRM you can try kmssink, though zero copy might not work.

Another comment, for new code gstva, in gst-plugins-bad, is preferred over
gstreamer-vaapi (check with gst-inspect-1.0 va)

vmjl

On Wed, 07 Jun 2023 at 12:43, Davide Molteni via gstreamer-devel wrote:
> Hello,
> I'm trying to test a simple pipeline using VA-API components, I'm running it on an custom system without any window manager (Yocto distribution), the goal is to use DRM, the pipeline is the following:
> 
> gst-launch-1.0 filesrc location=$1 ! qtdemux ! queue ! h264parse ! vaapih264dec ! vaapipostproc ! 'video/x-raw(memory:VASurface),format=BGRx'! vaapisink display=4 display-name=/dev/dri/renderD128
> 
> The pipeline works correctly and reaches the PLAYING state but I don't see anything on the HDMI monitor, if I use fbdevsink instead I see the decoded video (but obviously it consumes a huge amount of CPU).
> 
> Hereafter some additional information:
> 
> root at mn-el00d08919cf41:~# vainfo
> error: can't connect to X server!
> libva info: VA-API version 1.14.0
> libva info: User environment variable requested driver 'i965'
> libva info: Trying to open /usr/lib/dri/i965_drv_video.so
> libva info: Found init function __vaDriverInit_1_14
> libva info: va_openDriver() returns 0
> vainfo: VA-API version: 1.14 (libva 2.14.0)
> vainfo: Driver version: Intel i965 driver for Intel(R) Broxton - 2.4.1
> vainfo: Supported profile and entrypoints
>       VAProfileMPEG2Simple            : VAEntrypointVLD
>       VAProfileMPEG2Main              : VAEntrypointVLD
>       VAProfileH264ConstrainedBaseline: VAEntrypointVLD
>       VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
>       VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
>       VAProfileH264Main               : VAEntrypointVLD
>       VAProfileH264Main               : VAEntrypointEncSlice
>       VAProfileH264Main               : VAEntrypointEncSliceLP
>       VAProfileH264High               : VAEntrypointVLD
>       VAProfileH264High               : VAEntrypointEncSlice
>       VAProfileH264High               : VAEntrypointEncSliceLP
>       VAProfileH264MultiviewHigh      : VAEntrypointVLD
>       VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
>       VAProfileH264StereoHigh         : VAEntrypointVLD
>       VAProfileH264StereoHigh         : VAEntrypointEncSlice
>       VAProfileVC1Simple              : VAEntrypointVLD
>       VAProfileVC1Main                : VAEntrypointVLD
>       VAProfileVC1Advanced            : VAEntrypointVLD
>       VAProfileNone                   : VAEntrypointVideoProc
>       VAProfileJPEGBaseline           : VAEntrypointVLD
>       VAProfileJPEGBaseline           : VAEntrypointEncPicture
>       VAProfileVP8Version0_3          : VAEntrypointVLD
>       VAProfileVP8Version0_3          : VAEntrypointEncSlice
>       VAProfileHEVCMain               : VAEntrypointVLD
>       VAProfileHEVCMain               : VAEntrypointEncSlice
>       VAProfileHEVCMain10             : VAEntrypointVLD
>       VAProfileVP9Profile0            : VAEntrypointVLD
> 
> root at mn-el00d08919cf41:~# lshw -disable mmc -c video
>   *-display
>        description: VGA compatible controller
>        product: HD Graphics 500
>        vendor: Intel Corporation
>        physical id: 2
>        bus info: pci at 0000:00:02.0
>        version: 0b
>        width: 64 bits
>        clock: 33MHz
>        capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
>        configuration: driver=i915 latency=0
>        resources: irq:129 memory:90000000-90ffffff memory:80000000-8fffffff ioport:3000(size=64) memory:c0000-dffff
> 
> 
> Am I missing something?
> 
> Thanks,
> Davide


More information about the gstreamer-devel mailing list