Erro ao instalar o Steam no Ubuntu 15.04

Erro ao instalar o Steam no Ubuntu 15.04
agung@agung-K43SJ:~$ steam
Running Steam on ubuntu 15.04 64-bit

STEAM_RUNTIME is enabled automatically

Installing breakpad exception handler for appid(steam)/version(0)

libGL error: unable to load driver: nouveau_dri.so

libGL error: driver pointer missing

libGL error: failed to load driver: nouveau

libGL error: unable to load driver: swrast_dri.so

libGL error: failed to load driver: swrast

Antes disso, também tentei instalar o Steam do Terminal, mas ele não iniciou após o download da atualização.

Alguém pode me ajudar a encontrar uma solução para instalar o Steam?

Responder1

Versão curta:

Inicie o Steam no terminal usando:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam

em vez de apenassteam

Versão longa:

O Steam não consegue abrir nouveau_dri.soa biblioteca compartilhada responsável pela comunicação com o driver gráfico. Para verificar se o driver está habilitado para OpenGL, execute:

DISPLAY=:0 glxinfo | grep -i direct

A saída deve ser:

direct rendering: Yes

Executando o Steam no modo de depuração:

DISPLAY=:0 LIBGL_DEBUG=verbose steam

Nos dá a saída onde as seguintes linhas nos dão uma dica:

libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/nouveau_dri.so
libGL: dlopen /usr/lib/i386-linux-gnu/dri/nouveau_dri.so failed (/home/user/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-gnu/dri/nouveau_dri.so))

Parece que o Steam usa uma versão diferente do libstdc++.so.6. Vamos verificar qual versão o Steam usa:

ls -l ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6  

lrwxrwxrwx 1 user user 19 Jul 18  2014 /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.18

Portanto, o Steam carregou o LibC6 com ABI versão 18, onde o driver espera a versão 20. A solução é dizer ao sistema operacional para pré-carregar a versão adequada do LibC6 usando LD_PRELOADa variável:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam

O parâmetro $LIB, um tanto não intuitivo, é expandido em ld.so para o caminho correto com base na plataforma do processo que está sendo iniciado (man 8 ld.so para detalhes).

Você pode criar um script com o seguinte conteúdo para executá-lo em vez de steam:

#!/bin/bash
# Export so all child processes are affected as well
export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
export DISPLAY=:0
#export LIBGL_DEBUG=verbose
steam

Um script melhor poderia verificar se a versão global do LibC6 é mais recente que aquela existente STEAM_RUNTIMEe somente então LD_PRELOAD.

Mais detalhes podem ser encontrados emaqui. Observe que testei no Debian e agora foi testado no Ubuntu vivid 15.04 e funciona bem.

Responder2

Outra solução que me ajudou a lançar o cliente Steam foi encontrada aqui -

https://wiki.archlinux.org/index.php/Steam/Troubleshooting

Eu executei este comando -

find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete

e agora o Steam é lançado sem pré-carregamentos adicionais. Espero que isso ajude todos que têm o mesmo problema no Ubuntu 16.04

Responder3

Talvez as gccbibliotecas no tempo de execução do Steam sejam incompatíveis com seus mesadrivers.Faça backup da sua pasta pessoale tente excluir estes arquivos de biblioteca:

rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1

Responder4

Aparentemente, esse erro acontece quando alguém tenta instalar o Steam em um64 bitsUbuntu 15.04.

Eu fiz uma nova instalação do Ubuntu 15.04 na minha máquina. Também instalei os drivers gráficos proprietários da NVIDIA.

Eu estava recebendo esse erro, mas depois de olhar com atenção percebi que o Steam é um aplicativo de 32 bits, então instalei algumas bibliotecas de 32 bits e reinstalei o driver NVIDIA, entãoVaporfoi capaz de lançar.

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
sudo ./NVIDIA-Linux-x86_64-352.63.run

Onde o último comando deve ser o instalador do seu driver.

Quando o instalador do driver solicitar a instalação de bibliotecas de 32 bits, clique em sim.

informação relacionada