radeonsi: vaapi tries to initialise llvm twice
This can be seen easily with mpv
mpv test.mp4
(+) Video --vid=1 (*) (h264 1280x720 29.970fps)
(+) Audio --aid=1 --alang=eng (*) (aac 2ch 44100Hz)
mesa: for the --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the --global-isel-abort option: may only occur zero or one times!
mesa: for the --amdgpu-atomic-optimizations option: may only occur zero or one times!
mesa: for the --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the --global-isel-abort option: may only occur zero or one times!
mesa: for the --amdgpu-atomic-optimizations option: may only occur zero or one times!
Using hardware decoding (vaapi).
AO: [pulse] 44100Hz stereo 2ch float
VO: [gpu] 1280x720 vaapi[nv12]
AV: 00:00:02 / 00:30:50 (0%) A-V: 0.000
Exiting... (Quit)
I've been trying to track down why Chromium fails to use vaapi, currently in media-internals it says: "Failed to initialize Unknown Video Decoder" rather than initialising the Mojo decoder
I was trying to figure out if the above messages were causing issues with initialisation
I can see they were fixed previously in 18b12bf5 and 50d20dc0 by @mareko and @pepp
I see this on a single GPU Raven Ridge system:
08:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series] [1002:15dd] (rev c6)
And on a PRIME Renoir and Navy Flounder system:
03:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT / 6800M] [1002:73df] (rev c3)
08:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev c4)
vainfo output:
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib64/va/drivers/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.13 (libva 2.13.0)
vainfo: Driver version: Mesa Gallium driver 22.0.0-devel for AMD RENOIR (LLVM 13.0.0, DRM 3.44, 5.17.0-rc2-tip+)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
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
VAProfileNone : VAEntrypointVideoProc
LLVM is built with:
-DBUILD_SHARED_LIBS=OFF
-DLLVM_BUILD_LLVM_DYLIB=ON
-DLLVM_LINK_LLVM_DYLIB=ON
Mesa is built with:
-Dplatforms=x11,wayland
-Dgallium-nine=true
-Dgallium-va=enabled
-Dva-libs-path=/usr/lib64/va/drivers
-Dgallium-vdpau=enabled
-Dgallium-xa=disabled
-Dgallium-xvmc=disabled
-Dgallium-opencl=icd
-Dvulkan-layers=device-select,overlay
-Dbuild-tests=false
-Dglx=dri
-Dshared-glapi=enabled
-Ddri3=enabled
-Degl=true
-Dgbm=true
-Dglvnd=true
-Dgles1=enabled
-Dgles2=enabled
-Dllvm=enabled
-Dlmsensors=enabled
-Dosmesa=false
-Dselinux=false
-Dlibunwind=disabled
-Dzstd=enabled
-Dsse2=true
-Dvalgrind=disabled
-Dgallium-drivers=radeonsi,swrast,zink
-Dvulkan-drivers=amd