BlackMagic DaVinci Resolve: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 18 промежуточных версий этого же участника)
Строка 1: Строка 1:
Решил установить DaVinci Resolve 19 на Sisyphus.
DaVinci Resolve 19 на Sisyphus.
 
Система:
<pre>$ uname -a
<pre>$ uname -a
Linux 6.6.51-un-def-alt1 #1 SMP PREEMPT_DYNAMIC Thu Sep 12 12:20:03 UTC 2024 x86_64 GNU/Linux</pre>
Linux 6.6.51-un-def-alt1 #1 SMP PREEMPT_DYNAMIC Thu Sep 12 12:20:03 UTC 2024 x86_64 GNU/Linux</pre>
при запуски выдает ошибку:
Видеокарта:
<pre>$ inxi -G
Device-1: NVIDIA TU104GL [Quadro RTX 4000] driver: nvidia v: 550.107.02
Device-2: Blackmagic Design DeckLink HD Extreme 3D/3D+
    driver: blackmagic_driver v: N/A
 
Display: wayland server: X.Org v: 1.24.1.2 with: Xwayland v: 24.1.2
    compositor: kwin_wayland driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,vesa gpu: nvidia,nvidia-nvswitch resolution:
    1: 1920x1080~60Hz 2: 1920x1080~60Hz 3: 1920x1080~60Hz
  API: EGL v: 1.5 drivers: nvidia,swrast,zink
    platforms: wayland,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.107.02
    renderer: Quadro RTX 4000/PCIe/SSE2
  API: Vulkan v: 1.3.290 drivers: N/A surfaces: xcb,xlib,wayland
 
</pre>
 
При запуске выдает ошибку:
<pre>$ /opt/resolve/bin/resolve  
<pre>$ /opt/resolve/bin/resolve  
:symbol lookup error: /usr/lib64/libpango-1.0.so.0: undefined symbol: g_string_free_and_steal</pre>
:symbol lookup error: /usr/lib64/libpango-1.0.so.0: undefined symbol: g_string_free_and_steal</pre>
Строка 8: Строка 28:
<pre>$ nm -gD /usr/lib64/libpango-1.0.so.0 | grep g_string_free_and_steal
<pre>$ nm -gD /usr/lib64/libpango-1.0.so.0 | grep g_string_free_and_steal
U g_string_free_and_steal</pre>
U g_string_free_and_steal</pre>
Ошибка возникает из-за версии библиотек в /opt/resolve/libs они старше, чем в системе. Если мы перенесем или удалим эти библиотеки из /opt/resolve/libs, то DaVinci Resolve будет использованию системные версии библиотек вместо входящих в комплект.
Ошибка возникает из-за версии библиотек в /opt/resolve/libs они отличаются от системных. Если мы перенесем или удалим эти библиотеки из /opt/resolve/libs, то DaVinci Resolve будет использовать системные библиотеки вместо родных.
 
=Решение=
Создадим папку disable_libs в /opt/resolve/libs и перенесем туда библиотеки:
Создадим папку disable_libs в /opt/resolve/libs и перенесём туда библиотеки:
<pre># cd /opt/resolve/libs
<pre># cd /opt/resolve/libs
# mkdir disabled_libs
# mkdir disabled_libs
# mv libglib-2.0.so* libgio-2.0.so* libgmodule-2.0.so* disabled_libs/
# mv libglib-2.0.so* libgio-2.0.so* libgmodule-2.0.so* disabled_libs/
</pre>
</pre>
Запускаем ДаВинчи.
 
Так же для работы DaVinci нужно установить пакеты:
<pre>apt-get install libnvidia-opencl libnvidia-encode libnvidia-nvcuvid libnvidia-nvvm nvidia-cuda-gdb nvidia-cuda-toolkit</pre>
 
<br>Запускаем DaVinci.
<br>DaVinci работает в Plasma X11.
<br>Теперь никаких библиотек не требует, с первого взгляда всё работает.
<br>Выставляем принудительно CUDA и видеокарту NVIDIA, автоматическое определение нужно снять.
<br>DaVinci определил плату Blackmagic Design DeckLink HD Extreme 3D/3D+.


[https://gist.github.com/FoolsTech/659f79a2fc55255d91577add06c57717 Оригинал статьи]
[https://gist.github.com/FoolsTech/659f79a2fc55255d91577add06c57717 Оригинал статьи]


=проблемы=
=проблемы=
Всё работает, но из-за системных библиотек существуют глюки в DaVinci.
В прошлый раз я нашел решение:


Запускал с переменной LD_PRELOAD:
<pre>LD_PRELOAD=/lib64/libglib-2.0.so.0 /opt/resolve/bin/resolve</pre>


Но после обновления системы это больше не работает. Начинает ссылаться на другую библиотеку.
В прошлый раз я указал библиотеку в переменной LD_PRELOAD:
 
<pre>$ LD_PRELOAD=/lib64/libglib-2.0.so.0 /opt/resolve/bin/resolve</pre>
 
Но после обновления системы, этот метод больше не работает. Начинает ссылаться на другую библиотеку.  
<pre>
$ LD_PRELOAD=/lib64/libglib-2.0.so.0 /opt/resolve/bin/resolve
/opt/resolve/bin/resolve: symbol lookup error: /lib64/libgdk_pixbuf-2.0.so.0: undefined symbol: g_task_set_static_name </pre>
 
В этот раз (описал в начале статьи) пришлось отключить библиотеки которые идут в комплекте с DaVinci:
<pre>
<pre>
LD_PRELOAD=/lib64/libglib-2.0.so.0 /opt/resolve/bin/resolve
libgio-2.0.so    libgio-2.0.so.0.6800.4  libglib-2.0.so.0         libgmodule-2.0.so    libgmodule-2.0.so.0.6800.4
$ /opt/resolve/bin/resolve: symbol lookup error: /lib64/libgdk_pixbuf-2.0.so.0: undefined symbol: g_task_set_static_name </pre>
libgio-2.0.so.0  libglib-2.0.so          libglib-2.0.so.0.6800.4  libgmodule-2.0.so.0
</pre>
=Обратная связь=
*[https://t.me/Dark_Zajts @Dark_Zajts]

Текущая версия от 02:56, 7 октября 2024

DaVinci Resolve 19 на Sisyphus.

Система:

$ uname -a
Linux 6.6.51-un-def-alt1 #1 SMP PREEMPT_DYNAMIC Thu Sep 12 12:20:03 UTC 2024 x86_64 GNU/Linux

Видеокарта:

$ inxi -G
Device-1: NVIDIA TU104GL [Quadro RTX 4000] driver: nvidia v: 550.107.02 
Device-2: Blackmagic Design DeckLink HD Extreme 3D/3D+
    driver: blackmagic_driver v: N/A

Display: wayland server: X.Org v: 1.24.1.2 with: Xwayland v: 24.1.2
    compositor: kwin_wayland driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,vesa gpu: nvidia,nvidia-nvswitch resolution:
    1: 1920x1080~60Hz 2: 1920x1080~60Hz 3: 1920x1080~60Hz
  API: EGL v: 1.5 drivers: nvidia,swrast,zink
    platforms: wayland,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.107.02
    renderer: Quadro RTX 4000/PCIe/SSE2
  API: Vulkan v: 1.3.290 drivers: N/A surfaces: xcb,xlib,wayland

При запуске выдает ошибку:

$ /opt/resolve/bin/resolve 
:symbol lookup error: /usr/lib64/libpango-1.0.so.0: undefined symbol: g_string_free_and_steal

хотя я нашел эту строчку без проблем:

$ nm -gD /usr/lib64/libpango-1.0.so.0 | grep g_string_free_and_steal
U g_string_free_and_steal

Ошибка возникает из-за версии библиотек в /opt/resolve/libs они отличаются от системных. Если мы перенесем или удалим эти библиотеки из /opt/resolve/libs, то DaVinci Resolve будет использовать системные библиотеки вместо родных.

Решение

Создадим папку disable_libs в /opt/resolve/libs и перенесём туда библиотеки:

# cd /opt/resolve/libs
# mkdir disabled_libs
# mv libglib-2.0.so* libgio-2.0.so* libgmodule-2.0.so* disabled_libs/

Так же для работы DaVinci нужно установить пакеты:

apt-get install libnvidia-opencl libnvidia-encode libnvidia-nvcuvid libnvidia-nvvm nvidia-cuda-gdb nvidia-cuda-toolkit


Запускаем DaVinci.
DaVinci работает в Plasma X11.
Теперь никаких библиотек не требует, с первого взгляда всё работает.
Выставляем принудительно CUDA и видеокарту NVIDIA, автоматическое определение нужно снять.
DaVinci определил плату Blackmagic Design DeckLink HD Extreme 3D/3D+.

Оригинал статьи

проблемы

В прошлый раз я указал библиотеку в переменной LD_PRELOAD:

$ LD_PRELOAD=/lib64/libglib-2.0.so.0 /opt/resolve/bin/resolve

Но после обновления системы, этот метод больше не работает. Начинает ссылаться на другую библиотеку.

$ LD_PRELOAD=/lib64/libglib-2.0.so.0 /opt/resolve/bin/resolve
/opt/resolve/bin/resolve: symbol lookup error: /lib64/libgdk_pixbuf-2.0.so.0: undefined symbol: g_task_set_static_name 

В этот раз (описал в начале статьи) пришлось отключить библиотеки которые идут в комплекте с DaVinci:

libgio-2.0.so    libgio-2.0.so.0.6800.4  libglib-2.0.so.0         libgmodule-2.0.so    libgmodule-2.0.so.0.6800.4
libgio-2.0.so.0  libglib-2.0.so          libglib-2.0.so.0.6800.4  libgmodule-2.0.so.0

Обратная связь