AMD vs Nvidia no Linux

Olá, hoje vou contar um pouco da minha experiência como usuário de desktop (principalmente do Fedora) com placas de vídeo Nvidia x AMD.

Comecei usando placas Nvidia, já tive gtx 460,560,780 e 1060 3GB. Atualmente usando minha primeira placa AMD a RX 580 8GB.

Instalação

nvidia

 

Primeiro ponto, relativo a instalação e uso prático de drivers das placas.

Nvidia

Com Nvidia nunca tive grandes problemas para instalação de driver, isso por que não fui atrás de qualquer tutorial por aí, aliás, já testei e comprovei na prática que muitos tutoriais sobre instalação de driver nvidia são furados. E seguir o procedimento recomendado da sua distribuição ou repositório (no caso RPMFusion para Fedora) é sempre “flawless”.

“siga a recomendação da sua distribuição, se for seguir tutorial, teste e confira se está de acordo com a documentação oficial.”

Todavia, se você é um fuçador/testador e procura trocar kernel’s seguidamente, a chance de quebrar é grande. Na verdade, o máximo que pode acontecer é de o Xorg não subir ou subir com o Nouveau.

O driver da Nvidia é proprietário, tem um melhor desempenho e faz uso correto da GPU. Existe drive open source “nouveau” mas é constituído de muito trabalho de engenharia reversa e das especificações básicas, dadas pela Nvidia, ou seja, o Nouveau não é ruim por culpa dos dev’s, mas sim da empresa fabricante da placa.

Ser proprietário, quer dizer que não está “embutido” no kernel Linux, por isso a troca de kernel (feita inconsequentemente) pode causar problemas com driver Nvidia.

Então quer dizer, que se usar uma distribuição que atualiza seguidamente o kernel, terei problemas?

Não necessariamente, no caso do Fedora usam recursos via akmod’s. Que basicamente “reinstalam” os modulos/drivers Nvidia a cada nova versão de Kernel instalado/atualizado. O processo é automaticamente feito no boot e geralmente não leva mais de 1 minuto.

Em distribuições como o Arch Linux, o driver está nos repositórios principais (garantindo sincronia nos updates da distro) e seu gerenciador de pacotes se encarrega de todo trabalho nos updates de kernel’s.

No openSUSE existe repositório dedicado para Driver Nvidia sincronizado com atualizações da versão Leap.

E assim por diante, cada distribuição se encarrega de manter os binários Nvidia, compatíveis com os updates das suas respectivas versões principais e de testes.

Resumindo, não é uma boa você (usuário comum de desktop) baixar o binário do site e instalar por conta própria. Apesar de ser possível, caso saiba o que está fazendo.

AMD

Instalação manual de driver (amdgpu) não é necessário, pois está no kernel Linux, todavia se você usa Debian free, terá que instalar firmwares do repo nonfree para funcionar. Tirando esta acessão de distro, é instalar o OS, a Steam e jogar!

Existe driver proprietário da AMD, porém é destinado ao uso enterprise e com foco nas tecnologias de gráficas de renderização/composição etc. Pode ser usado em desktop e games, porém não tem tanta atenção como o amdgpu que é gerenciado pelo “mesa”. Este que tem mais atenção de mantenedores da Valve, Intel, RedHat e inclusive a própria AMD. Ou seja, quando encontram bug’s em jogos, a chance do report e correção vir primeiro para o mesa/amdgpu são grandes.

Um fator importante para placas AMD é ter pacotes mesa/kernel relativamente atualizados. Não é preciso usar uma distribuição bleeding edge ou rolling release tipo ArchLinux, mas usar um Debian old stable sem backports é pedir para encontrar incompatibilidades.

Tweak’s e centro de controle/monitoramento

images

Nvidia

Junto com o driver Nvidia, geralmente vem o pacote “nvidia-settings” que é uma interface gráfica para gerenciamentos específicos da placa/driver que não estão integrados a DE ou o próprio sistema. Por exemplo: controles de filtros de cores/imagem/processamento, consumo energético, desempenho, monitoramento de temperaturas, clock, resolução etc. É uma ferramenta fantástica e também avançada, algumas opções podem exigir privilégios de super usuário/root, como para salvar um perfil de configurações avançadas ou liberar alguns recursos travados por padrão.

O nvidia-settings é necessário para ativação de opções como o “composittion pipeline” que elimina qualquer tearing que possa haver em jogos, compositores de janelas, apps gráficos, navegadores… a custo de algum desempenho (que pode ser muito pouco para perceber). É uma opção que deveria ser ativa por padrão e usuários de primeira viagem, podem não saber da sua existência e sofrer com a tela rasgada em alguns casos.

Para monitoramento de temperaturas, pode-se usar o próprio nvidia-settings. Para informações “ingame” existe uma opção no próprio do nvidia-settings (porém não mostra frametimes) e o Vulkan Overlay.

AMD

Se com Nvidia não possui uma integração “out of the box” com as DE’s/distribuições/kernel linux, com AMD é ao contrário, você não vai precisar fazer nada para resolver tearing (pelo menos usando driver amdgpu). Ele vem basicamente no modo “pronto para jogar” e não precisa de tweak’s.

