Запуск Davinci Resolve на открытом драйвере AMD.

UPD. Последняя версия 18.03 build 5. По неизвестным причинам отказывается запускаться с реализацией opencl-amd. Решение поставить, вместо opencl-amd пакет lib32-opencl-legacy-amdgpu-pro. Возможно это временная проблема, но с пакетом lib32-opencl-legacy-amdgpu-pro все работает хорошо.

Приветствую, авантюрист. Я думаю, не секрет, что техника для фото- и видеосъемки развивается семимильными шагами. Объемы материала растут постоянно, а значит, и объемы работ по монтажу. Если лет 10 назад монтирование видео было не такой популярной и востребованной задачей в домашних условиях, то сейчас люди занимаются этим повсеместно. Кто-то делает видео для тик-тока, кто-то профессионально занимается съемкой мероприятий, кто-то просто захотел накидать себе подборку фотографий под музыку для любимой мамы на день рождения. Естественно, подобные задачи ставятся и для пользователей Linux.

Программное обеспечение для работы с видео в Linux есть, кто бы что ни говорил. Может некоторые программы и выглядят как софт из 90-ых, но они все же работают, и люди делают на них вполне серьезные вещи.

Davinci Resolve – это очень мощная кросплатформенная программа для монтирования видео. Настолько мощная, что её использовали в создании многих современных видеофильмов:

Запуск Davinci Resolve на открытом драйвере AMD., image #1

Программа работает на всех трех основных платформах, но так вышло, что с запуском на Linux есть небольшие особенности. Об этих особенностях мы сегодня и поговорим.

Особенности

На сегодняшний день существует два основных серьезных производителя видеокарт: NVIDIA и AMD. В системах Linux под каждого из этих производителей существуют 2 основных драйвера: открытый и закрытый (проприетарный). Davinci Resolve работает предпочтительно с закрытым драйвером. В ситуации с NVIDIA все просто – открытый драйвер очень плох и уступает проприетарному, поэтому все, у кого приобретена NVIDIA, итак используют проприетарный драйвер, и у них все работает без проблем. С пользователями AMD ситуация посложнее. Открытый драйвер на голову лучше проприетарного, а значит, приходиться выбирать: или использовать Davinci Resolve, но получить низкую производительность в целом, или использовать открытый драйвер, но монтировать в чем-то другом. Но Linux не так прост, как кажется =) и можно сделать такую манипуляцию, что драйвер у нас будет стоять открытый, но какая-то конкретная программа будет использовать части проприетарного драйвера без какого либо ущерба в производительности. Собственно, давайте же попробуем сделать это. Запускать будем на двух системах: arch-подобной Manjaro Linux и debian-подобной Linux Mint.

Запуск Davinci Resolve на открытом драйвере AMD на Linux Mint

Для чистоты эксперимента я устанавливаю чистую систему и полностью её обновляю. Дальше нам необходимо скачать сам установщик Davinci Resolve с официального сайта https://www.blackmagicdesign.com/ru/products/davinciresolve/

Запуск Davinci Resolve на открытом драйвере AMD., image #2

Нажимаем кнопку загрузить, выбираем версию 17 для Linux (нас попросят заполнить небольшую анкету и после чего дадут скачать файл программы).

Запуск Davinci Resolve на открытом драйвере AMD., image #3
Запуск Davinci Resolve на открытом драйвере AMD., image #4

Жмем «Зарегистрироваться и загрузить» и получаем наш файлик. Извлекаем содержимое, кликаем 2 раза, запускаем мастер установки и ставим программу.

Запуск Davinci Resolve на открытом драйвере AMD., image #5

Отлично, программа установлена. Сейчас при попытке её запустить мы не получим никакого результата, программа либо зависнет при старте, либо выдаст что-то про openCL и откажется запускаться.

Первое, что нам необходимо сделать, это установить тот самый openCL, да не простой, а именно из проприетарного драйвера. Для этого качаем драйвер с сайта AMD. В разделе драйверы выбираем вашу видеокарту и жмем «SUBMIT»

Запуск Davinci Resolve на открытом драйвере AMD., image #6

Вас перекидывает на страничку скачивания драйверов. Листаем чуть ниже и находим там «Ubuntu x86 64-Bit», раскрываем список и качаем драйвер тот, что выше, для 20-ой версии.

Запуск Davinci Resolve на открытом драйвере AMD., image #7

Содержимое архива распаковываем, заходим в него и открываем в этом окне терминал, в который вводим следующую команду

./amdgpu-pro-install --opencl=pal,legacy --headless

Данная команда установит только openCL, сам драйвер устанавливаться не будет.

Запуск Davinci Resolve на открытом драйвере AMD., image #8

