No way to specify correct dependencies for dkms packages (nvidia driver install fails to get matching header)

Bug #1068341 reported by nvbn on 2012-10-18
This bug affects 127 people
Affects Status Importance Assigned to Milestone
dkms (Ubuntu)
dpkg (Ubuntu)
nvidia-graphics-drivers-updates (Ubuntu)
software-properties (Ubuntu)

Bug Description

Packages which use dkms require the linux-headers-$KERNEL_VER package to be installed for each linux-image-$KERNEL_VER which is installed. There's currently no way to specify this dependency.


This bug is caused by the allowing of eg. linux-lowlatency kernel's headers, while the actual bug people are hitting is bug #1068488 ie. the Ubuntu 12.10 installer doesn't install linux-headers-generic by default.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nvidia-graphics-drivers-updates (Ubuntu):
status: New → Confirmed

this problem is solved this way

Switch to a terminal (Ctrl-Alt-F1).

    Login as your username.

    Install linux source (sudo apt-get install linux-source) and headers (sudo apt-get install linux-headers-3.5.0-17-generic).

    Uninstall nvidia driver - this depends on which version you installed (sudo apt-get remove nvidia-current or sudo apt-get remove nvidia-current-updates or sudo apt-get remove nvidia-experimental-304).

    Reinstall nvidia driver (sudo apt-get install nvidia-current-updates).

    If it successfully installs, restart the computer (sudo shutdown -r now).

Jorge Canha (jcanha) on 2012-10-19
summary: - nvidia-current-updates missed linux-headers-generic deps
+ nVidia proprietary drivers miss linux-headers-generic dependency

The user solution should be to install the meta package, not a specific version. So this is better suggested
sudo apt-get install linux-headers-generic

This has become a major problem for users - A quick fix would be to adjust the control file(s) for nvidia-* & fglrx to only dep on linux-headers-generic instead of the current
linux-headers-generic | linux-headers
Or have linux-headers-generic installed by default Bug 1068488

Davide Aversa (thek3nger) wrote :

Oh come one! This is an HUGE bug! I have just messed up all my installations for this. Fortunately in this case there is a simple solution but a new user can be seriously scared by this bug.

Marc Baas (baas-marc) wrote :

Same thing happens with the AMD video drivers, and I figured out the workaround myself.

It's pretty absurd though that a bug like this can make it through release.

Arup (arup-chowdhury) wrote :

This affects ATI drivers as well.

Changed in nvidia-graphics-drivers-updates (Ubuntu):
status: Confirmed → Won't Fix
Chris Halse Rogers (raof) wrote :

The proprietary drivers already depend on linux-headers-generic | linux-headers. The optional dependency here is because you might not have a linux-generic kernel installed; you might have linux-lowlatency, or linux-server, and in that case you need linux-headers-lowlatency or linux-headers-server insntalled; these Provide: linux-headers.

What has likely happened here is that you've installed, say, linux-headers-3.5.0-15-generic but have *not* got linux-headers-generic installed. In this case, linux-headers-3.5.0-15-generic Provides: linux-headers, so the dependency is satisfied, but you're going to try booting with linux-image-3.5.0-17-generic for which you don't have headers, so things will break.

The real problem here is that dpkg does not have the ability to specify the real dependency here, which is “This package depends on linux-headers-$FOO for each linux-image-$FOO installed”.

Changed in dpkg (Ubuntu):
importance: Undecided → Wishlist
summary: - nVidia proprietary drivers miss linux-headers-generic dependency
+ No way to specify correct dependency for dkms packages
summary: - No way to specify correct dependency for dkms packages
+ No way to specify correct dependencies for dkms packages
description: updated

Note that you should not be able to get into this situation using the “Additional Drivers” tab of Software Sources or the Restricted Drivers popup, which are the best-supported way of installing the proprietary drivers.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in dpkg (Ubuntu):
status: New → Confirmed

On 10/23/2012 02:12 AM, Chris Halse Rogers wrote:
> Note that you should not be able to get into this situation using the
> “Additional Drivers” tab of Software Sources or the Restricted Drivers
> popup, which are the best-supported way of installing the proprietary
> drivers.
That is incorrect & overall this is a regression from previous Ubuntu
On a run on the mill install this is installed by default

When using “Additional Drivers” to install any of the proprietary
drivers only these packages are installed
Ex. nvidia-current

linux-headers-generic/linux-headers-3.5.0-17-generic is not installed,
the module is not built & ect. ect.
(actually worse for users from “Additional Drivers” because they're
given no info

 From my perspective maybe the issue is
linux-headers-generic/linux-headers-3.5.0-XX-generic should be installed
during the orig. install instead of just linux-headers-3.5.0-17 ??
Bug 1068488

While this bug continues to go unfixed, we must be losing potential Ubuntu users who expect to select an NVidia driver and have it work straight away. When it doesn't they will go back to their original os.

Why can't linux-headers-generic be added to the NVidia dependencies or added as a future update?

What Chris said in #8 is incorrect, as I got this issue on a clean installed 64-bit Ubuntu 12.10, installing the nVidia drivers through the Restricted Drivers control panel.

Mikko Saarinen (mikk0) wrote :

Can't you just make each new kernel version to be depended of it's header files so you would always have them installed?
Not all need them, but wouldn't that be a small price to pay?

Łukasz Mierzwa (l-mierzwa) wrote :

We have a bug, that can happen, no big deal. But it's 2 weeks later and everyone who installs Ubuntu 12.10 and selects Nvidia drivers still ends up with broken desktop. We could do better than that.

askuhn (askuhn) wrote :

A kernel update was suggested by the "software updater" today (Nov 5) and it broke my nvidia driver module again. If I weren't familiar with the terminal and what strings to pull to get things working, my 12.10 system would have essentially been broken by a stable update three weeks after launch day. Sorry if I'm just adding to the noise here, but I feel that breakage of graphics drivers (that worked in 12.04 and many prior releases) is a very significant problem. Thanks :)

Dr Belka (wmasters15) wrote :

Like askuhn, I received an update from the 3.5.0-17 kernel to the 3.5.0-18 kernel and my nvidia-current-updates driver would no longer work so I had to go install the correct generic headers and re-install the driver. PTL, I was not a novice and I knew how to fix this. This exact same thing happened YESTERDAY on my TWO other ubuntu/nvidia computers AND my friend's ubuntu/nvidia computer. This bug is a significant problem.

@Dr Belka
sudo apt-get install linux-source
sudo apt-get install linux-headers-generic

summary: - No way to specify correct dependencies for dkms packages
+ No way to specify correct dependencies for dkms packages (nvidia driver
+ install fails to get matching header)
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in software-properties (Ubuntu):
status: New → Confirmed
Hans Nieser (hnsr) wrote :

I wanted to also confirm that comment #8 is incorrect and this bug can be experienced with the "Additional Drivers" method of installing the NVIDIA binary driver as well. (As far as I can tell this would affect anyone with an NVIDIA wanting to use the binary drivers, but then I would expect this bug to see a lot more traffic)

I did a clean Ubuntu 12.10 install today and needed to install the NVIDIA binary driver due to nouveau causing GPU lockups shortly after bootup with my GTX580 (worked around with nomodeset).

So directly after installation I applied some updates, rebooted, and used the "Additional Drivers" screen to install the nvidia-current drivers. Rebooted again, but now Unity didn't seem to come up correctly (desktop was visible, but nothing else), and it appeared the nvidia kernel module wasn't loaded (not in 'lsmod' output), and wasn't found by doing a modprobe either.

I then finally got it working by installing the linux-headers and reinstalling nvidia-current as was suggested by a previous comment.

Hans Nieser (hnsr) wrote :

I need to elaborate my previous comment: I'm running 12.10 amd64, and those updates I installed did include a kernel update (3.5.0-18). It would seem that I did have linux-headers installed for the intially installed kernel (linux-headers-3.5.0-17), but the updates I installed did not include the kernel headers for the new kernel. So I'm guessing if I had installed the NVIDIA drivers before installing the updates, I might've been fine

mjau (mjau-deactivatedaccount) wrote :

This is a serious problem. A fresh install of Ubuntu 12.10 followed by switching to the Nvidia binary drivers will give you a completely blank desktop on next reboot. Someone new to Linux will have no idea what to do.

Steps to reproduce:
1. Do a new, clean install of Ubuntu 12.10, and boot into it. Optionally update packages to the latest versions, they don't fix anything as of this post.
2. System settings -> Software sources -> Additional drivers -> select and activate any binary Nvidia driver. Installation completes without any errors.
3. Reboot, log in if not automatic. You now have a blank desktop, the resolution is wrong, and nothing works (except ctrl-alt-f1).

description: updated
Changed in software-properties (Ubuntu):
importance: Undecided → High
Changed in dpkg (Ubuntu):
status: Confirmed → Triaged
Changed in software-properties (Ubuntu):
status: Confirmed → Triaged
Robin Hicks (hicksrobin42) wrote :

The AMD drivers are now working on my laptop, but the Nvidia drivers on my desktop are still down. 11.13.12

Peter Wu (lekensteyn) wrote :

Since 12.10, the kernel header packages for Ubuntu are not installed by default. This breaks all DKMS modules, including virtualbox and nvidia-current. I maintain the DKMS module "bbswitch" and it is tempting to add a dependency on "linux-headers-generic" because Ubuntu/dkms screws this up.

DKMS is used for building kernel modules, without headers it cannot do anything. In Raring, the dependency on linux-headers is completely removed, trusting the initial Ubuntu installer even more. Is this reasonable? I don't think so, the dependencies should be handled by dpkg, not by the installer. If DKMS cannot function without kernel headers, it MUST install kernel headers.

Doug McMahon (mc3man) wrote :

Well if they don't wish to install linux-headers-generic on a default Desktop install (Bug 1068488) or alter the deps on packages like nvidia-* to just linux-headers-generic instead of "linux-headers-generic | linux-headers" then having it in DKMS would seem reasonable

Changed in dkms (Ubuntu):
status: New → Confirmed
Mario Limonciello (superm1) wrote :

This was intentionally removed from DKMS (bug 960770).

Changed in dkms (Ubuntu):
status: Confirmed → Won't Fix
Andros83 (mail-ceandrea) wrote :

I've find this bug also in a recent update of 12.04.1.

After a kernel update my system ask to reboot and no nvidia driver after the boot with the new kernel.

....+1 FOR MICROSOFT WINDOWS ...... (told by a big linux fan.... :( sigh.....)



Changed in nvidia-graphics-drivers-updates (Ubuntu):
assignee: nobody → leandro kometani (leandro-kometani)
Daniel Hollocher (chogydan) wrote :

comment 7-8 is incorrect. You can test this by removing ALL packages that satisfy the linux-headers virtual dependency, and watch and nvidia-current* doesn't get removed. Then try re-installing nvidia-current, watch as no headers get installed.

Ernie 07 (ernestboyd) wrote :

PRETENDING that this bug does not exist will encourage a user to choose:
1. Dump Ubuntu
2. Dump Nvidia

So much time is being wasted DENYING that this bug exists that I am tempted to believe that fixing would have consumed less.

This sort of non-fix is exactly why I dumped all things MicroShaft.
Personally I would advocate dumping Nvidia due to an ongoing TRASHY driver record; but there are many who will just blame Ubuntu and continue to put up with the hassles associated with MicroShaft.

Ernie 07 (ernestboyd) wrote :

Would you rather own a car that reliably gets you through hills and curves with no problems or possess one with an outstanding list of features including the high probability that a wheel will fall off if the user (you or a loved one) fails to drive the car exactly the way the designers envisioned.

Perhaps having to power cycle the 64-bit workstation installation after it hangs in an Nvidia environment is not serious to a power user. Grandma might not be very impressed. Usability testing should have caught the Nvidia and AMD header problems early in development. Regression testing should have caught them prior to release.

If you don't have a method to verify that your changes work and have not broken anything important, those changes should not be made!

Personally, I have no issues doing some CLI work, but for the average user, this is a major deal breaker. The fact that this stupid bug still haven't been fixed is an embarrasment for anyone who advocates Linux desktop systems.

Not a single person who is considering using Ubuntu is going to get a new computer with AMD/Intel graphics, just because Ubuntu can't install the drivers right.

Everaldo Canuto (ecanuto) wrote :

Someone discussed with Ubuntu developers about this issue? Are you guys sure that it is correctly addressed?

I agree that it is very important to fix it but send more messages here and compain will not help. Tomorow I will chat with some Ubuntu developer and I think that it will be more productive.

Jeremy Bicha (jbicha) wrote :

The main underlying bug (bug 1070427) has been fixed in raring and for 12.04.2.

I can't believe Canonical is going to allow this bug to ship on the latest Ubuntu release available when steam goes live.
I know you have a problem anticipating how your actions will be percieved in the blogosphere, and are regularly caught with your foot in your mouths, but let me give you a prediciton:

This bug is going to make Ubuntu a laughing stock.

Hundreds perhaps thousands of brand new users will install Ubuntu for the first time to try steam out when the Valve announce Steam. And their first experience will be :

"OK guys,

Switch to a terminal (Ctrl-Alt-F1).

    Login as your username.

    Install linux source (sudo apt-get install linux-source) and headers (sudo apt-get install linux-headers-3.5.0-17-generic)....."

You do have a P.R. department, don't you?

Daniel Stutz (stu-dan) wrote :

Cause I'm using virtualbox I've installed the package linux-headers-3.5.0-17-generic. My system with nvidia GTX260 (packages nvidia-current + nvidia-settings from ppa:xorg-edgers) and dual monitor mode worked fine.

But yesterday I did a system software update. The update installed kernel 3.7 and broke the system.

Only one monitor (with bad resolution 1024x768) was active. There was only my custom wallpaper and mouse visible (no appmenu, no menu).

Ernie 07 (ernestboyd) wrote :

Nvidia can't/won't release drivers that will work with Ubuntu. Now What?

1. Deny that a problem exists.
2. Wait until Nvidia gets it act together, perhaps during this decade.
3. Massage Ubuntu to compensate for POORLY tested Nvidia products.

Ernie 07 (ernestboyd) wrote :

This bug STILL occurs in 64 bit 1304 (Raring) with kernel 3.8.0-0-generic.
Downloaded and tested today 2013-01_14

Changed in nvidia-graphics-drivers-updates (Ubuntu):
assignee: leandro kometani (leandro-kometani) → nobody
eric baumann (eric-schweiz) wrote :

I can't even boot; and i get the error messages: PGRAPH TLB flush idle timeout
So my question is: How do I even get to a terminal where I can enter the commands
which fix the thing?

gilad shahrabani (gilad2905) wrote :

was this fixed?
just upgraded from 12.04 to 12.10 and lost my desktop... :(

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers