Should Depend: on appropriate xserver-xorg-video-$ABI

Bug #616214 reported by Chris Halse Rogers
56
This bug affects 9 people
Affects Status Importance Assigned to Milestone
nvidia-graphics-drivers (Ubuntu)
Fix Released
Medium
Alberto Milone
Maverick
Fix Released
Undecided
Unassigned
nvidia-graphics-drivers-173 (Ubuntu)
Fix Released
Medium
Alberto Milone
Maverick
Fix Released
Undecided
Unassigned
nvidia-graphics-drivers-96 (Ubuntu)
Fix Released
Medium
Alberto Milone
Maverick
Fix Released
Undecided
Unassigned

Bug Description

The nvidia-current package does not depend on any particular server ABI, allowing it to be installed onto an incompatible X server.

The dependency system for Xorg changed in 1.7.6.901 (in Debian, 1.8 in Ubuntu). The X server no longer declares a Breaks: against every possible ABI it does not support. Instead, it Provides: a video and input ABI, and drivers are expected to depend on this ABI.

This was also accompanied by a change in where xserver-xorg-core-dev stored its dependency information; it's no longer in /usr/share/xserver-xorg/serverminver.

The relevant fragment from xsfbs.mk is:
# Compute dependencies for drivers
#
VIDEODEP = $(shell cat /usr/share/xserver-xorg/videodrvdep 2>/dev/null)
INPUTDEP = $(shell cat /usr/share/xserver-xorg/xinputdep 2>/dev/null)

# these two can be removed post-squeeze
VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null)
INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null)
VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI), xorg-driver-video
INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI), xorg-driver-input

ifeq ($(PACKAGE),)
PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control)
endif

.PHONY: serverabi
serverabi: install
ifeq ($(VIDEODEP),)
        @echo 'error: xserver-xorg-dev >= 1.7.6.901 needs to be installed'
        @exit 1
else
        echo "xviddriver:Depends=$(VIDEODEP)" >> debian/$(PACKAGE).substvars
        echo "xinpdriver:Depends=$(INPUTDEP)" >> debian/$(PACKAGE).substvars
        # the following is there for compatibility...
        echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
        echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
        echo "xserver:Depends=$(VIDEODEP), $(INPUTDEP)" >> debian/$(PACKAGE).substvars
endif

Revision history for this message
Chris Halse Rogers (raof) wrote :

Assigning to you so that you see it easily.

Changed in nvidia-graphics-drivers (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → Alberto Milone (albertomilone)
Revision history for this message
Alberto Milone (albertomilone) wrote :

Yes, my changes are already here but I haven't uploaded the driver yet: http://github.com/tseliot/nvidia-graphics-drivers

I'll mention this bug report in the changelog.

Changed in nvidia-graphics-drivers (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nvidia-graphics-drivers - 256.44-0ubuntu1

---------------
nvidia-graphics-drivers (256.44-0ubuntu1) maverick; urgency=low

  * debian/rules:
    - Switch to new xsfbs variables to get the xserver ABI
      (LP: #616214).
  * debian/nvidia-current.dirs.in:
    - Remove duplicate line.
  * New upstream release:
    - Added Support for GeForce GTX 460.
    - Added Support for Quadro 4000, Quadro 5000, and Quadro 6000.
    - Fixed VDPAU to not print a debug error message when calling
      VdpVideoMixerQueryFeatureSupport with an unsupported or
      unknown VdpVideoMixerFeature.
    - Removed the requirement that in TwinView passive stereo,
      MetaModes must have identical viewports on each monitor.
    - Removed the requirement that in active stereo, all monitors
      must use identical modetimings.
    - Enhanced VDPAU to better report certain kinds of
      initialization error.
    - Fixed a regression that caused Xv to return BadAlloc errors
      on AGP systems when using the AGP GART driver contained in
      the NVIDIA driver.This fixes the problem reported in
      nvnews.net thread 151199.
   * This release still doesn't report to be compatible with the
     new xserver ABI but works fine if the ignoreABI option is
     set in xorg.conf.
 -- Alberto Milone <email address hidden> Fri, 13 Aug 2010 14:28:27 +0200

Changed in nvidia-graphics-drivers (Ubuntu):
status: In Progress → Fix Released
Changed in nvidia-graphics-drivers-96 (Ubuntu):
status: New → Confirmed
Changed in nvidia-graphics-drivers-173 (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Changed in nvidia-graphics-drivers-96 (Ubuntu):
importance: Undecided → Medium
Changed in nvidia-graphics-drivers-173 (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Changed in nvidia-graphics-drivers-96 (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Revision history for this message
NoOp (glgxg) wrote :

Any update on nvidia-96 and maverick (10.10)? The 10.10 release date is drawing near & still no working nvidia-96 in maverick. Quite a few legacy cards will be affected by this issue:

====
http://www.nvidia.com/object/linux-display-ia32-96.43.18-driver.html
GeForce 4 MX series:
MX 440, MX 440 (AGP 8X), MX 420 (AGP 8X), MX 420, MX 440-SE, MX
Integrated GPU, MX 460, MX 440SE (AGP 8X), MX 4000

Quadro NVS series:
NVS 285, NVS 55/280 PCI, NVS 210, NVS 420, NVS 450, NVS 50, NVS 295, NVS
280, NVS 440, NVS 290

Quadro 4 Go series:
500 GoGL, 550 XGL, 700 GoGL

Quadro 2 Go series:
MXR/EX/Go

GeForce 4 Ti series:
Ti 4800, Ti 4800 SE, Ti 4400, Ti 4200 (AGP 8X), Ti 4200, Ti 4600

GeForce 2 series:
Ti 200, GeForce3, Ti 500

Quadro 2 MXR series:
Quadro2 MXR/EX/Go
====

Including my machines with nVidia NV25GL [Quadro4 900 XGL] cards in them.

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

This bug was fixed in the package nvidia-graphics-drivers-173 - 173.14.28-0ubuntu1

---------------
nvidia-graphics-drivers-173 (173.14.28-0ubuntu1) maverick; urgency=low

  * New upstream release:
    - Add support for X.Org xserver 1.9 (LP: #626918).
  * debian/rules:
    - Switch to new xsfbs variables to get the server ABI
      (LP: #616214).
  * debian/nvidia-173.postinst{.in}:
    - Call dpkg-trigger with "--by-package".
  * debian/dkms/patches/nvidia-2.6.36-ioctl.patch:
    - Add compatibility with kernel 2.6.36.
 -- Alberto Milone <email address hidden> Mon, 04 Oct 2010 14:11:43 +0200

Changed in nvidia-graphics-drivers-173 (Ubuntu):
status: Confirmed → Fix Released
Changed in nvidia-graphics-drivers-96 (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Alberto, please fix the 96 driver for natty as well, so that this can go to -updates.

Changed in nvidia-graphics-drivers (Ubuntu Maverick):
status: New → Fix Released
Changed in nvidia-graphics-drivers-173 (Ubuntu Maverick):
status: New → Fix Released
Changed in nvidia-graphics-drivers-96 (Ubuntu Maverick):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted nvidia-graphics-drivers-96 into maverick-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Revision history for this message
Chris Halse Rogers (raof) wrote :

This got partially fixed, but not totally - nvidia-current should Depend on ${xviddriver:Depends}, which will contain the appropriate ABI dependency.

This means that when we upload Xserver 1.10, the nvidia packaging won't notice and will allow the upgrade to go through without complaint, but the nvidia driver won't load against the new Xserver.

Changed in nvidia-graphics-drivers (Ubuntu):
status: Fix Released → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nvidia-graphics-drivers-96 - 96.43.19-0ubuntu1

---------------
nvidia-graphics-drivers-96 (96.43.19-0ubuntu1) maverick-proposed; urgency=low

  * New upstream release:
    - Switch to new xsfbs variables to get the server ABI
      (LP: #616214).
    - Add support for X.Org xserver 1.9 (LP: #626974).
  * debian/nvidia-96.postinst{.in}:
    - Call dpkg-trigger with "--by-package".
  * debian/dkms/patches/nvidia-2.6.36-ioctl.patch:
    - Add compatibility with kernel 2.6.3{6|7}.
 -- Alberto Milone <email address hidden> Sat, 20 Nov 2010 17:36:13 +0100

Changed in nvidia-graphics-drivers-96 (Ubuntu Maverick):
status: Fix Committed → Fix Released
Changed in nvidia-graphics-drivers (Ubuntu):
status: Confirmed → In Progress
Changed in nvidia-graphics-drivers-173 (Ubuntu):
status: Fix Released → In Progress
Revision history for this message
Alberto Milone (albertomilone) wrote :

I've just committed my changes to nvidia-current in my git branch. Here's the relevant commit:
https://github.com/tseliot/nvidia-graphics-drivers/commit/89974d6226f2740287384655f11f93813d5dbebf

I'll upload my changes when we get a driver that is compatible with Natty.

Changed in nvidia-graphics-drivers (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.3 KiB)

This bug was fixed in the package nvidia-graphics-drivers - 270.29-0ubuntu1

---------------
nvidia-graphics-drivers (270.29-0ubuntu1) natty; urgency=low

  * New upstream release:
    - Added official support for xserver 1.10. The -ignoreABI option
      is no longer required with this version of the server.
    - Updated the NVIDIA kernel module to ensure that all system memory
      allocated by it for use with GPUs or within user-space components of the
      NVIDIA driver stack is initialized to zero. A new NVIDIA kernel module
      option, InitializeSystemMemoryAllocations, allows administrators to
      revert to the previous behavior.
    - Added preliminary support for xserver 1.10.
    - Reorganized the NVIDIA driver's /proc file system layout to better
      reflect current needs: /proc/driver/nvidia/cards/0..N has been
      moved to /proc/driver/nvidia/gpus/0..N/information
    - Added new shared library: libnvidia-ml.so.
    - NVML provides programmatic access to static information and monitoring
      data for NVIDIA GPUs, as well as limited managment capabilities. It is
      intended for use with Tesla compute products. See web-based
      documentation and associated nvml.h header for more info.
    - Added a new X configuration option "3DVisionDisplayType" to specify
      the display type when NVIDIA 3D Vision is enabled with a non
      3D Vision ready display.
    - Fixed several bugs relating to hardware-accelerated gradients, which were
      causing visual corruption in some of the default Ubuntu GNOME themes.
    - Modified colormap updates to no longer be synchronized to vblank. This
      allows applications to send XStoreColor and XStoreColors requests faster
      than the screen's refresh rate. This behavior can be controlled by a new
      NV-CONTROL attribute, NV_CONTROL_SYNC_LUT_UPDATES. By default, LUT updates
      are not synchronized. This may cause flickering in some applications that
      use the colormap to perform animation, such as xpilot running on a depth 8
      X screen. If you experience flickering, try running:
      nvidia-settings -a [gpu:0]/SynchronousPaletteUpdates=1
    - Added support for the following GPUs:
      o GeForce GTX 560 Ti
    - Added NV-CONTROL event notification for NV_CTRL_FRAMELOCK_SYNC_READY status
      changes.
    - Added a new X configuration option "Interactive", which defaults to enabled,
      but can be disabled to allow long-running GPU compute programs to run
      concurrently with X.
    - Fixed a bug in the VDPAU presentation queue that could cause VDPAU "display
      preemption" when rendering to tiny or zero-sized windows or pixmaps.
    - Fixed a bug in VDPAU which prevented use of the overlay presentation queue
      following an application exiting without gracefully destroying its VDPAU
      presentation queue.
  * debian/control{.in}:
    - Depend on ${xinpdriver:Depends} (LP: #616214).
  * debian/nvidia-current.postrm{.in}:
    - Make sure that the driver's directory is removed (LP: #540143).
  * debian/nvidia-current.links{32}{.in}:
    - Add links to libnvcuvid*.so* and to libnvidia-ml*.so* for both 32bit
      and 64bit (LP: #704607).
  * debia...

Read more...

Changed in nvidia-graphics-drivers (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
MyR (myr-jedi) wrote :

Currently there is no nvidia-96 driver compatible with natty, correct?

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 616214] Re: Should Depend: on appropriate xserver-xorg-video-$ABI

MyR [2011-05-03 18:56 -0000]:
> Currently there is no nvidia-96 driver compatible with natty, correct?

Right.

Bryce Harrington (bryce)
Changed in nvidia-graphics-drivers-96 (Ubuntu):
status: In Progress → Fix Released
Changed in nvidia-graphics-drivers-173 (Ubuntu):
status: In Progress → 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.