Comment utiliser OpenGL sans gestionnaire de fenêtres sous Linux?
-
25-09-2019 - |
Question
Je viens de terminer le livre LFS et mon système Linux travaille en ce moment. Je veux utiliser OpenGL pour afficher des graphiques sur l'écran, alors que le paquet installés sont actuellement ceux décrits sur http://www.linuxfromscratch.org/lfs/view/stable/chapter03/packages.html .
Je ne veux pas installer quelque chose comme Gnome, KDE ou X.org. , Je veux plutôt utiliser OpenGL directement à partir de mon logiciel. Est-ce possible, et comment puis-je faire cela? Ou est-ce aussi facile (je ne pense pas: «p)? Comme l'écriture d'une application OpenGL qui exécute en plein écran
La solution
Vous ne devez pas installer Gnome ou KDE. Ceux-ci sont utilisés pour les fenêtres gérées, et vous pouvez lancer des applications graphiques sans avoir un gestionnaire de fenêtre.
Par conséquent, vous devez installer un serveur X. Le serveur X est responsable de tirer les choses sur votre écran. Sans serveur X, vous ne pouvez pas lancer des applications graphiques.
Une fois que X a été installé, lancez-le, exporter votre variable d'environnement DISPLAY
, et le reste est comme écrire une application OpenGL qui fonctionne plein écran: -)
Autres conseils
kmscube
exemple DRM
Il est possible, la démo la plus populaire disponible est https://github.com/robclark/kmscube qui utilise OpenGL et EGL.
Malheureusement, le paquet Ubuntu 18.04 avec les pilotes propriétaires NVIDIA ne fonctionne pas pour moi:
drmModeGetResources failed: Invalid argument
failed to initialize legacy DRM
rapport de bogue: https://github.com/robclark/kmscube/issues/12
Mais j'ai le faire fonctionner sur émulateur .
Il reprend tout l'écran, et montre un cube tournant coloré.