Thanks for your reply and clarification Niels. Since I already have a driver that does much more than being a pure frame buffer, I plan to go on with implementing a graphics driver, obviously(!) raising few questions.
In my kernel driver I allocate a coherent DMA buffer. My plan was to allow DirectFB mmap() this buffer and use DirectFB to create the graphics overlay in this buffer. Then DMA this content over to my overlay HW as an action on calling DirectFB Flip(). Is it possible to use the system driver "devmem" on memory that is not physical memory? As I mention above I would like to use kernel allocated memory. Since I have a PCIe device whose DDR RAM is not accessible other than via a on-PCIe-board DMA it is not(?) possible to address the overlay memory using a physical address directly. Browsing through the mailing list archive I found a discussion concerning "sysmem": http://www.mail-archive.com/directfb-dev@directfb.org/msg06842.html It looked promising and very much like what I'm looking for. I tried to dig into the code of DirectFB but couldn't see that any of this was in main-line. Am I missing it or isn't it there? Also, is there a good starting point for a graphics _simplistic_ driver? Any help is much appreciated, my intention is to document my work publically with the intention that it could be helpful for others. Cheers, Jonas Romfelt 2010/2/19 Niels Roest <ni...@directfb.org>: > Hi there Jonas. > > DirectFB needs a "system driver" and it can optionally have a "graphics > driver". > If you go for (1), you can reuse the "fbdev" system driver and leave out the > graphics driver, since fbdev already does mapping/flipping etc. > If you go for (2), you are best off using the "devmem" system which is > basically an empty system which relies on the graphics driver to provide the > functionality. so for (1), you only program the linux kernel driver, for (2) > you make a new graphics driver. Your choice. > > Greets > Niels > > Jonas Romfelt wrote: >> >> Hi, >> >> I'm new to DirectFB and need some high-level pointers in the right >> direction how to add DirectFB support to an embedded system that >> working on. I'm adding a custom FPGA via PCIe that provides a >> simplistic graphical overlay functionality. Nothing fancy such as HW >> acceleration, just a framebuffer, anything that goes into that memory >> is displayed. >> >> I have got a custom kernel module that allows access to the >> framebuffer memory via a kernel bounce buffer that can be mmap'd from >> user space. The FPGA also handles numerous other things... >> >> How do support my custom HW from DirectFB? So, should I: >> >> 1) make my driver appear as a "standard" Linux framebuffer device driver? >> 2) make a custom DirectFB gfxdriver for my custom Linux kernel driver? >> >> Are both approaches viable? >> >> Is at simple as (1) if I have a "standardized" framebuffer device >> driver I can go ahead using DirectFB without any modifications? And if >> I already have a working driver (2) I basically only need to a add a >> thin gfxdriver that maps in my custom driver? >> >> What is the recommended way of doing it? >> >> Many thanks, >> Jonas >> _______________________________________________ >> directfb-dev mailing list >> directfb-dev@directfb.org >> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev >> >> > > > -- > > .------------------------------------------. > | DirectFB - Hardware accelerated graphics | > | http://www.directfb.org/ | > "------------------------------------------" > _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev