gstreamer1.0-vaapi не может найти драйвер

На сервере Ubuntu 16.04.3, когда я пытаюсь запустить видео в графическом приложении на основе Qt Quick (бэкенд eglfs (полный экран EGL)), видео начинает подергиваться (становится изменчивым, отрывистым, не знает правильного слова) , На предыдущем установочном видео воспроизводилось гладко. Я делаю разброс деревьев *.so, загруженных во время воспроизведения видео для старой и новой установки. Нет никакой разницы. Я предположил, что проблема может быть в аппаратном ускорении.

После того, как я установил пакет gstreamer1.0-vaapi и перезапустил приложение, оно зависает, если я нажму кнопку «играть». Журнал содержит следующие сообщения:

error: XDG_RUNTIME_DIR not set in the environment. libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so libva info: va_openDriver() returns -1 libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 1 libva error: va_getDriverName() failed with operation failed,driver_name=gallium error: XDG_RUNTIME_DIR not set in the environment. libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 1 libva error: va_getDriverName() failed with operation failed,driver_name=gallium debug qml: Error: 1 (Could not initialize supporting library.) (qrc:///qml/imports/FileManager/components/VideoPlayer.qml:41) warning default: Error: "Could not initialize supporting library." (unknown:0) error: XDG_RUNTIME_DIR not set in the environment. libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 1 libva error: va_getDriverName() failed with operation failed,driver_name=gallium error: XDG_RUNTIME_DIR not set in the environment. libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 1 libva error: va_getDriverName() failed with operation failed,driver_name=gallium error: XDG_RUNTIME_DIR not set in the environment. libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so libva info: va_openDriver() returns -1 libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 1 libva error: va_getDriverName() failed with operation failed,driver_name=gallium error: XDG_RUNTIME_DIR not set in the environment. libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 1 libva error: va_getDriverName() failed with operation failed,driver_name=gallium debug qml: Error: 1 (Could not initialize supporting library.) (qrc:///qml/imports/FileManager/components/VideoPlayer.qml:41) warning default: Error: "Could not initialize supporting library." (unknown:0) error: XDG_RUNTIME_DIR not set in the environment. libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 1 libva error: va_getDriverName() failed with operation failed,driver_name=gallium error: XDG_RUNTIME_DIR not set in the environment. libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 1 libva error: va_getDriverName() failed with operation failed,driver_name=gallium

Затем я печатаю:

# apt-file search /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so mesa-va-drivers: /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so # apt install mesa-va-drivers # ls /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so ls: cannot access '/usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so': No such file or directory

Как это возможно? Есть доказательства того, что пакет mesa-va-drivers должен содержать этот файл *.so. Никакой другой пакет не сделал. Должен ли я сам создавать драйверы mesa va?

Как старые, так и новые системы имеют следующую конфигурацию: AMD A10-7800 Radeon R7, 12 вычислительных ядер 4C + 8G.

vainfo :

error: can't connect to X server! libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so libva info: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit
1
задан 14 February 2018 в 14:30

2 ответа

У меня на самом деле была такая же вещь. Да, комментарий @RobertRiedl о том, где gallium_drv_video.so правильный. Однако это не указано в списке, поскольку это только ссылка на другой файл.

Чтобы исправить это, я сделал следующее:

cd /usr/lib/x86_64-linux-gnu/dri/ sudo rm gallium_drv_video.so sudo apt install mesa_va_drivers sudo ln -s radeonsi_drv_video.so gallium_drv_video.so

После выполнения вышеописанного, vainfo работал нормально:

Чтобы исправить не удается подключиться к X-серверу:

export DISPLAY=:0 xhost +

Запуск vainfo, чтобы убедиться, что он работает:

:~$ vainfo libva info: VA-API version 0.39.2 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.39 (libva 1.7.1) vainfo: Driver version: Mesa Gallium driver 18.1.0-devel for AMD RS880 (DRM 2.50.0 / 4.13.0-36-generic, LLVM 6.0.0) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc

Надеюсь, это поможет!

1
ответ дан 17 July 2018 в 20:51

У меня на самом деле была такая же вещь. Да, комментарий @RobertRiedl о том, где gallium_drv_video.so правильный. Однако это не указано в списке, поскольку это только ссылка на другой файл.

Чтобы исправить это, я сделал следующее:

cd /usr/lib/x86_64-linux-gnu/dri/ sudo rm gallium_drv_video.so sudo apt install mesa_va_drivers sudo ln -s radeonsi_drv_video.so gallium_drv_video.so

После выполнения вышеописанного, vainfo работал нормально:

Чтобы исправить не удается подключиться к X-серверу:

export DISPLAY=:0 xhost +

Запуск vainfo, чтобы убедиться, что он работает:

:~$ vainfo libva info: VA-API version 0.39.2 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.39 (libva 1.7.1) vainfo: Driver version: Mesa Gallium driver 18.1.0-devel for AMD RS880 (DRM 2.50.0 / 4.13.0-36-generic, LLVM 6.0.0) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc

Надеюсь, это поможет!

1
ответ дан 23 July 2018 в 21:31

Другие вопросы по тегам:

Похожие вопросы: