Depend on nvidia-common

Bug #704597 reported by Brandon Snider
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-meta (Ubuntu)
Fix Released
Medium
Martin Pitt

Bug Description

Binary package hint: nvidia-common

Nvidia-Common installs the file /usr/lib/nvidia/pre-install for the purpose of suppressing the Nvidia .run installer from working. The nvidia-installer is no longer compatible with Ubuntu as of Lucid and beyond. In fact it damages the xorg/mesa system (actually it always did) by overwriting files. Not enough users have the Nvidia-Common package for the pre-install script to do its work effectively. Thus they are breezily and apparently without considering or understanding the consequences using the nvidia-installer when using the recommended Jockey driver is the preferred method.

Since most users have Jockey-Common, if the file was in that package, it would stop nearly all users from casually damaging their systems by using the nvidia-installer. Additionally, the script can be overridden, without removing Jockey-Common.

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: nvidia-common 0.2.24
ProcVersionSignature: Ubuntu 2.6.35-24.42-generic 2.6.35.8
Uname: Linux 2.6.35-24-generic x86_64
NonfreeKernelModules: nvidia
Architecture: amd64
Date: Tue Jan 18 14:17:44 2011
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
ProcEnviron:
 LANG=en_CA.utf8
 SHELL=/bin/bash
SourcePackage: nvidia-common

Revision history for this message
Brandon Snider (brandonsnider) wrote :
Revision history for this message
Martin Pitt (pitti) wrote :

Actually I don't understand the request here. jockey-common already recommends nvidia-common, which means that nvidia-common is installed by default. As far as I understand the bug, the script should be installed by default, which is already the case. So why would it be better in jockey-common?

affects: nvidia-common (Ubuntu) → jockey (Ubuntu)
Changed in jockey (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
importance: Undecided → Medium
status: New → In Progress
affects: jockey (Ubuntu) → nvidia-common (Ubuntu)
Changed in nvidia-common (Ubuntu):
assignee: Martin Pitt (pitti) → nobody
status: In Progress → Incomplete
Revision history for this message
Brandon Snider (brandonsnider) wrote :

Martin, I guess what it boils down to is that I'm not as convinced as you are that nvidia-common is finding its way onto everybody's systems. I have been on IRC and observing forum posts going back to the Lucid cycle, when the script was added, and there have been people every day talking about how they used the nvidia-installer. I have asked some of them if they have nvidia-common and they said "no".

I'd actually like to see the script attached to a package that cannot be removed.

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 704597] Re: Please move pre-install script to jockey-common

Brandon Snider [2011-02-15 20:57 -0000]:
> I'd actually like to see the script attached to a package that cannot be
> removed.

That would mean that you wouldn't have a chance, ever, to try the
upstream installer.

You can remove jockey just as well. But anyway, I don't mind much
moving it there, it'd just fit a bit better in nvidia-common, and if
people uninstall stuff, then they should know what they are doing..
:-)

Thanks, Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)

affects: nvidia-common (Ubuntu) → jockey (Ubuntu)
Changed in jockey (Ubuntu):
status: Incomplete → In Progress
Revision history for this message
Martin Pitt (pitti) wrote : Re: Please move pre-install script to jockey-common

Another point is, if people uninstall nvidia-common, they won't be able to install the packaged nvidia driver through jockey, as jockey needs nvidia-common to do the detection for nvidia.

Changed in jockey (Ubuntu):
status: In Progress → Triaged
Revision history for this message
Alberto Milone (albertomilone) wrote :

I guess the idea was to prevent users from installing the nvidia driver from the Nvidia installer unless they know exactly why they are using the installer vs our packages (or the ones from the x-updates PPA) and therefore should know how to 1) override our script and 2) fix their system is something goes wrong.

