Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 315141

Summary: All current ebuilds of nvidia-drivers in portage block xorg-sever-1.8
Product: Gentoo Linux Reporter: Robert Cabrera <robcab666>
Component: [OLD] UnspecifiedAssignee: Doug Goldstein (RETIRED) <cardoe>
Status: RESOLVED FIXED    
Severity: normal CC: boltomli, caster, cedric.godin, creffett, DarkNRG, deduktionstheorem, evert.gentoo, giovanni.bobbio, jlec, proteuss, schulz.benjamin, steffen.weber, tampakrap, tschenturs, x11
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Robert Cabrera 2010-04-13 23:38:56 UTC
As title states, all of the current ebuilds of x11-drivers/nvidia-drivers block any version of xorg-server greater than 1.7.99. Since xorg-server-1.8 is now in the portage tree this needs resolution. If all current nvidia-drivers are truly incompatible with the new xorg-server than it should be hard masked.

Reproducible: Always

Steps to Reproduce:
1.emerge -uav @world
2.
3.

Actual Results:  
output of emerge:
!!! One or more updates have been skipped due to a dependency conflict:

x11-base/xorg-server:0

  ('ebuild', '/', 'x11-base/xorg-server-1.8.0', 'merge') conflicts with
    <x11-base/xorg-server-1.7.99 required by ('installed', '/', 'x11-drivers/nvidia-drivers-195.36.15', 'nomerge')


Expected Results:  
successfully update my system including xorg-server

 ~ $ emerge --info
Portage 2.2_rc67 (default/linux/x86/10.0/desktop/kde, gcc-4.4.3, glibc-2.11-r1, 2.6.33-zen1 i686)
=================================================================
System uname: Linux-2.6.33-zen1-i686-Intel-R-_Pentium-R-_M_processor_2.26GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 13 Apr 2010 22:15:01 +0000
app-shells/bash:     4.1_p5
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5-r1
dev-util/cmake:      2.8.1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1
sys-devel/gcc:       4.4.3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /usr/share/config/kdm /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/skel /etc/splash /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests collision-protect distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.netnitco.net http://gentoo.osuosl.org/ http://gentoo.mirrors.tds.net/gentoo http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://gentoo.wetzlmayr.com/ http://osmirrors.cerias.purdue.edu/pub/gentoo/ http://www.cyberuse.com/gentoo/ http://gentoo.mirrors.hoobly.com/ ftp://gentoo.imj.fr/pub/gentoo/ http://130.59.10.35/ftp/mirror/gentoo/"
LANG="en_US.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j2 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi akonadi alsa apm audiofile autoipd avahi bash-completion berkdb binfilter bluetooth bonjour branding bzip2 cairo cdda cddax cddb cdio cdparanoia cdr cleartype cli clucene connection-sharing consolekit contrast corefonts cracklib crypt css cups custom-cflags custom-cpuopts custom-optimization cxx dbus dell designer-plugin desktopglobe dga dhclient dhcpcd dirac djvu dri dts dv dvb dvd dvdr ebook editor emboss emovix encode eselect exif extensions faac faad fam fame fat fbcon fbcondecor fbsplash ffmpeg firefox firefox3 flac fortran ftp fts3 gadu gcj gd gdbm ggi gif gimp git glibc-omitfp gmm gmp gnokii gnutls google-gadgets gphoto2 gpm graphite graphviz groupwise grub gtk hal handbook hotpixels httpd hyperestraier iconv icq id3tag ieee1394 imagemagick imlib indi inotify ioctl iodbc ipod ipv6 jabber jack java java6 javascript jce jingle joystick jpeg jpeg2k kate kde kerberos kig-scripting kipi konqueror kontact ladspa lame laptop lastfm lcdfilter lcms ldap lensfun libass libcaca libnotify libproxy libsamplerate libsysfs libtiger libv4l libv4l2 live lm_sensors logrotate lua lzma lzo mad matroska mdnsresponder-compat meanwhile mikmod mime mjpeg mmx mng modplug modules mozilla mp3 mp3tunes mp4 mpeg mplayer msn mtp mudflap musepack musicbrainz mysql mysqli ncurses networkmanager nls nntp npp nptl nptlonly nsplugin ntfs nvidia objc objc++ objc-gc odbc offensive ogg openal openexr opengl openmp optimized-qmake oscar otr pam pango pch pcmcia pcre pdf perl plasma pm-utils pmu png pnm policykit posix ppds ppp pppd python qalculate qt-dbus qt-webkit qt3support qt4 qtmultimedia qtscript quicktime radio raw rdesktop rdp readline reflection resolvconf rss rtc rtsp samba sasl scanner schroedinger sdl sdl-image secure-delete semantic-desktop session shout skins sms sndfile solver sox speex spell spl sql sqlite sse sse2 ssl startup-notification stream svg svga symlink sysfs system-sqlite taglib tcl tcpd templates theora threads thumbnail tidy tiff tk truetype twolame udev unicode usb v4l v4l2 vcd vcdinfo vcdx vhook vidix vlm vnc vorbis watchdog wavpack webpresence wicd wifi win32codecs windeco winpopup wma wma-fixed wmf wpd wpg wv2 wxwidgets wxwindows x264 x86 xanim xattr xcb xcomposite xinerama xml xmlpatterns xorg xscreensaver xulrunner xv xvid xvmc yahoo yv12 zeroconf zip zlib" ALSA_CARDS="intel8x0 intel8x0m" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" RUBY_TARGETS="ruby18" SANE_BACKENDS="epson epson2" USERLAND="GNU" VIDEO_CARDS="nv nvidia nouveau" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-04-13 23:46:58 UTC
It was the decision by the X11 team that proprietary drivers will not hinder progress in X.org packages. If you use proprietary drivers, you have to handle masking yourself.
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-04-13 23:48:45 UTC
*** Bug 315143 has been marked as a duplicate of this bug. ***
Comment 3 Andreas Proteus 2010-04-14 00:32:05 UTC
Apparently none of  nvidia-drivers support the xorg-server-1.8 ABI.
According to these:
http://forums.gentoo.org/viewtopic-p-6234182.html#6234182
http://www.nvnews.net/vbulletin/showthread.php?t=149721

