Desculpe por repetir, mas dê uma olhada em Nano-X
sources.
git clone git://microwindows.org/microwin
Em particular, dê uma olhada nos arquivos:
drivers/kbd_tty.c
drivers/scr_fb.c
O que é feito no driver tty é muito parecido com o que o Xorg faz, e O devfb
driver é uma implementação muito simples e limpa.
Os buffers de quadro devfb do Linux dependem principalmente de ioctl
(por exemplo: para definir / obter resolução) e mmap
(para pixels de gravação / leitura brutos).
devfb
é apenas um caminho (fácil e um pouco mais portátil no linux) para acessar o hardware gráfico.
Os drivers Xorg são compostos por um driver de kernel e uma interface de espaço de usuário Xorg entre o driver e o próprio Xorg, e o que acontece entre o kernel e o lado do usuário é realmente dependente de implementação (não existe um padrão).
Você também pode dar uma olhada em SDL
ou Directfb
, mas o Nano-X é o mais limpo / fácil e um servidor de exibição em si, então provavelmente pode ajudá-lo em outras questões que certamente você conhecerá.