Come utilizzare OpenGL senza un gestore di finestre in Linux?
-
25-09-2019 - |
Domanda
Ho appena finito il libro LFS e il mio sistema Linux sta lavorando in questo momento. Voglio usare OpenGL per la grafica di visualizzazione sullo schermo, mentre il pacchetto installato solo in questo momento sono quelli descritti su http://www.linuxfromscratch.org/lfs/view/stable/chapter03/packages.html .
Non voglio installare qualcosa di simile a Gnome, KDE o X.org. Invece, voglio usare OpenGL direttamente dal mio software. Questo è possibile, e come posso fare questo? O è altrettanto facile (io non la penso così: 'p)? Come scrivere un'applicazione OpenGL che corre schermo intero
Soluzione
Non c'è bisogno di installare Gnome o KDE. Questi sono utilizzati per Windows gestito, ed è possibile avviare le applicazioni grafiche senza avere un window manager.
Pertanto, si dovrà installare un server X. Il server X è responsabile di disegnare le cose sul vostro schermo. Senza server X, non è possibile avviare le applicazioni grafiche.
Una volta che X è stato installato, lanciarlo, esportare la variabile d'ambiente DISPLAY
, e il resto è come scrivere un'applicazione OpenGL che corre schermo intero: -)
Altri suggerimenti
kmscube
esempio DRM
E 'possibile, la demo più popolare disponibile è https://github.com/robclark/kmscube che utilizza OpenGL e EGL.
Purtroppo, il pacchetto di Ubuntu 18.04 con i driver proprietari NVIDIA non funziona per me:
drmModeGetResources failed: Invalid argument
failed to initialize legacy DRM
bug report: https://github.com/robclark/kmscube/issues/12
Ma l'ho fatto farlo funzionare sull'emulatore .
Si assume l'intero schermo, e mostra un cubo rotante colorato.