Os Segredos do WINE – Parte 2

Na segunda parte dessa matéria, trago os passos extras na configuração do WINE: Criar wineprefixes, atalhos e até arquiteturas diferentes!


| 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.


Introdução

Na publicação anterior trouxemos o que é, sinteticamente como funciona, quais são suas partes e como utilizá-lo de forma simplificada. Hoje, vamos abordar um pouco mais profundamente, como a criação de diversas garrafas – wineprefixes – como criar diferentes arquiteturas de wineprefixes, scripts de atalhos e como trocar a versão do WINE sem modificar aquela do próprio sistema.

1. Diretório do Wineprefix

Um wineprefix por padrão sempre fica numa pasta oculta em /home/USUÁRIO/.wine

Porém, você pode mudar esse caminho, criando um wineprefix em outro diretório, disco, unidade ou mesmo pasta de rede. Além disso você pode customizar o nome dessa garrafa do WINE para ficar mais fácil lembrar quem é o que e o que cada uma tem.

Vamos supor que você queira criar uma adega…. digo, uma pasta aonde todos os wineprefixes ficarão. Comecemos com uma pasta chamada “WINEgames” em seu usuário, com comandos pode ser feito com:

$ mkdir /home/$USER/WINEgames

Recomendo que todo caminho de wineprefix fique em diretórios que não tenham espaços nos nomes! Ou seja, o diretório “Área de Trabalho” é uma péssima opção. Apesar do shell lidar com espaços acrescentando \ antes destes, o WINE não lida bem com isso devido á natureza como o Windows lida com espaços e \ em seus diretórios.

Curiosamente essa regra não vale para as demais pastas com espaçamentos, inclusive várias do próprio Windows possuem espaços como a “Program Files”. Essa regra é uma especificidade do WINE na busca e execução do diretório wineprefix e não do seu conteúdo.

Beleza, uma vez que você tem essa pasta, vamos supor que, baseado no tutorial anterior, você queira um wineprefix apenas para o game “Liminal Mall”, um título composto de 2 palavras e espaços. Dentro da pasta WINEgames vamos criar uma chamada “LiminalMall”.

$ mkdir /home/$USER/WINEgames/LiminalMall

E, com esta pasta vazia, é a partir daqui que as coisas vão ficar interessantes!

O parâmetro global $USER vai automaticamente coletar o nome do usuário logado na máquina!

1.1 Criando um wineprefix

Para criar um wineprefix totalmente vazio, utilize o seguinte parâmetro + diretório + executável winecfg:

$ WINEPREFIX="/home/$USER/WINEgames/LiminalMall" winecfg

Assim, o WINE vai automaticamente vai criar um wineprefix em /home/$USER/LiminalMall e vai abrir o Winecfg – que como explicamos anteriormente, vai permitir fazer diversas pré-configurações antes mesmo de instalar um game.

1.2 Trocando a arquitetura

A arquitetura padrão do wineprefix é sempre win64, ou seja, amd64, também conhecida como x86_64, ou ainda, x64.

Para trocar a arquitetura para i386, conhecida também como x86, muito utilizada em games antigos do Windows 95 e 98, adicione este parâmetro ao comando anterior:

$ WINEPREFIX="/home/$USER/WINEgames/LiminalMall" WINEARCH=win32 winecfg

1.3 Instalação de Jogos

Na matéria anterior explicamos como executar um game. A instalação segue o mesmo método. Adicionalmente, para instalar um game em um wineprefix diferente do padrão, utilize do seguinte modelo:

$ WINEPREFIX="/home/$USER/WINEgames/LiminalMall" wine /caminho/do/instalador/.exe

1.4 Execução

Quando a instalação estiver completa, a execução do jogo será com:

$ WINEPREFIX="/home/$USER/WINEgames/LiminalMall" wine /caminho/até/game.exe

Você pode copiar a pasta do jogo “Liminal Mall” para /home/$USER/WINEGames/LiminalMall, sendo dentro do nosso exemplo, e num diretório padrão, em /home/$USER/WINEGames/LiminalMall/drive_c/Program Files… E na execução, será:

$ WINEPREFIX=”/home/$USER/WINEgames/LiminalMall” wine “/home/$USER/WINEGames/LiminalMall/drive_c/Program Files/liminal mall alpha v3/liminal mall.exe”

2. Atalho

Infelizmente o WINE por padrão só gera atalhos de seus games que já possuem esse parâmetro no instalador. Ou seja, se você desmarcar “criar atalho na área de trabalho”, ele não vai gerar nada e você vai precisar utilizar o comando do passo 1.4 anterior para executá-lo.

O Lutris e o PlayOnLinux por padrão possuem scripts que geram atalhos do WINE, que são basicamente documentos .sh escritos em shell script com atalhos apontando copiados para a área de trabalho. Vamos fazer um atalho nosso aqui!

