Я использую vncserver для подключения к машине CentOS7 в сети. Чтобы использовать ускорение 3D-графики, я использую VirtualGL. Поэтому любую программу OpenGL нужно запускать с vglrun использовать OpenGL.
Это работает как шарм, но только если я вхожу в систему на ДИСПЛЕЕ 0 и заранее запускаю хотя бы одно приложение OpenGL. Другими словами:
Если я
ни одно приложение OpenGL не работает, и я получаю сообщение об ошибке
[VGL] ERROR: Could not open display :0.
Как только я вхожу в систему на ДИСПЛЕЕ 0 и запускаю приложение OpenGL, ошибка больше не возникает, пока компьютер не будет перезагружен снова.
Мой вопрос:
Как я могу запускать приложения OpenGL с vglrun без предварительного запуска приложения OpenGL на ДИСПЛЕЕ 0 после перезагрузки компьютера?
Как указано в этом вопросе: Настройка сервера vnc без физического дисплея: Ubuntu 16.04 LTS
Решение проблемы - иметь следующие строки в /etc/X11/xorg.conf
:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Option "AllowEmptyInitialConfiguration" "True" # <-- This line is new
EndSubSection
EndSection