A reason for having the script in Jockey (even though I admit it's not a strong argument), is the fact that some users tend to remove nvidia-common either because they think it is some sort of nvidia driver that doesn't work or because it gets caught when doing something like "apt-get remove nvidia-*".

Of course I'm open to better solutions.

Revision history for this message
Brandon Snider (brandonsnider) wrote :

"That would mean that you wouldn't have a chance, ever, to try the
upstream installer."

There is a command-line option that can be used to override the script and proceed with the nvidia-installer. But as Alberto says above, if someone has gotten to that point, they obviously know exactly what they are doing.

The only other option I can think of is to tie nvidia-common harder to the system using a Depends on the big metapackages (ubuntu-desktop et al.)

Revision history for this message
Martin Pitt (pitti) wrote :

I'm not that fussed on the implementation details (move script to jockey or make dependency stronger). I was just wondering what the "user experience" here should be: should it be possible to remove nvidia-common and install the upstream driver? I think it should.

I'm also happy to just bump jockey's recommends: nvidia-common to Depends:. That should make it a lot harder to accidentally uninstall nvidia-common, and thus effectively do the same as moving the flag file, but (1) avoiding the Replaces:, and also keeping the nvidia bits together in nvidia-common.

summary: - Please move pre-install script to jockey-common
+ Depend on nvidia-common
Changed in jockey (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: Triaged → Fix Committed
Revision history for this message
Brandon Snider (brandonsnider) wrote :

"should it be possible to remove nvidia-common and install the upstream driver? I think it should."

I disagree. The changes to the nvidia packaging scripts that happened starting with Lucid were not done just to clean them up (the old ones were messy) -- they were done to make it safer and easier to switch between drivers when necessary. It is known that the nvidia-installer actually overwrites and destroys some xorg/mesa files. Now, as long as the user continues to use the nvidia-installer forever this is no problem. But if they ever want to switch to Nouveau or Vesa or whatever (maybe they change graphics cards) they may actually have to do a wipe/reload.

The nvidia-installer is a blunt-force instrument whose purpose is to get its driver working to the exclusion of everything that might dare to stand in its way. My belief is that most users do not understand any of this and are doing dangerous things, they wrongly believe are trivial, without understanding the implications of their actions.

The Mandriva/Ubuntu packaging scripts make it easy and safe to switch between drivers without overwriting anything, just with a couple of clicks. Now, all of that said, if someone has gone to the trouble of researching the command-line override that I mentioned earlier, they're still going to damage their system by using the nvidia-installer, but at least they know that.

Nvidia itself seems to be aware of all of this and doesn't recommend using its installer: http://www.nvnews.net/vbulletin/showthread.php?t=72490

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package jockey - 0.9-0ubuntu3

---------------
jockey (0.9-0ubuntu3) natty; urgency=low

  * debian/control: Move nvidia-common from Recommends: to Depends:
    (LP: #704597)
  * jockey/oslib.py, install_packages(): Fix crash with third-party
    repositories that do not have a trusted origin. (LP: #712685)
  * Merge fixes from trunk:
    - Add --no-dbus UI option. This will use a local Backend instance
      instead of communicating with the D-BUS backend interface. This is
      suitable for installers where jockey needs to run in a chroot.
      (LP: #723223)
    - ui.py: Drop __fix_stdouterr(), we are using gettext in unicode
      mode, and this leads to crashes with --help.
    - ui.py: Show translated driver names with --list
 -- Martin Pitt <email address hidden> Wed, 23 Feb 2011 11:53:31 +0100

Changed in jockey (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Have to revert this. I'll seed it instead.

jockey (0.9.1-0ubuntu4) natty; urgency=low

  * debian/control: Move nvidia-common back to Recommends, as this is only
    available on i386/amd64, and we can't do arch specific dependencies for
    arch:all packages. (Reopens #704597)

 -- Martin Pitt <email address hidden> Mon, 28 Feb 2011 12:12:08 +0100

affects: jockey (Ubuntu) → ubuntu-meta (Ubuntu)
Changed in ubuntu-meta (Ubuntu):
status: Fix Released → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-meta - 1.217

---------------
ubuntu-meta (1.217) natty; urgency=low

  * Refreshed dependencies
  * Added libreoffice-style-human to desktop-recommends [amd64 i386
    powerpc]
  * Added nvidia-common to desktop [amd64 i386] (LP: #704597)
  * Removed libreoffice-style-tango from desktop-recommends [amd64 i386
    powerpc]
 -- Martin Pitt <email address hidden> Mon, 28 Feb 2011 12:21:50 +0100

Changed in ubuntu-meta (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.