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

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

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

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

mkdir new-kernel
 
cd new-kernel

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

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.17-utopic/linux-headers-3.14.17-031417-generic_3.14.17-031417.201408132253_amd64.deb
 
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.17-utopic/linux-headers-3.14.17-031417_3.14.17-031417.201408132253_all.deb
 
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.17-utopic/linux-image-3.14.17-031417-generic_3.14.17-031417.201408132253_amd64.deb

Если 32-bit, то:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.17-utopic/linux-headers-3.14.17-031417-generic_3.14.17-031417.201408132253_i386.deb
 
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.17-utopic/linux-headers-3.14.17-031417_3.14.17-031417.201408132253_all.deb
 
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.17-utopic/linux-image-3.14.17-031417-generic_3.14.17-031417.201408132253_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. В недалеком будущем, эта проблема тоже будет исправлена.

Ссылки