У меня есть гостевая система Debian Sid, запущенная в Virtualbox (на хосте Debian), куда я установил steam
пакет из non-free
репозитория.
При попытке запустить steam
возникают следующие ошибки:
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Я нашел несколько других сообщений об этом сообщении об ошибке (например,"Steam не открывается в Ubuntu 16.04 LTS") ... но ни один из них не про virtualbox, и в них нет ответов, которые решают проблему, с которой я столкнулся. Я также пробовал использовать файл, .deb
предоставленный с сайта steam, и столкнулся с той же проблемой.
Большинство других «решений» в Интернете предлагают сделать следующее:
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
... а затем запускаю steam
так: LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam
... но ничего из этого не работает для меня, и я получаю ту же ошибку даже после удаления библиотек из каталога Steam. firmware-amd-graphics
, libgl1-mesa-dri
и другие библиотеки 3D-рендеринга установлены и работают правильно как на хосте, так и на госте, так что это не является причиной проблемы.
Я думаю, что проблема может быть связана с тем, что VirtualBox использует эту виртуальную видеокарту для гостей. Когда я запускаю ее lspci
из гостя, появляется вот эта видеокарта:
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
Фактическая видеокарта, отображаемая на хосте, выглядит следующим образом:
Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445] (rev c1)
который использует amdgpu
драйверы.
Я не могу найти в сети решения, которые бы конкретно касались работы steam
в Debian.в Virtualbox... Кто-нибудь знает, что мне нужно сделать, чтобы исправить эту ошибку и запустить Steam внутри виртуальной машины?
решение1
У меня были с этим проблемы, и это мне помогло. Вам нужно подготовить пар, выполнив следующие действия:
В терминале введите следующие команды:
cd ~/.local/share/Steam/ubuntu12_32/
./steam
также выполните:
steam
пару раз, чтобы запустить его, если он зависнет в первый раз, просто ctrl+c,
Со второй попытки должно получиться.
решение2
Я нашел решение своей проблемы. По сути, клиент Steam для Linux требует для работы 32-битные библиотеки, а стандартная установка для Debian поддерживает только 64-битную архитектуру.
Чтобы исправить это, я начал с новой виртуальной машины (без установленного Steam), а затем выполнил следующие команды, чтобы добавить поддержку 32-битных (i386) библиотек:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install steam
И теперь все работает!