Uma das dúvidas mais comuns entre usuários de distros Linux, principalmente entre aqueles que estão pensando em fazer um upgrade de placa de vídeo, é, se vale mais a pena comprar uma GPU AMD ou Nvidia. Como funcionam os drivers de ambas as fabricantes? Uma das marcas possui vantagem sobre a outra no quesito desempenho no Linux? Qual das duas é melhor para quem quer jogar, trabalhar, fazer lives?
Antes de continuarmos a nossa “aventura” pelo conhecimento provindo da experiência, recomendo que leiam este artigo que explica de forma simples e objetiva sobre todos os drivers AMD no Linux. Com esta base sobre tal assunto, você certamente será capaz de tirar um melhor proveito do conteúdo a seguir.
Hoje em dia não é tão difícil encontrar informações sobre drivers de vídeo para Linux internet afora, este blog no qual você se encontra é um bom exemplo de uma fonte confiável de informações sobre o assunto. Todavia, o meu objetivo com esse artigo é transmitir como tem sido a minha experiência como um usuário de GPU AMD no Linux há pelo menos três anos.
Após ler este artigo você terá informações mais sólidas para fazer a sua escolha entre comprar uma GPU AMD ou Nvidia, para utilizar com a sua distribuição Linux preferida.
O início de tudo: as primeiras experiências com GPU’s AMD no Linux
Desde que eu passei a utilizar placas de vídeo da AMD no Linux em meados de 2017, várias melhorias e novidades interessantes foram entregues aos usuários, mas dentro do contexto “O quê eu preciso fazer para utilizar a minha GPU AMD no Linux?” as coisas continuam bastante iguais. O que é muito bom!
Bom por quê? – você se pergunta.
Porque ao instalar uma GPU AMD “recente” (séries RX ou posteriores) no Linux você simplesmente não precisa fazer nada. O driver mais indicado para a grande maioria dos usuários já está incluso no Kernel Linux, o que significa que todas as principais distribuições Linux já possuem o driver de vídeo da AMD instalado por padrão, mesmo se você utiliza uma placa de vídeo da Nvidia.
A diferença de desempenho em jogos entre chips gráficos da AMD e da Nvidia no Linux é basicamente a mesma que pode ser vista em máquinas rodando o Windows. Nenhuma das duas possui uma vantagem ou desvantagem significante no quesito drivers que possa deixar a marca um passo atrás da concorrente em sistemas Linux.
GPU’s AMD mais antigas
Talvez agora você esteja pensando: “Poxa brother, você só está falando da experiência com placas de vídeo mais recentes, e quanto a quem tem aquelas placas mais antigas como por exemplo as Radeon HD, R5, R7 e R9?” – você questiona.
Então vamos lá!
Desde meados de 2017 até Fevereiro de 2019 utilizei uma Radeon HD 5670 2GB da XFX fabricada em 2010. Uma peça bem velhinha, sem sombra de dúvidas. Mesmo esses modelos bem antigos são suportados de forma “plug and play” por todas as distribuições Linux que eu já testei até o momento. É claro que por serem tão antigas, assim como no Windows, as mesmas possuem algumas limitações também em relação aos drivers.
Existem dois drivers open source para placas de vídeo da AMD no Linux que são mantidos pela comunidade, são eles o “radeon” e o “amdgpu”. Sendo que o primeiro atende justamente a estes modelos mais antigos enquanto o segundo atende todos os modelos mais novos.
O driver “radeon” que é utilizado nestes casos não possui compatibilidade com a API gráfica Vulkan, o que significa que apenas a API OpenGL poderá ser utilizada para rodar os seus jogos no Linux. Ferramentas como o Proton da Valve/Steam tem a sua funcionalidade limitada, não é possível utilizar o DXVK e também o desempenho deste driver é inferior à sua contraparte para hardwares mais modernos.
Com isso, o número de jogos tanto nativos, quanto aqueles que rodam através de camadas de compatibilidade como o Wine ou Proton é drasticamente reduzido. É claro que não podemos deixar de lado o fato de que essa falta de compatibilidade também afeta ao usuário no Windows, já que nele estas placas de vídeo mais antigas não possuem compatibilidade com Vulkan e nem com as versões mais recentes do DirectX.
Por experiência própria, posso dizer que é sim possível jogar e se divertir com vários jogos no Linux mesmo utilizando uma placa gráfica tão antiga quanto essa. Além de jogos mais leves como GTA San Andreas, os Need For Speed clássicos e muitos outros, também temos um “mundo” de jogos em emuladores de consoles antigos disponíveis e funcionando com um ótimo desempenho.
“E se a minha GPU AMD não for tão recente, mas também nem tão antiga?”
Mas Jedi, a minha GPU AMD não é uma RX, mas também não é tão antiga quanto a sua Radeon HD 5670. Ainda assim preciso utilizar o driver “radeon”? – você questiona novamente.
Bom, caso você seja proprietário de uma Radeon HD 7XXX, ou de alguns modelos de R5, R7 ou R9 é bem possível que a sua placa de vídeo seja compatível com o driver “amdgpu”.
As séries R5, R7 e R9 podem ser divididas em dois grupos. O primeiro contém aquelas placas que por padrão utilizam o driver “radeon”, mas através de um procedimento manual bem simples pode ser ativado o “amdgpu”. Ativando compatibilidade com Vulkan e um melhor desempenho.
O segundo grupo trata-se daqueles modelos que já vem com o driver “amdgpu” ativado por padrão da mesma forma que as “RX”. Sendo que, nenhum procedimento relacionado a drivers é necessário para a maior parte dos usuários.
Então, caso você possua um modelo de uma dessas séries, basta acessar este artigo que lista todos os modelos de placas de vídeo nos quais o procedimento de ativação do “amdgpu” é necessário, e também ensina à realizá-lo.
“A minha GPU AMD é novíssima! Sem “contras” então, não é mesmo?”
É, mais ou menos, mais ou menos…
Há exatamente um ano eu adquiri a minha RX 580 8GB, e desde então tenho utilizado apenas ela por 100% do tempo, tanto no Linux quanto no Windows.
O meu perfil de usuário sempre foi aquele que precisa de uma placa de vídeo apenas para jogar. Geralmente apenas jogos com modo campanha/história, nunca fui do tipo de usuário que faz live streams ou trabalha com edição de vídeo, edições pesadas de imagem ou modelagem 3D. Desde que adquiri a RX 580 tenho tido uma experiência extremamente satisfatória, independente dos sistemas operacionais.
O desempenho em jogos é excelente para o meu perfil de usuário e o driver no Linux simplesmente funciona! Se tratando de jogos, nunca houve uma distro na qual eu tenha tido qualquer problema de compatibilidade com qualquer GPU AMD.
Como nem tudo são flores, agora vem a parte “triste” da história.
Recentemente tenho produzido alguns conteúdos em vídeo para o canal O Pinguim Criativo no YouTube, e também estou produzindo um curso sobre Fedora que será publicado no Diolinux Play.
Edição de vídeos não era uma necessidade quando adquiri esta placa de vídeo, logo nunca pesquisei muito sobre o suporte à este tipo de tarefas no Linux. Com a crescente demanda por edição de vídeos que tenho tido nas últimas semanas, decidi testar o DaVinci Resolve, que é sem dúvidas um dos softwares mais poderosos da categoria e possui uma versão nativa para Linux.
Foi aí que os meus problemas com GPU’s AMD no Linux começaram.
O DaVinci Resolve precisa da implementação para o OpenCL proprietária da AMD para rodar no Linux, o que significa que em tese o software funciona apenas com o driver “amdgpu-pro”. Você que leu o artigo sobre drivers AMD no Linux que recomendei anteriormente neste artigo, já sabe exatamente sobre o que eu estou falando.
E o “problema” do amdgpu-pro é que o mesmo é compatível apenas com o Ubuntu 18.04 e mais algumas distribuições para servidores. Em pleno 2020 eu seria “obrigado” a utilizar um sistema operacional do início de 2018 para poder utilizar o DaVinci Resolve no Linux com placa de vídeo da AMD.
Sim, o Ubuntu 18.04 continua contando com suporte da Canonical, e continuará até 2021. Mas, mesmo assim, não deixa de ser um sistema “defasado”. Principalmente quando comparado ao próprio Ubuntu 20.04 LTS e a versões mais recentes de outras distribuições.
Estava pensando que era só isso? O buraco ainda é mais em baixo.
Mesmo assim, decidi instalar o Ubuntu 18.04 com o “amdgpu-pro” para poder desfrutar do DaVinci Resolve sem sair do Linux. Instalei o sistema, fiz todas as atualizações instalei o driver “amdgpu-pro” sem problemas. E mesmo assim, o “tal do” Resolve continuou não funcionando.
Por fim, não houve uma combinação de driver ou distribuição que fizesse o DaVinci Resolve funcionar no Linux utilizando uma GPU AMD. Talvez exista algum procedimento “obscuro” em algum site internet afora, alguma “gambiarra” que possa fazer este software funcionar em alguma distro utilizando uma placa de vídeo da AMD, mas o fato é que, as coisas não devem funcionar através de gambiarras ou “workarounds”. Elas simplesmente devem funcionar!
Mas será que a culpa não é mais do DaVinci Resolve do que da AMD?
Possivelmente sim, ou talvez não. Neste caso falando por mim como cliente e usuário, realmente não me importa muito de quem seja a culpa. Eu espero apenas que as coisas funcionem. Ao meu ver as tecnicalidades são uma responsabilidade dos desenvolvedores e engenheiros das empresas que vendem tais produtos.
Em um comparativo direto, o software funciona com placas de vídeo Nvidia e não funciona com AMD, logo, é possível afirmar que mesmo talvez não sendo a culpada pelo DaVinci Resolve não funcionar com as suas placas de vídeo no Linux, a AMD estaria fazendo um trabalho muito melhor se provesse essa compatibilidade para os seus clientes.
Afinal de contas, GPU AMD no Linux é uma boa ou uma má ideia?
Caso você precise utilizar softwares que assim como o DaVinci Resolve necessitem da implementação proprietária do OpenCL para funcionar, eu definitivamente não indico uma GPU AMD para usuários Linux.
Outro ponto que deve ser levado em consideração é o quesito live streams. Certamente é possível fazer lives com uma ótima qualidade utilizando hardware da AMD com o encoder VAAPI, que faz um trabalho muito bom ao prover aceleração de vídeo pela GPU AMD. Todavia o “NVENC” presente nas placas de vídeo da Nvidia faz um trabalho ainda melhor, então, se você pretende fazer live streams é certamente uma boa ideia pôr na balança o custo x. benefício das duas marcas também nesse aspecto ao fazer a sua escolha.
Felizmente, os problemas que tive relacionados a implementação do OpenCL e ao DaVinci Resolve não me afetaram tanto, já que ainda sou “amador” no quesito edição de vídeos, e softwares como o Kdenlive me atendem muito bem, e funcionam perfeitamente com uma GPU AMD no Linux.
Conforme mencionei anteriormente, o desempenho da RX 580 nos jogos tem sido extremamente satisfatório em qualquer sistema operacional. Com isso, posso dizer que caso você queira uma placa de vídeo apenas para jogar no Linux, uma GPU AMD certamente pode ser uma ótima escolha. Caso você precise de uma placa de vídeo para trabalhar com edições audiovisuais e modelagem 3D de forma profissional, no presente momento os modelos da AMD não estão na minha lista de recomendações.
Já no quesito live streams, cabe à você decidir se a vantagem provinda pelo NVENC é proporcional a diferença de preço para adquirir um dispositivo da Nvidia, caso essa diferença realmente exista.
Aprendendo uns com os outros
Trocar experiências é sempre a melhor forma para aprendermos coisas, sem necessariamente passarmos por determinadas situações. Espero que a minha experiência com placas de vídeo da AMD no Linux possa ser útil para que você possa fazer o melhor investimento possível na hora de comprar a sua próxima placa de vídeo, seja qual for a sua escolha.
Falando em trocar experiências, deixe nos comentários abaixo quais são as suas experiências com GPU’s AMD e Nvidia no Linux. Quais foram as suas alegrias e frustrações, e o quê você aprendeu com isso.
Isso é tudo pessoal! 😉