Re: Problems with Xv and latest xf86-video-intel driver

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Fri, 12 Nov 2021 07:53:40 UTC
Alexey Dokuchaev <danfe@freebsd.org> writes:

>  libva-intel-driver-2.4.1_1		<-- per the advice at [1]

Completely useless for XV. VA-API isn't tied X11 unlike XV and under X11
requires DRI2 (or DRI3). For example, mpv supports VA-API under console:

  $ mpv --no-config --hwdec=vaapi --gpu-context=drm /path/to/video

or

  $ mpv --no-config --hwdec=vaapi-copy --gpu-api=vulkan --gpu-context=displayvk --vulkan-display-plane=2 /path/to/video

> The problem is that with xf86-video-intel-2.99.917.916_1,1 installed,
> xvinfo(1) gives me:
>
>   X-Video Extension version 2.2
>   screen #0
>    no adaptors present
>
> That's all.  In the /var/log/Xorg.0.log, I can see this line:
>
>   (WW) intel(0): Disabling Xv because no adaptors could be initialized.

Xv on UXA probably still works on pre-Broadwell iGPUs, see
https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/commit/cbcc1b6190ab
(skips I830SetupImageVideoTextured() on INTEL_INFO(intel)->gen < 0100)

> Interestingly though, MPlayer consumes ~13% of CPU decoding some random
> H264 640x360 YouTube clip, which means that 2D gfx hw accell is working
> despite that evidently Xv support is missing or broken.

Xv without XvMC doesn't support hardware decoding, only scaling is offloaded.
However, XvMC in xf86-video-intel is limited to MPEG-2.

> I guess with SNA, better performance should be expected [2], albeit
> UXA is still the default, so I'm wondering if non-working xvinfo(1)
> with UXA is a bug (that's question #1).  It's also a bit odd that
> UXA is the port's default option while per their NEWS file, SNA is
> default upstream since snapshot 2.99.901 (2013-09-04).

From x11-drivers/xf86-video-intel/Makefile:

  # XXX bug 214593: SNA crashes on pre-SandyBridge hardware
  CONFIGURE_ARGS+=--with-default-accel=uxa

I've filed https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259791