Вопрос или проблема
Я использую старый ноутбук с графическим процессором GeForce 610M и старой версией Ubuntu (20.04.6 LTS), потому что у него ядро 5.15.0-131-generic, которое может правильно собирать необходимый проприетарный драйвер nvidia-driver-390 (390.157). Графический процессор полностью функционален и заметно лучше по производительности, чем интегрированная графика Intel® 2nd generation Intel® Core™ processor family graphics (проверено сравнительно при запуске Minecraft).
Моя текущая проблема: Steam запускается только тогда, когда я выбираю драйвер с открытым исходным кодом nouveau, используя только интегрированную графику Intel® 2nd generation Intel® Core™ processor family graphics, которая не только уступает по производительности, но и просто не запускает такие игры, как Elite: Dangerous (которые находятся в пределах возможностей моего GeForce 610M GPU).
При запуске Steam через терминал появляется окно “Steamwebhelper не отвечает”
В то время как терминал показывает следующую информацию в бесконечном цикле:
steamwebhelper.sh[26117]: Using supervisor /home/gleb/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-supervisor
steamwebhelper.sh[26117]: Starting steamwebhelper under bootstrap sniper steam runtime via /home/gleb/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sh
steamwebhelper.sh[26117]: Using CEF sandbox \(try with -no-cef-sandbox if this fails\)
steamwebhelper.sh[26117]: Starting steamwebhelper with Sniper steam runtime at /home/gleb/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/_v2-entry-point
exec ./steamwebhelper -nocrashdialog -lang=en_US -cachedir=/home/gleb/.local/share/Steam/config/htmlcache -steampid=4600 -buildid=1738026274 -steamid=76561198111421160 -logdir=/home/gleb/.local/share/Steam/logs -uimode=7 -startcount=94 -steamuniverse=Public -realm=Global -clientui=/home/gleb/.local/share/Steam/clientui -steampath=/home/gleb/.local/share/Steam/ubuntu12_32/steam -launcher=0 -use_xcomposite_workaround -no-restart-on-ui-mode-change --valve-enable-site-isolation --enable-smooth-scrolling --disable-gpu-compositing --disable-gpu --password-store=basic --log-file=/home/gleb/.local/share/Steam/logs/cef_log.txt --disable-quick-menu --disable-features=SpareRendererForSitePerProcess,DcheckIsFatal,ValveFFmpegAllowLowDelayHEVC
Если я пишу это, то потому, что я уже пробовал варианты перезапуска, предложенные мне в окне “не отвечает”, безрезультатно, а также -no-cef-sandbox
и проверку установки необходимых библиотек i386, как предложено здесь (которые установлены)
.
Ответ или решение
Ваша проблема связана с необходимостью использования дискретной видеокарты GeForce 610M вместо встроенной графики Intel на Ubuntu 20.04.6 LTS. Дискретные графические карты обычно предлагают более высокую производительность по сравнению с интегрированными решениями, и в вашем случае это подтверждается тестами производительности в играх, таких как Minecraft и Elite: Dangerous. Давайте разберем по пунктам, как вы можете решить эту задачу.
Теория
В современных ноутбуках часто используется технология Optimus от NVIDIA, позволяющая переключаться между встроенной и дискретной графикой для снижения энергопотребления. Однако в Linux поддержка этой технологии может вызывать трудности из-за специфики драйверов и даже несовместимости некоторых версий.
Для управления этим процессом в Linux рекомендуется использовать утилиты, такие как nvidia-prime
и Bumblebee
. Однако, учитывая, что вы используете старую видеокарту и конкретные драйвера, которые необходимо построить на ядре 5.15.0, возможно потребуется более специфическая настройка вашего окружения.
Пример
-
Установка драйвера NVIDIA. Убедитесь, что у вас установлен корректный проприетарный драйвер NVIDIA (390.157 в вашем случае). Это можно сделать командой:
sudo apt install nvidia-driver-390
-
Настройка
nvidia-prime
. Эта утилита часто используется на Ubuntu для переключения между видеокартами. Убедитесь, что она установлена:sudo apt install nvidia-prime
-
Переключение на NVIDIA видеокарту. Используйте
nvidia-prime
для переключения:sudo prime-select nvidia
После этого перезагрузитесь, чтобы изменения вступили в силу.
-
Проверка используемой видеокарты. После перезагрузки убедитесь, что система действительно использует NVIDIA карту:
glxinfo | grep OpenGL
Здесь должен отображаться ваш GPU GeForce 610M.
Применение
Теперь перейдем к конкретной настройке Steam, чтобы он действительно запускался с использованием вашей дискретной графики. Сначала убедитесь, что драйверы и утилиты работают корректно. Затем:
-
Запуск Steam с явной указкой на дискретную графику. Иногда запуск приложений с конкретной видеокартой можно осуществить через переменные окружения. Попробуйте запустить Steam такой командой:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia steam
Данный метод принудительно включает использование дискретной карты для приложения.
-
Настройка Proton для запуска игр. Возможно, вы используете Steam Play (Proton) для совместимости с некоторыми играми. Убедитесь, что у вас установлены все необходимые 32-битные библиотеки, так как они могут понадобиться для нормальной работы
steamwebhelper
. -
Настройка Steam для отключения WebHelper. Если проблема с
steamwebhelper
не исчезает, попробуйте запустить Steam без него:steam -no-cef-sandbox
-
Отладка. Проверьте логи Steam для выявления конкретных ошибок. Логи можно найти по адресу
~/.local/share/Steam/logs
. Это может дать больше информации о том, почему Steam не хочет запускаться с использованием драйвера NVIDIA. -
Проверка настроек BIOS. Некоторые проблемы с видеокартами могут решаться переключением настроек видеокарты в BIOS. Убедитесь, что у вас включено использование дискретной графики, если такая опция доступна.
Если вышеуказанные шаги не помогают решить проблему, может потребоваться более детальное рассмотрение конкретного системного окружения и установленных пакетов на вашем ноутбуке. В крайнем случае, рассмотрите обновление как ядра, так и самой системы, хотя вы уже отметили, что именно эта версия ядра позволяет собрать нужные драйвера. Это может быть компромиссным решением в ожидании обновлений от разработчиков драйверов и Ubuntu.