I want to write a linux driver which maps my specified memory address space to /dev/fb0.
the driver should be specified by what part of linux? drm or frame buffer or server X or somthing else? Which properties should I have in my driver?
The driver is a linux kernel module.
Download the source of the linux kernel, have a look at the code of the existing framebuffer drivers in drivers/video/fbdev
(github here) and the documentation in Documentation/fb
(github). Google for tutorials how to write kernel modules, practice with a simple module first.
Just mapping memory won't be enough, you'll have to implement a few ioctl
s.
Writing kernel drivers is not easy. If you have to ask this kind of questions (and you asked a lot in the past few days), you probably won't be able to do it.
X is a server for the X protocol. It can use hardware via the DRM kernel modules, and it can also use hardware via framebuffer drivers (with the fbdev
X driver). Details about that are easy to find online, google. /dev/fb0
is a framebuffer device, so you don't need to concern yourself with X or DRM.
cat
via a framebuffer. So it would seem from that that there already is a Linux driver for your device.