BlackMagic DaVinci Resolve
Решил установить 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 NVIDIA TU104GL [Quadro RTX 4000] driver: nvidia v: 550.107.02
при запуски выдает ошибку:
$ /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/
пакеты которые нужно установить:
apt-get install libnvidia-opencl libnvidia-encode libnvidia-nvcuvid libnvidia-nvvm nvidia-cuda-gdb nvidia-cuda-toolkit
Запускаем DaVinci.
проблемы
В принципе DaVinci работает, но из-за того что несколько библиотек пришлось переключить на системные, существуют глюки в DaVinci. Или это глюк самого Sisyphus.
В прошлый раз я указал библиотеку в переменной 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