LINUX.ORG.RU

Еще раз про встроенные vdpau/vaapi в блобы AMDGPU-PRO/NVIDIA и сборку пакетов

 , , , ,


0

1

Насколько я понял с прошлых тредов, то блобы AMDGPU-PRO и Nvidia идут со своими стоковыми интегрированными vdpau и vaapi, получается, что поддержку их в mesa и других пакетах собирать не нужно и отдельно ставить сторонние - тоже.

Но есть вот такие приложения, для которых доступна возможность сборки с vdpau и vaapi: ffmpeg, vlc, mplayer, mpv и так далее.

Как правило, это означает, что им нужны зависимости: libvdpau и libva, я вот не разбираюсь в этом, получается, что эти пакеты будут использовать эти реализации, а не блобовые, ведь так?

Есть ли способ собирать (и использовать) пакеты с поддержкой блобовых реализаций vdpau/vaapi? и возможно ли это.


Libvdpau как раз и работает через блоб (или другую подходящую реализацию, например через mesa тоже работает).

anonymous
()

что эти пакеты будут использовать эти реализации, а не блобовые, ведь так?

нет, будет использоваться реализация того драйвера, который сейчас установлен (блоб или опенсорс).

с поддержкой блобовых реализаций vdpau/vaapi?

Нет никакой разницы, интерфейс +- стандартен.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

нет, будет использоваться реализация того драйвера, который сейчас установлен (блоб или опенсорс).

а как проверить работает ли вообще у меня vdpau (он точно идёт с блобом:

/usr/lib64/opengl/amdgpu-pro/vdpau/libvdpau_amdgpu.so.1.0.0
# симлинки на него:
/usr/lib64/vdpau/libvdpau_amdgpu.so
/usr/lib64/vdpau/libvdpau_amdgpu.so.1
/usr/lib64/vdpau/libvdpau_amdgpu.so.1.0
/usr/lib64/vdpau/libvdpau_amdgpu.so.1.0.0
но /usr/lib64/libvdpau.so.1.0.0 например нет в системе.

slon
() автор топика
Ответ на: комментарий от anonymous

vdpauinfo

у него зависимость та самая libvdpau, после установки которых показывает:

display: :0   screen: 0
Failed to open VDPAU backend libvdpau_amdgpu.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1

slon
() автор топика
Ответ на: комментарий от slon

попробуй прописать в переменную окружения VDPAU_DRIVER

anonymous
()

В AMDGPU-PRO реализация кодирования и декодирования видео из открытого драйвера. Т.е ты можешь вместо них поставить месовские и разницы вообще никакой не будет.

anonymous
()

libvdpau и libva — это опенсорсные библиотеки-прослойки, которые в рантайме выбирают нужный драйвер, будь он опенсорсным или проприетарным. Таким образом несколько VA-API/VDPAU-драйверов могут сосуществовать в системе без костылей (в отличие от нескольких libGL.so, например).

Эти библиотеки должны быть установлены в любом случае, вне зависимости от того, планируешь ли ты использовать несколько драйверов попеременно или нет — т. к. прикладные приложения линкуются именно с прослойкой, а не с каким-либо конкретным драйвером.

На выбор конкретного VDPAU-драйвера, как уже отметили, можно повлиять установкой переменной $VDPAU_DRIVER.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от slon

ldd /usr/lib64/vdpau/libvdpau_amdgpu.so что показывает? Amdgpu драйвер сам сейчас работает? В eselect переключить что-то на amdgpu забыл?

anonymous
()
Ответ на: комментарий от intelfx

можно повлиять установкой переменной $VDPAU_DRIVER.

сделал (все симлинки откуда-либо ведут именно на него)

export VDPAU_DRIVER="/usr/lib64/opengl/amdgpu-pro/vdpau/libvdpau_amdgpu.so.1.0.0"
но vdpauinfo не может его прочитать или что:
~# echo $VDPAU_DRIVER
/usr/lib64/opengl/amdgpu-pro/vdpau/libvdpau_amdgpu.so.1.0.0

~# file $VDPAU_DRIVER
/usr/lib64/opengl/amdgpu-pro/vdpau/libvdpau_amdgpu.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

~# vdpauinfo
display: :0   screen: 0
Failed to open VDPAU backend libvdpau_amdgpu.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1

slon
() автор топика
Ответ на: комментарий от anonymous

ldd /usr/lib64/vdpau/libvdpau_amdgpu.so что показывает?

	linux-vdso.so.1 (0x00007ffe111d4000)
	libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007ff3d5b5a000)
	libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007ff3d5952000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007ff3d5612000)
	libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007ff3d540a000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007ff3d51e2000)
	librt.so.1 => /lib64/librt.so.1 (0x00007ff3d4fda000)
	libdrm_radeon.so.1 => not found
	libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007ff3d4dca000)
	libdrm_amdgpu.so.1 => /usr/lib64/opengl/amdgpu-pro/lib/libdrm_amdgpu.so.1 (0x00007ff3d4bba000)
	libelf.so.1 => /usr/lib64/libelf.so.1 (0x00007ff3d49a2000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff3d4782000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007ff3d457a000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/libstdc++.so.6 (0x00007ff3d4182000)
	libm.so.6 => /lib64/libm.so.6 (0x00007ff3d3e8a000)
	libc.so.6 => /lib64/libc.so.6 (0x00007ff3d3af2000)
	/lib64/ld-linux-x86-64.so.2 (0x000055a1ef46b000)
	libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/libgcc_s.so.1 (0x00007ff3d38da000)
	libz.so.1 => /lib64/libz.so.1 (0x00007ff3d36c2000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007ff3d34ba000)
	libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007ff3d32b2000)
	libbsd.so.0 => /usr/lib64/libbsd.so.0 (0x00007ff3d309a000)

Amdgpu драйвер сам сейчас работает?

Ну да, конечно.

В eselect переключить что-то на amdgpu забыл?

eselect opengl/opencl стоит

[1]   amdgpu-pro *

slon
() автор топика

Всем спасибо, я пофиксил вот это:

libdrm_radeon.so.1 => not found

собрав libdrm с поддержкой radeon, теперь vdpauinfo всё показывает, всем большое спасибо.

slon
() автор топика
Ответ на: комментарий от slon

собрав libdrm с поддержкой radeon, теперь vdpauinfo всё показывает

Подъезжая к вокзалу, шляпу сдуло ветром.

Heil Grammar.

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.