Pular para o conteúdo
Esta página está desatualizada. Por favor, consulte a documentação mais recente em /configuration/gaming/

Guia de Jogos no CachyOS

Bem-vindo ao guia de Jogos no CachyOS. Este guia orientará você nos aspectos essenciais de como configurar tudo para jogar.

Antes de mais nada.

Lembre-se: obter uma melhoria de dois dígitos no FPS nem sempre é possível (ou sequer alcançável). Às vezes, as otimizações podem levar a melhorias mínimas ou até nenhuma, dependendo do jogo e da configuração do hardware.

Não se pode esperar que otimizações de software funcionem como um upgrade de hardware gratuito.

Para facilitar a configuração do CachyOS para jogos, todos os pacotes necessários foram agrupados em um meta-pacote que inclui todas as dependências e bibliotecas essenciais para jogar no Linux, além de um meta-pacote separado para ferramentas e launchers/lojas.

Se você notar a falta de algum pacote, sinta-se à vontade para informar a equipe do CachyOS.

Siga as etapas abaixo para iniciar a configuração de jogos.

O meta-pacote cachyos-gaming-meta inclui diversas bibliotecas relacionadas a jogos.

Terminal window
sudo pacman -S cachyos-gaming-meta

O Proton-CachyOS é baseado no branch bleeding-edge do Proton e aplica uma série de modificações sobre ele.

  • Patches do Wine-staging
  • Wine Fullscreen FSR
  • Inclui codecs de vídeo e áudio para cutscenes de jogos
  • Suporte para umu-launcher, incluindo UMU-Protonfixes
  • Adiciona correções rápidas (hotfixes) e contornos antecipados para jogos

Como configurar corretamente múltiplas opções de inicialização

Seção intitulada “Como configurar corretamente múltiplas opções de inicialização”

As opções de inicialização na Steam são construídas seguindo o seguinte padrão:

Terminal window
<env variables> <wrappers> %command% <application arguments>
  • <env variables>: Estas são opções no formato VARIÁVEL=valor

    Examples
    PROTON_DXVK_D3D8=1
    # Ou
    DXVK_HUD="fps,memory,version,api"
  • <wrappers>: Estas são aplicações e scripts que modificam a forma como a aplicação real é executada. Os argumentos para o “wrapper” geralmente vêm após o executável do mesmo.

    Examples
    mangohud --dlsym
    # Ou
    gamescope -W 1680 -H 1050 -w 1280 -h 720 -S fit -F fsr --mangoapp --
  • %command%: Esta é a aplicação real. Isto deve ser especificado exatamente como está, e a Steam irá substituí-lo pelo comando adequado quando a aplicação for executada.

  • <application arguments>: Estes são diversos argumentos para a aplicação real e dependem da própria aplicação.

    Example
    %command% -dx11

Exemplo de uma opção de inicialização completa combinando todos os elementos:

Terminal window
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 prime-run game-performance %command% -dx11
  • Funcionalidades DLSS & Nvidia
    • PROTON_DLSS_UPGRADE=1: Atualiza automaticamente o DLSS para a versão mais recente.
    • PROTON_DLSS_INDICATOR=1: Exibe o indicador de estado do DLSS dentro do jogo.
    • PROTON_NVIDIA_LIBS=1: Ativa as bibliotecas Nvidia (PhysX, CUDA) - não é necessário para DLSS/ray tracing.
Controlos Avançados Nvidia
  • PROTON_NVIDIA_NVCUDA=1: Ativa apenas o suporte CUDA.
  • PROTON_NVIDIA_NVENC=1: Ativa apenas a codificação NVENC.
  • PROTON_NVIDIA_NVML=1: Ativa a monitorização NVML.
  • PROTON_NVIDIA_NVOPTIX=1: Ativa o ray tracing OptiX.
  • PROTON_NVIDIA_LIBS_NO_32BIT=1: Restringe as bibliotecas apenas a 64 bits (corrige problemas de desempenho na série RTX 4000+).
  • Upscaling AMD & Intel
    • PROTON_FSR4_UPGRADE=1: Atualiza automaticamente o FSR para a versão mais recente.
    • PROTON_FSR4_RDNA3_UPGRADE=1: Utiliza uma DLL de FSR4 otimizada para RDNA3.
    • PROTON_XESS_UPGRADE=1: Atualiza automaticamente o XeSS para a versão mais recente.

Certifique-se de que tem o umu-launcher do CachyOS instalado no seu sistema. Instale-o com o seguinte comando.

Terminal window
sudo pacman -S cachyos/umu-launcher
  1. No ecrã principal do Lutris, clique no ícone da engrenagem ao lado de Wine.
  2. Vá ao separador Runner Options e confirme que as suas definições correspondem ao seguinte:
    • Wine version = proton-cachyos
    • Use System winetricks = Disabled (Desativado)
    • Graphics
      • Enable DXVK = Enabled (Ativado)
        • Nota: Versões de DXVK, VKD3D e DXVK-NVAPI definidas pelo utilizador não são aplicadas ao usar o umu-launcher.
  3. Navegue até ao separador System Options.
    • Lutris
      • Disable Lutris Runtime = Enabled (Ativado)
      • Prefer system libraries = Enabled (Ativado)
  4. Continue a descer até à secção Game execution e localize a tabela Environment variables.
  5. Adicione as seguintes variáveis de ambiente:
    • Key: UMU_RUNTIME_UPDATE opcional
      • Value: 0
      • Isto irá saltar as atualizações do Steam Linux Runtime para o proton-cachyos. Não use isto com qualquer Proton que utilize o Steam Linux Runtime, como o proton-cachyos-slr, -GE ou -EM.
    • Key: PROTON_VERB opcional
      • Value: waitforexitandrun
      • Isto permite que os protonfixes funcionem com um GAMEID correspondente.
  6. Clique em Save para aplicar as alterações.
  1. Abra um terminal e instale o protonup.

    Terminal window
    sudo pacman -S protonup-qt
  2. Abra o protonup-qt e siga a captura de ecrã:

  3. Reinicie a Steam se a tiver aberta.

Instalação Manual (Avançado)
  1. Descarregue a versão mais recente aqui (desça até Assets).
  2. Descompacte o ficheiro e mova a pasta para ~/.steam/steam/compatibilitytools.d/
  3. Reinicie a Steam se a tiver aberta.

Este é o mesmo wine que está na base do proton-cachyos, mas como um pacote independente. Pode ser utilizado no Lutris, Heroic, Bottles e outros.

  • Todas as modificações do Wine incluídas no Proton-CachyOS
  • Adiciona correções rápidas (hotfixes) e contornos antecipados para jogos

Opções de configuração adicionais

  • WINE_WMCLASS="<nome>": Define o WM_CLASS de todas as janelas do Wine, permitindo que o gestor de janelas controle as mesmas através de regras.
  • WINEUSERSANDBOX=1: Desativa a criação de links simbólicos (symlinks) das pastas de utilizador do Wine (como Documentos e Imagens) para as pastas equivalentes no diretório HOME do utilizador.
  • WINE_NO_WM_DECORATION=1: Desativa as decorações das janelas. Pode corrigir problemas com o modo ecrã inteiro sem bordas e cliques do rato que atravessam a janela.
  • WINE_PREFER_SDL_INPUT=1: Solução alternativa para problemas de deteção de comandos.

Normalmente, executar /opt/wine-cachyos/bin/wine em vez de apenas wine deve ser suficiente para que uma aplicação corra utilizando o wine-cachyos-opt.

Se for necessária uma configuração mais restrita, poderá ser algo como isto:

Terminal window
export PATH="/opt/wine-cachyos/bin/:$PATH"
export WINEDLLPATH="/opt/wine-cachyos/lib/wine:/opt/wine-cachyos/lib32/wine:$WINEDLLPATH"
export LD_LIBRARY_PATH="/opt/wine-cachyos/lib/:/opt/wine-cachyos/lib32/:$LD_LIBRARY_PATH"

Se quiser utilizar o winetricks com o wine-cachyos-opt, pode invocá-lo desta forma:

Terminal window
WINE=/opt/wine-cachyos/bin/wine WINEPREFIX=<your prefix> winetricks <verb>

Qual versão do Proton deve ser utilizada na Steam?

