Steam (Português)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Steam é uma plataforma de distribuição de jogos criado pela Valve.

Nota: Steam para Linux suporta apenas Ubuntu LTS.[1] Portanto, não recorra à Valve para obter suporte para problemas do Steam no Arch Linux.

Instalação

Habilite o repositório multilib e instale o pacote steam.

Os seguintes requisitos devem ser cumpridos para executar o Steam no Arch Linux:

SteamCMD

Instale steamcmdAUR para a versão de linha de comando do Steam.

Instalação alternativa pelo Flatpak

Steam também pode ser instalado com o Flatpak como com.valvesoftware.Steam do Flathub. A forma mais fácil de instalá-lo para o usuário atual é usando o repositório Flathub e o comando flatpak:

 flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
 flatpak --user install flathub com.valvesoftware.Steam
 flatpak run com.valvesoftware.Steam

A aplicação Flatpak atualmente não suporta temas. Você também não pode rodar jogos via optirun/primusrun, veja Issue#869 para mais detalhes.

Steam instalado via Flatpak não é capaz de acessar seu diretório pessoal e alterar isso fará com que o Steam não inicie, por não ser seguro. Porém, você pode adicionar diretórios fora do diretório pessoal livremente. Se você quiser adicionar uma biblioteca externa, rode o seguinte comando para adicionar:

flatpak override com.valvesoftware.Steam --filesystem=/path/to/directory

Problemas com fontes asiáticas pelo Flatpak

Se você está tendo problemas em fazer com que fontes asiáticas apareçam em jogos, é porque org.freedesktop.Platform não as inclue. Primeiramente, tente montar sua fonte local:

flatpak run --filesystem=~/.local/share/fonts --filesystem=~/.config/fontconfig  com.valvesoftware.Steam

Se isso não funcionar, considere essa modificação: copie diretamente os arquivos da fonte nos diretórios do org.freedesktop.Platform, por exemplo:

# substitua ? com sua versão e hash
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/?/?/files/etc/fonts/conf.avail
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/?/?/files/etc/fonts/conf.d
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/?/?/files/share/fonts

Estrutura do diretório

A localização da instalação padrão do Steam é ~/.local/share/Steam. Se o Steam não puder encontrar o diretório, solicitará que você reinstale ou selecione um novo diretório. Esse artigo usa o symlink ~/.steam/root para se referir ao diretório da instalação.

Pastas da biblioteca

Toda aplicação Steam tem um AppID único, que você pode descobrir olhando o caminho de sua página na Loja Steam.

O Steam instala os jogos em um diretório em LIBRARY/steamapps/common/. LIBRARY normalmente é ~/.steam/root, mas você também pode ter múltiplas pastas de biblioteca (Steam > Configurações > Downloads > Pastas de Biblioteca).

Para o Steam reconhecer um jogo, ele precisa ter um arquivo appmanifest_AppId.acf em LIBRARY/steamapps/. O arquivo appmanifest usa o formato KeyValues e a sua propriedade installdir determina o nome do diretório do jogo.

Utilização

steam [ -options ] [ steam:// URL ]

Para as opções de linha de comando disponíveis, veja o artigo de Opções de Linha de Comando na Valve Developer Wiki.

O Steam também aceita opcionalmente um Steam URL, veja o protocolo do Steam browser.

Opções de inicialização

Quando você inicia um jogo, o Steam executa seu comando de inicialização em uma shell Bash Para deixar você alterar o comando de inicialização, o Steam providencia opcções de inicialização, que podem ser definidos para um jogo clicando-o com o botão direito em sua biblioteca, selecionando Propriedades e clicando em Definir opções de inicialização.

Por padrão, o Steam apenas anexa suas opções no comando de inicialização. Para definir variáveis de ambiente ou passar o comando de inicialização como um argumento de outro comando, você pode utilizar o substituto %command%.

Exemplos

  • apenas argumentos: -foo
  • variáveis de ambiente: FOO=bar BAZ=bar %command% -baz
  • comando completamente diferente: outrocomando # %command%

Dicas e truques

Iniciar minimizado

É possível com que o Steam inicie minimizado na bandeja do sistema, adicionando -silent na lista de argumentos no arquivo de inicialização automática.

~/.config/autostart/steam.desktop
...
Exec=/usr/bin/steam -silent
...

Patch Fsync

A Valve lançou um patch especial para o kernel que deve ajudar a aumentar o FPS em aplicações com muitos processos. Existem alguns métodos de obter e utilizar esse patch:

  • Utilizar o kernel binário fornecido diretamente da Valve. Veja Unofficial user repositories#valveaur e após adicionar esse repositório, os pacotes do kernel linux-fsync e linux-fsync-headers ficarão disponíveis. Você provavelmente vai ter que substituir alguns pacotes regulares (ex: nvidia) com pacotes DKMS (ex: nvidia-dkms) também.
  • Instalar o kernel linux-zen que inclue os patches fsync desde a versão 5.2. [2]
  • Instalar o kernel linux-pfAUR ou linux-pf-gitAUR.

Proton Steam-Play

A Valve desenvolveu uma ferramenta de compatibilidade para o Steam Play baseado no Wine e componentes adicionais. Ela permite iniciar vários jogos do Windows (veja a lista de compatibilidade).

É de código aberto e disponível no GitHub. O Steam irá instalar suas próprias versões do Proton quando o Steam Play estiver habilitado.

O Proton precisa ser habilitado no cliente Steam: Steam > Configurações > Steam Play. Você pode habilitar o Steam Play tanto para jogos que foram permitidos pela Valve e para os que não foram.

Se preciso, para forçar o Proton a ser habilitado ou uma versão específica do Proton para um jogo, clique com o botão direito no jogo, clique em Propriedades > Geral > Forçar o uso de uma ferramenta específica de compatibilidade do Steam Play, e selecione a versão desejada. Isso também pode ser usado para forçar jogos que tem uma versão para Linux a usar a versão para Windows.

Você também pode instalar o Proton da AUR com protonAUR ou proton-gitAUR, mas é necessário configuração adicional para funcionar com o Steam. Veja o GitHub do Proton para detalhes de como o Steam reconhece instalações do Proton.

Modo Big Picture sem um window manager

Para iniciar o Steam no modo Big Picture de um Display manager, você pode: To start Steam in Big Picture Mode from a Display manager, you can either:

  • Instalar steamos-compositorAUR
  • Alternativamente, instalar steamos-compositor-plusAUR, que esconde as cores piscando na inicialização de jogos pelo Proton e adiciona uma correção para jogos que iniciam em segundo plano.
  • Manualmente adicionar uma entrada para o Steam (mas você perde as vantagens do compostitor steam: principalmente, você não pode controlar o modo Big Picture com o teclado ou controle):

Crie um arquivo /usr/share/xsessions/steam-big-picture.desktop com o seguinte conteúdo:

/usr/share/xsessions/steam-big-picture.desktop
[Desktop Entry]
Name=Steam Big Picture Mode
Comment=Start Steam in Big Picture Mode
Exec=/usr/bin/steam -bigpicture
TryExec=/usr/bin/steam
Icon=
Type=Application

Temas Steam

A interface do Steam pode ser customizado usando temas. Temas podem sobrescrever arquivos específicos de interface no ~/.steam/root.

Para instalar um tema:

  1. Coloque seu diretório em ~/.steam/root/skins.
  2. Abra Steam > Configurações > Interface e selecione-o.
  3. Reinicie o Steam.

Uma lista extensiva de temas pode ser encontrado nesse post nos fóruns da Steam.

Nota: Utilizar um tema desatualizado pode causar erros visuais.

Criando temas

Quase todos temas do Steam são definidos em ~/.steam/root/resource/styles/steam.styles (o arquivo tem mais de 3.500 linhas). Para um tema ser reconhecido ele precisa de seu próprio resource/styles/steam.styles. Quando uma atualização do Steam muda o steam.styles oficial, seu tema pode ficar desatualizado, potencialmente resultando em erros visuais.

Veja ~/.steam/root/skins/skins_readme.txt para uma introdução em como criar temas.

Alterando a posição da notificação do Steam

A posição padrão da notificação do Steam é no canto inferior direito.

Você pode mudar a posição da notificação do Steam alterando o Notifications.PanelPosition em

  • resource/styles/steam.styles para notificações da desktop, e
  • resource/styles/gameoverlay.styles para notificações no jogo.

Os dois arquivos são sobrescrevidos pelo Steam na inicialização e steam.styles é lido apenas na inicialização.

Nota: Alguns jogos não respeitam a configuração em gameoverlay.styles ex: XCOM: Enemy Unknown.

Usando um tema

Você pode criar um tema para mudar a posição da notificação do seu jeito. Por exemplo, para mudar a posição para o canto superior direito:

$ cd ~/.steam/root/skins
$ mkdir -p Top-Right/resource
$ cp -r ~/.steam/root/resource/styles Top-Right/resource
$ sed -i '/Notifications.PanelPosition/ s/"[A-Za-z]*"/"TopRight"/' Top-Right/resource/styles/*

Live patching

gameoverlay.styles pode ser sobrescrito enquando o Steam está rodando, permitindo que você tenha posições de notificação específicas para cada jogo.

~/.steam/notifpos.sh
sed -i "/Notifications.PanelPosition/ s/\"[A-Za-z]*\"/\"$1\"/" ~/.steam/root/resource/styles/gameoverlay.styles

E as #Opções de inicialização devem ser algo como:

~/.steam/notifpos.sh TopLeft && %command%

Steam Remote Play

Nota: Steam In-Home Streaming virou Steam Remote Play.

O Steam tem suporte embutido para remote play.

Veja esse guia na Comunidade Steam de como configurar um servidor headless de streaming no Linux.

Steam Controller

Normalmente um Steam Controller requer o uso da sobreposição Steam. Porém, em jogos não-Steam nativos para Linux a sobreposição pode não ser prática. Para isso, enquanto o cliente Steam está rodando, ele irá manter uma "configuração de desktop". Com seu Steam Controller, altere sua configuração de desktop para um controle genérico de XBOX. Desde que o cliente Steam esteja rodando, você pode usar o seu Steam Controller em outros jogos, como jogos da GOG, como um controle de XBOX. Certifique-se de selecionar seu tipo de controle para mapear nas configurações gerais do controle.

Solução de problemas

Veja Steam/Troubleshooting.

Veja também