Настройка технологии Optimus (intel+nvidia) используя xrandr и PRIME

Added by Дмитрий Яковлев 9 months ago

Добрый день.

Не нашёл этого в официальной документации.
Если есть такая возможность, добавьте, пожалуйста.

Если у кого-то хорошо работает драйвер nouveau, есть возможность настроить технологию Optimus, не прибегая к установке сторонних пакетов.

1. Проверить, установлен ли xrandr (обычно, установлен по-умолчанию)

eix xrandr

если нет, то ставим

emerge -av xrandr

2. Проверяем наличие провайдеров

xrandr --listproviders

скорее всего он будет только один

Provider 0: id: 0x90 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 5 associated providers: 0 name:Intel

3. Перебираем паке x11-base/xorg-drivers без поддержки nvidia

echo "x11-base/xorg-drivers -nvidia" >> /etc/portage/package.use/custom
emerge -av x11-base/xorg-drivers

4. Удаляем проприетарные драйвера nvidia (если стояли) и ставим nouveau (если не стояли). Обычно, стоит и то и то

emerge -av --unmerge x11-drivers/nvidia-drivers
emerge -av x11-drivers/xf86-video-nouveau

5. Заходим в консоль Calculate -> Видео -> выбираем драйвер - Автоопределение системой X.Org Server -> Сохранить

6. Правим файл /etc/modprobe.d/blacklist-calculate.conf, удаляем или комментируем строку

#blacklist nouveau

По хорошему, для это файла надо создать template, но для первого раза пойдет и так.

Перезагружаемся.
Проверяем провайдеров

xrandr --listproviders

Должно быть приблизительно так

Provider 0: id: 0x90 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 5 associated providers: 0 name:Intel
Provider 1: id: 0x62 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 1 associated providers: 0 name:nouveau

Проверяем glxinfo

glxinfo | grep "OpenGL renderer"

OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile

DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

OpenGL renderer string: Gallium 0.4 on NVA8

PRIME работает

Проверяем fps

glxgears

4206 frames in 5.0 seconds = 840.908 FPS
4271 frames in 5.0 seconds = 854.158 FPS
4271 frames in 5.0 seconds = 854.091 FPS

DRI_PRIME=1 glxgears

13150 frames in 5.0 seconds = 2629.847 FPS
13506 frames in 5.0 seconds = 2701.122 FPS
13563 frames in 5.0 seconds = 2712.532 FPS

Настройка закончена
Запускать программы из консоли

DRI_PRIME=1 firefox

Или править команду в значке запуска

env DRI_PRIME=1 firefox

Спасибо за внимание!


Replies (6)

RE: Настройка технологии Optimus (intel+nvidia) используя xrandr и PRIME - Added by Maxim Ronzhin 8 months ago

почему "emerge -av --unmerge x11-drivers/nvidia-drivers" , а не "emerge -С x11-drivers/nvidia-drivers" ?

RE: Настройка технологии Optimus (intel+nvidia) используя xrandr и PRIME - Added by Дмитрий Яковлев 8 months ago

Я в emerge новичок. Возможно так лучше.
Но, во-первых - работает
во-вторых - не люблю в системе ничего лишнего, особенно, если оно не используется, совсем.

RE: Настройка технологии Optimus (intel+nvidia) используя xrandr и PRIME - Added by Андрей Чеховец about 1 month ago

День добрый.
Подскажите в чем может быть проблема
xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x92 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 5 associated providers: 0 name:Intel
Provider 1: id: 0x64 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 0 name:nouveau

glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
22777 frames in 5.0 seconds = 4555.326 FPS
22975 frames in 5.0 seconds = 4594.816 FPS
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
after 48920 requests (37 known processed) with 0 events remaining.

DRI_PRIME=1 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
14601 frames in 5.0 seconds = 2920.097 FPS
14635 frames in 5.0 seconds = 2926.996 FPS
14630 frames in 5.0 seconds = 2925.813 FPS
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
after 51108 requests (43299 known processed) with 0 events remaining.

Такое впечатление что что-то перепутано, судя по результатам intel работает лучше чем nouveau. Да и еще в консоли Calculate, видео, автоопределение системой X.Org Server не сохраняется, после перезагрузки стоит Nvidia Nouveau (nouveau), может из за этого? Тогда как его сохранить?

RE: Настройка технологии Optimus (intel+nvidia) используя xrandr и PRIME - Added by Дмитрий Яковлев about 1 month ago

да не, все нормально
у меня тоже такое наблюдается

nouveau просто жутко неоптимизирован, поэтому на простых примерах, таких как glxgears, intel может его рвать как тузик грелку.

Но, nouveau умеет немного побольше чем intel, пусть и не так быстро. Да и версия OpenGL у него обычно повыше.
Поэтому сложную игру вы на интел не запустите.

Зато для браузера интел самое то и энергию экономит :)

RE: Настройка технологии Optimus (intel+nvidia) используя xrandr и PRIME - Added by Андрей Чеховец about 1 month ago

Спасибо Дмитрий.
Но у меня такое впечатление система сразу начинает работать на nvidia карте (судя по теплому воздуху из воздуховода, хоть и без особой нагрузки, система говорит что я ошибаюсь: grep -Eiwo -m1 'nvidia|amd|ati|intel' /var/log/Xorg.0.log
intel)
А можно nouveau заменить на проприетарные драйвера nvidia (может они лучше оптимизированы) или по этому методу только с nouveau драйверами? Не знаете bumblebee еще жив или почил с миром?

(1-6/6)

Thank you!