Are you using VA-API on X11? libva gets the driver name from Xserver, it is nouveau for you. so libva tries to load nouveau_drv_video.so. You can create a symlink for nouveau pointing to a available driver or just ignore the message because you have gallium_drv_video.so now. Thanks Haihao> nouveau_drv_video.so - what should it be? > > > https://koji.fedoraproject.org/koji/buildinfo?buildID=722316 > ... 0.7.4-13 - Revert symlinks - should be handled by mesa > rhbz#1271842 > https://bugzilla.redhat.com/show_bug.cgi?id=12718 > 42 > ... 0.7.4-12 - Add symlinks for radeonsi,r600,nouveau - rhbz#1264499 > https://bugzilla.redhat.com/show_bug.cgi?id=1264499 > > > $ rpm -q libva libva-vdpau-driver mesa-dri-drivers > libva-1.7.1-1.fc24.x86_64 > libva-vdpau-driver-0.7.4-14.fc24.x86_64 > mesa-dri-drivers-11.2.2-2.20160614.fc24.x86_64 > > $ rpm -ql libva-vdpau-driver > /usr/lib64/dri/nvidia_drv_video.so > /usr/lib64/dri/s3g_drv_video.so > /usr/lib64/dri/vdpau_drv_video.so > /usr/share/doc/... > ... > > $ rpm -ql mesa-dri-drivers > /etc/drirc > /usr/lib64/dri/gallium_drv_video.so > /usr/lib64/dri/i915_dri.so > /usr/lib64/dri/i965_dri.so > /usr/lib64/dri/ilo_dri.so > /usr/lib64/dri/kms_swrast_dri.so > /usr/lib64/dri/nouveau_dri.so > /usr/lib64/dri/nouveau_vieux_dri.so > /usr/lib64/dri/r200_dri.so > /usr/lib64/dri/r300_dri.so > /usr/lib64/dri/r600_dri.so > /usr/lib64/dri/radeon_dri.so > /usr/lib64/dri/radeonsi_dri.so > /usr/lib64/dri/swrast_dri.so > /usr/lib64/dri/virtio_gpu_dri.so > /usr/lib64/dri/vmwgfx_dri.so > /usr/lib64/gallium-pipe > /usr/lib64/gallium-pipe/pipe_i965.so > /usr/lib64/gallium-pipe/pipe_nouveau.so > /usr/lib64/gallium-pipe/pipe_r300.so > /usr/lib64/gallium-pipe/pipe_r600.so > /usr/lib64/gallium-pipe/pipe_radeonsi.so > /usr/lib64/gallium-pipe/pipe_swrast.so > /usr/lib64/gallium-pipe/pipe_vmwgfx.so > > $ ll /usr/lib64/dri/ > ... dummy_drv_video.so > ... gallium_drv_video.so > ... i915_dri.so > ... i965_dri.so > ... ilo_dri.so > ... kms_swrast_dri.so > ... nouveau_dri.so > ... nouveau_vieux_dri.so > ... nvidia_drv_video.so -> vdpau_drv_video.so > ... r200_dri.so > ... r300_dri.so > ... r600_dri.so > ... radeon_dri.so > ... radeonsi_dri.so > ... s3g_drv_video.so -> vdpau_drv_video.so > ... swrast_dri.so > ... vdpau_drv_video.so > ... virtio_gpu_dri.so > ... vmwgfx_dri.so > > > $ icecat > ... > libva info: VA-API version 0.39.2 > libva info: va_getDriverName() returns 0 > libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so > libva info: va_openDriver() returns -1 > libva info: VA-API version 0.39.2 > libva info: va_getDriverName() returns 0 > libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so > libva info: va_openDriver() returns -1 > libva info: VA-API version 0.39.2 > libva info: va_getDriverName() returns 0 > libva info: Trying to open /usr/lib64/dri/gallium_drv_video.so > libva info: Found init function __vaDriverInit_0_39 > libva info: va_openDriver() returns 0 > > > _______________________________________________ > mesa-dev mailing list > mesa-dev at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Hi poma, Seems like you're missed your question. "nouveau_drv_video.so ?" does not mean much I'm afraid :-( On 30 June 2016 at 11:03, poma <pomidorabelisima at gmail.com> wrote:> On 30.06.2016 08:27, Xiang, Haihao wrote: >> >> >> Are you using VA-API on X11? libva gets the driver name from Xserver, >> it is nouveau for you. so libva tries to load nouveau_drv_video.so. >> You can create a symlink for nouveau pointing to a available driver or >> just ignore the message because you have gallium_drv_video.so now. >>Indeed. The tricky part is that libva honours the gallium_drv_video.so name only in some corner cases :-(>> Thanks >> Haihao >> > > > In practice, regarding video acceleration, nouveau has proven to be fragile, > no matter what and how to config > > $ file /usr/lib64/dri/nouveau_drv_video.so > /usr/lib64/dri/nouveau_drv_video.so: cannot open `/usr/lib64/dri/nouveau_drv_video.so' (No such file or directory) > > $ ll /usr/lib64/dri/nouveau_drv_video.so > ls: cannot access '/usr/lib64/dri/nouveau_drv_video.so': No such file or directory >This should no longer be the case with mesa 12.0, where appropriately named files/links are created.> # ln -s vdpau_drv_video.so nouveau_drv_video.so > > $ ll /usr/lib64/dri/nouveau_drv_video.so > ... /usr/lib64/dri/nouveau_drv_video.so -> vdpau_drv_video.so > > $ file /usr/lib64/dri/nouveau_drv_video.so > /usr/lib64/dri/nouveau_drv_video.so: symbolic link to vdpau_drv_video.so >If you do this you're up-to the mercy of the vdpau_drv_video (wrapper) driver, which seems abandoned for the past 4 years.> # ln -fs gallium_drv_video.so nouveau_drv_video.so > > $ ll /usr/lib64/dri/nouveau_drv_video.so > ... /usr/lib64/dri/nouveau_drv_video.so -> gallium_drv_video.so > > $ file /usr/lib64/dri/nouveau_drv_video.so > /usr/lib64/dri/nouveau_drv_video.so: symbolic link to gallium_drv_video.so >As said above, this should no longer be needed.> > $ icecat > ... > libva info: VA-API version 0.39.2 > libva info: va_getDriverName() returns 0 > libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so > libva info: Found init function __vaDriverInit_0_39 > libva info: va_openDriver() returns 0 > icecat: pushbuf.c:727: nouveau_pushbuf_data: Assertion `kref' failed. > Aborted (core dumped) > > https://bugzilla.redhat.com/attachment.cgi?id=1174453 > >From a quick guess - MT and/or GL VAAPI interop related ? If so, thesetwo [1] patches could help. -Emil [1] https://github.com/imirkin/mesa/commit/be089dd63c6102df48de06bb7184ca1202f1e0f5 https://github.com/imirkin/mesa/commit/5e8e523514e73afa48916e094583f4ca83f05175