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)?

Para baixar jogos da Steam sem problemas, o disco deve estar formatado em um formato nativo do Linux, preferencialmente EXT4, que apresenta o melhor desempenho. Não use discos formatados em NTFS, que são conhecidos por apresentarem problemas com a versão Linux da Steam.

É 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:

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):

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.
  • 24/04/2025: adição de alerta sobre a não utilização de discos formatados em NTFS.
26 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?

Esse tópico me ajudou bastante no início em vários aspectos. No entanto, pessoalmente, na minha máquina, a Steam em Flatpak não funcionou bem, pois percebi uma perda de desempenho em todos os jogos. Já na versão nativa, tudo roda suavemente.
Qualquer aplicativo que rode em sandbox, com as tecnologias atuais, ainda não é a melhor opção para desempenho máximo. Parece que, em muitos casos, é preciso escolher entre desempenho ou segurança, já que os dois raramente andam juntos.

1 curtida

No caso de jogos fora da Steam, a lógica permanece ou varia bastante? Por exemplo, como funciona na Heroic laucher?

Era o comando que eu estava buscando, só adaptei para 60 FPS para o meu caso.
Belo artigo, muito bem explicado e atualizado para os dias atuais.

1 curtida

Antigamente, eu usava um Core i5-4670K e, de fato, percebia uma pequena penalidade de desempenho em alguns jogos por usar a Steam Flatpak. Conversando com outros usuários, confirmei que de fato isso ocorria.

Contudo, depende mesmo do hardware. Atualmente, com um Ryzen 7 5700X, não cheguei a notar diferença. De qualquer forma, ao longo do tempo, a tendência é o desempenho no Flatpak ir melhorando. :slight_smile:

Sim, a lógica, em geral, permanece a mesma. Muitas das dicas que você viu aqui se aplicam a qualquer aplicativo Flatpak. :wink:

2 curtidas