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