Re: Can't view videos in firefox: VA-API test failed
Max Nikulin [2024-01-21 10:51:36] wrote:
> On 21/01/2024 06:51, Stefan Monnier wrote:
>> [GFX1-]: vaapitest: VA-API test failed: failed to initialise VAAPI connection.
> [...]
>> Any idea what might be going on? Any hint how I could diagnose the problem?
> I would start from comparison of "vainfo" output and related sections in
> about:support.
Thanks, I didn't know about either of those :-)
Sadly, `vainfo` doesn't tell me much more info than that it fails:
% vainfo
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva error: /usr/lib/i386-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva error: /usr/lib/i386-linux-gnu/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
%
But at least, it seems to indicate that my problems don't have to do
with Firefox.
> Internally Firefox likely uses a test like
>
> /usr/lib/firefox-esr/vaapitest -d /dev/dri/renderD128
>
> https://searchfox.org/mozilla-central/source/widget/gtk/GfxInfo.cpp#line-649
Indeed that gives me the same error message:
% /usr/lib/firefox-esr/vaapitest -d /dev/dri/renderD128
ERROR
VA-API test failed: failed to initialise VAAPI connection.
%
I can't see any "verbose" option for those so I tried `strace`:
% strace vainfo
[...]
write(2, "libva info: Found init function __vaDriverInit_1_20", 52) = 52
openat(AT_FDCWD, "/etc/igfx_user_feature_next.txt", O_RDONLY|O_LARGEFILE) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/etc/igfx_user_feature.txt", O_RDONLY|O_LARGEFILE) = -1 ENOENT (Aucun fichier ou dossier de ce type)
openat(AT_FDCWD, "/dev/shm/GFX_MEDIA_TRACE", O_RDONLY|O_LARGEFILE) = -1 ENOENT (Aucun fichier ou dossier de ce type)
getpid() = 14840
ioctl(4, DRM_IOCTL_VERSION, 0xffdde780) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde780) = 0
ioctl(4, DRM_IOCTL_VERSION, 0xffdde820) = 0
ioctl(4, DRM_IOCTL_I915_GEM_GET_APERTURE, 0xffdde7e8) = 0
geteuid32() = 20848
getuid32() = 20848
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde820) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7e0) = 0
ioctl(4, DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM, 0xffdde808) = 0
ioctl(4, DRM_IOCTL_I915_QUERY, 0xffdde7f8) = 0
ioctl(4, DRM_IOCTL_I915_QUERY, 0xffdde7f8) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = -1 ENODEV (Aucun périphérique de ce type)
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = -1 ENODEV (Aucun périphérique de ce type)
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffdde7a4) = -1 ENODEV (Aucun périphérique de ce type)
write(2, "libva error: /usr/lib/i386-linux-gnu/dri/iHD_drv_video.so init failed", 70) = 70
[...]
write(2, "libva info: Found init function __vaDriverInit_1_8", 51) = 51
ioctl(4, DRM_IOCTL_I915_GEM_GET_APERTURE, 0xffde593c) = 0
geteuid32() = 20848
getuid32() = 20848
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
ioctl(4, DRM_IOCTL_I915_GETPARAM or DRM_IOCTL_TEGRA_CLOSE_CHANNEL, 0xffde5934) = 0
write(2, "libva error: /usr/lib/i386-linux-gnu/dri/i965_drv_video.so init failed", 71) = 71
[...]
%
I'm not even sure which of the two drivers is supposed to work :-(
Stefan
Reply to: