LINUX.ORG.RU

Vulkan API и Nvidia Optimus

 , , ,


1

5

Здравствуйте!

Вводная: У меня ноутбук с Nvidia Optimus технологией. Дистрибутив Manjaro Linux. Имеется 2 видеокарты Intel Integrated Graphics и Nvidia GeForce 820M. Для разделения карт использую Bumblebee.

Проблема: Bumblebee не работает с Vulkan API. Фич реквест. Vulkan сообщает мне что у меня нет устройств поддерживающих данный API. Для работы необходим Vulkan.

Вопросы: Есть решение - снести к чёрту Bumblebee и сделать Nvidia видеокарту как основную. Но тогда будет Vulkan видеть одну карту или две? Какие есть соображения по этому поводу?

Нашёл довольно простое решение: nvidia-xrun

Данный скрипт работает вместе с Bumblebee. Ему необходим bbswitch. Принцип работы простой:

  • Переходим в другой TTY (например, нажав Ctrl+Alt+F2 в tty2);
  • Запускаем скрипт `nvidia-xrun <команда>`. В качестве команды выбрал DE openbox. Запускается openbox, используя nvidia карту.
  • Пользуемся. Запускаем нужные приложения, игры.
  • Выходим из DE, автоматически выключается дискретная карта и снова мы в консоли.

Запустил рабочее приложение с Vulkan API. Видит лишь дискретную видеокарту, встроенную Vulkan так и не увидел. Ну и ладно, хотя бы так работает.

Говорят, что с помощью nvidia-run больше производительности, чем у Bumblebee. ;)

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

Спасибо большое! Этот скрипт похож на prime(тот что в Ubuntu)

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

Так оно и есть. Просто копируется куда надо и готово.

Мне понадобилось ещё добавить настройки для Xorg, т.к. у меня BusID для nvidia карточки оказался «PCI:3:0:0». Об этом можно почитать в Readme в GitHub репозитории ;)

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

У меня дефолтный ID так что все хорошо. Большое спасибо за скрипт, с optirun FPS в glxgears 1300~1500, с этим скриптом больше чем 3к

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

Запустишь что-то с шейдерами/просто навороченной работой с конвеером, будет везде фпс одинаковый. Glxgears рисует кукурузу не имеющую отношения к реальному софту.

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

Покажи мне где я сказал что это бенчмарк. unigine-heaven впадлу ставить, просто глянул в glxgears и в вовке побегал(но это уже никому не интересно)

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

А ты уверен что оно видет именно дискретку? Твоя карточка-то на древнючей Fermi архитектуре бородатого 2010-го и AFAIK NVidia не запилила для нее поддержку вулкана, так что у тебя больше шансов завести вулкан на встройке.

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

Уверен, что видит именно её. Сносил Bumblebee, оставлял драйвера только для Intel видеокарты в CPU i3-4030U. Vulkan для «Intel® HD Graphics 4400» на Linux имеется и работает.

Nvidia с 355.00.27 версии драйверов, ещё в прошлом году, завезла поддержку Vulkan. Поддержку имеют видеокарты начиная с GeForce 600(M) серии: https://developer.nvidia.com/vulkan-driver

Вот пример куска лога из простенького приложения написанного на коленке (трогаю слои валидации в Vulkan, чтобы ошибки отображал в отладочной версии): https://pastebin.com/Bin7wjP1

Сейчас в моём телефоне с GPU Adreno 530 уже есть поддержка Vulkan на Android.

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

Про Adreno я знаю, там даже четырехсотая серия его поддерживает, а вот касательно невидии у тебя в логах таки 840M которая сравнительно свежий Maxwell. А то производители любят попереименовывать старье и втюхивать его под видом новых линеек. Жаль, думал уже на своем 425m вулкан поганяю(

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

Пруфы? Невия сказала что Fermi может моддерживать вулкан, но при этом его поддеержку они запиливать не будут, ибо им плевать на 10% своих пользователей. http://on-demand.gputechconf.com/gtc/2016/events/vulkanday/Vulkan_Overview.pdf страницы 55-56

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

GeForce 700 Series: GeForce GTX TITAN Z, GeForce GTX TITAN Black, GeForce GTX TITAN, GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, GeForce GT 740, GeForce GT 720, GeForce GT 710

У меня 710 на Fermi

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

Мда. В будущем соберу себе все на радеонах, ибо задолбала эта невидия

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