Отлично, полдела сделано. Теперь нам нужно подменить часть открытого драйвера. Для этого мы можем воспользоваться пакетом amdgpu-pro-libgl из AUR-репозитория arch. Почему бы и не позаимствовать у братьев =) Но есть одна проблема. Как нам этот пакет собрать? На самом деле я без понятия, можно ли как-то собирать ауры на debian-подобных системах. Как вариант, ты можешь поставить на виртуальную машину ту же manjaro и воспользоваться инструкцией для сборки ниже или запустить manjaro с флешки и также собрать пакет. Кстати как это сделать можно прочитать вот тут. Ну или скачать собранный пакет, который я оставлю тут.

В собранном пакете нам нужна одна папка – это amdgpu-pro-libgl. Скопируй её, куда хочешь. Я разместил её просто в корень домашнего каталога.

Запуск Davinci Resolve на открытом драйвере AMD., image #9

Подготовка закончена, теперь нужно запустить Davinci Resolve с парочкой параметров. Лучше всего создать bash-скриптик вот таким образом:

#!/bin/bash
LD_LIBRARY_PATH="/home/zerg/amdgpu-pro-libgl/usr/lib/amdgpu-pro/:${LD_LIBRARY_PATH}" LIBGL_DRIVERS_PATH="/home/zerg/amdgpu-pro-libgl/usr/lib/dri/" dri_driver="amdgpu" /opt/resolve/bin/resolve

LD_LIBRARY_PATH и LIBGL_DRIVERS_PATH указывают на каталог amdgpu-pro-libgl в моем домашнем каталоге, ты, естественно, замени путь на свой.

Запуск Davinci Resolve на открытом драйвере AMD., image #10

Ну вот и все, кликаем на скрипт и жмем запустить.

Запуск Davinci Resolve на открытом драйвере AMD., image #11
Запуск Davinci Resolve на открытом драйвере AMD., image #12

Запуск Davinci Resolve на открытом драйвере AMD на Manjaro Linux

В отличии от Linux Mint, в Manjaro скачивать программу не нужно, можно воспользоваться AUR-пакетом.

yay -S davinci-resolve
Запуск Davinci Resolve на открытом драйвере AMD., image #13

После установки, так же, как в случае с linux Mint, нам нужно установить openCL, но здесь это сделать опять же гораздо проще. Просто ставим AUR-пакет opencl-amd командой.

yay -S opencl-amd
Запуск Davinci Resolve на открытом драйвере AMD., image #14

Дальше нам нужны некоторые файлы из проприетарного драйвера. Важно, что драйвер нужно только собрать, но ни в коем случае не устанавливать. Для успешной сборки убедитесь, что у вас установлен пакет base-devel. Так как моя система голая, я его устанавливаю командой. Ну и не забудем поставить yay

sudo pacman -S base-devel
sudo pacman -S yay
Запуск Davinci Resolve на открытом драйвере AMD., image #15

Теперь можно собирать проприетарный драйвер. Заходим на aur.archlinux.org и ищем там пакет amdgpu-pro-libgl. Справа есть ссылка «Download snapshot», кликаем по ней и получаем файлы для сборки, распаковываем

Запуск Davinci Resolve на открытом драйвере AMD., image #16

переходим в распакованный каталог и открываем в нем терминал

Запуск Davinci Resolve на открытом драйвере AMD., image #17

в терминале вводим команду для сборки

makepkg
Запуск Davinci Resolve на открытом драйвере AMD., image #18

После сборки каталог будет выглядеть вот так:

Запуск Davinci Resolve на открытом драйвере AMD., image #19

теперь идем в каталог pkg, а там то, что нам нужно – каталог amdgpu-pro-libgl. Копируем этот каталог, например, в домашний каталог

Запуск Davinci Resolve на открытом драйвере AMD., image #20

ну, и последний шаг – это команда запуска с указанием путей для файлов подмены. Создаем bash-скрипт:

#!/bin/bash
LD_LIBRARY_PATH="/home/zerg/amdgpu-pro-libgl/usr/lib/amdgpu-pro/:${LD_LIBRARY_PATH}" LIBGL_DRIVERS_PATH="/home/zerg/amdgpu-pro-libgl/usr/lib/dri/" dri_driver="amdgpu" /opt/resolve/bin/resolve

LD_LIBRARY_PATH и LIBGL_DRIVERS_PATH указывают на каталог amdgpu-pro-libgl в моем домашнем каталоге, ты, естественно, замени путь на свой.

Запуск Davinci Resolve на открытом драйвере AMD., image #21

Готово, можно запускать.

Запуск Davinci Resolve на открытом драйвере AMD., image #22

Итог

Благодаря этому небольшому трюку ты сможешь воспользоваться таким довольно мощным инструментом, как Davinci Resolve на любой системе. Не исключаю что могут быть какие то проблемы на других системах или конфигурациях оборудования, я пробовал только на двух вышеперечисленных. Если не получается, жду тебя в комментариях. Дальше все только в твоих руках. Удачи, Авантюрист.

577 views·10 shares