O Steam não inicia no Ubuntu 16.04


19

Após a reinstalação, as atualizações são baixadas, mas elas não iniciam nem no terminal. Esta é a mensagem de erro que ela fornece:

Running Steam on ubuntu 16.04 32-bit  
STEAM_RUNTIME is enabled automatically  
[2016-04-25 09:12:35] Startup - updater built Mar 31 2016 19:10:48  
SteamUpdateUI: An X Error occurred  
X Error of failed request:  BadValue (integer parameter out of range for operation)

Erro no rastreador oficial do Ubuntu: bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669 Resolvi um problema semelhante ao fazer o downgrade do driver da nvidia: askubuntu.com/questions/893922/…
Ciro Santilli Em

Respostas:


43

Eu tive o mesmo problema, que resolvi seguindo as instruções em http://ubuntuforums.org/showthread.php?t=2275526 :

Este é um problema com o steam e o ubuntu 15.04. O Steam empacota bibliotecas antigas e está colidindo com drivers de mesa, é também por isso que os drivers fechados não estão vendo esse problema.

Existe um bug aberto no steam github. A solução, por enquanto, é remover a versão antiga da lib, pelo menos até que a válvula resolva o problema em seu script de inicialização ou similar. Então, insira essas pastas e faça isso

Código:

cd $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

Funcionou para mim ... mas observe que, se algum jogo exigisse essa lib antiga do tempo de execução do steam, ele pode travar (é por isso que a válvula deve estar consertando isso)

Edit: As etapas do tópico já foram citadas no Problema com a instalação do Steam no Ubuntu 15.04+ , portanto você pode ir lá para obter mais detalhes, caso essas instruções não sejam suficientes para resolver o seu problema.


Para o comando tanto mv, eu tenho: gnu: No such file or directory. Por quê?
Casper

@CasperLI Eles podem estar em um diretório diferente. Tente ir para o caminho da resposta de Nick ( askubuntu.com/a/778521/514190 ) e renomear libstdc ++. So.6 no seu gerenciador de arquivos favorito. Ou apenas encontre o arquivo:
balver

comando ausente do comentário acima:find ~/.steam -name "libstdc++.so.6"
balver 19/08/16

Isso não funcionou no Ubuntu 17.10
Ray Foss

Reiniciar corrigido ... Eu tinha fechado qualquer coisa ps aux | grep steam. Deve executar outra coisa. Ainda é chato que pareça falhar quando estiver offline.
Ray Foss

5

A resposta acima estava correta para mim, embora o caminho para os arquivos não fosse o mesmo quando eu estava tentando fazer o steam rodar no 16.04, o caminho que eu precisava era

~/.steam/bin/steam-runtime/i386/usr/lib/i386-linux-gnu

Também depois de atualizar a primeira vez, eu tive que fazer isso novamente ou ele ainda não era atualizado.


3

Em vez de remover o libstdc ++, primeiro investigue se esse erro é causado por links simbólicos ambíguos do libGL.

Consulte minha outra resposta que também funcionou para eu corrigir esse problema /ubuntu//a/903488/364084

Vou colar o conteúdo aqui:

Se você estiver usando o driver da nvidia, às vezes verá que o libGL.so.1 aponta para o libGL ambíguo fornecido pelo mesa e pela nvidia. Para testar isso, você pode executar este comando

$ sudo ldconfig -p | grep -i gl.so

A saída foi algo como:

    libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
    libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
    libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
    libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
    libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
    libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
    libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
    libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
    libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
    libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
    libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
    libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
    libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
    libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so

Agora eu só precisava remover a biblioteca fornecida pelo mesa e tudo funcionou perfeitamente.

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1

0

A solução do balver funcionou, no entanto, o diretório é um pouco diferente do que foi postado. Aqui está a sequência de comandos que eu digitei:

cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.