BlackMagic DaVinci Resolve

Материал из ALT Linux Wiki

Решил установить 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.
Теперь никаких библиотек не требует, с первого взгляда всё работает.
Выставляем принудительно CUDA и видеокарту NVIDIA, автоматическое определение нужно снять.
DaVinci определил плату Blackmagic Design DeckLink HD Extreme 3D/3D+.

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

проблемы

DaVinci работает в Plasma X11.

В прошлый раз я указал библиотеку в переменной 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