LINUX.ORG.RU

Избранные сообщения modesetting

NVIDIA Prime на не-Ubuntu

Форум — Linux-hardware

Эта инфа есть в Gentoo Wiki и Arch Wiki, но всё равно тема с завидной регулярностью поднимается на ЛОРе. Поэтому я решил написать об этом здесь. Красивой переключалки не будет: только правкой конфигов.

Практическая часть

Убедитесь что версия вашего ядра Linux ≥ 3.13, X-Server ≥ 1.13, xrandr ≥ 1.4, драйвера NVIDIA ≥ 319.xx. Версию ядра Linux, минимально необходимую для NVIDIA Prime, подняли в драйвере 364.xx: раньше была 3.9.

Создайте /etc/X11/xorg.conf со следующим содержимым:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver     "modesetting"
    Option     "AccelMethod" "none"
    BusID      "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID  "1:0:0"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device     "nvidia"
    Option     "UseDisplayDevice" "none"
EndSection

Вместо PCI:1:0:0 и PCI:0:2:0 подставьте свои значения, узнав их с помощью lspci. Чаще всего, значения именно эти.

Добавьте в конфиг-файл своего графического менеджера входа в систему эти команды:

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

GDM:

Файл /etc/X11/gdm/Init/Default, просто добавьте в конец, перед «exit 0»

KDM:

Файл /usr/share/config/kdm/Xsetup, просто добавьте в конец.

LightDM:

Создайте файл /etc/lightdm/display_setup.sh со следующим содержимым:

#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

Выполните chmod +x /etc/lightdm/display_setup.sh.
В файле /etc/lightdm/lightdm.conf найдите секцию [Seat:*], а в нём display-setup-script=. Добавьте/раскомментируйте эту строку, затем приведите к виду:

[Seat:*]
display-setup-script=/etc/lightdm/display_setup.sh

Остальные графические менеджеры входа в систему

https://wiki.gentoo.org/wiki/NVIDIA/Optimus#Display_manager_configuration,
https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Display_Managers

Решение бага с обрезанным экраном в Minecraft

В Minecraft, при нажатии клавиши F11, включается полноэкранный режим. С приведённым мной конфигом, вы увидите прямоугольник 640x480, и чёрный экран на остальной площади. С другими полноэкранными играми такого бага нет.

Я нашёл решение проблемы, когда читал Xorg.0.log. Виртуальный экран стартует с разрешением 640x480, затем пробрасывается на Intel, затем меняет размер на реальный. Нужно сделать так, чтобы виртуальный экран создался сразу с нужным разрешением.

В xorg.conf в секцию «„Screen“, Identifier „nvidia“», добавьте это (поменяв моё разрешение на ваше):

    SubSection "Display"
        Virtual     1600 900
    EndSubSection

Теоретическая часть

( читать дальше... )

Что почитать?

http://ru.download.nvidia.com/XFree86/Linux-x86_64/384.69/README/randr14.html
https://github.com/Bumblebee-Project/Bumblebee/wiki/History-of-the-project
https://devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchronization/post/4964506/#4964506 Важная информация
https://wiki.gentoo.org/wiki/NVIDIA/Optimus
https://wiki.archlinux.org/index.php/NVIDIA_Optimus

 , , ,

ZenitharChampion
()