Настройка драйверов видеокарт Nvidia GTX 970M и Intel HD Graphics 530 на Ubuntu 16.04

Категория: GUI

Настраиваем 2 видеокарты Nvidia + Intel на Ubuntu 16.04.

В ноутбуке 2 видеокарты:

  1. Intel HD Graphics 530 (Skylake GT2). Video memory 3072MB.
  2. Nvidia GeForce GTX 970M. Video memory 6000MB.

Реанимация

Удаляем все драйвера nvidia и откатываемся на дефолтные драйвера:

sudo apt remove --purge nvidia-*

sudo rm /etc/X11/xorg.conf
sudo rm /etc/modprobe.d/blacklist-nvidia-nouveau.conf # Если добавляли в драйвер nouveau в blacklist
sudo rm ~/.Xauthority
sudo rm -r ~/.gvfv/ ~/.local/share/icc/* # Не уверен, нужно ли..

sudo apt install nouveau-firmware xserver-xorg xserver-xorg-video-intel
sudo dpkg-reconfigure xserver-xorg

sudo update-initramfs -u


Ошибка: nouveau 0000:01:00.0 tmr: stalled at ffff

Указывает на то, что установлен драйвер nouveau для nvidia, но не установленны проприетарные драйвера.

Чтобы хоть как-то загрузится, добавляем в загрузку grub опцию: nomodeset.

Опция nomodeset указывает ядру (kernel) не грузить видеодрайвера, а использовать драйве bios. Это позволит загрузить систему с графикой llvmpipe, и видео будет тормозить.

Дальше ставим проприетарные драйвера: nvidia-driver-440.

Ошибка: nouveau 0000:01:00.0 bus: MMIO read of 00000000 FAULT at 022554

Идем в Recovery Menu (при загрузке системы), включаем сеть "Enable networking", запускаем Root Shell.

И удаляем все драйвера.. Другого способа я не нашел.

Черный экран (lock screen) при логине

Пробуем загрузить ядро с опциями grub (в меню grub, жмем E, добавляем опции после строки: linux ..., и F10):

nouveau.modeset=0 nvidia-drm.modeset=0


Получение информации и логов

Список установленных в ноутбуке видеокарт и используемых драйверов:

lspci -k | grep -A 3 -i "VGA"


Примечание

При ошибке: W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915, необходимо вручную скачать драйвера видеокарты intel.

Скачать недостающие драйвера/firmware встроенной графики от intel можно здесь - https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

После чего скопировать *.bin файлы в каталог /lib/firmware/i915/:

sudo cp ~/Downloads/intel-drivers-i915*.bin /lib/firmware/i915/

И выполнить для обновления initramfs:

sudo update-initramfs -u
sudo updatedb # @note Не уверен, нужно ли..

Установить драйвера nvidia:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo ubuntu-drivers autoinstall

, или вручную, если возникли проблемы с авто-установкой:

sudo apt install --reinstall nvidia-384 nvidia-settings nvidia-prime 

Показать список драйверов:

sudo ubuntu-drivers devices
sudo ubuntu-drivers list
user@pc:~$ sudo ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001618sv00001558sd00006543bc03sc00i00
model    : GM204M [GeForce GTX 970M]
vendor   : NVIDIA Corporation
driver   : nvidia-384 - distro non-free
driver   : nvidia-418 - third-party free
driver   : xserver-xorg-video-nouveau - distro free builtin
driver   : nvidia-430 - third-party free recommended
driver   : nvidia-410 - third-party free

Сменить драйвер из панели "Software & Updates":

software-properties-gtk --open-tab=4

Какая видеокарта используется сейчас:

prime-select query

Переключить на встроенную графику intel или nvidia:

sudo prime-select intel
sudo prime-select nvidia
user@pc:~$ sudo prime-select nvidia
Info: the current GL alternatives in use are: ['nvidia-384', 'nvidia-384']
Info: the current EGL alternatives in use are: ['nvidia-384', 'nvidia-384']
Info: the nvidia profile is already in use

Сменить приоритет использования видеокарт:

sudo nvidia-settings # Меню "Prime Profiles"


Внимание!

Черный экран на этапе загрузки?

Попробуйте установить параметр nomodeset при загрузке ядра в файле /etc/default/grub.

Параметр "nomodeset" или "i915.modeset=0" - указывает ядру не загружать видеодрайверы Intel и использовать режимы BIOS, пока не будет загружен X.

sudo gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

После изменения конфига grub сгенерируйте новый конфиг загрузки:

sudo update-grub

Для отключения загрузки драйвера Nvidia (Open Source) используйте параметры:

GRUB_CMDLINE_LINUX_DEFAULT="nouveau.modeset=0"
GRUB_CMDLINE_LINUX_DEFAULT="nouveau.noaccel=1"


Внимание!

При переключении приоритета/профиля использования видеокарт, вы можете получить ошибку: "Prime Profiles" : ERROR: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replyin.

1. Запустите  nvidia-settings под суперпользователем: sudo nvidia-settings

2. Переустановите драйвера: sudo ubuntu-drivers autoinstall

3. Смотрите логи:

dmesg --level=warn -T
dmesg --level=err -T
sudo journalctl --since=18:45
gpu-manager log


Примечание

Как отключить стандартный драйвер nouveau:

sudo nano /etc/modprobe.d/blacklist-nvidia-nouveau.conf 
# /etc/modprobe.d/blacklist-nvidia-nouveau.conf 
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u


Примечание

Проверить FPS используемой видеокарты:

glxgears

#nvidia, # driver, #intel hd graphics

категория: GUI