[CentOS] Linux vs Windows Drivers

Bit bit2300 at gmail.com
Thu Dec 27 14:47:01 UTC 2007


Luciano Rocha wrote:
> On Wed, Dec 26, 2007 at 05:01:54PM -0500, Bit wrote:
>   
>>  ATI drivers are proprietary and closed-source.  So, for example, on my 
>>  current desktop, I download the Linux drivers for my card from the link 
>>  below and run the installer as per their instructions.
>>  http://ati.amd.com/support/drivers/linux/linux-radeon.html
>>
>>  It's doing *something* to make a kernel module that will insert into and 
>>  work with my current running kernel.  At one time, I thought that it was 
>>  compiling a module from source code, probably by invoking make, in much the 
>>  same way I might download and install any open-source software in Linux from 
>>  a tarball.
>>
>>  However, I realized that this doesn't make sense since ATI's drivers are 
>>  proprietary and closed-source.  So the installer I download can't possibly 
>>  be compiling anything from source code, because that would mean I could 
>>  almost certainly read the source code, which they don't want.  Which leaves 
>>  me wondering what the installer is really doing.  Any ideas?
>>
>>     
>
> The drivers are comprised of two things:
> 1. The X driver and OpenGL library, usually in binary form only;
> 2. The kernel driver for accessing and controlling the hardware.
>
> Usually, the X driver/OpenGL library does most of the "3D" work, but
> that isn't necessarily so.
>
> Now, about the "can't possibly be compiling anything from source code".
>
> Assuming you have compiled or developed a few things, you should know
> that the final program is composed by several object files, .o.
>
> Kernel drivers/modules aren't any different. What happens is that
> there's at least one binary .o, without any source code, already compiled
> in the installer/package.
>
> There's also what is usually called a shim. A piece of source code that
> does the bridge between your kernel and the real code. The real code is
> thus a little abstracted from the kernel API, though not at all, as was
> attested by recent breaks in the nVidia driver with new kernels. But
> they are usually quick to respond to those changes.
>
> So, there _is_ a make and compile involved, but is usually the
> compilation of small code, linking with the big blob in an .o.
>
>   
Thanks!  I appreciate you taking the time to explain all that.  I have 
some moderate amount of programming experience, so that did (for the 
most part) make sense.  =)

Thanks to everyone else who helped out too.  This has probably been the 
most helpful thread I've ever read.  One of those little things 
constantly at the back of my mind finally put to rest.  =P



More information about the CentOS mailing list