LINUX.ORG.RU

Bumblebee или Nvidia Prime ?

 , ,


4

2

Здравствуйте. Имею ноутбук с двумя видюхами: Intel HD 5500, и Nvidia Geforce 840M. Захотел настроить гибридную графику.

Поставил драва вот отсюда: ppa:xorg-edgers/ppa . А именно, след. пакеты: nvidia-352 nvidia-settings libcuda1-352 nvidia-libopencl1-352 nvidia-opencl-icd-352

Затем отключил сей реп и поставил из ppa:bumblebee/stable вот это: sudo apt-get install bumblebee bumblebee-nvidia primus primus-libs:i386

Немного пошаманил внастройках, чтобы через optirun <прога> программы таки начали запускать. Всё вроде бы и хорошо.

НО есть три НО, по поводу которых я сюда и пришел:

1. Вот тут написано про некий bbswitch: http://neoblogs.net/2013/04/14/nvidia-optimus-gibridnaya-grafika-nvidia-intel/ Как я понял, он установился в виде зависимости. Но я так и не понял, будет ли система сама определять когда необходимо включать дискретную графику? Или всегда придется делать это вручную?

2. Не лучше ли поставить Prime? Но с ним еще более непонятно всё в плане первого вопроса.

3. В Nvidia-settings у меня всего две строки - с профилями и с настройками самой программы. Вот тут на скринах: http://compizomania.blogspot.com/2013/10/nvidia-33113-ubuntulinux-mint.html видно, что настроек должно быть куда больше, откуда их взять? (пробовал ставить соответствующие дрова и пакеты из оф.репов - снова те же две строчки).

Linux Mint 17.1 x64 KDE

Но я так и не понял, будет ли система сама определять когда необходимо включать дискретную графику?

bbswitch тупо включает/выключает питание карты. Запуск вручную, через optirun.

В Nvidia-settings у меня всего две строки

Нужно выбрать дискретку и применить. После чего сделать логаут или ребут, у меня частенько после логаут карточка не переключается. http://s017.radikal.ru/i401/1506/65/8ed5b131542f.png

Не лучше ли поставить Prime?

Тут эскобар.жпг. Вроде, как прайм дает больше фпс, т.к картинка идет напрямую, без буфера.

P.S. Может местный эксперты еще что-нить скажут.

garik_keghen ★★★★★ ()
Ответ на: комментарий от garik_keghen

bbswitch тупо включает/выключает питание карты. Запуск вручную, через optirun.

А вариантов с авто-переключением нету? Как-то муторно..

Нужно выбрать дискретку и применить. После чего сделать логаут или ребут, у меня частенько после логаут карточка не переключается. http://s017.radikal.ru/i401/1506/65/8ed5b131542f.png

Хм...но для этого нужно установить пакет prime? У меня его нет, т.к. везде писали удалять его перед установкой бамбэлби.

Leonius ()
Ответ на: комментарий от Leonius

Хм...но для этого нужно установить пакет prime? У меня его нет, т.к. везде писали удалять его перед установкой бамбэлби.

Правильно писали.
bumblebee стабильнее, доработанный.
Nvidia Prime заставит твою карту работать постоянно. Тебе зачем это? Nvidia Optimus не должен так работать. Тем более, что Иксы, неигровая графика и все остальное, кроме игр и спец. прог, работает куда лучше под intel.

Что мешать прописать в свойствах к ярлыкам

vblank_mode=0 primusrun %command%
?

ring0kill ()
Ответ на: комментарий от Leonius

А вариантов с авто-переключением нету? Как-то муторно..

Не, бро. Страдем =) Нвидиа все не сделает официальную поддержку.

Хм...но для этого нужно установить пакет prime?

Да, нужно поставить пакет прайм, но перед этим удалить шмеля. Вот тебе мануал. http://help.ubuntu.ru/wiki/nvidia-prime

garik_keghen ★★★★★ ()
Ответ на: комментарий от ring0kill

Убедили. Спасибо=)

Сношу Prime, ставлю шмеля обратно.

Вот только разве не через

 optirun -b primus Программа 
запускать? В чем отличия этой и указанной Вами команды?

Leonius ()
Ответ на: комментарий от garik_keghen

