Steam не открывается в Ubuntu 16.04 LTS

102

Я никогда не использовал Ubuntu или любую другую ОС Linux до прошлой пятницы. Насколько я знаю, я мог неправильно установить Ubuntu и пропустить компонент. Я бы предпочел, чтобы вы использовали простейшую возможную терминологию, но я согласен с поиском, если нужно. Я только что установил Steam для Ubuntu 16.04, но он не открывается, когда я нажимаю на него в панели запуска. Значок мигает в течение нескольких секунд, останавливается, а затем ничего не происходит. Я посмотрел на системный монитор, и там показывается пар, но завершение процесса и повторная попытка ничего не делают. Я слышал, что попытка открыть приложения, которые не работают через терминал, говорит вам, в чем ошибка, поэтому я попробовал это, и я получил это:

Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

Пожалуйста, помогите, я просто хочу снова сыграть в CS: GO.

Never2MuchPizza
источник
Кажется, проблема с драйверами. Какой драйвер вы используете и какая у вас видеокарта? Также я нашел это: wiki.archlinux.org/index.php/Steam/… - Это как-то связано с бесплатными драйверами AMD. Можете ли вы увидеть какие-либо другие драйверы, которые вы можете выбрать в разделе «Дополнительные драйверы»?
Иоаким Коед
Мой дрянной маленький ноутбук Toshiba имеет APU AMD A4-5000 с интегрированной графикой Radeon HD 8330. Не очень мощный. Единственный драйвер в меню «Дополнительные драйверы» - это проприетарный драйвер для процессоров AMD. Есть ли альтернативные драйверы, которые будут работать?
Never2MuchPizza
Не уверен насчет этого GPU: / Но я бы проверил ссылку, есть некоторые обходные пути.
Иоаким Коед
Это прекратилось после assert_20160820112154_1.dmp[8558]: file ''/tmp/dumps/assert_20160820112154_1.dmp'', upload yes: ''CrashID=bp-3f997128-c49b-4a1f-9f2f-9d7f82160819'' .
Каспер
@ Never2MuchPizza 16.04, для большинства графических процессоров AMD вы можете использовать драйвер с открытым исходным кодом (проприетарный отказался), см. Help.ubuntu.com/community/RadeonDriver
qkrijger

Ответы:

158

Эта проблема присутствует только в Ubuntu 16.04. В Ubuntu 16.10 установочный steam:i386пакет из мультивселенного хранилища Ubuntu (хранилище включено по умолчанию) и большинство проблем были исправлены. Чтобы исправить на Ubuntu 16.04:

  1. Рекомендуемое решение:

    Если вы только что установили Steam, убедитесь, что steam закрыт, и перейдите по ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ссылке и удалите ссылку libstdc++.so.6.

    rm ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
    

    Вот теперь все должно начаться без проблем. Пусть это сделает обновление. После обновления, если сообщение такое же (файл будет воссоздан после первого обновления), убедитесь, что steam закрыт, и сделайте то же самое. Также, если у вас есть 64-битная система, перейдите ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/и удалите libstdc++.so.6.

    rm ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
    rm ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6
    
  2. В некоторых системах libstdc++.so.6постоянно воссоздается. Если это ваш случай, то создайте скрипт steam.shс правами на выполнение:

    #!/bin/bash
    export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
    export DISPLAY=:0
    steam
    

    Затем измените в Exec=строке ввода на рабочем столе steam строку с абсолютным путем сценария steam.sh. Каждый раз, когда вы хотите поиграть в игру, сначала откройте steam с измененной записью на рабочем столе, а затем запустите игру изнутри steam. Источник: https://wirejungle.wordpress.com/2015/01/09/how-to-fix-broken-steam-linux-client-with-radeon-graphics-driver-workaround/

Танос Апостолоу
источник
Это сработало! Почему этот файл вызывает проблемы?
Goldname
6
@Goldname Steam использует свои собственные библиотеки, чтобы быть независимым от системных библиотек. Однако он не может включать в себя все (как все драйверы и многое другое), и драйверы Radeon используют файл libstdc ++. So, который является более новой версией, несовместимой с версией, включенной в Steam Runtime. Удаляя этот файл, вы заставляете его искать библиотеку вашей системы, а не ту, которая есть у Steam Runtime.
Танос Апостолоу
Работает для RocketLeague и в Ubuntu 16.04.
'10
Работает для меня. Запустил окно «Обновление Steam ...». Спасибо!
Марк-Андре Бенуа
1
@ThanosApostolou Да, то же самое libGL error- мне нужно было запустить первую команду отсюда: steamcommunity.com/app/221410/discussions/0/412446292752412961/…
Enigma
42

Я установил steam с пакетом в репозитории Ubuntu, а не файл .deb из steam. По всей видимости, пакет, предоставленный Ubuntu, модифицирован для работы в Ubuntu.

  1. Удалить пакет Valve:

    sudo apt purge steam-launcher
    
  2. Удалите репозиторий, если он не был удален с пакетом:

    sudo rm /etc/apt/sources.list.d/steam.list
    
  3. Перезагрузите список источников:

    sudo apt update
    
  4. Установите Steam из репозитория:

    sudo apt install steam
    

Для получения дополнительной информации см .: https://www.reddit.com/r/linux_gaming/comments/57clur/cant_run_steam_on_ubuntu_1610/

zorkerz
источник
4
Это работает для меня на Ubuntu 17.10.
Chofoteddy
Я только что попробовал это на Ubuntu 17.10, и это работает для меня.
dspacejs
Работал на меня тоже
Tek
Та же проблема также исправлена ​​на элементарной ОС Loki
Майкл Фултон
Это только сработало для меня на PopOS (Ubuntu)
Tricky
26

Попробуй это :

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
Шанто Ислам
источник
1
Это лучший ответ ИМО. Обратите внимание, что эти пути были неправильными в Монетном дворе 18 (16.04). Должно быть /.steam/steam/ubuntu12_32/...(обратите внимание на дополнительное /steam/в пути раньше /ubuntu12_32).
Дхаупин
Когда я впервые попробовал это сделать, путь был как в вашем комментарии, но после новой установки он не содержит лишних «/ steam /». Почему это?
Игорь В.
17.04 у меня работали только первые 2 команды, но потом работал пар. Благодарю.
Мы Борг,
9

Что-то, что работало для меня, было добавить эту переменную окружения перед исполняемым файлом steam:

env LD_PRELOAD='/usr/$LIB/libstdc++.so.6' steam

Попробуйте запустить его в консоли, посмотрите, работает ли он.

Если да, вы можете отредактировать ярлык Steam на рабочем столе, чтобы иметь следующую команду:

env LD_PRELOAD='/usr/$LIB/libstdc++.so.6' /usr/bin/steam %U

вместо старого значения:

/usr/bin/steam %U

Аналогично, вы можете обновить ярлык CS: GO на рабочем столе, чтобы иметь следующую команду:

env LD_PRELOAD='/usr/$LIB/libstdc++.so.6' steam steam://rungameid/730

Я понятия не имею, что он делает, но мне кажется, что это работает ...

Надеюсь, это поможет, и я надеюсь, что Valve исправит это в ближайшее время!

Самуэль Фан
источник
Этот работал для меня с Ubuntu 17.10
Джонатан
2

Размещенный журнал указывает, что графический драйвер установлен неправильно.

У меня была похожая проблема со свежей установкой 16.04 Я переустановил графический драйвер

первый ответ по ссылке ниже Проблемы с графикой после установки Ubuntu 16.04 с графикой NVIDIA

nkvnkv
источник
1

2019

Паровой бинар составляет 32 бита. Последние версии драйверов Nvidia перестали поддерживать 32-битные приложения. Чтобы исправить это в Ubuntu 18.04:

  1. sudo add-apt-repository ppa:graphics-drivers/ppa
  2. Запустите nvidia-settingsи проверьте свою основную версию драйвера Nvidia. Мой, например, является: Версия драйвера NVIDIA: 430.26 (так, 430)
  3. sudo apt install libnvidia-gl-{{MAJOR VERSION NUMBER}}:i386

Например, будучи моей основной версией 430 драйвера Nvidia, моя команда оказалась sudo apt install libnvidia-gl-430:i386

Но Steam, серьезно, 32 бита .... ??

Лукас Бустаманте
источник
0

Установка Solus версии Steam вместо официальной (.deb) версии исправила это для меня.

Сначала удалите официальную версию:

sudo apt purge steam-launcher

Затем установите версию Solus:

sudo snap install --edge solus-runtime-gaming
sudo snap install --devmode --edge linux-steam-integration

Теперь запустите Steam из тире.

stommestack
источник
0

Для пользователей Gentoo, которые пришли сюда и хотят получить грубое решение, это то, что я сделал.

Шаг 1

Удалены обидчики:

rm -i $(find ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed \
    -iname 'libstdc++*' -or -iname 'libgcc_s*')

Шаг 2

Создайте скрипт запуска:

#!/bin/sh
export LD_PRELOAD=$(echo /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/{,32/}{libstdc++.so.6,libgcc_s.so.1})
export DISPLAY=:0
/usr/bin/steam

Он выдает много ошибок, предупреждающих о «неправильном классе ELF», но я их игнорирую. Также измените путь в соответствии с установленной версией gcc. Не стесняйтесь улучшать (используйте gcc-config -L и т. Д.)

Даниэль Сантос
источник
0

Ubuntu 18.04: После того, как вы успешно удалили свой текущий Steam (все каталоги, связанные с Steam), пожалуйста, откройте терминал и введите следующее, чтобы иметь свежую и чистую установку:

sudo add-apt-repository multiverse

Как только вы правы, вывод должен быть:

Компонент распределения "multiverse" включен для всех источников


Затем установите steam ( с помощью терминала это важно для того, чтобы увидеть потенциальные сообщения об ошибках)

sudo apt install steam
sudo apt update

После успешной установки просто введите steam

steam

Вот либо работает, то и веселись! Или у вас есть следующее сообщение об ошибке:

tar: This does not look like a tar archive
xz: (stdin): File format not recognized
tar: Child returned status 1
tar: Error is not recoverable: exiting now
find: ‘/home/$USERNAME/.steam/ubuntu12_32/steam-runtime’: No such file or directory

Если у вас есть это сообщение, не сдавайтесь и бегите:

mkdir "/home/$USERNAME/.steam/ubuntu12_32/steam-runtime"

Теперь должно работать!

Ced
источник