LINUX.ORG.RU

Multiseat. One GPU

 , drm-leases,


1

1

Возможно ли в современном дистрибутиве настроить мультисит на одной видеокарте?

Все ресурсы перерыл: нашёл руководства 15-тилетней давности, мультисит с отдельной видеокартой на каждый seat и какие-то хаки/поделки с хардкодной реализацией.

Из свежего нашлось, что сделали протокол drm lease и даже вроде в wayland поддержку сделали, но вот организовать multiseat с его помощью, вроде, нельзя (только если самому код допиливать).

UPD: нашёл вот такое https://gerrit.automotivelinux.org/gerrit/admin/repos/src/drm-lease-manager



Последнее исправление: RAHATibnLUKUM (всего исправлений: 1)

Фиг. Мультисит требует два xorg сервера. Сервер хочет быть drm мастером. А drm не позволяет два мастера на одном устройстве. И сделать два drm устройства из одного адаптера текущие drm-kms драйверы тоже не могут.

iliyap ★★★★★
()

Накостылять можно: сделать один пустой xserver на оба (или несколько) экранов, без дополнительной настройки устройств. Внутри сервера запустить Xephyr для каждого сита, внутри него уже настроить устройства ввода (он поддерживает захват устройств внутрь окна).

Аппаратного ускорения не будет, но, возможно, получится прикрутить https://virtualgl.org/

Вот, смотрите, что нашел: https://old.reddit.com/r/archlinux/comments/1cxhqj/multiseat_gaming_guide/

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

А drm не позволяет два мастера на одном устройстве

Если я правильно понимаю, drm leases как раз позволяет выделять часть ресурсов для создания ещё одного drm мастера.

RAHATibnLUKUM
() автор топика

В weston-е можно запустить сколько хочешь X-серверов Xwayland (типа так).
Но думаю лучше в weston-е запустить вложенные weston-ы, а в них уже X-серверы, можно будет разделить права доступа к вяленым сокетам.
В weston-е (drm-backend) можно сделать сколько хочешь независимых пар клаво-мышей (типа так).

НО ЛЯ, как привязать клаву и мышь к окну/weston-у/Xwayland-у ?!
Ну еще вопрос как weston-е открыть окно в определенной позиции и без декора?
Думаю если эти два вопроса решить, то можно будет сделать отличный multiseat (не то что на одном gpu, но даже на одном экране).

И да weston/Xwayland не медленнее чем Xorg и вложенные weston-ы тоже практически не снижают производительность. Единственное weston жрет лишие 50-100MB.

P.S. Xephyr тормозня и поддержку привязки клаво-мышей из него вырезали, а без этого multiseat не сделаешь.

P.P.S. Делал упор на X-сервер, но в weston-е можно и вложенные вяленые wm запускать.

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

Спасибо. Про Xephyr я знаю, забыл написать (без ускорения не интересно).

VirtualGL выглядит интересно. Но как-то уж слишком костыльно выглядит если всё это на одной машине поднимать.

а drm lease выглядит как серебрянная пуля для multiseat: чисто, просто, без ненужных прослоек

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

https://github.com/garlett/multiseat

Ого, оно даже работает!
Собрал drm-lease-manager, пересобрал weston с тремя патчами и запустилось два weston-а (drm) на одной карте (AMD RX550).

GL работает (glmark2 - не пострадал), vaapi - работает!

Пришлось правда подключить три монитора, а то на активной консоли он чего-то виснет, запускать от root (грешу на seatd) и при lock-скрине падает, но в принципе работает.

arson ★★★★★
()
Последнее исправление: arson (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.