Seção intitulada “Qual versão do Proton deve ser utilizada na Steam?”
  • Proton 10.0 é a versão estável da Valve. Utilize esta se o jogo que pretende jogar for conhecido por funcionar bem com ela.
  • Proton Experimental é a versão de desenvolvimento (bleeding edge) da Valve. Utilize esta se o jogo que pretende jogar for relativamente novo, não funcionar bem com a versão estável atual do Proton, ou se for recomendado no ProtonDB.
  • proton-cachyos-slr é a versão compilada e mantida pelos mantenedores do CachyOS. O seu uso é altamente recomendado devido às suas diversas funcionalidades de QoL, correções e otimizações. Para jogos que utilizam anti-cheat, como BattlEye ou Easy Anti-Cheat, ou launchers personalizados, o proton-cachyos-slr é o preferido.
  • proton-cachyos é a mesma versão que o proton-cachyos-slr, mas compilada sem depender do Steam Linux Runtime. Utilize-a apenas se compreender o significado desta diferença, e mude para o proton-cachyos-slr se ocorrerem problemas.
  • Proton-GE é uma versão personalizada feita por GloriousEggroll. Inclui várias correções e pode ser útil em certas situações.
  • Proton 9.0.4 ou inferior são as versões estáveis da Valve. Utilize estas se o jogo que pretende jogar apenas funcionar com uma versão anterior do Proton.

Corrigir Stuttering causado pela funcionalidade de Gravação de Jogo da Steam

Seção intitulada “Corrigir Stuttering causado pela funcionalidade de Gravação de Jogo da Steam”

Adicione a seguinte opção de inicialização ao seu jogo:

Terminal window
LD_PRELOAD="" %command%

Para ativar o registo (logging) do Proton num jogo:

  1. Clique com o botão direito no seu jogo na Steam e selecione Propriedades.
  2. Em Opções de Inicialização, defina a variável de ambiente PROTON_LOG:
    Terminal window
    PROTON_LOG=1 %command%
    Isto criará um ficheiro de log no seu diretório pessoal (home) chamado steam-<AppID>.log (por exemplo, o Counter Strike 2 utiliza o AppID 730, logo o ficheiro seria steam-730.log).
Diretório de Log Personalizado

Para definir um diretório de log personalizado, utilize PROTON_LOG_DIR:

Example
PROTON_LOG=1 PROTON_LOG_DIR=/home/cachyos/steam-logs %command%

Pré-compilação de Shaders com Proton-CachyOS, -GE e -EM

Seção intitulada “Pré-compilação de Shaders com Proton-CachyOS, -GE e -EM”

Na Steam, clique em Steam -> Definições, vá a Downloads e desmarque estas opções:

  • Permitir o processamento em segundo plano de shaders Vulkan
  • Ativar Pré-compilação de Shaders

Reutilizar uma Partição de Jogos Windows em NTFS

Seção intitulada “Reutilizar uma Partição de Jogos Windows em NTFS”

O Lutris é um gestor de jogos no CachyOS. Com o Lutris, pode gerir facilmente os seus “runners” de jogos, incluindo Wine, Proton e emuladores.

  • Inicie jogos através do Lutris simplesmente clicando no botão Jogar.
  • Adicione qualquer jogo que desejar clicando no + no canto superior esquerdo.
  • Configure uma loja nas “Fontes” (Sources) no painel esquerdo e ligue a sua conta. O Lutris procederá à instalação da referida loja e, a partir daí, poderá correr jogos dentro da loja, tal como faz no Windows.
  • E muito mais!

Lojas de jogos suportadas no Lutris:

Como configurar corretamente múltiplas opções de inicialização e variáveis de ambiente no Lutris

Seção intitulada “Como configurar corretamente múltiplas opções de inicialização e variáveis de ambiente no Lutris”
  • Opções de inicialização como -dx11 ou -fullscreen devem ser adicionadas no campo Arguments (Argumentos) no separador Game options, utilizando um espaço como separador.
  • Wrappers de comando, por exemplo mangohud --dlsym ou game-performance, devem ser adicionados no campo Command prefix no separador System options, utilizando um espaço como separador.
  • Variáveis de ambiente como PROTON_ENABLE_HDR=1 devem ser adicionadas na tabela Environment variables no separador System options, utilizando o botão + para adicionar uma nova entrada.

Como tanto o gamemode quanto o ananicy-cpp tentam modificar a prioridade (niceness) de um processo ao mesmo tempo, isso pode levar a conflitos e comportamentos inesperados. Recomenda-se utilizar o gamemode sem o ananicy-cpp.

Para parar o ananicy-cpp, execute o seguinte comando:

Terminal window
systemctl stop ananicy-cpp

O CachyOS inclui um script “wrapper” chamado game-performance, que utiliza o power-profiles-daemon para alternar temporariamente o perfil de energia para performance. Este perfil aumenta os níveis de energia do sistema, define o “governor” do CPU para performance e também altera qualquer agendador (scheduler) scx ativo para o seu perfil de jogo (se disponível).

Quando utilizado para iniciar um jogo, o sistema permanece em modo de desempenho até que o jogo seja encerrado, momento em que o perfil anterior é restaurado.

O Feral’s GameMode oferece uma funcionalidade semelhante.

Como adicionar o game-performance à Steam, Lutris e Heroic Games Launcher

Seção intitulada “Como adicionar o game-performance à Steam, Lutris e Heroic Games Launcher”
  1. Abra a sua Biblioteca Steam.
  2. Clique com o botão direito no título do jogo e selecione Propriedades.
  3. No separador Geral, encontrará a secção Opções de Inicialização.
  4. Adicione a seguinte opção de inicialização:
    Terminal window
    game-performance %command%

Os shaders dos jogos são compilados automaticamente enquanto joga, o que pode causar tempos de carregamento longos e “stuttering” na primeira vez que os encontra. Estes shaders são armazenados no seu sistema para serem reutilizados quando necessário.

No entanto, existe um limite máximo para o tamanho do ficheiro da cache de shaders, fazendo com que os shaders antigos sejam descartados ao exceder o tamanho predefinido. Isto pode ser um problema, já que jogos grandes podem ter shaders com mais de 1GB, forçando a recompilação a cada inicialização.

Para evitar tempos de carregamento longos e problemas de fluidez, podemos aumentar o tamanho global da cache de shaders:

  1. Abra um terminal.
  2. Crie um diretório environment.d na sua pasta de configuração, caso ainda não exista:
    Terminal window
    mkdir -p ~/.config/environment.d
  3. Crie um novo ficheiro de configuração:
    Terminal window
    touch ~/.config/environment.d/gaming.conf
  4. Abra o ficheiro com o Micro (um editor de texto).
    Terminal window
    micro ~/.config/environment.d/gaming.conf
    E cole o seguinte, dependendo do fabricante do seu GPU:
    AMD
    Terminal window
    # Força a implementação Vulkan RADV
    AMD_VULKAN_ICD=RADV
    # Aumenta o tamanho da cache de shaders da AMD para 12GB
    MESA_SHADER_CACHE_MAX_SIZE=12G
    NVIDIA
    Terminal window
    # Aumenta o tamanho da cache de shaders da Nvidia para 12GB
    __GL_SHADER_DISK_CACHE_SIZE=12000000000
  5. Guarde o ficheiro pressionando CTRL+S e depois CTRL+Q para sair do Micro. Reinicie o seu sistema.

Após reiniciar, o tamanho máximo da cache de shaders deverá estar permanentemente aumentado. Agradecimentos ao shader-booster do psygreg por ajudar neste guia.

Como adicionar o dlss-swapper à Steam, Lutris e Heroic Games Launcher

Seção intitulada “Como adicionar o dlss-swapper à Steam, Lutris e Heroic Games Launcher”
  1. Abra a sua Biblioteca Steam.
  2. Clique com o botão direito no título do jogo e selecione Propriedades.
  3. No separador Geral, encontrará a secção Opções de Inicialização.
  4. Adicione a seguinte Opção de Inicialização:
    Terminal window
    dlss-swapper %command%
Método de Substituição Manual de DLL

Se o dlss-swapper não estiver a funcionar ou estiver a causar problemas, tente atualizar a implementação de DLSS do jogo manualmente, substituindo o ficheiro nvngx_dlss.dll por uma versão atualizada e utilizando o script wrapper dlss-swapper-dll em vez do anterior.

A Arch Wiki já fornece instruções abrangentes sobre como ativar o ray tracing para várias plataformas de hardware.

Alguns utilizadores relatam que o problema está relacionado com a forma como os controladores de Linux da Nvidia gerem o agendamento (scheduling) do GPU — ao contrário do Windows, onde o agendamento adequado é imposto. Ainda não houve qualquer declaração oficial da Nvidia sobre este assunto. Atualmente, não existe nenhuma solução alternativa conhecida para este problema. Supostamente, a Nvidia está a trabalhar numa correção, mas não é claro quando será lançada.

Isto não tem qualquer relação com o CachyOS.

Em alguns títulos, a queda de desempenho é menos percetível do que em outros. Consulte este vídeo de comparação de benchmark para referência.

Acompanhe o tópico oficial da Nvidia para saber mais sobre este problema.