Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I understand that the drivers are compiled into the kernel but why is the API so tightly coupled to the kernel?

Can I install the drivers in a way so I don't have to reinstall the drivers every time there is an update?

The fact I can use the driver again and compile it means the driver is valid. Then why do I need to do this manually?

Link to driver I use

Its AMD Catalyst™ 13.1 Proprietary Linux x86 Display Driver

AMD Radeon HD 7700 Series

Currently running

Linux 3.5.0-25-generic #39-Ubuntu SMP  x86_64 x86_64 x86_64 GNU/Linux
share|improve this question
On a normal kernel I have never ever needed to re-install video drivers after an update. Did you create a custom kernel perhaps? By the way: this is impossible to research if you do not supply the brand, make, model of your videocard. We probably also need kernel version and what driver you use. – Rinzwind Mar 29 '13 at 20:09
@Rinzwind If there is a way to install it so kernel updates don't trash driver that would be great. Attaching details to question. – Meer Borg Mar 30 '13 at 0:54
@Rinzwind thats a normal procedure with "normal kernels". The kernel module of the driver has to be recompiled for the new kernel. Maybe you use a driver which the kernels already have the modules for. Sadly I can't explain why it has to be compiled and it is not sufficient to load an exitsing module :-( – André Stannek Mar 30 '13 at 2:33
up vote 2 down vote accepted

Any drivers not part of the main kernel tree (which of course includes proprietary drivers) must be rebuilt for new kernel versions as internal kernel interfaces may have changed. Drivers are tightly coupled to the kernel because they run in kernel space and use internal kernel interfaces. Applications are a different ballgame and use the syscall interface, which is the userland to kernel interface, and that interface is extremely stable.

Greg Kroah-Hartman has posted a great article about this subject here.

share|improve this answer

Based on personal experience, the new kernel drops in a completely new directory of drivers/modules and does not try to figure out what drivers/modules can be copied from the old directories into the new ones.

It could be that you could copy the old driver/module into the new directory, but there isn't (to my knowledge) a good way of automatically determining compatibility between the kernel versions for the driver.

I think it may be possible to create a package that has scripts that automatically run on kernel changes to rebuild the drivers so you don't have to, but it doesn't sound like that is happening for the particular drivers you're using.

And that is not uncommon because it is a pain to write installation/upgrade scripts for every operating system/video driver combination and get them tested.

share|improve this answer
Agreed but we are on version "12" of Ubuntu and by now they should have sorted this out. – Meer Borg Mar 30 '13 at 4:14
This answer really answers the question superficially, and does not address why drivers need to be rebuilt for new kernel versions. – Fred Thomsen Nov 5 '13 at 18:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.