Запуск нескольких xserver отображает «вне экрана» или «без экрана»

Запуск нескольких xserver отображает «вне экрана» или «без экрана»

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

Я использую startx для запуска нового отображения:

startx -- :1

Пока все хорошо, я могу переключаться между двумя дисплеями на своем компьютере с помощью Ctrl+Alt+Fx (где x — это число, на моем компьютере это 7 или 8).

Вот в чем проблема: когда оба дисплея доступны, и я в данный момент нахожусь на дисплее 0 и пытаюсь записать дисплей 1, я получаю черный экран в записанном видео. Основная проблема, похоже, в том, что xserver не обновляется, когда tty не активен.

Я подтвердил, что запись через x11grab ffmpg или с использованием VLC работает так, как задумано.

Помимо этого я пробовал Xephyr, Xnest и Xvfb, и хотя они делают то, что мне нужно, я не могу их использовать, потому что то, что я запускаю на дисплее 1, очень требовательно к графике (OpenGL), а я еще и записываю поверх всего этого.

Я также попробовал использовать xserver-xorg-video-dummy вместе со скриптом Xdummy для запуска дисплея, это работает, но не с приложениями OpenGL.

Любая помощь в решении этого вопроса будет высоко оценена!

решение1

Я нашел достойное решение с помощью Xephyr иVirtualGL!

Установите Xephyr иVirtualGL, затем запустите Xephyr с предпочтительными настройками:

Xephyr -screen 1024x768 :1

Если все прошло успешно, теперь вы сможете запускать исполняемые файлы с ускорением OpenGL в Xephyr!

DISPLAY=:1 vglrun -- glxgears

Связанный контент