[Geert Uytterhoeven]The only framebuffer interface I know of is the framebuffer console.
mmap() the MMIO registers to userspace, and program the
acceleration engine from userspace, like DirectFB (and XF*_FBDev
3.x for Matrox and Mach64) does.
Right, this was how I originally intended to do it. The reason
why I started to obsess about the accelerated fb_ops functions was
that I hoped that, by creating a driver that registered accelerated
versions of these functions, other frame buffer-using applications
would instantly take advantage of it, requiring no changes in those
applications.
I thought the frame buffer device was supposed toI believe you also can write a small driver that connects to the
serve as an an abstraction layer between the graphics card and
the application, allowing for 2D acceleration without having to
know anything about the underlying hardware. But if no one uses the
frame buffer device in this way, I might as well do as you suggest
and mmap() the registers to userspace.