Ativando a aceleração por GPU no DaVinci Resolve no driver aberto da AMD

Não sei se se aplica ao seu caso, mas o DaVinci Resolve é relativamente simples de executar com a RX580, desde que o driver Mesa esteja instalado com a flag OpenCL habilitada. No Gentoo, você pode habilitar essa flag no arquivo package.use e, em seguida, recompilar o Mesa. Já nas distribuições como Arch e Debian, essa configuração geralmente vem habilitada por padrão se não me engano.

Se desejar prosseguir, siga os passos abaixo:

  1. Instale o DaVinci Resolve.

  2. Acesse o diretório /opt/resolve/libs e remova algumas bibliotecas para evitar conflitos com o sistema. Abaixo, segue um script que pode ajudá-lo:

#!/bin/bash

DAVLIBS="/opt/resolve/libs"

cd "${DAVLIBS}" || exit 0

files="$(find ${DAVLIBS} -iname '*glib*')"

for f in ${files}; do
  sudo rm -i "$f" && echo "$f [deleted]"
done
 
sudo rm -f libgio-2.0.so*
sudo rm -f libgmodule-2.0.so*
sudo rm -f libgobject-2.0.so*

  1. Adicione a variável de ambiente RUSTICL_ENABLE=radeonsi. Caso não prefira utilizar a variável de ambiente diretamente, você pode editar o atalho do DaVinci Resolve e modificar a linha Exec para:

Exec=env RUSTICL_ENABLE=radeonsi /opt/resolve/bin/resolve %u

Essa alteração garantirá que a GPU seja reconhecida pelo sistema.

  1. Verifique se há dependências ausentes executando:
    ldd /opt/resolve/bin/resolve
    Se alguma biblioteca estiver faltando, você precisará instalá-la.

  2. Recomendo reiniciar o sistema. Após isso, o DaVinci Resolve poderá ser executado normalmente.

3 curtidas

Tentei isso porem obtenho apenas:

Algumas info do meu sistema:

Tem que configurar a variável de ambiente para ativar o rusticl, como mencionei acima.
Executa no terminal:
RUSTICL_ENABLE=radeonsi /opt/resolve/bin/resolve

Também testei com essa variavel.

Porem: removi completamente o drive proprietario da amd, estou usando apenas o mesa agr e o programa abriu

Porem não funciona, ele não renderiza/carraga os videos/imagens a unica coisa que obtenho é um quadrado cinza.

Conforme mencionei anteriormente, inicialmente limitava-me ao uso do drive “Mesa”, sem perceber que você estava utilizando um drive proprietário. Quanto à importação de vídeos, é necessário convertê-los para um formato compatível e com o codec adequado, considerando que você está utilizando a versão gratuita do DaVinci Resolve. Aqui no Dio existe um link com instruções sobre como proceder com essa conversão, não sei se ainda funciona.

Convertendo vídeos para trabalhar no Davinci Resolve no Linux

1 curtida

Tentei fazer a conversão tbm e nada.


Edit: Acho q seria intereçante criar outro post para resolver esse B.O, pois resolver esse bug, pode ajudar alguem no futuro.

1 curtida

Curiosamente, já utilizei a versão gratuita do Davinci e rodava tranquilo. Naquela ocasião, utilizei o Shutter Encoder para simplificar o processo de conversão. Sugiro que você considere atualizar para a versão mais recente do Davinci, pois percebi que está utilizando a versão 18. Sem os logs, no entanto, fica difícil oferecer uma ajuda mais precisa. Espero que consiga arrumar esse problema. :+1:

Eu tinha testado o davinci 19 antes do 18 e obtia o mesmo bug, hoje atualizei meu sistema do LinuxMint 21.2 para o 22.1, porem o bug continua.

Vale lembrar que, pelo que pude ler na wiki do Arch, as versões dos drivers de código aberto que permitem o Resolve funcionar corretamente são muito novas.

Talvez seja relevante usar PPAs que atualizem o Mesa.


Pelo que pude testar brevemente, o Resolve pegou aqui, e com aceleração de hardware. Porém a) uso a RX 7600 em vez da RX 580 e b) uso o Artix (que fica no máximo 2 dias atrás do Arch).

