Voglio usare il rendering OpenGL senza X, con google lo trovo: http://dvdhrm.wordpress.com/2012/08/11/kmscon-linux-kmsdrm-based-virtual-console/ dice che è possibile. Dovrei usare DRM ed EGL. EGL può creare un contesto opengl ma richiede una finestra nativa. Probabilmente il DRM mi fornirà NativeWindow, non è vero? Dovrei usare KMS? So che devo avere un driver video open source. Voglio esattamente il contesto OpenGL, ma non OpenGL ES (Linux). Forse qualcuno conosce tutorial o codice di esempio?Come creare il contesto opengl tramite drm (Linux)
risposta
Sì, è necessario lo stack kms (example). Here è un semplice esempio in Linux, usa OpenGL es, ma il passo per farlo funzionare contro OpenGL api è semplice.
Negli attribs EGL impostato EGL_RENRERABLE_TYPE
a EGL_OPENGL_BIT
e dire che EGL api di legarsi a:
eglBindAPI(EGL_OPENGL_API);
essere sicuri di avere i driver più recenti del kernel e mesa-dev
, libdrm-dev
, libgbm-dev
. Questo pezzo di codice è portatile su Android, non è così facile avere lo stack grafico Android predefinito silenziato.
nota: ho avuto problemi con la versione a 32 bit, ma ancora non so perché. quelle librerie sono state sviluppate attivamente, quindi non sono sicuro che non fosse un bug.
* note2: a seconda della versione GLSL, la precisione del float è supportata o meno.
precision mediump float;
Nota3: se si soffre di insufficienza permision con /dev/dri/card0
, concedere con:
sudo chmod 666 /dev/dri/card0
o aggiungere utente corrente video
gruppo con
sudo adduser $user video
si può anche setguid per il vostro eseguibile con gruppo impostato su video. (forse l'opzione migliore)
- 1. Come creare un contesto OpenGL con un driver grafico specifico?
- 2. Creazione del contesto off-platform OpenGL multipiattaforma
- 3. Salvataggio del contesto openGL come output video
- 4. SDL2 - Verifica se il contesto OpenGL è stato creato
- 5. Esiste una libreria client MS-DRM per linux?
- 6. Impossibile creare il contesto SSPI
- 7. Impossibile creare il contesto 0x3005
- 8. Contesto OpenGL di Tkinter in Python
- 9. Amazon Appstore DRM - Come implementare?
- 10. È possibile realizzare video abilitati per DRM tramite FFMpeg?
- 11. Come selezionare il rendering OpenGL dell'hardware per MATLAB su Linux
- 12. OpenGL ES2.0 contesto offscreen per il rendering dell'FBO
- 13. Determina il sistema DRM supportato dal browser
- 14. EGL/OpenGL ES/contesto di commutazione lento
- 15. Impossibile trovare DRM Plugin
- 16. Come posso creare il mio progetto glfw3 su Linux?
- 17. Il kernel di Linux ha il proprio contesto SSE/AVX?
- 18. ReSharper: Posso creare il mio contesto personale?
- 19. Come dire se un contesto OpenGL è accelerato hardware?
- 20. Come posso creare ombre economiche in OpenGL?
- 21. Come creare un terreno 2D con opengl?
- 22. Contesto mapping Tomcat tramite server.xml
- 23. Come creare l'effetto lente fisheye da openGL?
- 24. Come creare un contesto bitmap solo alfa
- 25. Esecuzione di programmi OpenGL in Linux
- 26. OpenGL: creare una sky box?
- 27. Come ottenere il contesto attuale?
- 28. Come sviluppare le applicazioni OpenGL ES (GLES) 2.0 su Linux?
- 29. Raytracing in OpenGL tramite compute shader
- 30. Come posso creare il mio certificato jolly personale su Linux?
funziona, grazie! – user2616346
Prego. –
Ciao, j-p! Sto cercando l'esempio simile, ma per i dispositivi Android. Come ho capito non c'è stack DRM in Android. Suppongo che l'API grafica di livello inferiore debba funzionare tramite dispositivi fb0 e/dev/ion, ma non ho esempi. Per favore, fai riferimento alla mia domanda se hai qualche nota http://stackoverflow.com/questions/33742552/framebuffer-egl-example-segfault –