D
Deleted User
Guest
Actually, untrue.If you're referring to the fact that 32-bit and 64-bit drivers are incompatible, then duh. You'll find the same thing on Linux and OSX (though on Linux since most hardware support is in the kernel itself it's not something the normal person deals with, rather managing all the split libraries is the issue).
The way Linux drivers are distributed are, for the most part, as their source code (With an install script usually) that directly compiles using the Linux Headers in /usr/src//include - it doesn't matter if you use a 32-bit or 64-bit kernel, they'll still work the same (apart from a specific Realtek driver in kernel 3.0+ that is a complete nightmare, but the only reason for that is because the install.sh detects amd64 incorrectly and can be fixed by manually going into certain files and changing a few things). Same driver, different architecture - it works. So yeah 32-bit and 64-bit drivers aren't incompatible as they are the same driver. Though of course a lot of people misinterpret package-files as just being the original files instead of being the files and a set of instructions to install them within the package (for example driver-i386.deb and driver-amd64.deb are actually the same thing but just pre compiled for the different architectures)., so I can see why you might be confused.
The only reason it's not the same on Windows, and why different .sys and .inf files are needed is because Windows' kernel is a "microkernel" where the drivers are stored in C:/WINDOWS/System32/drivers and work actually independently from the kernel (which is a really messed up and overcomplicated way of doing things, I don't know why Microsoft hasn't changed that yet, but oh well) as opposed to Linux's monolithic kernel which has the drivers installed directly within the kernel itself, and where new drivers are compiled into.
Sorry for the TL;DR technobabble but I just wanted to clear that up.