Faz algum sentido trocar uma GTX 1080 por uma RX 580 ou RX 5600XT para usar os drivers free no Linux?

Como diz o titulo, tenho pensado em fazer isso, motivado por curiosidade e vontade de ter uma gpu amd rodando no linux (visto que o povo fala tao bem dos drivers opensource – e bem mal dos closed source). Tambem tem a questao do tearing; ainda encontro isso na nvidia, acredito ser a GPU, ou mesmo stutters. Isso seria o caso da AMD?

Aqui estao, bem resumidamente, as configuracoes do meu pc. Geralmente uso pra games, apesar de n~ao jogar quase nada (so minecraft e o Sonic Riders Zero Gravity no emulador Dolphin). Tambem gosto de gravar videos com o OBS, mas so localmente, sem streaming.

image

2 Curtidas

o problema do tearing tem mais relação com o Xorg mesmo, tentou ativar o “force composite pipeline” no nvidia settings?

2 Curtidas

Sim. Dependendo da situa’c`ao e da DE, ele da uns engasgos e travamentos estranhos. Ja ate tentei ir pro KDE pra ver se o compositor ajudava, mas meh…

Aliaas, em uma GPU amd, o wayland n funciona meio que nativo?

no GNOME funciona muito bem

Justamente o meu desktop environment…

Acho que só faria sentido se começasse a não ter atualização pra sua placa de vídeo, ou se você fosse vidrado em remover todos blobs binários do sistema, estilo ativismo open-source!

Com relação a micro-stuttering eu resolvi (na AMD RX 570) desativando o triple buffer do compositor do Plasma.

2 Curtidas

Nao uso o plasma, mas por curiosidade, pode me falar em PM como fez?

Sim, criei até um tópico pra ver se ajudava mais gente:

2 Curtidas

Eu chego com a farinha e o rapaz ja esta com o bolo pronto! Valeu mesmo.

1 Curtida

Faz total sentido.

Toda perda de usuário final da NVIDIA devido sua teimosia em não compreender o mundo open-source é pouco. Merecem muito mais prejuízo.

1 Curtida

Se eu pudesse eu comprava algo similar a minha, mas que ainda combinasse com a AMD. Na verdade, eu iria ficar full amd caso fosse possível, mas não é no momento. Trocar a placa é o mais tranquilo, por assim dizer.

1 Curtida

A menos que você seja um defensor ferrenho de drivers open source, não faz sentido sequer pensar em uma coisa dessas. Primeiro porque seria um downgrade grande (a RX 580 é ótima placa, mas nem se compara com uma GTX 1080), segundo porque esse é um péssimo momento para trocar de placa de vídeo. E terceiro porque dificilmente fará sentido prático.

Sobre a questão dos drivers proprietários da Nvidia, antigamente eles não eram legais. Atualmente funcionam muito bem e o desempenho não difere daquele encontrado no Windows. Portanto, as reclamações sobre drivers que você vê por aí muitas vezes estão associadas mais a ativismo que consequências reais (tirando a questão das configurações híbridas em notebooks, que no passado eram o fim do mundo no GNU/Linux, e os problemas que - ainda - existem com o Wayland, que são reclamações justas).

Outro dia, inclusive, estive conversando com um amigo que usa GNU/Linux há muito mais tempo que eu sobre isso. Antigamente, os drivers open source da AMD não eram essa coca-cola toda, e a empresa não se empenhava para disponibilizar bons drivers proprietários. Se por um lado a AMD libera mais informações sobre a arquitetura para promover a construção de drivers open source pela comunidade, por outro ela sai pelo cantinho e joga a carga e a responsabilidade em cima desses mesmos desenvolvedores. Quando a comunidade faz o trabalho por você, não é necessário focar tanto em melhorar os seus próprios drivers proprietários. É basicamente uma decisão de mercado. Custo x benefício.

Na época das Steam Machines, encontrei artigos inclusive dizendo para evitar configurações com placas de vídeo da AMD, porque os drivers disponíveis (tanto open source quanto proprietários) perdiam muito desempenho perto das versões de Windows, enquanto o driver proprietário da Nvidia estava legal: Why you should avoid AMD and get a Steam Machine with Nvidia's GeForce graphics | PCWorld. Por aí você vê o “outro lado” da moeda.

Eu não gosto da Nvidia. É a empresa que mais me causa antipatia. Considero que as práticas de mercado deles não são legais. Mas a AMD, apesar de menos pior, também não é “flor que se cheire” e poderia ter trazido várias ferramentas, como o Adrenalin, que não trouxe. Basicamente, todas essas empresas (Intel, AMD e Nvidia) não usam práticas de mercado muito honestas e não estão ligando muito para o mundo GNU/Linux nos computadores domésticos.

Você pode e deve pensar em pegar uma placa de vídeo AMD, desde que seja em uma situação de upgrade no futuro. Fazer um downgrade desses não tem cabimento, a menos que você seja muito ativista.

Com relação aos problemas que você enfrenta, primeiramente, qual é o modelo do seu monitor? Tenho uma GTX 1070Ti (que é bem semelhante à GTX 1080 e inclusive usa o mesmo chip GPU) e uso um monitor LG Ultrawide 29UM69G-B. O driver proprietário e o G-Sync (FreeSync, no caso desse monitor que não era G-Sync compatible) funcionam extremamente bem. Você pode tentar algumas coisas:

  1. Conforme comentado acima, a primeira coisa a se fazer é ativar o “Force Composition Pipeline” nas opções do driver proprietário. Verifique se está ligado;
  2. Instale a extensão “Disable unredirect fullscreen Windows”: Disable unredirect fullscreen windows - GNOME Shell Extensions. Problemas de tearing ao assistir vídeos, caso existam, vão desaparecer.
  3. Você usa Discord? E a extensão Dash to Dock? Podem ser a causa do stutter. Veja se isto ajuda: Discord provocando stutter em jogos e reprodução de vídeos - Ubuntu 20.04.1 LTS. Acabei descobrindo algumas coisas no teste mesmo. E, por sinal, encontrei usuários de placas de vídeo AMD e até mesmo usuários de Windows reclamando de problemas semelhantes com o Discord;
  4. Você costumar ativar o vsync ou limitar a taxa de quadros ao jogar? Dependendo do seu monitor, se deixar solto, o tearing vai ser forte, independentemente de estar usando Windows ou GNU/Linux.

Sou um feliz usuário da GTX 1070Ti no Ubuntu 20.10. Também tenho um notebook híbrido (Intel HD Graphics e GT 740M) e tem funcionado super bem. Também desejo ter setups AMD, mas apenas quando for fazer algum upgrade.

4 Curtidas

Sobre os drives AMD de fato eles tendem a ser melhores no Linux do que os drives da nvidia, o problema que essa troca não faz muito sentido, uma RX 580 tem desempenho pouco superior as modelos 1060 da nvidia que esta bem longe da uma 1080.
Eu voltei para AMD faz quase dois anos (voltei justamente por causa dos drivers), a questão é, todo nova versão de kernel sempre vem melhorias e novidades para placas AMD (AMDGPU) e com isso acabo tendo que migrar para a versão mais novo do Ubuntu assim quando sai para aproveitar essas melhorias, recentemente decidi migrar para Debian testing que ja possui Kernel 5.9, em jogos a diferença de performance já é bem considerável em relação ao Ubutnu 20.04.

1 Curtida

Agradeço pela resposta. Procurava algo assim, bem completo mesmo. Por mais que alguns achem óbvio, para outros podem não ser. Eu realmente achava que isso seria uma boa ideia, em termos de performance, por causa dos drivers opensource. Mas hardware é hardware. Quanto mais recursos, melhor. Não é questão de driver.

Particularmente, eu gosto de open source por que é de graça. Simples assim. Então não estou tão obcecado em defender a filosofia open source. Já há quem faço isso, eu só quero algo utilizável e agradável. Além disso, concordo com você: nvidia, ou amd dá na mesma, pois são empresas querendo ganhar dinheiro. Nenhuma vai tratar você com amor e carinho e sair te dando produtinhos, sem por a mão no seu bolsinho. No final é isso. Vou evitar esse downgrade.

O meu monitor é esse aqui: https://www.terabyteshop.com.br/produto/7695/monitor-acer-gn246hl-led-24-full-hd-144hz-1ms

O meu eu acho que não tem esse freesync/gsync, por que no painel da nvidia-settings fala que não tem mesmo.

1 - Não seria melhor usar o force full composition pipeline? Por que só o force composition pipeline?

2 - Até que não tenho tantos problemas com video, mas irei testar.

3 - Uso discord, mas não a dash to dock.

4 - Aqui no caso eu uso o vsync e deixo a taxa limitada em 145 (minecraft); parece que dá diferença, do que se deixar em vsync e unlimited, mas não tenho muita evidência a respeito.

Interessante. É o que eu queria: driver free, direto no kernel. Mas realmente, de uma 1080 pruma 580 não tem lógica mesmo.

Eu uso o arch linux, seria interessante ver se de um kernel pra outro a performance fica melhor. No seu caso, isso se traduziu em estabilidade ou em ganho de frames? Ou os dois?

No começo eu também li muita coisa ruim sobre os drivers da Nvidia. Isso quase me afastou do GNU/Linux, porque meu hardware (tanto desktop quanto notebook) é Intel + Nvidia. Nem passava pela minha cabeça usar GNU/Linux na época em que comprei.

Imagino que você tenha pensado que, por ter drivers open source, a RX 580 teria algum ganho de desempenho que poderia, de certa forma, “compensar” a diferença com relação à GTX 1080. Mas… Não. Isso não acontece. A enorme distância que separa as duas placas continua lá.

Os drivers open source da AMD podem ser melhores em termos de compatibilidade, como exemplificado pelo problema dos drivers da Nvidia com relação ao Wayland. Em relação ao desempenho, os drivers proprietários da Nvidia são excelentes faz anos. Na realidade, os drivers da AMD (tanto proprietários quanto open source) é que eram bem ruins nesse quesito há uns anos atrás e melhoraram muito ao longo do tempo.

Se sua placa Nvidia está funcionando e o desempenho do driver é condizente, semelhante à versão de Windows, não há porque ficar incomodado. A menos que existam razões de lógica mais subjetiva, como o comportamento tosco e as práticas desonestas da Nvidia.

Eu não diria que as empresas “dão na mesma”, até porque a Nvidia sempre foi pé no saco e a AMD investe muito mais no open source. Mas não por “bondade”, e sim porque é mais conveniente. Essa conversa que tive com meu colega, que relatei acima, me fez ter outra visão quanto a isso. Antes eu defendia a AMD como amiga do open source sem pensar em todo o contexto.

Parece que não tem mesmo… E, para usar o FreeSync com uma placa Nvidia, você precisaria da conexão Display Port, de qualquer forma…

A diferença é a seguinte:

“ForceCompositionPipeline”: possible values are “On” or “Off”. The NVIDIA X driver can use a composition pipeline to apply X screen transformations and rotations. “ForceCompositionPipeline” can be used to force the use of this pipeline, even when no transformations or rotations are applied to the screen.

“ForceFullCompositionPipeline”: possible values are “On” or “Off”. This option implicitly enables “ForceCompositionPipeline” and additionally makes use of the composition pipeline to apply ViewPortOut scaling.

The difference is scaling between ViewPortIn and ViewPortOut. If the display hardware can do the scaling, then the driver will use it even if ForceCompositionPipeline is enabled. However, ForceFullCompositionPipeline will disable the display scaling and use the GPU’s shaders to do the scaling instead.

There’s no difference if there’s no scaling.

There will be somewhat of an impact to power draw and performance, but it’s hard to quantify and depends heavily on your scaling configuration.

O Full pode causar impacto negativo no desempenho e tem uso específico. Mas você pode testar.

Tente fazer aqueles testes que fiz com relação ao Discord caso você esteja sentindo algum stutter nos jogos. Veja também se há diferença entre jogar em tela cheia ou janela.

O vsync é excelente para eliminar tearing, mas pode causar stutter caso ocorram quedas de FPS mais pronunciadas.

1 Curtida

Sim, obtive ganhos de FPS além de estabilidade ainda mais quando jogos fazem uso do ProtonBD, além dos jogo nativos para Linux tbm.

1 Curtida

Revisitando esse topico, depois de fazer n testes.

O problema esta no fato de que esse eh um monitor high refresh rate, feito pra 144hz. Quando coloco em 60, algo acontece que ele nao funciona nada bem, e vem o stutter e o tearing fora outros problemas com o vsync. Quando coloco em 144, tudo isso some.

Vou experimentar gravar algo, e ver se as coisas sao assim mesmo. Mas so far so good.

É uma longa história, mas para resumir, venho sofrendo com micro stutterings no Gnome quando tento gravar o jogo com o OBS. Ou o vídeo fica ruim depois de gravado, ou o jogo fica ruim quando está gravando e por consequência o vídeo fica ruim também.

A pergunta é: posso esperar me ver livre de tearing, micro stuttering, frames perdidos e cortados com uma gpu amd e o driver opensource, uma vez que na gpu intel funcionou e na AMD não?

O que tenho tentado jogar: Sonic Riders Zero Gravity (Dolphin Emulator [WII]; Minecraft Java Edition.
Qual meu sistema: Arch Linux com Gnome (no momento usando Cinnamon novamente, onde esse problema dá uma boa trégua, mas não é ainda o que eu quero, por que quero usar o gnome).
GPU Nvidia: GTX 1080
CPU: i5 8600k

Adendo #1: meu monitor é um monitor de 144hz, mas eu uso em 60hz pelo hdmi. Fica melhor para gravar, pois o jogo só roda nessa taxa mesmo (o do Dolphin). Mesmo em 60hz o microstuttering é visivel. Até tentei usar o Mutter do AUR (mutter-performance) para ver se o problema sumia, mas não.

Adendo #2: Esse problema acontece por que o Vsync da nvidia precisa estar com o opengl flipping ligado para funcionar, e também o Force Composition Pipeline precisa estar ativo. O próprio Window Manager do Gnome, o Mutter, também faz um pouco de composição na tela. Ou seja, a informação gerada pela GPU passa por várias etapas antes de chegar na tela, e isso acaba atrasando o processo ou introduzindo esses stutters. Então, é um problema no Mutter do Gnome. Eu digo isso por que o Cinnamon usa um fork do mutter, o Muffin, e não tem esse problema. No Muffin, é possível desativar essa composição, e o problema some.

Adendo #3: Sim, eu poderia simplesmente usar o cinnamon ao invés de gastar com uma GPU agora, mas a ideia era usar o gnome, que é meu DE favorito e o que eu mais estou acostumado (e pensar que lá no início eu ia com a hype anti-gnome, pft). E se na AMD eu não tiver esse problema, assim como não tive na gpu integrada da Intel, então upgrade é o caminho!

Adendo #4 (mais um!): tenho interesse na RX 5600 XT.

Adendo 5: e porq vc simplesmente não desativa a composição do gnome em tela cheia? Ps. Se n soube como fazer te explico. É mt simples.