Eu quero escrever um driver linux que mapeie meu espaço de endereço de memória especificado para /dev/fb0.
o driver deve ser especificado por qual parte do linux? drm ou frame buffer ou servidor X ou algo mais? Quais propriedades devo ter no meu driver?
O driver é um módulo do kernel Linux.
Baixe a fonte do kernel linux, dê uma olhada no código dos drivers de framebuffer existentes em
drivers/video/fbdev
(github aqui ) e a documentação emDocumentation/fb
( github ). Google para tutoriais sobre como escrever módulos do kernel, pratique primeiro com um módulo simples.Apenas mapear a memória não será suficiente, você terá que implementar alguns
ioctl
s.Escrever drivers de kernel não é fácil. Se você tiver que fazer esse tipo de pergunta (e fez muitas perguntas nos últimos dias), provavelmente não conseguirá.
X é um servidor para o protocolo X. Ele pode usar hardware por meio dos módulos do kernel DRM e também pode usar hardware por meio de drivers de framebuffer (com o
fbdev
driver X). Detalhes sobre isso são fáceis de encontrar online, google./dev/fb0
é um dispositivo framebuffer, então você não precisa se preocupar com X ou DRM.