Essa matéria é especifica para quem use placas de vídeo Intel ou AMD e quer dar uma turbinada no desempenho do seu Ubuntu, confira.
Hoje em dia a grande maioria dos computadores e notebooks tem placas de vídeo Intel ou AMD.
A vantagens dessas placas é que elas tem um ótimo suporte aos drivers abertos o Mesa Driver, dispensando assim a utilização de qualquer drivers proprietários.
A Nvidia também tem planos para disponibilizar drivers abertos, isso vocẽ pode conferir aqui.
Mesa, também chamado Mesa3D e The Mesa 3D Graphics Library, é um driver de dispositivo de código aberto e implementação de software do OpenGL, Vulkan e de outras especificações. Wikipédia
O driver Mesa 3D já vem instalado no Ubuntu por default, mas para cada versão do Ubuntu temos versões diferentes do Mesa.
Confira no exemplo abaixo.
Note que quanto mais antiga é a versão do Ubuntu mais antigo é o Mesa 3d, no caso de drivers é sempre bom ter as suas ultimas versões para ter as ultimas implementações de melhorias.
Para identificar o driver Mesa de o comando abaixo no terminal.
Entenda o comando.
Na linha abaixo temos duas informações.
Versão do Mesa = 20.0.0
Versão do OpenGL = 2.0 ( Essa é a versão máxima suportada pelo chip gráfico )
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 20.0.0
OBS: No meu caso é o Mesa 20.0.0 pelo fato de eu estar usando o Ubuntu 20.04 em desenvolvimento, para as demais versões do Ubuntu o Mesa maximo é o 19.x.x.
Para termos as ultimas versões do Mesa 3D precisamos adicionar uma PPA ao sistema de pacotes, não se preocupe a PPA que iremos usar não compromete o seu sistema operacional.
Essa PPA apenas distribui drivers Mesa e alguns complementos a ele e mais nenhuma pacote.
Para adicionar a PPA de o comando abaixo no terminal.
Atualize a lista de pacotes.
Instale a ultima versão do Mesa 3D atualizando o seu sistema operacional Ubuntu.
Confira novamente a versão do driver.
Para dar uma boa melhorada no desempenho, vocẽ pode desativar a "Sincronização com atualização vertical"
A sincronização com a atualização vertical pode evitar o "rasgo" visual com movimentos rápidos. Ao mesmo tempo, limita a taxa de quadros a (uma fração) da taxa de atualização vertical.
Os aplicativos podem definir um "intervalo de troca", o que significa que as trocas de buffer não ocorrem antes de n espaços em branco verticais após a troca anterior. Com essa opção, você pode desativar os intervalos de troca, escolher um intervalo de troca padrão de 0 ou 1 ou forçar o aplicativo a sempre aguardar um espaço em branco vertical em cada troca de buffer:
0 = nunca, FPS rulez!
1 = preferência de aplicativo, intervalo padrão 0
2 = preferência de aplicativo, intervalo padrão 1
3 = Preferência de aplicativo, sempre sincronizar com atualização
Fonte
Confira na imagem abaixo o aplicativo glxgears sincronização vertical ativa com FPS abaixo dos 60
Agora com a sincronização vertical desativada, FPS acima dos 800
Aqui iremos usar o .drirc que é destinado a configuração do driver de vídeo Mesa, entenda a sintaxe da configuração.
<driconf>
<device screen="0" driver="dri2"> Driver a ser configurado.
<application name="all"> Aplicativo a ser afetado, adicione um APP ou all para todos.
<option name="vblank_mode" value="0"/> Opção a ser usada.
</application>
</device>
</driconf>
Ao aplicar na interface inteira você pode perder em reprodução de vídeo, o tearing em vídeos fica mais acentuado.
Para aplicar de o comando abaixo para criar o arquivo oculto .drirc na sua home.
Cole as linhas em vermelho abaixo.
<driconf>
<device screen="0" driver="dri2">
<application name="all">
<option name="vblank_mode" value="0"/>
</application>
</device>
</driconf>
Deve ficar assim.
Salve teclando Ctrl + x tecle s e tecle Enter para fechar.
Reinicie o computador.
Confira no vídeo abaixo se apresenta tearing ( cerrilhamento na imagem ), caso positivo experimente a dis seguinte.
Essa eu considero a melhor opção, você pode usar ela para melhorar o desempenho de games e aplicativos que precisem de um desempenho maior da VGA.
No exemplo irei aplicar apenas ao glxgears para fazer a demonstração do ganho de FPS.
Você pode especificar qualquer outro programa o glxgears é apenas um exemplo.
Cole as linhas em vermelho abaixo, altere all para o nome do programa que deseja afetar.
<driconf>
<device screen="0" driver="dri2">
<application name="glxgears">
<option name="vblank_mode" value="0"/>
</application>
</device>
</driconf>
Deve ficar assim.
Salve teclando Ctrl + x tecle s e tecle Enter para fechar.
Reinicie o computador.
Faça novamente o teste de tearing e não deve mais ter o problema.
Placa de vídeo Intel e AMD
Hoje em dia a grande maioria dos computadores e notebooks tem placas de vídeo Intel ou AMD.
A vantagens dessas placas é que elas tem um ótimo suporte aos drivers abertos o Mesa Driver, dispensando assim a utilização de qualquer drivers proprietários.
A Nvidia também tem planos para disponibilizar drivers abertos, isso vocẽ pode conferir aqui.
Driver Mesa
Mesa, também chamado Mesa3D e The Mesa 3D Graphics Library, é um driver de dispositivo de código aberto e implementação de software do OpenGL, Vulkan e de outras especificações. Wikipédia
Mesa 3D no Ubuntu
O driver Mesa 3D já vem instalado no Ubuntu por default, mas para cada versão do Ubuntu temos versões diferentes do Mesa.
Confira no exemplo abaixo.
Note que quanto mais antiga é a versão do Ubuntu mais antigo é o Mesa 3d, no caso de drivers é sempre bom ter as suas ultimas versões para ter as ultimas implementações de melhorias.
Identificando o driver Mesa instalado
Para identificar o driver Mesa de o comando abaixo no terminal.
glxinfo | grep version
Entenda o comando.
Na linha abaixo temos duas informações.
Versão do Mesa = 20.0.0
Versão do OpenGL = 2.0 ( Essa é a versão máxima suportada pelo chip gráfico )
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 20.0.0
OBS: No meu caso é o Mesa 20.0.0 pelo fato de eu estar usando o Ubuntu 20.04 em desenvolvimento, para as demais versões do Ubuntu o Mesa maximo é o 19.x.x.
Instalando o Mesa 3D mais atual
Para termos as ultimas versões do Mesa 3D precisamos adicionar uma PPA ao sistema de pacotes, não se preocupe a PPA que iremos usar não compromete o seu sistema operacional.
Essa PPA apenas distribui drivers Mesa e alguns complementos a ele e mais nenhuma pacote.
Adicionar a PPA Ubuntu-X.
Para adicionar a PPA de o comando abaixo no terminal.
sudo add-apt-repository ppa:ubuntu-x-swat/updates
Atualize a lista de pacotes.
sudo apt-get update
Instale a ultima versão do Mesa 3D atualizando o seu sistema operacional Ubuntu.
sudo apt full-upgrade
Confira novamente a versão do driver.
glxinfo | grep version
Melhorar o desempenho
Para dar uma boa melhorada no desempenho, vocẽ pode desativar a "Sincronização com atualização vertical"
A sincronização com a atualização vertical pode evitar o "rasgo" visual com movimentos rápidos. Ao mesmo tempo, limita a taxa de quadros a (uma fração) da taxa de atualização vertical.
Os aplicativos podem definir um "intervalo de troca", o que significa que as trocas de buffer não ocorrem antes de n espaços em branco verticais após a troca anterior. Com essa opção, você pode desativar os intervalos de troca, escolher um intervalo de troca padrão de 0 ou 1 ou forçar o aplicativo a sempre aguardar um espaço em branco vertical em cada troca de buffer:
0 = nunca, FPS rulez!
1 = preferência de aplicativo, intervalo padrão 0
2 = preferência de aplicativo, intervalo padrão 1
3 = Preferência de aplicativo, sempre sincronizar com atualização
Fonte
Confira na imagem abaixo o aplicativo glxgears sincronização vertical ativa com FPS abaixo dos 60
Agora com a sincronização vertical desativada, FPS acima dos 800
Drirc
Aqui iremos usar o .drirc que é destinado a configuração do driver de vídeo Mesa, entenda a sintaxe da configuração.
<driconf>
<device screen="0" driver="dri2"> Driver a ser configurado.
<application name="all"> Aplicativo a ser afetado, adicione um APP ou all para todos.
<option name="vblank_mode" value="0"/> Opção a ser usada.
</application>
</device>
</driconf>
Aplicar na interface inteira
Ao aplicar na interface inteira você pode perder em reprodução de vídeo, o tearing em vídeos fica mais acentuado.
Para aplicar de o comando abaixo para criar o arquivo oculto .drirc na sua home.
nano .drirc
Cole as linhas em vermelho abaixo.
<driconf>
<device screen="0" driver="dri2">
<application name="all">
<option name="vblank_mode" value="0"/>
</application>
</device>
</driconf>
Deve ficar assim.
Salve teclando Ctrl + x tecle s e tecle Enter para fechar.
Reinicie o computador.
Confira no vídeo abaixo se apresenta tearing ( cerrilhamento na imagem ), caso positivo experimente a dis seguinte.
Aplicar para programas específicos
Essa eu considero a melhor opção, você pode usar ela para melhorar o desempenho de games e aplicativos que precisem de um desempenho maior da VGA.
No exemplo irei aplicar apenas ao glxgears para fazer a demonstração do ganho de FPS.
Você pode especificar qualquer outro programa o glxgears é apenas um exemplo.
nano .drirc
Cole as linhas em vermelho abaixo, altere all para o nome do programa que deseja afetar.
<driconf>
<device screen="0" driver="dri2">
<application name="glxgears">
<option name="vblank_mode" value="0"/>
</application>
</device>
</driconf>
Deve ficar assim.
Salve teclando Ctrl + x tecle s e tecle Enter para fechar.
Reinicie o computador.
Faça novamente o teste de tearing e não deve mais ter o problema.
Uma dúvida, Ubuntu 20.04.1, terei melhor desempenho com esses drivers do que com o driver proprietário da AMD para a minha placa de vídeo?
ResponderExcluirGeralmente se tem sim.
Excluir