Motivazione: scrivere un programma in C (e Assemblaggio, se necessario) per colorare un'area rettangolare nello schermo rosso.Qual è il livello più basso assoluto di astrazione "disegno" in GNU/Linux?
Requisiti STRICT - GNU/Linux in esecuzione con le utilità e le interfacce minime nude nella modalità testo/console. Quindi nessuna X (o equivalente come Wayland/Mir), nessuna libreria non predefinita (al di fuori POSIX, LSB, ecc. Fornita dal kernel) o nessuna supposizione aggiuntiva, tranne la presenza del driver del dispositivo per il monitor.
In effetti, quello che sto cercando sono informazioni su come scrivere un programma che alla fine invierà un segnale attraverso la porta VGA e il cavo al monitor per colorare una particolare parte dello schermo rosso.
Ci scusiamo se questo suona maleducato, ma non "Perché vuoi farlo?" o "Perché non usi la libreria ABC?" risposta. Sto cercando di capire come scrivere un'implementazione del server X o una libreria kernel framebuffer (/ dev/fb0) per esempio. Va bene fornire un collegamento all'origine di una libreria C.
http://wiki.osdev.org/VGA_Hardware – Joe
[OpenGL] (http://www.opengl.org/) è, come suggerisce il nome, aperto. Suppongo che tu possa trovare qualche suggerimento per quello che vuoi fare lì. È un livello molto basso, cioè punti, linee, triangoli, colori. Il codice sorgente dovrebbe aiutarti a vedere un esempio di come funziona questa libreria, e c'è una grande quantità di documentazione. [Guarda qui] (http://stackoverflow.com/questions/3352648/where-can-i-download-source-code-of-opengl) per le possibilità del codice sorgente. – ryyker
Il punto è trattare diverse schede grafiche molto diverse. AFAIK, il sottoinsieme comune è VGA che è obsoleto oggi (risoluzione troppo piccola, ecc ...). Avrai bisogno di immergerti in cose specifiche dell'hardware, e il dolore inizia lì .... Wayland o X ti forniscono un'astrazione comune per gestire varie schede grafiche .... –