Configurando a Steam Flatpak: discos, MangoHUD, Gamemode e Remote Play

Olá, pessoal!

O empacotamento Flatpak tem mecanismos de funcionamento específicos que podem modificar o comportamento de alguns aplicativos. A Steam é um destes. Muitas pessoas têm dúvidas sobre como instalar jogos em múltiplos discos, por exemplo. Criei este tópico para apresentar algumas perguntas frequentes e suas respectivas soluções.

1. Por que Flatpak?

A instalação de aplicativos em formato Flatpak pode trazer inúmeros benefícios em comparação com formatos de empacotamento tradicionais, como .deb. Dentre eles, podemos citar:

  • Universalização, possibilitando a padronização entre diferentes distribuições Linux. Isso facilita - e muito - o trabalho de manutenção dos pacotes por partes dos desenvolvedores e contribuidores, além de garantir que a experiência de uso seja consistente, independentemente da distribuição escolhida;
  • Isolamento, permitindo que o aplicativo seja instalado e opere sem interferir nos arquivos do sistema. Como resultado, pode-se obter ganhos em estabilidade e segurança;
  • Menor incidência de quebras por conflito de dependências, uma vez que estas sempre estarão incluídas nas versões corretas;
  • Melhor organização do sistema, evitando a instalação de múltiplas dependências (“dependency hell”) na raiz do sistema. Este ponto é especialmente interessante no caso da Steam, que necessita de inúmeras libraries de 32 bits para funcionar;
  • Acesso mais rápido a atualizações, em geral, em comparação a repositórios tradicionais, especialmente no caso de distribuições LTS. Isso resulta, inclusive, em ganho de desempenho, tendo em vista que o Flatpak virá com o Mesa e outros complementos bem atualizados;
  • Etc.

Para saber mais sobre o empacotamento em Flatpak e Snap, é recomendado o seguinte vídeo:

2. Requisitos iniciais

O aplicativo Steam, em formato Flatpak, pode ser encontrado nas lojas de aplicativos de inúmeras distribuições Linux. Caso o suporte a Flatpak - ou ao repositório Flathub - não seja habilitado por padrão em sua distro de preferência, clique neste link e siga as instruções de instalação: Flatpak Setup.

Este tópico irá utilizar, no formato Flatpak, a Steam, os aplicativos Flatseal e ProtonUp-Qt e o pacote MangoHUD. Com exceção deste último (que acredito ser exibido apenas no Discover, loja do KDE), você poderá encontrá-los na loja de aplicativos. Caso prefira usar o terminal, estes são os comandos de instalação:

flatpak install flathub com.valvesoftware.Steam
flatpak install flathub com.github.tchx84.Flatseal
flatpak install flathub net.davidotek.pupgui2
flatpak install flathub org.freedesktop.Platform.VulkanLayer.MangoHud

3. Configurações básicas na Steam

É interessante iniciar por algumas alterações nas configurações do próprio aplicativo Steam:

  • Na aba “interface” você pode trocar o idioma para Português (Brasil). Dê “OK” e espere a reinicialização.
  • Na aba “conta” você pode optar por participar ou não do Steam Beta Update. Se esta opção estiver habilitada, você receberá atualizações antes destas serem disponibilizadas oficialmente, possibilitando o acesso antecipado a novos recursos. Como consequência, é possível que você encontre bugs. Fica a seu critério participar ou não.
  • Na aba “Steam Play”, marque as opções “ativar Steam Play para títulos compatíveis” e “ativar Steam Play para todos os outros títulos”, selecionando a versão de Proton mais atualizada disponível, abaixo do Experimental. Confira este campo, de tempos em tempos, para ver se uma nova versão foi lançada. Caso positivo, efetue a troca.
  • Na aba “Sombreadores”, recomendo deixar ambas as opções ativadas para processar os shaders do Vulkan antes de iniciar jogos (esta opção é especialmente importante para aprimorar o desempenho, reduzindo stutters, durante os minutos iniciais ao rodar um jogo pela primeira vez, especialmente se seu processador não for muito potente).

4. Como adicionar outros discos (SSDs ou HDDs)?

