vaapi and x-forwarding

Marianna S. Buschle msb at qtec.com
Mon Jun 14 11:22:22 UTC 2021


Hi

I'm doing remote development and testing so I'm using X forwarding.

This works fine:

gst-launch-1.0 videotestsrc is-live=true pattern=ball !
video/x-raw,framerate=30/1,format=NV12 ! tee name=t ! queue ! x264enc
key-int-max=30 speed-preset=1 tune=zerolatency ! video/x-h264,profile=high !
h264parse ! fakesink t. ! queue ! videoconvert ! timeoverlay ! textoverlay
text=src ! ximagesink sync=0

This however doesn't:

gst-launch-1.0 videotestsrc is-live=true pattern=ball !
video/x-raw,framerate=30/1,format=NV12 ! tee name=t ! queue ! vaapih264enc
rate-control=4 bitrate=15000 ! video/x-h264,profile=high ! h264parse !
fakesink t. ! queue ! videoconvert ! timeoverlay ! textoverlay text=src !
ximagesink sync=0

Setting pipeline to PAUSED ...
error: XDG_RUNTIME_DIR not set in the environment.
X Error of failed request:  BadRequest (invalid request code or no such
operation)
  Major opcode of failed request:  154 (DRI2)
  Minor opcode of failed request:  1 (DRI2Connect)
  Serial number of failed request:  12
  Current serial number in output stream:  12

Both commands are run on a remote machine by SSH with "-X"

The problem seems to be related to my graphics card (NVIDIA) because of
direct/indirect rendering.
And I have already spend several days updating drivers and trying different
fixes without any luck.

I can accept that is problematic to forward stuff related to 3D graphics,
but this is not what I'm trying to do.
The encode/decode should happen in the remote machine, and I would expect
only the RAW frames to be sent by X to be rendered on my machine.

Using fx `glimagesink` works fine as well.
It is only VAAPI that is the problem, as soon as I add any VAAPi element to
the pipe I get that error.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list