Estou escrevendo meu próprio servidor de exibição como um exercício educacional. Onde na árvore do kernel do Linux eu procuraria documentação sobre o modo gráfico do console?
Basicamente, pelo que entendi, o Xorg assume o dispositivo tty e também o hardware bruto. Como posso encontrar documentação sobre como duplicar essa ação?
Responder1
Desculpe por repetir, mas dê uma olhada nas Nano-X
fontes.
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 semelhante ao que o Xorg faz, e odevfb
motoristaé uma implementação muito simples e limpa.
Os buffers de quadros devfb do Linux dependem principalmente de ioctl
(por exemplo: para definir/obter resolução) e mmap
(para escrever/ler pixels brutos).
devfb
é apenas uma maneira (fácil e um pouco mais portátil no Linux) de acessar o hardware gráfico.
Os drivers Xorg, em vez disso, 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 da implementação (não existe um padrão).
Você também pode dar uma olhada em SDL
or Directfb
mas Nano-X é o mais limpo/fácil e um servidor de exibição em si, então provavelmente poderia ajudá-lo em outras questões que você certamente encontrará.