Это старая версия документа.


Инструкция подходит для Ubuntu начиная с версии 13.10. Технология PRIME в драйвере nouveau и ядре Linux еще полностью не доработана. Перед началом установки удостоверьтесь, что все сторонние драйвера типа Bumblebee и Nvidia Prime полностью удалены, и что система обновлена.

Установка и настройка

Обновление ядра

Открыть терминал и ввести следующие команды:

mkdir new-kernel
 
cd new-kernel

Если 64-bit система, то:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.5-utopic/linux-headers-3.14.5-031405-generic_3.14.5-031405.201405311735_amd64.deb
 
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.5-utopic/linux-headers-3.14.5-031405_3.14.5-031405.201405311735_all.deb
 
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.5-utopic/linux-image-3.14.5-031405-generic_3.14.5-031405.201405311735_amd64.deb

Если 32-bit, то:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.5-utopic/linux-headers-3.14.5-031405-generic_3.14.5-031405.201405311735_i386.deb
 
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.5-utopic/linux-headers-3.14.5-031405_3.14.5-031405.201405311735_all.deb
 
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.5-utopic/linux-image-3.14.5-031405-generic_3.14.5-031405.201405311735_i386.deb

Устанавить ядро:

sudo dpkg -i *.deb

Перезагрузить компьютер.

Обновление драйвера

Подключите ppa с новейшими стабильными версиями видео-драйверов:

sudo add-apt-repository ppa:oibaf/graphics-drivers

Обновите список пакетов:

sudo apt-get update

Теперь, обновите систему:

sudo apt-get dist-upgrade

Перезагрузите компьютер.

Настройка

Итак, драйвер установлен, но не настроен на использование Optimus. Снова откройте терминал и введите следующие команды:

glxinfo | grep "OpenGL renderer"
Вывод должен быть примерно таким:
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile

Теперь, включим по умолчанию видеокарту Intel, а дискретную отключим:

xrandr --setprovideroffloadsink nouveau Intel

Проверим, работает ли PRIME:

DRI_PRIME=0 glxinfo | grep "OpenGL renderer"
Вывод:
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
 
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
Вывод:
OpenGL renderer string: Gallium 0.4 on NV1

Если вывод примерно такой, то значит все работает правильно. Теперь пропишем эту команду в автозапуск дисплейного менеджера lightdm:

sudo gedit /etc/lightdm/display_setup.sh

В открывшемся редакторе впишите строку xrandr –setprovideroffloadsink nouveau Intel, нажмите Enter и сохраните. Разрешим запуск скрипта:

chmod +x /etc/lightdm/display_setup.sh

Откройте конфигурационный файл lightdm

sudo gedit /etc/lightdm/lightdm.conf

и в начале секции [SeatDefaults] впишите строку display-setup-script=/etc/lightdm/display_setup.sh, должно получится так:

[SeatDefaults]
display-setup-script=/etc/lightdm/display_setup.sh

Сохраните и перезагрузите ПК.

Запуск программ или игр с дискретной видеокарты

Вот и все, теперь, если вы захотите запустить программу или игру с дискретной видеокарты, то в терминале пропишите DRI_PRIME=1 примерно так:

DRI_PRIME=1 glxgears

Известные ошибки

  Запускается приложение, но вместо изображения - черный экран.

Это известная проблема, разработчики исследуют эту ошибку. На данный момент исправления не существует.

  Низкая производительность при использовании дискретной видеокарты.

Сейчас, драйвер nouveau не поддерживает авторегулировку частоты обновления и другие функции управления питанием. Это наносит вред производительности GPU, наряду с увеличением потребления энергии по сравнению со встроенной видеокартой Intel. В недалеком будущем, эта проблема тоже будет исправлена.

Ссылки