Ошибка при установке Steam на 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

До этого я также пытался установить Steam из Терминала, но он не запускался после загрузки обновления.

Может ли кто-нибудь помочь мне найти решение для установки Steam?

30
задан 13 June 2015 в 08:51

4 ответа

Короткая версия:

Запустите пар в терминальном использовании:

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

вместо просто steam

Долгая версия:

Пар не может открыться nouveau_dri.so, общая библиотека, ответственная за общение с графическим драйвером. Проверять, является ли драйвером OpenGL, включило выполненный:

DISPLAY=:0 glxinfo | grep -i direct

Вывод должен быть:

direct rendering: Yes

Рабочий пар в режиме отладки:

DISPLAY=:0 LIBGL_DEBUG=verbose steam

Дает нам вывод, где следующие строки дают нам подсказку:

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))

Кажется, что пар использует другую версию libstdc++.so.6. Позволяет проверке, которую использует пар версии:

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

Так Пар загруженный LibC6 с версией 18 ABI, где драйвер ожидает версию 20. Решение состоит в том, чтобы сказать ОС предварительно загружать надлежащее использование версии LibC6 LD_PRELOAD переменная:

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

Несколько неинтуитивный параметр $LIB расширен в ld.so до правильного пути на основе платформы запускаемого процесса (человек 8 ld.so для деталей).

Можно создать сценарий со следующим содержанием для выполнения его вместо 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

Лучший сценарий мог проверить, является ли глобальная версия LibC6 более новой, чем та в STEAM_RUNTIME и только затем LD_PRELOAD.

Больше деталей может быть найдено на здесь. Обратите внимание, что я протестировал его на Debian, и теперь это было протестировано на Ubuntu яркие 15.04 и хорошо работает.

65
ответ дан 13 June 2015 в 18:51
  • 1
    @Oxwivi можно ли обеспечить некоторые примеры языков, которыми Вы могли бы интересоваться? – edwinksl 11 September 2016 в 09:54

По-видимому, эта ошибка происходит когда одна попытка установить Пар в 64 бита Ubuntu 15.04.

я сделал новую установку Ubuntu 15.04 в своей машине. Я также установил NVIDIA собственные графические драйверы.

я получал эту ошибку, но после взгляда тщательно я заметил, что пар является приложением на 32 бита, таким образом, я установил библиотеки приблизительно на 32 бита, и я переустановил драйвер NVIDIA так , Пар смог запуститься.

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

, Где последняя команда должна быть Вашим установщиком драйвера.

, Когда установщик драйвера попросит устанавливать библиотеки на 32 бита, поразите да.

3
ответ дан 13 June 2015 в 18:51
  • 1
    @GunnarHjalmarsson благодарит за ценный комментарий. обновленный ответ соответственно – Anwar 13 September 2016 в 00:15

Другое решение, которое помогло мне запустить Паровой клиент, было найдено здесь -

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

, я выполнил эту команду -

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

и теперь Паровой катер без любых дополнительных предварительных нагрузок. Надежда это поможет всем, у кого есть та же проблема о Ubuntu 16.04

27
ответ дан 13 June 2015 в 18:51
  • 1
    Те должны быть достаточными, чтобы быть в состоянии показать Вам почти все языки в Википедии – Anwar 11 September 2016 в 09:57

Возможно, эти gcc освобождает в паровом времени выполнения, являются несовместимыми с Вашим mesa драйверы. создают резервную копию Вашей домашней папки , затем пытаются удалить эти файлы библиотеки:

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
6
ответ дан 13 June 2015 в 18:51
  • 1
    Тот список датирован (Все, или по крайней мере большинство, пакеты, запускающиеся с ttf-, были заменены пакетами, запускающимися с fonts-.) – Gunnar Hjalmarsson 11 September 2016 в 13:02

Другие вопросы по тегам:

Похожие вопросы: