LINUX.ORG.RU

Primus-vk — Поддержка Vulkan для Optimus

 , ,


5

4

Неким felixdoerre был разработан primus-vk — прослойки для запуска Vulkan-приложений при использовании Bumblebee для работы с дискретной видеокартой NVidia на ноутбуках.

Что это и зачем?

Если в вашем ноутбуке две видеокарты, одна из которых nVidia с проприетарным драйвером — для запуска приложений на дискретной видеокарте используется Bumblebee. К сожалению, Vulkan-приложения (в т.ч. DXVK) не работают с Bumblebee, а его разработка прекращена, поэтому единственным вариантом запустить Vulkan-приложение на дискретной видеокарте был запуск отдельного X-сервера на nVidia, что было не совсем удобно (необходимость переключения в другой VT и запуска отдельной графической сессии). С помощью primus-vk можно запустить Vulkan-приложения, используя optirun, без необходимости запуска отдельного X-сервера.

Производительность

В последнем релизе производительность приблизилась к той, что можно получить запуская отдельный X-сервер на дискретной видеокарте.

Установка и запуск

Инструкция по сборке и установке доступна хдесь. Для запуска Vulkan-приложения необходимо установить переменную окружения ENABLE_PRIMUS_LAYER=1 и PRIMUS_VK_MULTITHREADING=1. К примеру, для запуска игры в Wine (используя DXVK):

ENABLE_PRIMUS_LAYER=1 PRIMUS_VK_MULTITHREADING=1 optirun wine Game.exe

>>> Репозиторий на Github

★★★★☆

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 4)

Перемога! Жаль переехал на радеоны, так бы поигрался в ЖТА

А вообще по сабжу: Удачи проекту, надеемся что взлетит

Deleted
()

запуск отдельного X-сервера на nVidia, что было не совсем удобно (необходимость переключения в другой VT и запуска отдельной графической сессии)

Зато отдельный X сервер обеспечивает большую производительность и стабильность.

С помощью primus-vk можно запустить Vulkan-приложения используя optirun, без необходимости запуска отдельного X-сервера.

«1001 способ надеть на свою голову шапку, без необходимости задействовать руки».

В последнем релизе производительность приблизилась к той, что можно получить запуская отдельный X-сервер на дискретной видеокарте.

Никаких цифр. Просто «приблизилась». Зашибись.

robus ★★★★★
()
Последнее исправление: robus (всего исправлений: 1)
Ответ на: комментарий от Deleted

Перемога! Жаль переехал на радеоны, так бы поигрался в ЖТА

ЖТА на ноутбуке? Сириосли?

переехал на радеоны

Какие нынче достойные лэптопы с AMD-шной графикой есть, если не секрет?

robus ★★★★★
()

производительность приблизилась к той, что можно получить запуская отдельный X-сервер на дискретной видеокарте.

«Тормозит примерно так же» или «работает почти так же быстро»?

Хотя всё равно демагогия получается.

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

Какие нынче достойные лэптопы с AMD-шной графикой есть, если не секрет?

В этом я толком не разбирался, требовалось купить Workstation в прямом смысле этого слова, взял HP Elitebook 8470P с радеошкой 7570M, хоть и старая но в Stellaris играбельно

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

HP Elitebook 8470P с радеошкой 7570M, хоть и старая но в Stellaris играбельно

Ни фига себе! Это в новом Stellaris так оптимизацию подтянули или играбельно только пока лейт не наступил с флотами по 4M силы?

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

Я уже до кризиса дохожу, вся карта открыта и со всеми связался, не скажу что летает, но пыхтит и работает, фпс где-то 30 на средних, но мне пофигу, главное поиграть немного после работки.

А так, ПС4 в руки и будет счастье, что и собсно собираюсь делать

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

«Войны в небесах» не было в этой партии?

А так, ПС4 в руки и будет счастье

Я лично не люблю ни геймпады, ни телевизоры.

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

Воинов ещё не было, но L врата скоро открою и будет копэц))

Я лично не люблю ни геймпады, ни телевизоры.

Сэйм щит, тоже не люблю, но жаба душит покупать ПК с вегой домой, блэйдового Proliant'а на полочке хватает пока с головой

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

L врата скоро открою и будет копэц

Давно я не играл в стеллару. Как только дороги в космосе появились так сразу и дропнул. Но сейчас вроде как готовят 2.2 с вдумчивой экономикой и внутренней политикой и опять присматриваюсь.

жаба душит покупать ПК с вегой домой

Так скоро же выйдет Polaris RX-6XX. А вегу сегодня ругают за плохую аппаратную архитектуру и отсутствие нормальных шейдерных оптимизаций в драйвере.

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

фпс где-то 30

Ну, это ещё неплохо по меркам лоровского «ВСЁ РАБОТАЕТ».

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

Как только дороги в космосе появились так сразу и дропнул

И зря, тоже жду 2.2. На стеларисы переехал после цивилизаций пятых, ибо уже до боли все знакомо в ней, шестую не дрогнула рука купить из-за политики конфиденциальности

Deleted
()

Вот это костыли...

mos ★★☆☆☆
()

Столько лет раскрытия по танцевала Оптимуса.

Behem0th ★★★★★
()

единственным вариантом запустить Vulkan-приложение на дискретной видеокарте был запуск отдельного X-сервера на nVidia

Но я и на стационарном ПК запускаю «Vulkan/OpenGL-приложения» на отдельном X-сервере, а это, оказывается, не удобно. И что это значит: «необходимость переключения в другой VT и запуска отдельной графической сессии»? Разве это не скриптом делается, да и зачем полноэкранному приложению WM, не говоря уж о «графической сессии(DE?)»?

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

Как обезьянки повторяют же.

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

Разве это не скриптом делается

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

Разве это не скриптом делается, да и зачем полноэкранному приложению WM

Steam, например, не запустится без WM.

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

Никаких цифр. Просто «приблизилась». Зашибись.

Если удастся получить «конкретные цифры» — пожалуйста.
У меня не удалось.

Однако, тот же World of Warcraft под Wine с DXVK играется на 60FPS на «Высоких» (4), как и из отдельного X-сервера с помощью nvidia-xrun, однако провалы FPS иногда всё же встречаются.

Но тут непонятно, на что грешить — то ли не дооптимизировали до конца, то ли из-за того, что разрешение экрана 2560x1440, а я играю в FullHD-окне, а в отдельных иксах разрешение FullHD, то ли дело в том, что ещё и композитинг включен и куча всяких окон открыта...

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

Не нужно никуда логиниться и переключатся если запускать через xinit. Я запускаю так: xinit /path/to/start_steam.sh -- :1 а в самом start_steam.sh сначала запускается какой-нибудь wm (у меня xfwm4& ) а затем и сам steam. Но у меня конфиг иксов один и тот же, в случае данном случае надо натравить Xorg на альтернативный конфиг.

Rupricht ★★
()

самое печальное, что всё произошло после того, как AMD выпустила этот вулкан. это AMD сделала. ну факт такой.

а хули всё это время ждали-то?

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

отображение клиентом стима информации поверх окна игры

eternal_sorrow ★★★★★
()

Оптимус не нужен. Современные дискретки вполне умеют низкое потребление при низкой нагрузке. И уже есть ноуты только с дискреткой.

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

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

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

Современные дискретки вполне умеют низкое потребление при низкой нагрузке.

С отключенной дискреткой 2.5 Вт в простое.
С дискреткой по-умолчанию — 6 Вт минимум.

annerleen ★★★★☆
() автор топика
Ответ на: комментарий от Rupricht
ann@westfalia:~$ sudo xinit openbox -- :1 -config nvidia-xorg.conf -configdir nvidia-xorg.conf.d

(==) Log file: "/var/log/Xorg.1.log", Time: Mon Oct 22 16:21:37 2018
(++) Using config file: "/etc/X11/nvidia-xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Xorg: ../../../../dix/privates.c:384: dixRegisterPrivateKey: Assertion `!global_keys[type].created' failed.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x139) [0x565520276de9]
(EE) 1: /lib/x86_64-linux-gnu/libpthread.so.0 (funlockfile+0x50) [0x7fe941ff192f]
(EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (gsignal+0x10b) [0x7fe941e55f3b]
(EE) 3: /lib/x86_64-linux-gnu/libc.so.6 (abort+0x151) [0x7fe941e572f1]
(EE) 4: /lib/x86_64-linux-gnu/libc.so.6 (uselocale+0x33a) [0x7fe941e4ec7a]
(EE) 5: /lib/x86_64-linux-gnu/libc.so.6 (__assert_fail+0x42) [0x7fe941e4eb02]
(EE) 6: /usr/lib/xorg/Xorg (dixRegisterPrivateKey+0x249) [0x565520136f09]
(EE) 7: /usr/lib/xorg/modules/libglamoregl.so (glamor_init+0xc9) [0x7fe93c78c729]
(EE) 8: ? (_init+0xb9fd) [0x7fe9439693bd]
(EE) 9: /usr/lib/xorg/modules/drivers/modesetting_drv.so (_init+0x3b97) [0x7fe9439594d7]
(EE) 10: /usr/lib/xorg/Xorg (AddGPUScreen+0xf0) [0x565520118d10]
(EE) 11: /usr/lib/xorg/Xorg (xf86PlatformMatchDriver+0x9ec) [0x56552017355c]
(EE) 12: /usr/lib/xorg/Xorg (xf86PlatformDeviceCheckBusID+0x201) [0x5655201786a1]
(EE) 13: /usr/lib/xorg/Xorg (config_fini+0xf79) [0x565520175629]
(EE) 14: /usr/lib/xorg/Xorg (config_fini+0x15cb) [0x56552017690b]
(EE) 15: /usr/lib/xorg/Xorg (config_init+0x9) [0x565520173e19]
(EE) 16: /usr/lib/xorg/Xorg (InitInput+0xc7) [0x565520157a07]
(EE) 17: /usr/lib/xorg/Xorg (InitFonts+0x36f) [0x56552011c8bf]
(EE) 18: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xe7) [0x7fe941e42b17]
(EE) 19: /usr/lib/xorg/Xorg (_start+0x2a) [0x56552010667a]
(EE) 
(EE) 
Fatal server error:
(EE) Caught signal 6 (Aborted). Server aborting
(EE) 
(EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
annerleen ★★★★☆
() автор топика
Ответ на: комментарий от anonymous

вулкан вроде как не был проектом энтузиастов.

а с невидией вообще всё мягко говоря «странно». ну просто вот э фак? понятно что они говноеды те еще, missxu тут постил ссылки на то, как на невидии шейдеры «не работают» из-за «оптимизаций». я кстати об то же сталкивался, когда на AMD работает код, на невидии - ни одного фрагмента не нарисовано.

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

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

заранее тебе говорю что не умеют.

что такое «простой»? ну у тебя подключена память DDR3 или DDR4 по 128 битам. + 30 линий минимум еще на всякое. а то и 40. DQS по две на байт, адресные, и т.д.,

ну 160. короче. есть такое понятие как терминация длинной линии. линия у нас может быть 34.7 ома, 60 ом, 120ом и вроде больше не используется. значит на обоих хвостах надо вешать столько. Так вот, Rtt делается физически путем подтяжки резисторами 2*Rtt к нулю и Vio. точнее не резисторами а транзисторами с калиброванным напряжением на затворе. калибровка каждые 150миллисекунд.

Ну вот и считай. 1.8вольта/(60ом/160линий)=4.8 ампера. мощность=UI/2=4.32 ватта.

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

Ну я ХЗ. Во-первых при правильной настройке оно должно запускаться от пользователя и без sudo. Во-вторых я бы тестировал на чем-нибудь попроще, например xterm, а не openbox. Ну и -configdir он похоже игнорирует.

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

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

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

Интересно. Но я говорил не про полный простой, а про низкое потребление под низкой нагрузкой, т.е. про 2D режим фактически. Но стоит ли экономия 4 ватт всех этих усложнений и удорожаний на всех уровнях, прямо начиная с CPU с интегрированным видео?

dimgel ★★★★★
()

Ну нафиг такие извращения. Я советую отказаться от приобретения ноутов с NVidia Optimus и отдать предпочтение видео от AMD, где нет такого идиотизма.

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

Но у амуде тормозные печки вместо видеокарт. Тогда уж лучше вообще без видеокарты с о встройкой интела.

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

Ну вот у меня щас десктопная карта потребляет 9W из 113W. Сколько потребляют в таком режиме встройки?

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

По моим наблюдениям большинство разработчиков амд считает за второй сорт, типо сами ипитесь если не работает, тк оно вечно бажное.

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

Так скоро же выйдет Polaris RX-6XX.

Говно и не нужно.

А вегу сегодня ругают за плохую аппаратную архитектуру

Архитектура там хорошая.

и отсутствие нормальных шейдерных оптимизаций в драйвере.

А это уже следствие того, что Лиза Су разогнала штат разработчиков драйверов. Поэтому блобы там от Fury.

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

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

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