É recomendável, antes de adicionar outros discos para o download de jogos, configurar pontos de montagem fixos e ativar a montagem automática ao iniciar o sistema. É possível utilizar, por exemplo, os aplicativos GNOME Discos e Gerenciador de Partições do KDE. Você provavelmente já tem um deles instalado em seu sistema (e pode optar por instalar o outro). Considero o GNOME Discos mais completo e irei abordá-lo neste tutorial. Você pode instalá-lo a partir da loja de aplicativos.

Selecione o disco adicional e clique nas configurações:

Selecione “Editar sistema de arquivos” e adicione um rótulo (nome) para seu disco caso ainda não tenha. Essa ação irá facilitar as configurações seguintes. Lembre-se de não usar espaços e selecionar algo curto. Por exemplo, meu primeiro HDD adicional tem o nome “HDD1”.

Selecione “editar opções de montagem” e desmarque a opção “padrões de sessão de usuário”. Marque as opções “montar ao inicializar o sistema” e “exibir na interface do usuário”. Na opção “identificar como”, selecione “LABEL=<rótulo>”. Perceba que o ponto de montagem será preenchido como “/mnt/<rótulo>”. Anote este caminho (por exemplo, no meu caso, é “/mnt/HDD1”).

Salve e reinicie seu computador. Ao ligar novamente, seu disco aparecerá no explorador de arquivos. Abra-o e crie uma pasta para salvar os jogos da Steam (por exemplo, “Steam”).

Abra o aplicativo Flatseal e selecione a Steam. Navegue até as opções de “filesystem” e “outros arquivos”. Clique no ícone de “+” e adicione o caminho para a pasta criada (no meu caso, por exemplo, “/mnt/HDD1/Steam”).

Feche o Flatseal. Se sua Steam estava aberta durante a modificação, feche-a e abra novamente para que a alteração tenha efeito. Nas configurações da Steam, navegue até “downloads” e “pastas da biblioteca Steam”. Clique no ícone de “+” e selecione a opção “escolher outro local” (não aceite a sugestão automática, mesmo que pareça correta). Clique em “adicionar” e selecione a pasta criada anteriormente (no exemplo, “/mnt/HDD1/Steam”).

5. Configurando o MangoHUD para ler estatísticas de desempenho

Para ativar o MangoHUD, abra as propriedades do jogo na Steam:

image

Em “opções de inicialização” é necessário inserir este comando:

MANGOHUD=1 %command%

É possível configurar quais informações serão exibidas, bem como sua posição e outros aspectos. Para simplificar, sugiro o seguinte comando, que adiciona informações básicas como temperaturas e uso de RAM e VRAM:

MANGOHUD=1 MANGOHUD_CONFIG=cpu_temp,gpu_temp,ram,vram %command%

Você pode também usar o MangoHUD para limitar sua taxa de FPS sem precisar ativar o vsync (que adiciona input lag) no jogo. O comando ficaria desta forma:

MANGOHUD=1 MANGOHUD_CONFIG=cpu_temp,gpu_temp,ram,vram,fps_limit=75 %command%

Você deve trocar o valor em “fps_limit” para o desejado (ideal que seja a taxa de atualização do monitor).

6. Utilizando o Gamemode para aprimorar o desempenho

Gamemode é uma ferramenta desenvolvida pela Feral Interactive buscando otimizar sistemas Linux para jogos. Você pode testá-la para avaliar se seus jogos funcionarão melhor. O pacote provavelmente consta na loja de aplicativos de sua distribuição. Caso não apareça e você esteja usando uma distribuição baseada em Debian ou Ubuntu, é possível instalar digitando este comando no terminal:

sudo apt install gamemode

Para executar o Gamemode ao iniciar algum jogo, abra as propriedades, conforme descrito no item anterior, e adicione o comando:

gamemoderun %command%

Lembre-se que o termo %command% deve ser inserido apenas ao final, uma única vez. Ou seja, não repita este termo caso esteja usando o Gamemode em conjunto com o MangoHUD.

7. Gerenciando versões do Proton no ProtonUp-Qt

Versões customizadas do Proton (a camada de compatibilidade utilizada pela Steam para rodar jogos de Windows) podem trazer ganhos de desempenho ou possibilitar a execução de alguns jogos ainda não suportados pelo Proton oficial da Valve. Lembre-se sempre de consultar o site ProtonDB (https://www.protondb.com/) para buscar informações e dicas sobre jogos específicos.

O aplicativo ProtonUp-Qt permite instalar, gerenciar e remover múltiplas versões customizadas do Proton de forma fácil, sendo compatível não apenas com a Steam (em qualquer formato), mas também com diversos launchers. Clique em “add version” para adicionar alguma versão. A mais conhecida é Proton Glorious Eggroll (GE-Proton):

image

Na Steam, abra as propriedades do jogo, conforme apresentado anteriormente, vá até a guia “compatibilidade” e marque a opção “forçar uso de ferramenta de compatibilidade do Steam Play específica”. Antes de testar o Proton customizado, você pode experimentar o Proton Experimental.

8. Meu joystick não funciona no Remote Play! O que fazer?

O Steam Remote Play permite streamar jogos a partir de seu computador principal para outros dispositivos, como laptops, smartphones e SmarTVs. Para que a entrada externa de comandos funcione sem erros, verifique, primeiramente, se o pacote steam-devices está instalado em seu sistema. Este pacote provavelmente aparecerá na loja de aplicativos. Contudo, considerando que algumas distribuições - como o Pop!_OS - tendem a baixar também a steam .deb ao selecionar esse pacote, recomendo realizar a instalação pelo terminal, indicando a preferência por não instalar pacotes recomendados:

sudo apt install steam-devices --no-install-recommends

Aplicativos Flatpak rodam em sandbox e precisam de permissões adicionais. Para que a Steam possa receber os comandos remotos, especialmente no caso de joysticks, abra o aplicativo Flatseal e, na mesma seção de “outros arquivos” apresentada anteriormente, adicione o caminho abaixo:

/dev/uinput:ro

9. Considerações Finais

Usar a Steam em formato Flatpak pode exigir algumas configurações adicionais, mas o funcionamento final será o mesmo obtido por empacotamento tradicional.

Este tutorial será aprimorado e expandido ao longo do tempo. É proibida a reprodução sem que seja dado o crédito ao autor (KairanD).

Link para a publicação no Clube do Hardware: Configurando a Steam Flatpak: discos, MangoHUD, Gamemode e Remote Play - Linux - Clube do Hardware

Notas de atualização:

  • 28/08/2022: adição de seções sobre o Feral Interactive Gamemode e o ProtonUp-Qt. Para o ProtonUp-Qt, a seção “requisitos iniciais” foi atualizada para mencionar o comando de instalação.
  • 28/08/2022: adição de menções sobre a facilidade de desenvolvimento e a consistência de uso na seção de vantagens do Flatpak.
  • 28/08/2022: alteração da recomendação de uso do Proton Experimental para a versão mais atualizada logo abaixo da Experimental (seção de configurações básicas da Steam).
  • 14/10/2022: recomendação de uso da instrução --no-install-recommends ao instalar o pacote steam-devices.
19 curtidas

Clapping Applause GIF

Well Done Reaction GIF

Well Done Applause GIF by MOODMAN

É o que tenho a dizer

4 curtidas

Atualizei o tópico para complementar com mais ferramentas. As notas de atualização estão ao final do texto. :slight_smile:

2 curtidas

Pessoal, descobri que algumas distribuições puxam o pacote .deb da Steam ao instalar o pacote steam-devices. Para resolver isso, alterei a seção “meu joystick não funciona no Remote Play”, sugerindo a instalação limpa por terminal. :slight_smile:

4 curtidas

Precisei re-instalar meu pop e agora não consigo mais jogar.

A steam reconhece o controle quando faço os testes, mas quando abro o jogo, náo acontece nada.
(na verdade, reconhece o pad que move o mouse)

Sabe o que pode ser?

Veja se a opção “ativar o Painel Steam dentro do jogo” está ativada:

O Painel Steam é o que permite a captura de comandos do controle. Se estiver desativado, o controle não funcionará.

É um controle de Xbox ou similar? Você chegou a tentar no modo Big Picture?

2 curtidas

Parabéns, ficou ótimo. Também estava trabalhando em um artigo parecido: Desfrutando do Steam com Conforto e Segurança: Steam Flatpak | by Fast OS | Aug, 2023 | Medium

5 curtidas

2 postagens foram divididas em um novo tópico: CS-Go e Half Life nativos da Valve, como estão?