Хорошо. В любом случае, Вы помогли разобраться с отсутствующими настройками) Проверил, действительно, если поставить Prime и включить дискретку, то после ребута - все настройки на месте. Спасибо!=)

Leonius ()
Ответ на: комментарий от ring0kill

Я образно же) Мне вообще пофиг, запускаю, что-либо на нвидии раз в два месяца.

garik_keghen ★★★★★ ()
Ответ на: комментарий от Leonius

В любом случае, Вы помогли разобраться с отсутствующими настройками

Не за что. Пиши еще!

garik_keghen ★★★★★ ()
Ответ на: комментарий от Leonius

1)«optirun -b primus» - длиннее, чем «primusrun»
2)Советую отключать vblank. Вы же хотите FPS выше 60? Тогда

 vblank_mode=0 primusrun программа


В Steam (в библиотеке игр) -> Свойства -> Параметры запуска добавить указанную комманду. Так с каждой игрой.
ring0kill ()
Ответ на: комментарий от ring0kill

Хорошо. vblank - это вертикальная синхронизация? Если я правильно помню (5 лет я учился, сейчас наконец вновь появится время поиграть, потому мат.часть подзабыл) оно отвечает за отсутствие разрывов во время поворотов «камеры» и т.п.? (если включено - разрывов в кадре нет, если отключено - имеются).

Leonius ()
Ответ на: комментарий от Leonius

Vblank синхронизирует частоту обновления экрана и кол-во кадров в секунду, чтобы не было разрывов. Да.
Разрывы могут быть незаметными, тогда можно отключать. Если игра на движке Source, то лучше выключить синхронизацию, ибо тогда становится нехорошее управление мышью.

ring0kill ()

Помимо вышесказанного — у меня на Primus наблюдаются забавные глюки:

  • Все прогрессбары (крутящиеся тоже) KDE крутятся быстрее
  • Вверху экрана курсор мыши перестет отрисовываться
  • При подключенни дисплея к HDMI порту (который у меня подключён напрямую к дискретке) изображение на обеих экранах ведёт себя крайне неадекватно
  • Порой, при загрузке, получаю чёрный экран вместо иксов (не kernel panic: tty работает).
  • EGL бекенд KWin не работает.. (это уже общая проблема nvidia-блобов)
KennyMinigun ★★★★★ ()
Ответ на: комментарий от ring0kill

1)«optirun -b primus» - длиннее, чем «primusrun»

Помню, как одно время у меня стимовские игры через primusrun не хотели работать, а через optirun -b primus прекрасно работали.

prischeyadro ★★★☆☆ ()
Ответ на: комментарий от KennyMinigun

Можно же запускать и не через него в случае чего, верно? http://ubuntunews.ru/apps/bumblebee-3-1.html Так понял, если с этим примусом проблемы, можно просто через

 optirun <app> 

Вообще, было бы неплохо в контекстное меню добавить возможность записи через дискретку, как то реализовано в грешной винде. Мелочь, а приятно=)

Leonius ()
8 августа 2015 г.

При использовании возник вопрос. Все запускается и работает - ок. НО, стоит что-то запустить с дискретной картой - отключаться обратно она не желает. Т.е. команды optirun --status и sudo cat /proc/acpi/bbswitch выдают ON.

До первого запуска чего-либо там как и полагается OFF.

