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.so
a 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_PRELOAD
a 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_RUNTIME
e 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 gcc
bibliotecas no tempo de execução do Steam sejam incompatíveis com seus mesa
drivers.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.