Até o momento não conheço nenhum ppa que faça isso eu antes de atualizar o mint usava o ppa “kisak” porem ele não oferece suporte a versão noble (ubuntu 24.04), cunjo o mint 22.1 é baseado.

No exato momento no to mesa 24.2.8

Atualização: Eu aparentemente usava uma versão alternativa do kisak, tentei com essa versão:

ppa:kisak/kisak-mesa

E consegui atulizar para os drivers 25.0.3

Porem o resolve continua daquele jeito

Estou utilizando a versão 24.3.4 do Mesa e, recentemente, instalei a versão gratuita do DaVinci Resolve 19.1.4 para fins de teste. O problema que você está enfrentando está relacionado aos codecs suportados pela versão gratuita, que não oferece suporte para h264 ou h265, entre outros.

Para contornar essa limitação, sugiro que você converta seus arquivos utilizando o comando abaixo no terminal ou, alternativamente, utilize o Shutter Encoder com as configurações mostradas na imagem anexada.

ffmpeg -i "video_test.mp4" -c:v dnxhd -profile:v dnxhr_hq -b:v 0 -c:a pcm_s16le -movflags +faststart "video_test-DNxHD.mov"


Alguns formatos não são compatíveis com a versão gratuita e aparecem de acordo com a imagem a seguir:

2 curtidas

Tentei com esse comando porem nada ainda ;-;

1 curtida

Execute o comando clinfo e compare os resultados com o meu, a fim de verificar se o OpenCL está funcionando corretamente em seu sistema. Como você estava utilizando o driver proprietário, há a possibilidade de que a desinstalação não tenha sido completa.

Outro ponto a ser considerado é que você possui a RX 580 2048SP, que é a versão chinesa da placa. A minha placa, por outro lado, é uma XFX RX 580. Até o momento, não tive a oportunidade de testar com a sua versão, mas nas distribuições que utilizei, como Arch, Debian e Gentoo, tudo funciona com o driver Mesa.

Para facilitar, converti um vídeo qualquer que sei que é compatível com a versão free. Faça o download desse vídeo e o importe em seu sistema para verificar se ele é reconhecido corretamente.

Abaixo, seguem o link para o meu clinfo e o link para o download do vídeo:

clinfo - pastebin

Video teste - Download

2 curtidas

Venho profundamente agradeçer a todos que me auxiliaram E VENHO DIZER QUE CONSEGUI FINALMENTE RESOLVER ISSO, como fiz isso:

Basicamente seu sistema pode ter varios driver de OpenCL, o resolve vai selecionar o que esta no slot 0 você pode ver os slots com:

clinfo --list

Quando eu fazia isso eu obtia o resultado:

O que fiz para resolver isso: abra o diretorio:

/etc/OpenCL/vendors

Você verá o varios arquivos aqui dentro, porem o mais importante para nós é o rusticl.icd

Seleciones todos os arquivos menos o rusticl.icd e mova-os para outra pasta aleatoria de backup (Eu por exemplo salvei em /root/Documentos), fazendo que só reste o arquivo rusticl.icd naquela pasta em etc, após isso repita o comando:

clinfo --list

Você verá apenas o driver rustcl como na imagem:

image

Abra novamente o resolve e seja feliz, porem não esqueça as questões do codec que também é importante!!

E sempre colocar RUSTICL_ENABLE=radeonsi como o nosso amigo @Danieldeveloper recomendou


Obrigado a todos que me ajudaram!!

1 curtida

Acho que o pessoal que desenvolve o Davinci, bem que poderia disponibilizar pacote appimage para evitar esses problemas.

1 curtida

Não acredito que todo esse problema foi porque a base Debian (que costuma picotar bastante os pacotes) não picotou o pacote de OpenCL do Mesa para separar o Clover (tradicional e bugado) do RustICL.

Até o Arch que reluta muito para separar pacotes faz isso.

Acho bom ficar atento pois possíveis atualizações do mesa podem restaurar o Mesa.icd e fazer os programas priorizarem o OpenCL bugado novamente. Felizmente já há previsão para ele ser removido ainda esse ano.

Infelizmente AppImages não iriam adiantar, os próprios autores do formato não recomendam embutir porções de drivers de placa de vídeo.

Flatpak e Snap saem em vantagem nesse sentido (mas porque eles duplicam tudo que tem no /, incluindo o Mesa, e rodam num container).

3 curtidas