В чем беда?:(

Leonius ()
18 ноября 2015 г.

В Nvidia-settings у меня всего две строки - с профилями и с настройками самой программы. Вот тут на скринах: http://compizomania.blogspot.com/2013/10/nvidia-33113-ubuntulinux-mint.html видно, что настроек должно быть куда больше, откуда их взять? (пробовал ставить соответствующие дрова и пакеты из оф.репов - снова те же две строчки).

Выполни команду

optirun nvidia-settings -c :8

Что бы настройки можно было открывать без терминала, просто пропиши в свойства запуска эту команду. В свойства программы «NVIDIA X Server Setting» «/usr/bin/nvidia-settings» удаляешь, и вместо этого вписываешь «optirun nvidia-settings -c :8»

www777 ()
3 ноября 2016 г.
Ответ на: комментарий от ring0kill

Мне вот что не понятно. У меня Steam под Ubuntu и я игрался пару лет ни разу не задумываясь о Prime и Bumblebee. Игры летают, и я полагаю, что Nvidia все таки выбирается автоматически. Ну не мог я все это время на Intel играть.

Мне кажется Steam сам как-то запускает с Nvidia, либо у меня просто Nvidia включено всегда, по умолчанию. bbswitch стоит, но получается не используется.

seyfer ()

Не лучше ли поставить Prime? Но с ним еще более непонятно всё в плане первого вопроса.

Лучше. А лучше поставить сразу и то и то.

NVIDIA Prime - это способ при котором xorg и все приложения запускаются на NVIDIA. В убунте (и минте тоже) всё пропатченно до невозможности, что позволяет переключать режим - «всё работает на NVIDIA» и «всё работает на Intel». Данный способ несовместим с Bumblebee и довольно глючный в целом.

Для пользователей других дистров (может и в убунте работает - я не знаю) есть решение, позволяющее запускать отдельный xorg (из tty), где всё выполняется на NVIDIA. Этот сеанс можно настраивать независимо от основного. Данный способ совместим с Bumblebee (во всяком случае можно не удалять его из системы, а просто останавливать на время работы PRIME-вского xorg. Возможно в версии 0.3 уже можно и не останавливать Bumblebee - я всё ещё останавливаю). Ссылка на гитхаб.

В целом NVIDIA PRIME имеет гораздо большую производительность и меньше глючит (когда X Server запустился, всё уже будет хорошо). Единственный способ запустить Vulkan на NVIDIA для ноутов с гибридной графикой.

bbswitch - это модуль ядра, позволяющий контролировать, подаётся питание на NVIDIA или нет. Крайне полезная штука - позволяет сильно увеличить время работы ноутбука от батареи.

robus ★★★★ ()
Ответ на: комментарий от seyfer

Мне кажется Steam сам как-то запускает с Nvidia, либо у меня просто Nvidia включено всегда, по умолчанию. bbswitch стоит, но получается не используется.

glxinfo | grep vendor -i

позволит сказать наверняка, что именно используется.

robus ★★★★ ()
Ответ на: комментарий от www777

Что бы настройки можно было открывать без терминала, просто пропиши в свойства запуска эту команду. В свойства программы «NVIDIA X Server Setting» «/usr/bin/nvidia-settings» удаляешь, и вместо этого вписываешь «optirun nvidia-settings -c :8»

А потом приходит обновление для nvidia-settings и ломает всё взад. Если используется лишь шмель, стоит создать однострочник в /usr/local/bin

sudo tee /usr/local/bin/nvidia-settings <<<"optirun nvidia-settings -c :8"
sudo chmod a+x /usr/local/bin/nvidia-settings

robus ★★★★ ()

Только сейчас обратил внимание на год. Может кому пригодится.

robus ★★★★ ()
18 февраля 2017 г.
Ответ на: комментарий от robus

bbswitch - это модуль ядра, позволяющий контролировать, подаётся питание на NVIDIA или нет.

Правильно ли я понимаю, что bbswitch это не часть bumblebee и соответственно не конфликтует с Prime? То есть я могу прекратить подачу питания на дискретку с помощью bbswitch независимо от того, использую ли я Prime или Bumblebee? Выбираю себе ноут с нвидиа картой, хочу узнать, насколько гемморно её наличие.

jumpjet67 ()
Ответ на: комментарий от jumpjet67

Правильно ли я понимаю, что bbswitch это не часть bumblebee

нет
BBswitch — BumbleBeeswitch, блоб только с ним и работает (включается-отключается)

Про производительность прайма/шмеля, написанное выше, чушь. Там — Optimus + lenovo z570 есть замеры.

Vulkan, да, через шмеля не работает вроде как. У меня по-крайней мере, но и не интересовался особо.

amorpher ★★★★★ ()
Последнее исправление: amorpher (всего исправлений: 2 )
Ответ на: комментарий от jumpjet67

Правильно ли я понимаю, что bbswitch это не часть bumblebee и соответственно не конфликтует с Prime?

Нет; Да. bbswitch не конфликтует с nvidia-xrun, более того - он используется в этом скрипте.

Выбираю себе ноут с нвидиа картой, хочу узнать, насколько гемморно её наличие.

Довольно геморно. Это тебе не DRI_PRIME=1 $PROGRAMM, тут костыли нужны.

robus ★★★★ ()
Ответ на: комментарий от amorpher

Про производительность прайма/шмеля, написанное выше, чушь. Там — Optimus + lenovo z570 есть замеры.

И снова бенчмарки :D

А теперь запусти любую игру или приложение через nvidia-xrun и через bumblebee и посмотри на разницу в производительности. Это уж не говоря о том, что bumblebee и nvidia-xrun не конфликтуют (главное в иксах на nvidia не делать primusrun, а так можно даже демона bumblebeed не стопить).

robus ★★★★ ()
Ответ на: комментарий от robus

А вырубить дискретку и забыть можно? Так, чтобы питание не подавалось на неё. Не обессудьте, я профан в этом зоопарке костылей.

jumpjet67 ()
Ответ на: комментарий от robus

И снова бенчмарки :D А теперь запусти любую игру или приложение через nvidia-xrun и через bumblebee и посмотри на разницу в производительности.

Чем тебя бенчмарки не устроили? В играх так же в принципе. Запускал как бы наверное. Мне намного важнее удобство запуска игр/приложений на nvidia без разлогинов и закрытия окон с текущей работой, чем какой-то сомнительный прирост в 5-10% в некоторых играх по производительности отрисовки картинки. Как-то пофиг, будет 100 или 110 кадров в секунду. Один хрен ААА игр в линуксе почти нет и моей GTX 860M как-то всё равно.

amorpher ★★★★★ ()
Ответ на: комментарий от jumpjet67

Можно совсем в BIOS её отрубить, ели есть такая в нём возможность, но со шмелём/ббсвитч она и так аппаратно отключена когда не задействована.

amorpher ★★★★★ ()
Ответ на: комментарий от amorpher

Я заметил просто, что у nvidia-prime в зависимостях указан bbswitch-dkms в ubuntu, хотя, как я понял, это конфликтующие технологии. Nvidia prime это, как я понимаю, реализация Optimus от nvidia?

jumpjet67 ()
Ответ на: комментарий от jumpjet67

А вырубить дискретку и забыть можно? Так, чтобы питание не подавалось на неё.

Можно. Но тогда толку от того, что она есть - 0 и лучше уж взять ноут и вовсе без дескретки.

robus ★★★★ ()
Ответ на: комментарий от robus

Ситуация такая, что на выбор модели с дискреткой и четырёхядерным 7440HQ или без дискретки и с двухядерным 7200U за одинаковые 60т.р.

jumpjet67 ()
Ответ на: комментарий от amorpher

Мне намного важнее удобство запуска игр/приложений на nvidia без разлогинов и закрытия окон с текущей работой

Разлогин не нужен, закрытие текущих иксов тоже не обязательно. Just press Ctrl+Alt+F2 :)

