Warframe Steam no Lutris

Olá, tudo bem com vocês?

Eu fiz uma gambiarra pro jogo Warframe do Steam funcionar no Lutris, e ficou bom, o jogo funciona uma maravilha.

Então, vou mostrar como foi a experiência. Instalei o Warframe no Steam para testar e fiz alguns testes que deram nos seguintes resultados:

  1. Se eu uso o Proton do Steam ou o Proton GE versão 8.X, eu consigo logar normal, mas o personagem não aparece na tela, fica invisível e tudo escuro.

  2. Se eu uso um Proton mais antigo, como o 7.23 por exemplo, até aparece o personagem na tela, mas as cores são bagunçadas

  3. Então testei no Lutris, fiz uma configuração e testei com o Proton-GE 8.16, o mesmo que o personagem fica invisível no Steam.
    Não só apareceu normalmente como com a configuração que fiz, o jogo roda muito bem.

Então vou mostrar como foi o teste e como configurar.

Primeiro eu instalei o jogo Warframe versão “wine, Standalone Version” e tentei atualizar da forma normal. Notei que o Download é infinito, pois quando chega mais ou menos em seus 15%, o Download reinicia novamente do 0%.

Depois tentei fazer o Download via linha de comando e vi que ia baixar MUITO arquivo e ia demorar BASTANTE, então desisti.

Na 3ª tentativa, achei esta matéria onde foi-me apresentado o Script warframe.sh. Então seguindo as instruções decidi usar, e estava indo até bem, mas o Download falhou pois um dos arquivos que era pra baixar não existe mais.

Então pensando, lembrei que o Steam baixa o jogo completo e como não estava dando pra baixar as atualizações do Warframe pelo Lutris, tive a idéia de meio que fazer uma gambiarra e após algumas tentativas, deu certo.

Então vamos lá…

O Warframe, Steam é instalado neste diretório:

~/.local/share/Steam/steamapps/common/Warframe

O Warframe, Lutris é instalado neste diretório:

~/Games/warframe/drive_c/users/elppans/AppData/Local/Warframe

Quando se inicia o jogo no Lutris pela 1ª vez, aparece uma janela perguntando onde quer instalar, onde apenas clico em OK e então o jogo tenta ser instalado neste diretório:

~/Games/warframe/drive_c/Program Files/Warframe

warframe-01.png

Então, levando esta estrutura de diretórios em consideração, fiz a seguinte configuração, interligando o diretório do Warframe instalado no Steam no diretório de instalação do Lutris:

ln -sf ~/.local/share/Steam/steamapps/common/Warframe ~/.local/share/Steam/steamapps/common/Warframe/Downloaded
ln -sf ~/.local/share/Steam/steamapps/common/Warframe ~/.local/share/Steam/steamapps/common/Warframe/Public
mv "$HOME/Games/warframe/drive_c/Program Files/Warframe" "$HOME/Games/warframe/drive_c/Program Files/Warframe.BKP"
ln -sf ~/.local/share/Steam/steamapps/common/Warframe "$HOME/Games/warframe/drive_c/Program Files/Warframe"

Este é o resultado da configuração:

warframe-02.png

Como pode ver, os diretórios e subdiretórios são interligados um com o outro. Isso evita problemas ao tentar usar a opção -cluster:public

Agora, vamos partir para as configurações.

  1. Aba “Opções de Jogo”

Opçõs de inicialização utilizada. Não sei se faz diferença, mas configurei por via das dúvidas:

-nodx9ex: Desativa o DirectX 9Ex.
-high: Define a prioridade do processo do jogo para alta.
-notexturestreaming: Desativa o streaming de textura.
-soft: Desativa as sombras suaves.
-useallavailablecores: Força o sistema a usar todos os núcleos para jogos.
-nomansky: Se livra de quaisquer efeitos desnecessários no skybox, faz pouca diferença visual, mas pode fazer diferença em termos de FPS, especialmente ao usar o jetpack.
-refresh 144: é a taxa de atualização dos seus monitores, a sua é provavelmente 60, então seria -refresh 60

Argumentos:

-dx11:1 -threadedworker:1 -cluster:public -language:pt unaggressive -nod3d9ex -high -nojoy -notexturestreaming -soft -useallavailablecores -nomansky -refresh 60

warframe-03.png

  1. Aba “Opções do runner”

Versão do Wine: GE-Proton8-16
Habilitar FSync: DESATIVAR

warframe-04.png

  1. Aba “Opções do sistema”
  • Display:

Ativar as opções:

Contador de FPS (MangoHud)
Restaurar a resolução ao sair do jogo
Restaurar gama ao sair do jogo

Deve instalar o mangohud e se não estiver instalado, instale também o gamemod.
Eu uso NVidia, então tive que instalar também o pacote libxnvctrl
Instalação dos pacotes no ArchLinux (Procure a maneira de instalação em sua Distro):

sudo pacman -Syu --needed gamemode lib32-gamemode mangohud lib32-mangohud libxnvctrl

warframe-05.png

  • Multi-GPU

Minha placa de vídeo é um NVidia Desktop, então pra quem usa Desktop, DEVE fazer estas configurações

Usar gráficos Discretos: DESATIVE. Esta opção utiliza DRI_PRIME=1, que é bom para quem usa Note. Não é o meu caso
Descarregamento de renderização NVidia prime: DESATIVE. Esta opção utiliza as variáveis __GLX_VENDOR_LIBRARY_NAME=nvidia e __NV_PRIME_RENDER_OFFLOAD=1. Se ativar, o launcher não funciona direito.
Carregador de ICD Vulkan: Selecione sua Placa de vídeo proprietária

warframe-06.png

  • Game Execution

Variáveis de Ambiente:

O instalador do Warframe versão Lutris, já adiciona alguamas variáveis por padrão, mas pra quem usa NVidia Desktop, DEVE adicionar estas variáveis:

DRI_PRIME=pci-0000_01_00_0
__VK_LAYER_NV_optimus=NVIDIA_only

Se não usar, o jogo irá usar o DXVK mas o GPU vai ficar sempre em 0%.
Após adicionar, meu jogo começou a usar DXVK + GPU e onde eu travava, parou de travar.

warframe-07.png

Variáveis OPCIONAIS:

Se alguém quiser, pode testar estas variáveis também.
Pra mim não fez diferença nenhuma então eu NÃO estou usando, mas vai que dá alguma diferença pra alguém:

KD3D_FEATURE_LEVEL=12_1
DXVK_ASYNC=1
DXVK_ENABLE_NVAPI=1
PROTON_ENABLE_NVAPI=1
PROTON_NO_ESYNC=1
PULSE_LATENCY_MSEC=60
RADV_PERFTEST=aco
  • Resultado:

Minha placa de vídeo é antiga, então não dá muito FPS, mas com esta configuração está dando pra jogar normal até o momento.

warframe-08.png

Fontes:

https://wiki.archlinux.org/title/PRIME