This much is true: whinging about Linux is becoming a popular past-time around here. … But given that fact that your short comment had more-or-less nothing to do with the subject at hand (the problem might have had nothing to do with upstream kernel API changes and everything to do with sloppy package maintainer in the Ubuntu side or problematic driver building script on parallel’s side – I have no idea ), I can only assume that were simply trolling. It was something of a revelation to the literal rocket-scientists where I work that they where going to have to re-install their graphics drivers every time they let the Red Hat update agent install a new kernel version: after installing an update and then re-installing the ATI binary driver left X unusable on my system, some decided that, as a rule, they should never install updates at all, because it was both too much of a disruption, and too risky! Think about that for a minute: there is very obviously a problem there. That solution is not perfect, and still causes a lot of unnecessary hassle to many users. I could also point out that a large number of proprietary kernel driver developers have learned to live with this by-design limitation, and by designing their modules with distinct kernel-interfacing-layer (as opposed to calling the kernel API from 10,000 different places), managed to reduce the changes required after each new upstream release. And it’s also a risk I’ve had it happen where re-installing the same driver dozens of times eventually left the system in an unusable state. Whatever the reasons for the situation are, and there may be good ones, it’s still a significant annoyance that doesn’t have to be there. The lack of a external-driver-loading interface is still one of the greater (completely unnecessary) hassles that face Linux users on a regular basis. This does not mean that it would either be impossible to add, or unreasonable to request. I could point out that the Linux kernel was never designed to support out-of-tree modules – let alone proprietary modules. The reason for it has nothing to do with the kernel driver loading interface (?!?!?) and anything to do with the distribution’s reluctance to be forced into keeping a stable API across major releases on one hand, and preventing comparability issues on the other – as even a minute change in one of the kernel’s structures or API can crash your system (Hence, you are forced to rebuild your module against the latest kernel-headers). (As far as I know, a driver that was build against RHEL 5.4, can be used against all RHEL 5.4 series kernels ). Most distribution (if not all), enable version to support in-order to -force- out-of-tree kernel modules to be recompiled against the latest kernel build – or at least against the latest kernel major build. Now, the kernel team could trivially provide a stable driver-loading interface, so that that didn’t have to happen they have quite deliberately elected not to do so.Īs far as I remember, you can configure the kernel to ignore build versions (CONFIG_MODVERSIONS?). Because those drivers are actually kernel modules, that have to have bits of them built against the source-tree used to build the kernel that’s meant to load them. I’m talking about a way to not have to re-build all your third-party drivers every time you update the kernel, like I get to do now (which is in no way a hassle, and never fails or leaves my system in an unstable state! Really!).Įvery time Red Hat pushes out a kernel update, I have to re-run the VirtualBox installer to re-build the kernel driver, and I get to un-install and re-install the nVidia driver. There is a difference - at least, there is a difference between a kernel module the way the Linux kernel does it, and a driver the way Windows does it. I’m talking about loading an arbitrary, external binary driver, not a kernel module.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |