O driver é um módulo do kernel do Linux.
Faça o download do código-fonte do kernel do Linux, dê uma olhada no código dos drivers de framebuffer existentes em drivers/video/fbdev
(github aqui ) e a documentação em Documentation/fb
( github ). Google para tutoriais como escrever módulos do kernel, pratique com um módulo simples primeiro.
Apenas o mapeamento de memória não será suficiente, você precisará implementar alguns ioctl
s.
Escrever drivers de kernel não é fácil. Se você tiver que fazer este tipo de perguntas (e você pediu muito nos últimos dias), você provavelmente não será capaz de fazer isso.
X é um servidor para o protocolo X. Ele pode usar hardware através dos módulos do kernel DRM e também pode usar hardware por meio de drivers framebuffer (com o driver fbdev
X). Detalhes sobre isso são fáceis de encontrar on-line, google. /dev/fb0
é um dispositivo framebuffer, então você não precisa se preocupar com X ou DRM.