Steam не запустится в Ubuntu 16.04

19

После переустановки загружаются обновления, но они не запускаются даже из терминала. Это сообщение об ошибке, которое оно дает:

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)
Генри Уайат
источник
Ошибка на официальном трекере Ubuntu: bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669 Я решил похожую проблему, понизив драйвер nvidia: askubuntu.com/questions/893922/…
Сиро Сантилли 新疆 改造 中心 法轮功事件 事件

Ответы:

43

У меня была та же проблема, которую я смог решить, следуя инструкциям с http://ubuntuforums.org/showthread.php?t=2275526 :

Это проблема с Steam и Ubuntu 15.04. Steam связывает старые библиотеки и сталкивается с mesa драйверами, поэтому закрытые драйверы не видят этой проблемы.

В steam github есть открытая ошибка, обходной путь которой заключается в том, чтобы удалить старую версию lib, по крайней мере до тех пор, пока клапан не исправит проблему в их скрипте запуска или аналогичном. Так что введите эти папки и сделайте это

Код:

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

Это сработало для меня ... но, пожалуйста, обратите внимание, что если какая-то игра требовала, чтобы старая библиотека была запущена в Steam, она может вылететь (поэтому это должно быть исправлено клапаном)

Изменить: Шаги в теме уже были процитированы из Проблемы с установкой Steam на Ubuntu 15.04+ , так что вы можете перейти к более подробной информации, если этих инструкций недостаточно для решения вашей проблемы.

Balver
источник
Для обеих команд мв, я получил: gnu: No such file or directory. Почему?
Каспер
@CasperLI Они могут быть в другом каталоге. Попробуйте перейти по пути от ответа Ника ( askubuntu.com/a/778521/514190 ) и переименовать libstdc ++. So.6 в вашем любимом файловом менеджере. Или просто найдите файл:
balver
отсутствует команда из комментария выше:find ~/.steam -name "libstdc++.so.6"
balver
Это не сработало в Ubuntu 17.10
Рэй Фосс
Перезапуск исправил это ... Я закрыл что-нибудь в ps aux | grep steam. Это должно запустить что-то еще. По-прежнему облом, что кажется, что сбой в автономном режиме.
Рэй Фосс
5

Ответ выше был для меня правильным, хотя путь к файлам не был таким же, когда я пытался запустить Steam 16.04, мне нужен был путь

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

Кроме того, после обновления в первый раз мне пришлось сделать это снова, или он все равно не будет обновляться.

Ник Пепперс
источник
3

Вместо удаления libstdc ++ сначала выясните, не вызвана ли эта ошибка неоднозначными символическими ссылками на libGL.

Обратитесь к моему другому ответу, который также помог мне решить эту проблему /ubuntu//a/903488/364084

Я собираюсь вставить содержимое здесь:

Если вы используете драйвер nvidia, иногда вы увидите, что libGL.so.1 указывает на неоднозначный libGL, предоставляемый как mesa, так и nvidia. Чтобы проверить это, вы можете запустить эту команду

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

Вывод был что-то вроде:

    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

Теперь мне просто нужно было удалить библиотеку, предоставленную mesa, и все работало отлично.

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
Зобайер Хасан
источник
0

Решение Балвера сработало, однако, каталог немного отличается от того, что было опубликовано. Вот последовательность команд, как я ее набрал:

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
Skotizo
источник