An introduction to binary-only modules
Nvidia is kind to its Linux-using customers; not as kind as it could be, but kind
nonetheless. It provides for its users a binary-only, 3d accelerated, XFree86
kernel module. That list provides some very good descriptions as well as some that
would make the average kernel developer rabid. The main descriptor that would induce
this frothing hacker syndrome is "binary-only." This means that a precompiled object
that handles all the nuts-and-bolts graphics stuff, is wrapped in an user-compiled
kernel interface. This makes things easy on Nvidia, easy on users, and easy on X
developers. The only question is, what happens when something goes wrong? A user of
a binary-only module is helpless to see inside the code to ascertain the source of
the problem. Even when the system is kind and produces a stack trace, the functions
are cryptic and the source is hidden. Ideally, nothing goes wrong, and if something
does, the corporation providing the module (in this case, Nvidia) provides support
and new, patched modules. Unfortunately, this ties the end-user to a single company
for updates and bugfixes, something that the Linux community at large can't stand
(since companies are rarely that attentive and never on the ball.)