9 de dez de 2015

Otimizando Ubuntu 14.04 para Games

Neste post vou explorar um tema que por muitas vezes me fez no passado relutar em migrar definitivamente para o Linux, a questão dos jogos e do seu desempenho comparado com o Windows.

#Prólogo



Sabe aquele cara que não faz a menor questão de festas, noitadas, praia, shopping ou qualquer lugar com muita gente sem ter o que fazer, este sou eu :) o que é de lei pra mim após uma longa semana de trabalho é simplesmente ficar de frente ao PC jogando meus FPSs, RPGs e "zangue" jorrando na tela, como diria o tio Zangado, além do mais tomando uma Bud pra relaxar, então na escolha de um sistema operacional esse quesito (Games) é fator determinante pra mim em uma migração de S.O.

#O problema

Historicamente foi criado um mito em torno do Linux não ter jogos ou pior, do Linux não rodar jogos, isso de certa forma se deu ao fato da falta de interesse $$$ dos desenvolvedores em portar grandes títulos para uma plataforma que até então não daria o retorno financeiro esperado; Das minhas idas e vindas no Linux sempre busquei instalar alguns jogos para minha diversão, em 2007 por exemplo eu me limitava há emuladores de PS1, SNES, Super Tux, o mais legal era o Urban Terror, um tipo de clone do CS, não tinha muita familiaridade com o Wine, então sempre que dava algum erro quando tentava instalar eu logo perdia o interesse e voltava para o Windows.

 #O Começo de uma nova era

Finalmente com o passar do anos e principalmente nesse últimos 3 anos essa história tem mudado drasticamente, graças a Steam e as melhorias do Wine e do PlayOnLinux, que estão mudando radicalmente essa cultura, transformando o Linux em uma excelente plataforma para Gamers. A Valve, empresa por trás da Steam, teve uma visão de mercado e enxergou valor nesse nicho que tinha sido deixado de lado e trouxe títulos de peso para o Linux, o resultado é que estamos vendo hoje, crescimento e principalmente reconhecimento do mercado para essa nova plataforma, a Steam inclusive em parcerias com grandes fabricantes estará lançando até o final do ano as Steam Machines, uma espécie de console movido a Linux e um Hardware de tirar o chapéu, juntamente com um Joystick desenvolvido sob medida junto com a comunidade Gamer.

#Virando a chave

Chegamos ao ponto onde não volta, até tem rsrs mas toda vez que migro para o Linux tento fazer dela a última, sem retorno, felizmente consegui nesse ano de 2015 essa façanha, migrei por completo sem dual boot, usando o Ubuntu para todas as minhas necessidades digitais, do trabalho ao lazer.


 #Vivendo sem Directx

Passando do problema de compatibilidade, que já foi um grande avanço, esbarrei em algo muito chato, que tira qualquer gamer do sério, o maldito LAG, vou usar como exemplo o PES 2015, conseguia jogar no Windows sem problemas, com o gráfico no Alto com 60 FPS, mas quando rodei o mesmo jogo no PlayOnLinux só rodou no baixo e no modo janela com no máximo 50 FPS, se eu colocasse em tela cheia ficava muito ruim, engasgando, como seu tivesse jogando em um 486, esse problema se dá porque no Windows eu jogava com Directx11 e no Linux com Directx 9, por enquanto a única versão do directx disponível no Wine, mesmo jogando títulos nativos como CS GO e Metro, a perda de desempenho é visível, nesse caso culpa do OpenGL, api gráfica opensource que tem o grande defeito de utilizar mais CPU (Processador) do que GPU (Placa de Vídeo), estou no aguardo ansioso do Vulcan que promete ser tão otimizado quando o Directx, lançamento previsto para o final do ano também.

Como deixei claro pra mim mesmo que não desistiria desta vez, comecei a buscar soluções que contornassem o problema e tive muitas boas sopresas, seguindo no próximo tópico entrarei com os detalhes.

#Instale a Ferramente de Ajuste do Unity

Você encontrará no próprio repositório do Ubuntu, abra a loja e faça a busca pelo nome do app. 


Após instalação configure conforme as imagens abaixo:




#Instale o Compiz Config

Você encontrará no próprio repositório do Ubuntu, abra a loja e faça a busca pelo nome do app.


 Após instalação configure conforme as imagens abaixo:



#Instale o CPUFreq

Esse app é bem útil para dar um turbo no seu processador, ele não faz nenhum overclocking, apenas força-o a trabalhar na sua capacidade máxima, tanto em notebooks como em PCs comuns o kernel gerencia a potência do processador, visando economia de energia e redução de temperatura, aumentando e reduzindo de acordo com a demanda de processamento, o que o CPUFreq faz é ignorar essa demanda e setar manualmente o perfil de desempenho do processador, no meu caso eu utilizo um Core 2 Quad e seu clock varia de 2.00 GHz a 2.67 GHz, eu pude dessa forma deixá-lo no clock máximo no momento em que vou rodar algum jogo, tendo o máximo de desempenho do meu processador.

Para instalar o CPUFreq:

sudo add-apt-repository ppa:artfwo/ppa

sudo apt-get update

sudo apt-get install cpufrequtils indicator-cpufreq 




#Ajustes no Nvidia X Server 

 Abra Nvida X Server pelo Dash do ubuntu e em OpenGL Settings deixe conforme as imagens abaixo:



#Fazendo Overclocking de placas Nvidia

Esta é dica que você terá que ter mais cautela, pois a configuração incorreta pode danificar sua placa de vídeo, siga atentamente para não fritar a sua GPU.

Primeiramente vamos entender como funciona o overclocking; Sua placa vem por padrão com um clock pré-definido, nesse modo de fábrica sem alterações esta no modo stock, observe abaixo o exemplo:


O processo de overclocking consiste em subir a frequência de operação da memória e da GPU a cima do padrão em stock, o cuidado maior é em quanto você irá subir esses valores, lembrando que ao subir a temperatura da placa irá subir gradualmente, então é muito importante que você tenha um sistema de ventilação bem organizado no seu gabinete, se você usa uma placa low profile como a minha (GT 610) eu recomendo o uso desse tipo exaustor pra ser fixado logo abaixo da placa de vídeo:

Você encontra fácil esse tipo exaustor em qualquer loja de informática na faixa dos 20 Reais.

Vamos então ao script, abra o Gedit ou o editor de sua preferencia copie e cole o script abaixo:

#!/bin/bash

nvidia-settings -a "[gpu:0]/GPUGraphicsClockOffset[1]=100" -a "[gpu:0]/GPUMemoryTransferRateOffset[1]=100" -a "[gpu:0]/GPUFanControlState=1" -a "[fan-0]/GPUTargetFanSpeed=50"

/usr/bin/steam %U

nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffset[1]=0' -a '[gpu:0]/GPUMemoryTransferRateOffset[1]=0' -a "[gpu:0]/GPUFanControlState=0"

exit 0


 Salve o arquivo como steam.sh, nesse exemplo ele executará a steam com a GPU Alterada.

Vamos entender agora o que você vai alterar nesse script, os valores a cima em vermelho que representam GPUGraphicsClockOffset e o
GPUMemoryTransferRateOffset é o clock que será adicionado a GPU e sua memória, devem ser alterados de acordo com o seu clock em stock, lembre-se de observar no Nvidia X Server,  suba aos poucos e observe a temperatura, não deixa passar de 70º. O GPUTargetFanSpeed representa a carga de ventilação do cooler, no meu caso ele vem com 40% em stock, como esse valor setado em 50, a potência sobe para 90%.

Execute no terminal:

sh steam.sh

A steam abrirá com sua GPU otimizada, você pode editar o script para abrir o PlayOnLinux por exemplo, apenas mudando /usr/bin/steam %U por /usr/bin/playonlinux

OBS: Nem todas as versões dos drivers da Nvidia permitem essa manipulação, eu testei utilizando a versão 346.

Funcionou pra você? ficou alguma dúvida? tem algo para acrescentar? comente abaixo ou envie um e-mail no suporte@diagoras.com.br.




sudo add-apt-repository ppa:artfwo/ppa
sudo add-apt-repository ppa:artfwo/ppa
sudo add-apt-repository ppa:artfwo/ppa

Nenhum comentário:

Postar um comentário

Update 1809 é removido por apagar arquivos de usuários

No início desse mês foi lançado o update 1809 do Windows 10, veja os detalhes nesse artigo , mas foi retirado alguns dias depois do lan...