Grand Theft Auto V no Linux

Ensinamos em detalhes como configurar e rodar o GTA V, usando apenas Winetricks e o PlayOnLinux! Também temos dicas para quem utiliza o Proton da Steam.

| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


Objetivo

Este tutorial veio atualizar os obsoletos tutoriais do site de configuração do Wine: este e este!
Na época ainda era possível confiar no PlayOnLinux e os métodos de debug dos games eram diferentes.
Hoje, apenas alguns meses depois do lançamento do dxvk e da implementação do Vulkan nos games, temos uma maleabilidade maior, uma maior compatibilidade e claro, novos métodos de instalação dos games num sistema Linux.

Este tutorial objetiva a instalação renomado game de mundo aberto Grand Theft Auto V, desenvolvido pela Rockstar Games! Caso esteja de olho em softwares ou games mais antigos, poderá fazer uso dos tutoriais mais antigos supracitados. Lembrando que o Wine sempre focou em games, portanto você verá GTA V executando com maestria mas ainda verá dificuldades pra por o Microsoft Office para funcionar apropriadamente.

Se quiser conhecer dicas para adquirir um bom PC gamer que rode bem no Linux, fizemos esta publicação a respeito, que pode te dar um norte!

Introdução

O Winetricks é a base do Protontricks, criado e usado pela Valve pra aplicar configurações em games da Steam que farão uso do Proton e do SteamPlay. E claro, com tanta novidade o Winetricks recebeu muitas melhorias do Protontricks, permitindo que você instale o dxvk do 0.54 ao 0.94 e aplique o Vulkan em games ou aplicações que fazem uso do DirectX 10, tudo de forma amigável via interface de usuário e/ou prática via terminal.

Além do SteamPlay, que está sendo um sucesso na execução de games da Steam, temos o Lutris, uma alternativa interessante que também automatiza as instalações e aplica o dxvk nos games fora da Steam, como GOG.com.

  • O Lutris não é suficiente?

Como testemunhei, alguns usuários reclamando que o Lutris te dá muita liberdade enquanto dá muitos problemas – sou suspeito pra falar, também sofri com ele e nada funcionou aqui – vou ensiná-los a configurar o dxvk e otimizar games do PlayOnLinux e do próprio Lutris usando o Winetricks para fazer as correções!

A ideia com esta publicação é saciar dependências e drivers, manter seu sistema atualizado com pacotes que o Lutris não instala automaticamente e permitir suporte ás aplicações que fazem uso do DirectX 10 ou 11.
Com isso você resolverá problemas na execução de games no PlayOnLinux, Lutris e até da própria SteamPlay – Este ultimo não será o foco do artigo por ele ser extremamente automatizado, mas algumas dicas podem ser úteis para melhorar o seu jogo, como os drivers e dependências.

Além disso você terá um controle maior do jogo, sabendo de forma granular exatamente o que está instalado e aonde, facilitando o processo de debug pra resolver qualquer problema que o jogo apresente depois de instalado e rodando.

GTA V®

Peguei um game conhecido dos jogadores de PC e que ainda é um belo desafio aos usuários Linux: Fazer o trio parada dura Michael, Franklin e Trevor mostrarem seu charme e carisma em seu computador!

Print tirado do meu computador.

Atentos: No exemplo desta publicação estamos usando um instalador do GTA V® de mídia fisica e não do Steam! São fontes e métodos diferentes.

O hardware o qual os testes foram feitos possui a seguinte especificação:

  • Samsung Odyssey Mod. NP800G5M-XG1BR
  • Processador Intel Core i5 7300-HQ @ 3.5 Ghz
  • Placa de Vídeo NVIDIA GTX 1050 com 4Gb DDR5
  • Memória RAM de 8Gb DDR4
  • Armazenamento SATA e M.2
  • Sistema Operacional: Ubuntu MATE 18.04 LTS
  • Kernel: 4.18.20-04118020-generic
  • Driver de Vídeo: 410.78
  • Versão do DXVK: 0.94
  • Versão do Vulkan no Sistema: 1.1.92
  • Versão do Vulkan no Wineprefix: 1.1.84
  • Versão do Wine: tkg-3.21-x86_64 (Repositório do Lutris)

OBS: Não usei o driver 415.25 porque, até o momento desta publicação, estava com problemas no DirectX e no Vulkan, dando erros diversos no GTA V®.

Comecemos, do começo!

Proton

Usuários que rodaram o jogo pela Steam, e usam Proton, recomendo que, usando o protontricks, instale o pacote XACT. Ele aplica as DLLs que corrigem bugs no audio do jogo.