nvidia-drivers-195.36.15 may work with xorg-server-1.8 if add the line 

Option "IgnoreABI" "on"  

to the serverlayout section of xorg.conf.

I did this and so far it works without problems,save some warnings in the logs.

I hope it helps.
Comment 4 Robert Cabrera 2010-04-14 01:57:33 UTC
(In reply to comment #1)
> It was the decision by the X11 team that proprietary drivers will not hinder
> progress in X.org packages. If you use proprietary drivers, you have to handle
> masking yourself.
> 

The x11 team may not want to hinder progress, fine and dandy, but the vast majority of Linux users who don't have some crappy onboard Intel graphics are using Nvidia, as only recently has ATI given any kind of decent Linux support. Therefore, you're alienating a majority of the installed base with this xorg-server release.

Frankly, I run the Gentoo OS not the "xorg OS", decisions made upstream shouldn't have to be mimicked here. There are hundreds of examples in the Gentoo repository where currently released "stable" applications are hardmasked here. Why is this being treated so much differently?

In reply to comment #3)
>nvidia-drivers-195.36.15 may work with xorg-server-1.8 if add the line 
>Option "IgnoreABI" "on"  
>to the serverlayout section of xorg.conf.
>I did this and so far it works without problems,save some warnings in the logs.
>I hope it helps.
>

I've tried this now and it appears to work, however this messes up portage. After forcibly installing the nvidia-drivers any subsequent emerge either wants to downgrade xorg-server or remove the nvidia-drivers for updates to proceed. This is a very dirty hack, IMHO.

On a project as large and as complex as Gentoo better, more thoughtful, consideration for end users should be taken into account before radical changes are made, IMHO.

Ciao
Comment 5 Andreas Proteus 2010-04-14 05:35:01 UTC
(In reply to comment #4)
> This is a very dirty hack, IMHO.
> 
> On a project as large and as complex as Gentoo better, more thoughtful,
> consideration for end users should be taken into account before radical changes
> are made, IMHO.

Dirty hack or not, it enables one to try xorg-server-1.8 until nvidia-drivers support fully the new ABI.
Alternativelly we mask ourselves xorg-server-1.8 and stop whining. 

Comment 6 Rémi Cardona (RETIRED) gentoo-dev 2010-04-14 06:42:18 UTC
This discussion comes up at _every_ release. It's systematic, like the sun rising every morning.

If we don't provide the new stuff, some users will be angry because they need it for their hardware to work.

If we do provide the new stuff, some users will be angry because it breaks binary drivers or it breaks existing hardware.

In the light of all this, I'm sure you'll agree that we _cannot_ please everyone. We just can't. So we take the most *pragmatic* approach, which is to provide the upgrade.

History has proven us that this approach was the best for the Gentoo Project and, down the road, for our users.

Now, NVidia has always been prompt in providing new drivers when new servers are released, I'm sure that will happen soon. And I'm certain Doug will do an outstanding job of putting it in portage like he always does.

So please, be a little patient and try to understand the situation from our side.

Thanks
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2010-04-14 09:44:20 UTC
*** Bug 315233 has been marked as a duplicate of this bug. ***
Comment 8 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2010-04-14 20:21:27 UTC
(In reply to comment #0)
> the portage tree this needs resolution. If all current nvidia-drivers are truly
> incompatible with the new xorg-server than it should be hard masked.

Why mask it for everyone when the blockers effectively masks it only for those that need the mask? I don't get it. Is the 'skipped update' warning something you can't bear to see, or what?

(In reply to comment #4)
> (In reply to comment #1)
> I've tried this now and it appears to work, however this messes up portage.
> After forcibly installing the nvidia-drivers any subsequent emerge either wants
> to downgrade xorg-server or remove the nvidia-drivers for updates to proceed.
> This is a very dirty hack, IMHO.

To avoid this, copy the nvidia-drivers package in a local overlay and remove the blocker there. Portage won't complain anymore then.
Comment 9 DarkNRG 2010-04-16 12:33:18 UTC
What about a USE flag like "ignoredABI", making the ebuild to ignore the block?
Comment 10 Stephan Friedrichs 2010-04-19 10:20:37 UTC
How long does it usually take nvidia to publish a driver compatible to the new xserver?
Comment 11 Doug Goldstein (RETIRED) gentoo-dev 2010-04-19 13:54:33 UTC
(In reply to comment #10)
> How long does it usually take nvidia to publish a driver compatible to the new
> xserver?
> 

Sometimes its before the release, sometimes its same day, sometimes its a few days. I have a feeling however that this will be a longer cycle because they're unable to give me a ballpark number.
Comment 12 Doug Goldstein (RETIRED) gentoo-dev 2010-04-20 15:32:00 UTC
There should be absolutely nothing that people have to do for this issue.

Portage 2.1.7.x supports backtracking which means everything will be handled fine. You will get a message that will say:

!!! One or more updates have been skipped due to a dependency conflict:

x11-base/xorg-server:0

  ('ebuild', '/', 'x11-base/xorg-server-1.8.0', 'merge') conflicts with
    <x11-base/xorg-server-1.7.99 required by ('installed', '/', 'x11-drivers/nvidia-drivers-195.36.15', 'nomerge')

And Portage won't upgrade xorg-server past 1.7.x and everything will continue to work fine. You just will have an extra message when you upgrade. Once a new version of nvidia-drivers is released that properly supports nvidia-drivers, I'll push it into the tree and everyone will get upgraded then.
Comment 13 Benjamin Schulz 2010-04-25 01:57:37 UTC
now a new nvidia driver prerelease is out that has official 1.8 abi:

http://www.nvnews.net/vbulletin/showthread.php?p=2239062

 195.36.24 for Linux x86/x86_64 released

    * Added support for the following GPUs:
          o GeForce GTX 480
          o GeForce GTX 470
          o Tesla C2050
    * Fixed a problem that caused occasional red flashes in XVideo frames.
    * Added official support for xserver 1.8. The -ignoreABI option is no longer required with this version of the server.
    * Updated the "Supported NVIDIA GPU Products" list to include various supported GPUs that were missing previously.


Comment 14 Benjamin Schulz 2010-04-25 02:04:34 UTC
seems that the ebuild jusr requires a name change to ***.24  
At least for me no other changes were required to emerge the new driver (amd64). 
Comment 15 Doug Goldstein (RETIRED) gentoo-dev 2010-04-25 04:31:03 UTC
I'm out of town, if someone wants to bump it go ahead. Make sure to set the next blocker at 1.8.99
Comment 16 Justin Lecher (RETIRED) gentoo-dev 2010-04-25 08:32:06 UTC
(In reply to comment #15)
> I'm out of town, if someone wants to bump it go ahead. Make sure to set the
> next blocker at 1.8.99
> 

done.
Comment 17 Evert 2010-05-15 15:07:31 UTC
(In reply to comment #6)
> In the light of all this, I'm sure you'll agree that we _cannot_ please
> everyone. We just can't. So we take the most *pragmatic* approach, which
> is to provide the upgrade.

Just a thought:
Would it be an idea to introduce new profiles for nvidia-drivers users which can be selected using eselect?
Something like:
  default/linux/x86/10.0/desktop/nvidia
  default/linux/x86/10.0/desktop/nvidia/gnome
  default/linux/x86/10.0/desktop/nvidia/kde
In these profiles, xorg-server versions incompatible to the current nvidia-drivers could be hard masked.

If this would be possible, it would not only make most nvidia-drivers users happy, but it would also reduce the number of discussions coming up at every release, saving everybody a lot of time.
Comment 18 Doug Goldstein (RETIRED) gentoo-dev 2010-07-13 05:29:22 UTC
Versions are bumped and stabled.

Not doing anything insane with profiles.