Driver Development Books?

Bruce R. Montague brucem at mail.cruzio.com
Wed Oct 12 21:05:29 PDT 2005


 Hi, re:

 > The problem that I am having
 > right now is
 > that I have a fairly nice graphics card which, for the moment is only
 > supported on Windows Operating systems, and old 2.4 Linux kernels.
 

Someone mentioned X drivers; current X drivers are
dynamically loaded into the X server, which runs
in user-space, not in the FreeBSD kernel. The X
server has its own ELF loader to load modules and 
drivers. This approach allows X drivers to be 
independent of OS.
 
There is some documentation on writing X drivers at:
 
 http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/doc/DESIGN
 
 (Click on the "(download)" link at the top of the page)
 
 For a walk through writing a driver, see Section 20 at the end,
"Some notes about writing a driver".
 
 
 Alternatively, access
 
   http://cvs.freedesktop.org/xorg/xc/programs/Xserver/hw/xfree86/doc/
 
 and select "DESIGN", etc..
 
 
FreeBSD currently uses x.org (cvs.freedesktop.org), 
but the DESIGN doc is probably similar.

The design doc has a lot of good background and conceptual
material, enough to enable reading of "real" X drivers,
which are the real definition of how things work. Although
the mechanics of writting (or modifying) an X driver are
very easy (almost trivial), if you have never worked with
C or drivers before, expect a steep learing curve... 
probably starting by rebuilding X from source would be
a good "first" step.


 - bruce


More information about the freebsd-hackers mailing list