robus ★★★★ ()
Ответ на: комментарий от jumpjet67

Nvidia prime это, как я понимаю, реализация Optimus от nvidia?

Нет. Во-первых, это не от nvidia, а во-вторых никак не реализация. Реализация это bumblebee.

amorpher ★★★★★ ()
Ответ на: комментарий от jumpjet67

это конфликтующие технологии

bbswitch не конфликтует ни с PRIME, ни с nvidia-xrun, ни с какой либо другой обёрткой над специальным xorg.conf файликом, позволяющем запускать иксы полностью на NVIDIA (а именно этот способ и предлагает сама NVIDIA).

robus ★★★★ ()
Ответ на: комментарий от amorpher

nvidia-prime позволяет переключать видеокарты с дискретной на встроенную, так же, как и шмель, только разлогинится не надо. При этом nvidia-prime тянет в зависимости bbswitch-dkms - зачем? И кто разработчик nvidia-prime - сообщество?

jumpjet67 ()
Ответ на: комментарий от amorpher

Нет. Во-первых, это не от nvidia, а во-вторых никак не реализация. Реализация это bumblebee.

Во первых по большей части от NVIDIA. Canonical попытались максимально испортить этот метод и им это почти удалось, но всё же. Во-вторых шмель - это костыль, написанный сообществом. PRIME в отличие от него опирается на официальную (хотя и костыльную) реализацию Optimus в самом драйвере.

robus ★★★★ ()
Ответ на: комментарий от jumpjet67

nvidia-prime позволяет переключать видеокарты с дискретной на встроенную, так же, как и шмель, только разлогинится не надо.

Серьёзно?

И кто разработчик nvidia-prime - сообщество?

Canonical вроде как.

amorpher ★★★★★ ()
Ответ на: комментарий от amorpher

Ctrl + Alt + F2, второй логин, запуск иксов на NVIDIA. В результате на TTY1 (ну или 7, если используется DM) запущена основная сессия, на TTY2 - вспомогательная (с тяжёлыми приложениями).

robus ★★★★ ()
Ответ на: комментарий от robus

Во первых по большей части от NVIDIA

Покажи где NVIDIA про это упоминала.

amorpher ★★★★★ ()
Ответ на: комментарий от amorpher

Canonical вроде как.

Если Canonical разработали NVIDIA PRIME, то я разработал ramfs. Ну я ведь использую его в своих скриптах, значит разработал я :D

robus ★★★★ ()
Ответ на: комментарий от robus

Ctrl + Alt + F2, второй логин, запуск иксов на NVIDIA. В результате

LOL, про что и речь.
Короче, нравится и пользуйся, но прайм это фуфло, не для того оптимус придуман чтобы батарейку постоянно жрать.

Со шмелём я просто кликаю и запускаю игрушку и всё. Как в винде, да. И даже шустрее включается.

Напомнило анекдот:

- Папа, а что такое многозадачность Windows?

- Подожди, сейчас дискету доформатирую - тогда покажу...

amorpher ★★★★★ ()
Последнее исправление: amorpher (всего исправлений: 2 )

А обязательно ли ставить пропритарный драйвер, чтобы просто вырубить дискретку? Чтобы она не потребляла питание. Я просто не могу понять, почему bbswitch-dkms в ubuntu стоит в зависимости у nvidia-prime, но при этом никак не связан зависимостью с пропритарным драйвером.

jumpjet67 ()
Ответ на: комментарий от amorpher

Со шмелём я просто кликаю и запускаю игрушку и всё. Как в винде, да. И даже шустрее включается.
моей GTX 860M как-то всё равно

Всё не так радужно, когда нет оверкила в чёрт знает сколько процентов.

robus ★★★★ ()
Ответ на: комментарий от robus

Хорошо. Покажи пример (видео и прочее) «в чёрт знает сколько процентов», а не слухи.
Я предполагаю, что в каких-то приложениях/играх это может быть и есть, но не видел. И даже если будет, то не променяю шмеля на лишние телодвижения для запуска чего бы там ни было.

amorpher ★★★★★ ()
Ответ на: комментарий от jumpjet67

К тому же, PRIME и Nvidia-prime это разные технологии?

Разные.

PRIME для белых людей, не надо ни разлогиниваться, ни иксы новые запускать, работает через DRI3, обеспечивает высокую производительность.

NVIDIA PRIME для нас - требует иксов со специальным конфигом, загруженных ядерных модулей от NVIDIA, и переопределённого LD_LIBRARY_PATH (чтоб libGL блобовский найти). Приходится рестартить иксы, либо запускать новые. Особо упоротые при этом умудряются ещё и разлогиниться (и просрать всех демонов, запущенных от юзера). Производительность на высоте, юзабилити в жопе.

Есть ещё bumblebee - способ, позволяющий запускать отдельное приложение на Nvidia (без всяких разлогинов). Требует запущенного от рута демона, автоматически управляет питанием и ядерными модулями. Производительность в жопе, юзабилити на высоте.

bbswitch - модуль ядра позволяющий управлять питанием дескреток NVIDIA. Изначально разрабатывался для bumblebee, но может использоваться и без него.

robus ★★★★ ()
Ответ на: комментарий от amorpher

Оверкилл. Не оверхед. Я говорю о том, что GTX860M слишком мощная, чтобы заметить невооружённым глазом разницу в производительности (если конечно не лезть во всякие CAD и их чёрт те сколько полигонов на сцену). Ибо AAA игорей под наше всё и вправду пока мало.

robus ★★★★ ()
Ответ на: комментарий от robus

На предыдущих моих ноутах стояли 330м, 540м и 740м. Та же песня, т. е. разницы не было. Может я не в те игры играл или не те бенчи запускал?

amorpher ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.