Первоначально это была проблема со Steam в Ubuntu 15.04 / 15.10. Steam связывает старые библиотеки и сталкивается с mesa драйверами, поэтому закрытые драйверы не видят этой проблемы. Обновление: возможно, вам не хватает некоторых вещей. Смотрите ответ другого mchid.
В github в Steam есть открытая ошибка .
Текущий обходной путь - удалить старую версию lib, по крайней мере, до тех пор, пока клапан не исправит проблему в своем скрипте запуска или что-то в этом роде.
Поэтому введите эти папки и сделайте это (игнорируйте, x86_64
если у вас только 32-битная система):
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
Если у вас есть проблемы с указанным выше каталогом, попробуйте следующее:
У одних есть свои .steam/steam/ubuntu12_32
, у других только .steam/ubuntu12_32
. Если у вас нет этих папок, найдите правильное местоположение, проверив, где ваш Steam ищет профиль пользователя:
$ fgrep config= /usr/games/steam
config=$HOME/.steam
Используйте это, чтобы найти местоположение вашей библиотеки:
[config value] + /ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
|
\-> $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
Это сработало для меня ... но, пожалуйста, обратите внимание, что если какая-то игра требует, чтобы старая библиотека была запущена в Steam, она может вылететь (вот почему клапан должен это исправить)
Изменить 2015-08-22:
Поскольку в Steam теперь есть ссылка, $HOME/.steam/root
которая всегда указывает на правильный каталог установки Steam, эта команда должна работать для всех, и ее проще для быстрого исправления:
find $HOME/.steam/root/ubuntu12_32/steam-runtime/*/usr/lib/ -name "libstdc++.so.6" -exec mv "{}" "{}.bak" \; -print
Также, пожалуйста, помните, что при каждом обновлении Steam Runtime вам, вероятно, потребуется запускать это.
Изменить 2016-02-16:
Также посмотрите ответ mchid ниже, просто сделав:
sudo apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386
может быть достаточно, чтобы это исправить.
Изменить 2016-10-23:
Для Ubuntu 16.10 команда была обновлена, чтобы удалить больше файлов, которые нарушают работу mesa драйверов, поэтому эта новая команда должна работать:
find $HOME/.steam/root/ubuntu12_32/steam-runtime/*/usr/lib/ \( -name "libstdc++.so.6" -o -name "libgpg-error.so.0" -o -name "libxcb.so.1" -o -name "libgcc_s.so.1" \) -exec mv "{}" "{}.bak" \; -print
Для драйверов с закрытым исходным кодом NVIDIA см. Ответ Винсента ниже.
Изменить 2017-01-08:
Вероятно, окончательное редактирование, последнее обновление Steam Linux должно исправить большинство, если не все проблемы! наконец-то! : D
Изменить 2017-08-03:
К сожалению, по возвращении из отпуска выяснилось, что какое-то недавнее обновление снова обанкротилось. Так что, если вы получаете это при запуске, сразу после загрузки обновления:
process 23148: arguments to dbus_connection_ref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file dbus-connection.c line 2688.
и затем steam crash, затем вы попали в эту ошибку , которая считается нефатальной, но она действительно выдает пара в тех же дистрибутивах. Обходной путь это:
ln -s ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3 ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbus-1.so.3
удачи