Para nosso exemplo, crie um arquivo de texto e escreva isso:

#!/bin/bash

$ WINEPREFIX=”/home/$USER/WINEgames/LiminalMall” wine “/home/$USER/WINEGames/LiminalMall/drive_c/Program Files/liminal mall alpha v3/liminal mall.exe”

2 Linhas, no caso. Salve como… mude embaixo para “todos os arquivos” e no nome acrescente um .sh ao final.
Feche, clique direito sobre esse arquivo, propriedades e na aba Permissões, marque “permitir execução como programa” – ou algo próximo disso, dependendo de como sua distribuição linux lida com arquivos executáveis.

Assim, clicando 2x sobre esse documento, ele vai perguntar se deseja executa-lo. Clicando “executar”, o jogo vai abrir.

O gerenciador de arquivos CAJA – do Ubuntu MATE por exemplo – permite que, em suas configurações, documentos executáveis sejam sempre tratados prioritariamente como executáveis, assim ao clicar 2x no script ele vai abrir o game diretamente sem perguntar se deseja editar ou executar o script.

3. Trocando de WINE

Tudo que foi mostrado até aqui refere-se ao wine 7.0-rc6 – até a data desta postagem – que é o WINE do sistema operacional instalado. Mas vão haver games que você vai querer testar outras versões diferentes do wine. E ai?

Baixe o WINE desejado. Um exemplo, podem ser algum dos WINEs fornecidos pelo Lutris, clicando aqui!
Os WINEs mais novos – e com melhor suporte a games – são sempre os que estão no final da página.

Extraia o .zip em uma pasta que vamos chamar de “WINEnovos” em “/home/$USER/WINEnovos”

Vamos supor que você baixou o wine “lutris-fshack-6.21-6”, ficando assim:
“/home/$USER/WINEnovos/lutris-fshack-6.21-6”

E ai que você vai utilizar o atalho do passo 2., apague tudo e utilize o seguinte script, ficando assim:

#!/bin/bash

export WINEPATH=”/home/$USER/WINEnovos/lutris-fshack-5.6-5-x86_64
export WINEPREFIX=”/home/$USER/WINEgames/LiminalMall
export GAMEPATH=”/drive_c/Program Files/liminal mall alpha v3/
export GAMEEXE=”liminal mall.exe

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”

cd “$WINEPREFIX””$GAMEPATH”
$WINELOADER “$WINEPREFIX””$GAMEPATH””$GAMEEXE”

Edite apenas as linhas coloridas. As demais serão fixas.

  • A linha turquesa é o caminho até o diretório do wine diferente, no caso lutris-fshack-6.21-6 no nosso exemplo!
  • A linha verde é o caminho para o wineprefix do game, no nosso exemplo, o Liminal Mall.
  • A linha vermelha é o caminho do game dentro do wineprefix, ou seja, de drive_c em diante, até a pasta do binário.
  • A linha azul é o binário .exe do game.

Respeite aonde existem barras / e aonde não existem! O script foi pensado para corresponder aos diretórios.

Se houverem / aonde não deveriam ou algum / for removido do padrão, o script não vai funcionar.

Salve e execute o script.
Agora o Liminal Mall vai abrir com outro WINE, o lutris-fshack-6.21-6, em vez do 7.0-rc6!

3.1  Flags

Existem games que vão exigir parâmetros, flags de execução. Um exemplo é o game Populous The Beginning do GOG.com, ele precisa do parâmetro /allres para abrir. E aonde ele vai?

No caso do script acima, ele vai na última linha de baixo, na frente de “$GAMEEXE”, ou seja, ficará assim, a exemplo do game citado:

$WINELOADER "$WINEPREFIX""$GAMEPATH""$GAMEEXE" "/allres"

Assim, na execução o game vai utilizar esses parâmetros.

Aqui podem ser passados parâmetros diversos, exemplo –1366×768 ou ainda –windowed

Tudo depende do que o jogo suportar e/ou exigir. Desde que esteja entre aspas, sem problemas.

4. Conclusão

Com os passos acima, você vai criar e organizar diversas garrafas de vários games, cada um com seu wineprefix e cada um executando com um WINE diferente, sem problemas e sem conflitos.

Sinteticamente você aprendeu como o Lutris opera por baixo dos panos! A grosso modo é isso, ele cria scripts e gerencia como os games vão executar. As variáveis do código acima são repassados em script .json pra que maximize a compatibilidade entre os diversos lançadores e sistemas.

Parte 3…

Explicamos na PARTE 3 como funciona o Proton: Tanto para quem configura diretamente pela Steam, quanto para quem desejar utilizar o Proton fora da Steam para games… er…. que caíram do caminhão! do itch.io e GOG.com, por exemplo.

#UrbanCompassPony

Deixe um comentário