Porém, se você quiser ter maior controle das configurações e monitoramento da GPU AMD, não existe um “centro de controle oficial” como o nvidia-settings. Existe algumas soluções open source, algumas tem controle de clock/fan, monitoramento de temperaturas… porém não funcionam em todas placas e necessitam de procedimentos muito complexos para usuário comum.

Se quiser testar overclock, controles de fan, criação de perfis, configurações avançadas do driver e etc. Terá que estudar em documentações, wikis, github’s da vida, nem sempre completas ou oficiais.

Para monitoramento de temperaturas, pode-se usar o próprio lm_sensors e informações “ingame” como contador de FPS, frametime… existe ferramentas nativas como GALLIUM_HUD para OpenGL e o Vulkan Overlay.

Compatibilidade em Games

Captura de tela de 2019-11-12 18-01-41.png

Este é um ponto que não vejo diferença, pois hoje em dia, a compatibilidade está muito diferente do que foi a alguns anos, jogos eram portados sem compatibilidade com mesa (usado em AMD e Intel). Hoje em dia até os antigos (teoricamente sem suporte) estão rodando com AMD/mesa.

Todos os jogos de minha lib na Steam rodaram com AMD/Nvidia, tanto os nativos quando via Proton. Tive mais casos de bug’s corrigidos em atualizações de driver Nvidia, porém por conta do maior tempo de uso. É bem possível que se eu tivesse começado a usar AMD no desktop Linux, teria passado por mais bug’s e incompatibilidades, do que com Nvidia.

Gravação de tela

Captura de tela de 2019-11-12 18-02-31.png

Este é um ponto que comparo NVENC (nvidia) e VAAPI (amd/intel). São os encoders via hardware, necessários para fazer gravação de tela sem usar muito processamento, evitando lag em quanto joga.

Não tenho como fazer um benchmark comparativo, tenho apenas minha impressão de que com Nvenc, no geral, consigo melhor qualidade na gravação ou talvez melhor adaptação no balanceamento do desempenho do game/gravação.

Ao forçar uma qualidade maior que a placa suporta com nvenc, perco mais desempenho no jogo e a gravação degrada, quando forço com vaapi, o jogo não perde desempenho, mas a gravação fica travada.

No geral consegui fazer boas gravações com a GTX 1060 e Nvenc:

e VAAPI na RX 580:

 

Compatibilidade com tecnologias open source

Captura de tela de 2019-11-12 18-05-25.png

Este é um ponto que mais me agradou pois sou o tipo de usuário “entusiasta” e gosto de testar novas tecnologias (como Wayland) sendo assim, usar Wayland com nouveau ninguém merece (pois o driver proprietário ainda não é compatível) acho sacanagem pagar “caro” em uma placa de vídeo que não permite usar o software que eu quero.

Uso GNOME Wayland a um bom tempo em meu notebook com intel, e queria ter a mesma experiência no desktop (um dos motivos de ter adquirido uma gpu amd).

Creio que a compatibilidade/otimização com compositores nas DE’s também é melhor com AMD, por usar tecnologias nativas/integradas com o sistema, porém é algo muito sutil, que dependendo do usuário, talvez nem note a diferença usando gpu nvidia/amd.

Desempenho

Algo que também não tenho queixa em nenhuma das marcas, mostrei em muitos videos do meu canal, consegui rodar tranquilamente jogos AAA, nem todos no máximo obviamente, mas nenhum problema que impeça de jogar. Notei um pequeno upgrade em games com vulkan em relação a gtx1060 3GB para a RX580 8GB, mas ao meu ver não foi nada além do esperado.

Open vs Closed Source

Este é um fator que favorece a AMD, além de seus drivers serem open source e inclusos no kernel, existe mais engajamento de várias empresas e projetos de software. No lado do desenvolvedor, fica mais fácil integrar suas tecnologias open em outras tecnologias open, sem depender do suporte nem sempre muito eficaz da Nvidia.

Conclusão: Qual eu recomendo?

Resposta simples, recomendo as duas. Porém sou mais inclinado a recomendar Nvidia para quem pretende usar muito o nvenc, pois é possível usar além de gravações de tela, mas também em renderização de vídeos.

Já para quem quer o máximo de compatibilidade com tecnologias open source do “mundo Linux”, creio que é mais seguro a recomendação de GPU AMD (que use o driver amdgpu) ou placas série RX ou mais recentes.

Se não se importa nem com o uso do nvenc da Nvidia ou as possibilidades de usar placa com driver open source e quer apenas “jogar”. Basta analisar o desempenho bruto de cada placa, especificações e comparar seus preços.

E sim, se você acha que minhas opiniões podem estar “contaminadas” devido minha experiência com GNOME, você está certo!

Apesar de eu não ter tido uma experiência ruim com GNOME + Nvidia + Xorg, como mostro neste vídeo:

Bom, na verdade nem sempre foi “flawless” usando Nvidia como nesta review do Ubuntu 18.04:

Com AMD, a única distribuição que não tive uma boa experiência default, foi no Debian, mas é uma questão de saber usar os repositórios da distro, como contei neste artigo.

Para mais vídeos rodando games nas minhas placas Nvidia e AMD veja no canal youtube.com/fastoslinux.

 

 

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Blog no WordPress.com.

Acima ↑

%d blogueiros gostam disto: