Olá a todos!!!
Ao instalar a
Steam aqui no
Arch Linux, após executar apenas a instalação e ao tentar rodar o programa houveram alguns erros, lembrando que na própria Wiki do Arch é informado que o Arch Linux não é oficialmente suportado pela Steam...
Nas minhas pesquisas pela internet encontrei um meio em que é possível fazer rodar a Steam no Arch Linux normalmente e gostaria de compartilhar com vocês da comunidade do VOL. Caso tenha alguém com esse mesmo problema e pelo o que vi não são poucos com os mesmo erros que aconteceram comigo. Então vamos entender como consegui contornar esse problema.
Antes de tudo caso não tenha instalado a Steam, basta utilizar o
Pacman para a instalação com o seguinte comando:
sudo pacman -S steam
Ou se preferir instalar com o usuário root, utilize o comando "su" e digite a senha de root, não sendo necessário utilizar o sudo antes do comando.
Obs.: antes de instalar este pacote é necessário alterar o seu
/etc/pacman.conf e habilitar o repositório
Multilib apagando a "#" da frente do nome e do "Include" do repositório.
Vamos ao que de fato interessa, que é resolver os erros que aparecem ao tentar executar a Steam depois de instalada:
1 - Ao tentar abrir o programa através do seu atalho no menu de aplicativos, ele deu sinal que iria abrir, porém ele fecha do nada e com isto o programa não roda.
2 - Tentei abrir o programa via Terminal e então ele me retornou seguintes erros:
steam
/home/bruno/.local/share/Steam/steam.sh: line 161: VERSION_ID: variável não vinculada
/home/bruno/.local/share/Steam/steam.sh: line 161: VERSION_ID: variável não vinculada
Running Steam on arch 64-bit
/home/bruno/.local/share/Steam/steam.sh: line 161: VERSION_ID: variável não vinculada
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Problema:
Existem dois erros aí, o primeiro é um erro na linha 161 e o segundo o "libGL". No primeiro caso, dá um erro na linha 161 do "steam.sh", pois tenta iniciar "VERSION_ID" de "/etc/os-lancamento", o Arch possui "/etc/os-lancamento", mas ele não tem um "VERSION_ID". Que no caso aparece em "/etc/os-release".
3 - Então segui os passos a seguir para resolver esse problema:
A solução é alterar a linha 160 de "steam.sh", de:
elif [ -f /etc/os-release ]; then
para:
elif $(grep 'VERSION_ID' /etc/os-release > /dev/null 2>&1); then
Geralmente "LD_LIBRARY_PATH" não é definido por padrão, então para corrigir isso vamos mudar a linha 710 de:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32"
para:
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-/usr/lib}:/usr/lib32"
Para acessar "steam.sh" basta seguir esse caminho: /home/USUÁRIO/.local/share/Steam/steam.sh
e pode abrir o
steam.sh com o Geany, Netbeans etc para ficar mais fácil de identificar as linhas correspondentes para editá-las, mas caso não tenha algum deles pode abrir até com um editor de texto qualquer.
Para o segundo erro, o da libGL, eu achei a solução na Wiki do Arch, estava em inglês então traduzir pra facilitar pra vocês. Quem quiser ir lá mesmo assim, o link está lá no final.
O erro de libGL se dá porque a Steam instala suas próprias versões mais antigas de algumas bibliotecas coletivamente chamadas de "Steam Runtime". Pode acontecer dessas bibliotecas do Steam entrarem em conflito com as bibliotecas incluídas no Arch Linux.
Para resolver esse problema você pode forçar a Steam para usar as versões do sistema (aquelas instalados pelo pacman ). Há duas maneiras de fazer isso:
1 - Usando o vinculador dinâmico, rode esse comando no terminal para fazer a Steam rodar imediatamente:
LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' steam
Se você quiser usar esse método em um atalho .desktop, pode usar este comando no Exec=campo.
Exec=env LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' /usr/bin/steam %U
2 - Excluindo as bibliotecas de tempo de execução, execute este comando para excluir as bibliotecas de execução conhecidas por causar problemas no Arch Linux:
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
Se o comando acima não funcionar, execute o comando acima novamente, em seguida, executar este comando.
find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
Eu rodei o primeiro comando da opção 1 e a Steam rodou na hora, mas pelo terminal. O segundo comando da opção 1 eu não entendi, então parti pra opção 2 e o primeiro comando já fez a Steam funcionar pelo atalho.
Fontes: