ВНИМАНИЕ, НИКАКИХ ДОП. РЕПОВ ДЛЯ ГРАФИКИ И BUMBLEBEE НЕ ИСПОЛЬЗОВАЛОСЬ, ТОЛЬКО РОДНЫЕ ОТ UBUNTU 18.04.Поставил сейчас Bumblebee на 18.04 из родных репов. Вроде, все очень логично, но неподготовленная психика может не дотянуть до конца настройки.
Итак, оставлю тут сообщение, вдруг кому-то поможет (да и сам почитаю, когда все сломается опять). Предполагается, что драйвера ещё не стоит. Если драйвер на
nvidia стоит -- начинаем с п.2.
1. Ставим драйвер, как ни странно, но это пакет
nvidia-384, который поставит драйвер версии 390
sudo apt install nvidia-384
И перезагружаемся (*)
2. Проверяем, включился ли драйвер
nvidiasudo prime-select query
и если там не
nvidia, то включаем
sudo prime-select nvidia
Перезагружаемся (**)
3. Теперь, когда драйвер
nvidia 100% включен. Ставим
bumblebeesudo apt install bumblebee
Добавляем модули в
/etc/modules, чтобы избежать эксцессов в будущем:
i915
bbswitch
4. Редактируем файл
/etc/bumblebee/bumblebee.conf.
В секции
[bumblebeed] прописываем явно драйвер (не верю я этим компьютерам)
Driver=nvidia
В секции
[driver-nvidia] вообще всё весело.
Путь к gl:
LibraryPath=/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu
До
DRM невидии:
XorgModulePath=/usr/lib/x86_64-linux-gnu/nvidia/xorg,/usr/lib/xorg/modules
Вроде всё.
Перезагружаемся (*+**)
Проверяем
optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
Если всё прошло успешно, то мы получаем рабочий вариант, даже HomeWorld2 Remastered под wine работает (это единственное, что 3D у меня требует на компе).
* можно ручками подгрузить/выгрузить необходимые модули ядра
** достаточно перезапустить x-ы
Проблемы и их решения:
1. После обновления ядра либо загружается nvidia всегда или спамит в ядро проблемами загрузки
1.1. Добавляем правило
/etc/modprobe.d/bbswitch.conf:
options bbswitch load_state=1 unload_state=1
1.1. Отключаем все принудительно
/etc/modprobe.d/blacklist-nvidia.conf:
blacklist nvidia
blacklist nvidia-drm
blacklist nvidia-modeset
1.2. Комментируем правила в
/lib/udev/rules.d/71-nvidia.rules1.3. Добавляем в параметры загрузки ядра (в переменную
GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub)
rcutree.rcu_idle_gp_delay=1
1.4. Обновляем конфигурации
update-initramfs -u
update-grub