Demais usuários que usam versões de procedência duvidosa ou mesmo de mídia fisica, prossigam com o tutorial!

Preparativos

Drivers

Aqui temos o consenso geral: Usuário linux que quer jogar, deve usar os drivers proprietários mais atualizados.

Se você é um usuário da NVIDIA, fizemos um artigo especial ensinando como instalar os drivers proprietários de forma direta e prática!

Usuário NVIDIA, também aconselho que instale estes drivers:

$ sudo apt install vdpau-driver-all vdpau-va-driver vainfo vdpauinfo

Ele adiciona suporte aos módulos VA e VDPAU ao sistema, comunicando bibliotecas do sistema ao driver da NVIDIA e otimizando a reprodução de conteúdo 2D, como vídeos. Com os comandos:

$ vainfo
$ vdpauinfo

Você verá que está tudo certo com a comunicação entre NVIDIA e seu sistema. Sem eles, pode surgir um erro de “biblioteca não iniciada”, o que pode prejudicar o desempenho de alguns games.

Erro visto sem o módulo VA comunicando com a NVIDIA.
Esta tela indica que os módulos estão funcionando normalmente!

Atenção:
Usuário NVIDIA, você NÃO deve instalar nenhum driver Mesa! Se seu sistema veio com algum pré instalado, deixe-os em suas versões originais. Os drivers NVIDIA já possuem suporte ao Vulkan!

Se for um usuário de Intel ou AMD, aconselhamos não apenas atualizar os drivers proprietários da AMD, como também instalar os pacotes Mesa mais recentes. Os melhores drivers Mesa são os do Padoka. Caso você use qualquer GPU não-Vega, use o PPA Estávelcaso use uma placa Vega, use o repositório Instável.

Além disso, instale os pacotes de drivers:

$ sudo apt install mesa-vulkan-drivers mesa-vdpau-drivers mesa-va-drivers 
mesavulkan-drivers:i386 libvulkan1 libvulkan1:i386 libvulkan-dev libvulkan-dev:i386

Atualize o Winetricks

O Winetricks costuma vir obsoleto nos repositórios padrão, principalmente quem usa Ubuntu.
Para atualiza-lo, faça o seguinte:

$ cd "${HOME}/Downloads"
$ wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
$ chmod +x winetricks
$ sudo cp winetricks /usr/local/bin
$ sudo cp winetricks /usr/bin

Com estes comandos você já terá o Winetricks mais atualizado com suporte ao Vulkan e ao DXVK!

Sistema

Fica a seu critério, mas particularmente recomendo que tenha o PlayOnLinux instalado.
Apesar de 95% da postagem envolver o Winetricks para quem faz uso do Lutris e/ou do SteamPlay, o POL será útil para algumas configurações rápidas, tirando proveito do melhor dos 2 programas. O POL é útil para facilitar o gerenciamento de vários wineprefixes – games instalados em versões diferentes do wine e facilita a instalação do DirectX 9, 10 e 11.

Já o Winetricks nos permite instalar com facilidade o .NET Framework 3.5 e 4.0, que alguns games exigem como aqueles na Unreal Engine 4 ou mesmo alguns da Unity 3D.

E claro: Vamos atualizar o Vulkan em seu sistema Linux.

Vulkan

Vá até o site do LunarG e efetue o procedimento de instalação do VulkanSDK em seu sistema.

A exemplo do Ubuntu 18.04 LTS, os comandos são:

$ wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
$ sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.1.92-bionic.list http://packages.lunarg.com/vulkan/1.1.92/lunarg-vulkan-1.1.92-bionic.list
$ sudo apt update
$ sudo apt install lunarg-vulkan-sdk

Reinicie seu sistema.
Digite no terminal:

$ vulkaninfo | less

E você verá logo no começo a versão instalada: 1.1.92!

Preparando o Terreno

Primeiro, vamos criar uma máquina virtual x64 que será a base de instalação do The Witcher 3®. Sabemos que o PlayOnLinux é bem problemático nesse aspecto, portanto usaremos todo o poder do Winetricks. Além de criada, ela já terá a base Vulkan instalada. Ou seja, não adianta nada aplicar o dxvk se o sistema do Wine não possuir as .dll’s do Vulkan em sua raíz. Primeiro faremos a criação desse prefix e instalação do VulkanSDK. Com isso estaremos prontos para instalar os games e aplicar as modificações.

Faça estes 2 comandos:

$ mkdir /home/$USER/.wine64
$ WINEARCH=win64 WINEPREFIX=/home/$USER/.wine64 winetricks vulkansdk

Vai abrir esta janela do VulkanSDK:

Janela de início da instalação do VulkanSDK. Aguarde a mudança de tela e clique em avançar até concluir.

Avance até concluir a instalação, mantendo tudo como padrão.

Vamos organizar isto agora!

Para ter +1 game instalado na máquina, vamos precisar de mais Wineprefixes – várias cópias da pasta .wine64, uma para cada game – com nomes diferentes. O PlayOnLinux nos ajuda muito gerenciando essas versões, além disso ele possui um instalador de games não-listados mais amigável do que o Winetricks. Por ultimo, não menos importante, a criação de atalhos com o ícone do jogo é automatizada, facilitando as configurações posteriores. Mesclaremos o que o POL e o Winetricks tem de melhor a oferecer e teremos um game funcional sem muitos problemas.

Você ainda tem a opção de não instalar o PlayOnLinux e usar somente o Winetricks! Mas atento que os atalhos dos games e seus respectivos ícones dos atalhos deverão ser construídos manualmente com scripts bash para o jogo abrir apropriadamente; a utilidade do POL aqui é criar os atalhos com seus ícones automaticamente e organizar os wineprefixes nas pastas corretas de forma mais amigável.

Caso não tenha ainda, instale o POL:

$ sudo apt install playonlinux

Relaxe quanto ás configurações: Usaremos ele bem superficialmente, apenas para deixar as coisas mais organizadas, com atalhos e pastas em seus devidos lugares. Sim meu amigo, eu sei o quanto você sofreu no PlayOnLinux, lá qualquer DLL extra dá erro desconhecido por motivo bobo, pacotes como o .NET 3.5 simplesmente não instalam. Para isso usaremos o Winetricks.

Abra o PlayOnLinux e, clicando em instalar game, “instale um game não listado“. Avance um pouco no instalador mas não finalize, feche-o antes. Assim o POL irá configurar suas pastas padrão e poderemos trabalhar em cima dele sem instalar nada.

Não se preocupe com espaço disponível na /home, logo mais abaixo vou mostrar como migrar as pastas dos jogos depois de configurados, assim você usará eles em qualquer unidade, até num HD externo.

Para exemplo do tutorial, copiei a pasta .wine64 para a pasta padrão do POL em /home/$USER/.PlayOnLinux/wineprefixes, renomeando ela para GTAV. – Sim, apenas copie! Ela será a base de outros games. – Remova os espaços do nome, o POL não admite espaços.

Pronto? Pronto!

Os próximos passos a seguir eu chamei de 1 e 2.
A ordem deles depende do jogo; Há games cujo instalador precisa de pacotes para funcionar, enquanto outros instalarão facilmente, e você vai instalar as DLLs extras só depois.
Por via das dúvidas vamos na ordem que funciona para todos: Deixar o Wineprefix pronto e instalar o jogo depois.

1- Sacie seu Jogo

Essa é a hora de preparar o wineprefix para seu jogo.
No caso do GTA V, sabemos o que ele precisa para funcionar:

  • DirectX 10 e 11 instalados
  • VisualC++ 2012
  • XACT

Usando o winetricks vamos instalá-los com poucos comandos e de forma bem sucedida, com menor chance de erros.

Sabendo onde o jogo estará, rode o seguinte comando, vamos instalar os DirectX 10 e 11:

$ WINEARCH=win64 WINEPREFIX=/home/$USER/.PlayOnLinux/.wineprefix/GTAV winetricks d3dx10

$ WINEARCH=win64 WINEPREFIX=/home/$USER/.PlayOnLinux/.wineprefix/GTAV winetricks d3dx11_42

$ WINEARCH=win64 WINEPREFIX=/home/$USER/.PlayOnLinux/.wineprefix/GTAV winetricks d3dx11_43

E agora, instalaremos o Visual C++ 2012 e 2013:

$ WINEARCH=win64 WINEPREFIX=/home/$USER/.PlayOnLinux/.wineprefix/GTAV winetricks vcrun2012

$ WINEARCH=win64 WINEPREFIX=/home/$USER/.PlayOnLinux/.wineprefix/GTAV winetricks xact

Se não houverem erros, hora de instalar o famoso dxvk!

OBS: O XACT é o metapacote de bibliotecas para evitar erros no som do jogo.

DXVK

O Winetricks mais recente permite instalar todas as versões do dxvk.

Instale o dxvk mais atual para seu game em 99% das vezes. Poucos games exigirão uma versão mais antiga, no caso do GTAV, o ideal é o 0.94.

$ WINEARCH=win64 WINEPREFIX=/home/$USER/.PlayOnLinux/.wineprefix/GTAV winetricks dxvk94

Automaticamente o Wineprefix vai aplicar as DLLs, registrá-las junto ao Regedit e configurar!
Como já instalamos o VulkanSDK antes, os 2 vão se encontrar aqui. Há uma .dll especial em System32 chamada vulkanwine.dll própria para Wine.

Seu prefix está pronto para rodar o jogo.

Baixe o Wine-tkg

O Wine-Staging e outras versões, criadas pela equipe do WineHQ estão em desuso/obsoletas e NÃO suportam Wine. Portanto você precisa injetar o mesmo Wine do Lutris no seu jogo em vez do fornecido pelo Winetricks ou pelo PlayOnLinux.

Para isso baixe e extraia o wine tkg-3.21, ou outra versão mais antiga que achar conveniente do servidor do Lutris, aqui.

Caso dê erros de extração, baixe novamente.

Eu joguei a pasta baixada e extraída do tkg-3.21-x86_64 dentro de  /home/$USER/.PlayOnLinux/wine/linux-amd64/, que é o caminho padrão para versões distintas do Wine.

O POL não admite inserir versões customizadas do tkg do Wine, portanto vamos inseri-las manualmente com uma modificação no atalho do jogo!

2- Instale seu Jogo

Hora de usar o PlayOnLinux.

Abra-o, clique em Instalar um Programa, depois clique em Instalar um Programa Não Listado.

Avance da tela inicial, clique em “Editar ou Atualizar aplicação existente”, marque a caixa “exibir unidades virtuais” e marque “GTAV”.

Avance.

Você verá a tela pra escolher versão do Wine, configurar Wine ou usar outras bibliotecas.
Não marque nada aqui, usaremos outra configuração! Apenas avance.

Marque 64 bits! Isso é crucial, já que a unidade toda é x64, criada pelo Winetricks.
Avance e clique em Browse para escolher o setup.exe do GTA V.

Avance e faça a instalação normalmente.
Ao fim, provavelmente o seu jogo vai perguntar se deseja instalar o DirectX e o VCRUN, ou qualquer outra dependencia. Desmarque e finalize. Isso tudo ja instalamos antes, portanto será desnecessário.

Lembre-se de criar um atalho para o gtavlauncher.exe ao final da instalação, ou o jogo não vai abrir!

Ajustando o Atalho

Essa parte é um pouco complicada mas eu vou ajudá-los.

Lembra lá atrás, que eu pedi pra você criar um atalho do gtavlauncher.exe, senão o jogo não ia abrir?
Pois é, ele foi criado e deve estar no seu desktop com um nome que você pode ter dado quando criou ele; Ou deixado padrão, tanto faz. Agora vamos modifica-lo!

Vá até a pasta de atalhos do PlayOnLinux: /home/$USER/.PlayOnLinux/shortcuts

Procure o atalho do jogo. O nome padrão será, em nosso exemplo, gtavlauncher.
Edite-o com seu editor de textos favorito.

Para comparação, o conteúdo do atalho original é:

#!/usr/bin/env playonlinux-bash
[ “$PLAYONLINUX” = “” ] && exit 0
source “$PLAYONLINUX/lib/sources”
export WINEPREFIX=”/home/$USER/.PlayOnLinux//wineprefix/TheWitcher3″
export WINEDEBUG=”-all”
cd “/home/nathandrake/.PlayOnLinux//wineprefix/TheWitcher3/drive_c/./Program Files/The Witcher 3 Wild Hunt/bin/x64”
POL_Wine witcher3.exe “$@”

Deixe-o assim:

#!/usr/bin/env playonlinux-bash
[ “$PLAYONLINUX” = “” ] && exit 0
source “$PLAYONLINUX/lib/sources”

DXVK_HUD=1

BNBWINE=”/home/$USER/.PlayOnLinux/wine/linux-amd64/
WINEPATH=$BNBWINE”tkg-3.21-x86_64″

export PATH=$WINEPATH”/bin”
export WINELOADER=$WINEPATH”/bin/wine”
export LD_LIBRARY_PATH=$WINEPATH”/lib”
export WINESERVER=$WINEPATH”/bin/wineserver”
export WINEDLLPATH=$WINEPATH”/lib/wine/fakedlls”
export WINEDEBUG=”-all”
export WINEESYNC=0

cd “/home/$USER/.PlayOnLinux//wineprefix/TheWitcher3/drive_c/./Program Files/The Witcher 3 Wild Hunt/bin/x64″
POL_Wine witcher3.exe “$@”

Com ela você apenas preenche com os caminhos das pastas do jogo e do wine customizado e executa. Lembre-se: Só modifique o que está em negrito! Se não errou nada na hora de preencher, dê permissões de execução ao script e o jogo já vai abrir com dxvk aplicado.


Como? Ao iniciar o jogo você deverá ver de cara o HUD do dxvk, mostrando no canto da tela a taxa de FPS e outros dados. Se o HUD está lá, tudo está 100%.

Como observado ali na configuração do atalho do jogo, poucos parâmetros foram necessários para otimiza-lo, já que boa parte do jogo usa o DX 11. Mas vamos mudar isso!

Desempenho e Otimização

Quando entrar no jogo pela primeira vez, faça as seguintes modificações:

  • Modifique o DirectX em uso, pelo jogo no menu Gráficos, para DirectX 10!
    Nos testes que fiz, usar o DirectX 10.1 ou 11 faziam o jogo crashar periodicamente.
  • Modifique, nas configurações gráficas, o display para “Janela Sem Bordas”
    A quem for familiarizado com o settings.xml em Meus Documentos, o parâmetro é <windowed 2>
    Caso a câmera fique “errante”, clique 1x, para que o jogo capture o mouse.
  • Deixe a resolução nativa do seu monitor.
  • Ative o VSYNC como Full (completo). – Aqui, melhorou o desempenho e diminuiu o screen tearing.

E o resultado?

Eu falo com a boca cheia: Vale a pena o esforço!

Bugs que presenciei foram apenas no audio: As vezes a rádio para de funcionar, então você desce do carro e entra de novo que volta ao normal.
Não vi artefatos na tela, nenhum bug gráfico.

O desempenho geral do jogo ficou excelente, rodando em 1920×1080, todas as principais definições no High e com taxa de FPS em 60, oscilando entre 50 e 60.

Se a qualidade da imagem está muito ruim, poderá ver meus prints em suas resoluções originais aqui! Periodicamente eu adiciono mais prints á pasta.

Conclusão

Dependendo do jogo, dependendo das configurações e aplicações, muitos vão rodar como nativos e outros vão ficar um pouco mais ruins; Isso depende da versão do Wine e do DXVK, mas estes recebem updates a cada duas semanas, vale a pena a espera pelas novidades para ver o quanto o jogo pode melhorar ao atualiza-los.

Se eu disser que é simples ter games no Linux, estou mentindo.
Mas se eu disser que é simples ter games no Windows, também menti.
Não preciso ir longe para encontrar em fóruns, várias pessoas – sim, todos esses links – sofrendo de problemas de drivers gráficos e mal desempenho em games nativos do Windows 10. Alguns antigos, porque são da época do lançamento do jogo; outros games continuam com problemas recentes.

Problemas enfrentamos em todos os sistemas, isso é um fato. E ninguém está livre deles, seu jogo favorito pode te deixar na mão quando você menos esperar. A questão é até onde você está disposto a ir para ter seu game favorito executando no Linux, se por ventura o Windows não mais te satisfaz e estiver cansado do DualBoot.

Lembrando que, uma vez configurado, um jogo do Wine pode ser guardado; basta salvar o wineprefix dele numa pasta separada. Então quando você for jogar novamente no Linux, basta copiar aquele wineprefix para seu sistema, o jogo já estará instalado, registrado e configurado do jeito que deixou antes, te poupando o trabalho da reinstalação. E o melhor: Compatível com qualquer sistema Linux, já que os wineprefixes são universais.

#UrbanCompassPony

Fontes de Estudo:
Lutris – DXVK
LinuxConfig.org
github – doitsujin
Reddit – DXVK – Sou grato ao usuário _lyr3 por postar um comando de override de DLL do Wine que me salvou, permitindo que este tutorial fosse completado com sucesso!

#UrbanCompassPony

7 comentários em “Grand Theft Auto V no Linux”

  1. Caraio, que tutorial viu!! nem fiz ainda nao sei se funciona (mas pelos codigos parece tranquilo!)
    vou mandar pra uma amiga newbee de linux e acho q ela vai conseguir fazer só!!

    e velho!! nao sabia dessa dica de combinação da organização do POL + wine, 15 anos de linux e sempre perdi tempo fazendo script pra organizar jogos!

    Responder

Deixe um comentário