Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 176135 - nvidia-drivers does not install nvidia-xconfig utility
Summary: nvidia-drivers does not install nvidia-xconfig utility
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: X11 External Driver Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-26 16:15 UTC by Doug Goldstein (RETIRED)
Modified: 2007-07-19 18:45 UTC (History)
14 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
nvidia-drivers-100.14.03.ebuild (nvidia-drivers-100.14.03.ebuild,12.73 KB, text/plain)
2007-04-26 17:42 UTC, Paul Bredbury
Details
nvidia-drivers-100.14.03.ebuild (nvidia-drivers-100.14.03.ebuild,12.84 KB, text/plain)
2007-04-29 20:52 UTC, Paul Bredbury
Details
nvidia-drivers-100.14.03.ebuild (nvidia-drivers-100.14.06.ebuild,14.17 KB, text/plain)
2007-05-11 04:32 UTC, Paul Bredbury
Details
nvidia-drivers-100.14.09.ebuild (nvidia-drivers-100.14.09.ebuild,13.94 KB, text/plain)
2007-06-08 19:05 UTC, Paul Bredbury
Details
Graphics card supported with driver 7485 (7185.txt,6.33 KB, text/plain)
2007-06-08 19:35 UTC, cruzki
Details
Graphics card supported with driver 9639 (9639.txt,8.41 KB, text/plain)
2007-06-08 19:35 UTC, cruzki
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Doug Goldstein (RETIRED) gentoo-dev 2007-04-26 16:15:04 UTC
the nvidia-drivers package doesn't install the nvidia-xconfig package. Also technically it should probably provide nvidia-settings rather then our source based once since I've heard the binary one is better tuned to each driver set and comes out more often the source based one.
Comment 1 Paul Bredbury 2007-04-26 17:16:48 UTC
For xconfig, see bug #129446.
Comment 2 Paul Bredbury 2007-04-26 17:42:35 UTC
Created attachment 117320 [details]
nvidia-drivers-100.14.03.ebuild

Installs nvidia-settings and nvidia-xconfig. Works on x86.
Comment 3 Hal Engel 2007-04-28 16:03:49 UTC
I have been running this for a few days on an amd64 machine and it appears to be working fine.
Comment 4 MATSUYAMA Tomohiro 2007-04-29 07:01:58 UTC
I have also tried to run on an amd64 machine with gtx8800 and it works fine.

According to NVIDIA_ChangeLog, 100.14.13 supports SLI with gtx8800 but unfortunately I don't have another gtx8800 to test.

NVIDIA_ChangeLog:
    * Added support for Quadro FX 4600 and Quadro FX 5600.
    * Added support for SLI with GeForce 8800, Quadro FX 4600,
      and Quadro FX 5600.

The problem that windows will be filled with black suddenly seems to have been fixed but it is not certain.

Comment 5 Paul Bredbury 2007-04-29 20:52:30 UTC
Created attachment 117671 [details]
nvidia-drivers-100.14.03.ebuild

Added checks that "nvidia" and "libGL.la-r2" are present in $FILESDIR, otherwise they are installed as empty files, causing people like me to make stupid errors as in bug #176423.
Comment 6 Georg Sahli 2007-05-02 12:07:03 UTC
I did try this new ebuild example from Bredbury and again did run into this sandbox failure:
http://bugs.gentoo.org/show_bug.cgi?id=176791
http://bugs.gentoo.org/show_bug.cgi?id=135745
Comment 7 Christophe 2007-05-09 17:06:11 UTC
Because nvidia-settings is now installed by this package. Sensors-applet which depends on it and requires some header files failed to build.

checking for NVCtrl/NVCtrl.h... no
checking for NVCtrl/NVCtrlLib.h... no
configure: error: The NV-CONTROL header files cannot be found! make sure you have installed nvidia-settings.

Not sure which package should install those. It would seem logical that nvidia-drivers would do.
Comment 8 Paul Bredbury 2007-05-11 04:32:57 UTC
Created attachment 118826 [details]
nvidia-drivers-100.14.03.ebuild

(In reply to comment #7)
> checking for NVCtrl/NVCtrl.h... no
> checking for NVCtrl/NVCtrlLib.h... no

The nvidia-drivers source file does not contain those headers.

This ebuild includes all of nvidia-settings also, using the nvidia-settings executable from nvidia-drivers.
Comment 9 dark_mail 2007-05-12 23:34:02 UTC
I just ran across this filesdir problem:

!!! ERROR: x11-drivers/nvidia-drivers-100.14.03 failed.
Call stack:
  ebuild.sh, line 1614:   Called dyn_install
  ebuild.sh, line 1060:   Called qa_call 'src_install'
  environment, line 4333:   Called src_install
  nvidia-drivers-100.14.03.ebuild, line 230:   Called die

!!! nvidia missing in FILESDIR

I'm somewhat lost as of what I can do to solve this problem, as I don't know what's supposed to be in "nvidia".

(By the way:
The ebuild should download "NVIDIA_glx-defines.patch" and "NVIDIA_glx-glheader.patch" to the files directory if needed, so it doesn't complain about their absence during epatch.)


emerge --info
Portage 2.1.2.2 (default-linux/x86/2007.0/desktop, gcc-4.1.1, glibc-2.5-r2, 2.6.21.1 i686)
=================================================================
System uname: 2.6.21.1 i686 AMD Athlon(tm) XP 1700+
Gentoo Base System release 1.12.9
Timestamp of tree: Sat, 12 May 2007 22:30:10 +0000
ccache version 2.4 [disabled]
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.3.5-r3, 2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ ftp://gentoo.inode.at/source/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ rsync://mirrors.sec.informatik.tu-darmstadt.de/gentoo"
LANG="de_DE@euro"
LC_ALL="de_DE@euro"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 7zip X a52 acl acpi alsa amarok arj asf bash-completion berkdb binary-drivers bitmap-fonts blender-game bzip2 cairo cal3d canna cdparanoia cdr cegui cg chroot cjk cli connectionstatus cracklib crypt cscope css cups dbus de_tvtoday devil dia divx dmi dri dv dvd dvdr dvdread eds effects emboss enca encode evo exif fam fame fat firefox flac fortran ftp fuse gdbm gif gimp gimpprint gpm gstreamer gtk hal hddtemp highlight history iconv icq imagemagick immqt-bc inkjar ipv6 isdnlog ivtv jpeg jpeg2k kde kerberos latex latin1 ldap libclamav libg++ lm_sensors logitech-mouse logrotate mad midi mikmod mmx mmxext mng mozilla mozsvg mp3 mpeg mplayer ncurses no-old-linux no-seamonkey nowlistening nptl nptlonly ntfs nuv nvidia offensive ogg ogre on-the-fly-crypt openal openexr opengl oscar oss pam parse-clocks pcre pdf perl plotutils plugin png posix postproc postscript povray ppds pppd print python qt3support qt4 quicktime rdesktop readline real realmedia reflection reiser4 reiserfs replytolist samba scanner sdl session spell spl sse sse2 ssl startup-notification subtitles svg swat symlink tcpd tetex texteffect theora tidy tiff truetype truetype-fonts tta tv_check type1-fonts unicode usb userlocales v4l v4l2 vcd vim vim-syntax vim-with-x visualization vorbis win32codecs winpopup wireshark wma wmf wmp x86 xcb xcomposite xine xml xorg xpm xv xvid xvmc zip zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" LIRC_DEVICES="hauppauge" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 10 Paul Bredbury 2007-05-12 23:50:28 UTC
Get the files from:

/usr/portage/x11-drivers/nvidia-drivers/files/
/usr/portage/media-video/nvidia-settings/files/icon/

FILESDIR is *not* a directory that ebuilds put files into. This is a test of your knowledge of how ebuilds work ;)
Comment 11 Paul Bredbury 2007-05-22 13:55:55 UTC
Comment on attachment 118826 [details]
nvidia-drivers-100.14.03.ebuild

Renamed from 03 to 06, for version bump.
Comment 12 crusaderky 2007-05-25 10:59:22 UTC
nvidia-drivers-100.14.06 works fine with my 8600GTS.

It's critical that these drivers go into portage, as they're the only ones to support 8600 and 8500 video cards!!!

Comment 13 Hans Rakers 2007-05-29 08:38:31 UTC
Just tested attached nvidia-drivers-100.14.03.ebuild on x86/GF6600 PCIe. Renamed it to nvidia-drivers-100.14.06.ebuild. Emerges and works fine!

Also note that >=nvidia-drivers-100.14.03 fixes the slow scrolling with AA fonts/subpixel rendering in konsole and konqueror etc.!
Comment 14 Hal Engel 2007-05-30 17:53:43 UTC
Renaming this to nvidia-drivers-100.14.06.evuild does not work for me.  I get the following error message:

>>> Install nvidia-drivers-100.14.06 into /var/tmp/portage/x11-drivers/nvidia-drivers-100.14.06/image/ category x11-drivers
 * Installing nvidia module

!!! ERROR: x11-drivers/nvidia-drivers-100.14.06 failed.
Call stack:
  ebuild.sh, line 1615:   Called dyn_install
  ebuild.sh, line 1061:   Called qa_call 'src_install'
  ebuild.sh, line 44:   Called src_install
  nvidia-drivers-100.14.06.ebuild, line 230:   Called die

!!! nvidia missing in FILESDIR

Comment 15 Doug Goldstein (RETIRED) gentoo-dev 2007-05-30 18:04:42 UTC
When you copy it to your own overlay, you need to remember to copy over the FILESDIR
Comment 16 Hal Engel 2007-06-02 02:11:17 UTC
I did copy FILESDIR.  I also double checked to make sure I had everything in FILESDIR and I do.  This whole thing is strange as I was able to get the 100.14.03 ebuild to work a few weeks back.  I did have a significant issue with it though and I backed it out.  So I was surprised that this one failed to install.
  
Comment 17 Paul Bredbury 2007-06-08 19:05:56 UTC
Created attachment 121512 [details]
nvidia-drivers-100.14.09.ebuild

More little formatting tidyups. Version bump. Changelog:
http://www.nvidia.com/object/linux_display_ia32_100.14.09.html
Comment 18 Doug Goldstein (RETIRED) gentoo-dev 2007-06-08 19:14:01 UTC
I actually have an ebuild all written up and ready to commit. The only problem I have is now nvidia has 2 sets of legacy drivers and I'm not sure how to handle the versioning.

I've been planning on writing an eclass to handle everything via lspci to check out your graphics card however, I first need to find a list of what cards are supported by each driver and what's dropped from support. I'm sure it's out there but I haven't looked.

Essentially the idea is to make a call out to lspci during pkg_setup and inform people what they should mask in their /etc/portage/package.mask for the best support. i.e. if their card is only supported up the the 96xx series it would inform them they need to mask 9700 and higher.
Comment 19 cruzki 2007-06-08 19:33:44 UTC
In the appendix A of the README of every package there is a List of Card that it's supported. I attach them.
Comment 20 cruzki 2007-06-08 19:35:13 UTC
Created attachment 121515 [details]
Graphics card supported with driver 7485
Comment 21 cruzki 2007-06-08 19:35:41 UTC
Created attachment 121516 [details]
Graphics card supported with driver 9639
Comment 22 Sergey Belyashov 2007-06-10 13:03:59 UTC
(In reply to comment #18)
> I've been planning on writing an eclass to handle everything via lspci to check
> out your graphics card however, I first need to find a list of what cards are
> supported by each driver and what's dropped from support. I'm sure it's out
> there but I haven't looked.
> 
> Essentially the idea is to make a call out to lspci during pkg_setup and inform
> people what they should mask in their /etc/portage/package.mask for the best
> support. i.e. if their card is only supported up the the 96xx series it would
> inform them they need to mask 9700 and higher.
> 

Imho, this is too dificult. I have anover idea.
May be it's need add new VIDEO_CARDS flags for nvidia-driver, for examle:
tnt, tnt2, gf, gf2, gf3, gf4, gf5, gf6, gf7, gf8, etc.
Ebuild should detect compatibility of flags (for example, gf6 and gf8 are compatible, but tnt and gf8 are not) and build best driver for them.
This is not very accurate, but it helps to provide working for most people nvidia driver via one ebuild and without any masking/unmasking.
Ebuild version should be set from latest NVIDIA package (currently 100.14.09).
As You say ebuild may detect via lspci (if present) real videocard and inform user about best chooice of flags. But when I build for slow machine new gentoo system in chroot at my host this driver should not break emerge.
Also it is possible to keep nvidia-legacy-driver ebuilds which can helps user build specific version of driver. But all nvidia-legacy-driver ebuilds should be arch-masked by default.
Comment 23 Lasse Kärkkäinen 2007-06-11 17:19:45 UTC
I'd prefer being able to install different drivers in slots, and perhaps even autodetect the hardware on X startup, but this is probably difficult to implement in practice. This would allow one system (LiveUSB) to boot on any Nvidia card.
Comment 24 Sergey Belyashov 2007-06-11 17:45:36 UTC
(In reply to comment #23)
> I'd prefer being able to install different drivers in slots, and perhaps even
> autodetect the hardware on X startup, but this is probably difficult to
> implement in practice. This would allow one system (LiveUSB) to boot on any
> Nvidia card.

And this method reduce loading speed of system.
Comment 25 Doug Goldstein (RETIRED) gentoo-dev 2007-06-12 16:14:00 UTC
(In reply to comment #23)
> I'd prefer being able to install different drivers in slots, and perhaps even
> autodetect the hardware on X startup, but this is probably difficult to
> implement in practice. This would allow one system (LiveUSB) to boot on any
> Nvidia card.
> 

While this is possible because Nvidia exports the proper kernel interface. They do not provide a wrapper as would be necessary for the X.org bits. They also hardset a lot of paths that they use. If this was a source based driver, it would be possible however since it's binary based it's not possible.
Comment 26 Chris Gianelloni (RETIRED) gentoo-dev 2007-06-14 19:05:33 UTC
Doug, my plan was to put the drivers all under nvidia-drivers.  I am not really concerned with "fixing" upstream's stupidity.  My plan was to get the newer nvidia-legacy-drivers (7185) into the tree, then to get the newer nvidia-drivers into the tree, then stabilize the last 96xx series, since it still has support for all the cards, with the newer drivers staying ~arch.  Basically, I wasn't going to let any ideas/decisions on the three branches keep the drivers out of the tree.  Also, I think the lspci idea isn't the best, since, as stated by others, it breaks if you do builds on another system, like I do.
Comment 27 cruzki 2007-06-14 19:26:47 UTC
and whats the problem in setting different VIDEO_CARDS uses flaags? With the ati driver it's doing in that form, isn't? there are a r128 and a radeon useflag.
Comment 28 Doug Goldstein (RETIRED) gentoo-dev 2007-06-14 19:38:39 UTC
Chris: I wouldn't error out based on the lspci results. It would be more of a:

ewarn "The video card driver you are compiling is known not to work"
ewarn " with the currently installed video card"
ewarn "If you intend to use this card it is recommended you add the following"
ewarn "mask to /etc/portage/package.mask"
ewarn "mask here"
Comment 29 Chris Gianelloni (RETIRED) gentoo-dev 2007-06-15 01:04:48 UTC
The ATI stuff builds different drivers.  (Ab)using VIDEO_CARDS for that isn't the best solution, since it doesn't change the build-time, at all.
Comment 30 Christian Parpart (RETIRED) gentoo-dev 2007-06-19 18:05:48 UTC
i've just committed your ebuild (thanks though) - and works fine for me on amd64 (w/ my freshly bought FX 8500GT :D)

@x11-drivers team, please verify.
Comment 31 Robert Golding 2007-06-23 06:38:30 UTC
(In reply to comment #10)
> Get the files from:
> 
> /usr/portage/x11-drivers/nvidia-drivers/files/
> /usr/portage/media-video/nvidia-settings/files/icon/
> 
> FILESDIR is *not* a directory that ebuilds put files into. This is a test of
> your knowledge of how ebuilds work ;)
> 

I cannot follow the logic on how ebuilds work, what I do know is that the icon and menu/desktop settings don't work from the ebuild of nvidia-settings within nvidia-drivers-100.14.09 here;
	# Install icon and .desktop entry
	doicon "${FILESDIR}/nvidia-settings.png" || die "doicon"
	domenu "${FILESDIR}/nvidia-settings.desktop" || die "domenu"

Would it work if the old nvidia-settings files/icon dir was added to the nvidia-drivers portage files dir?
If I just did; 
'#cp -p -R /usr/portage/media-video/nvidia-settings/files/icons /usr/portage/x11-drivers/nvidia-drivers/files/'
would that work as though the files had been put there by emerge --sync?
Or have I got the whole ${FILESDIR} thing wrong? 
Comment 32 Chris Gianelloni (RETIRED) gentoo-dev 2007-06-23 13:15:30 UTC
You would need to copy the ebuild and supporting files to a local overlay.  Just cp -r the whole nvidia-drivers directory to your overlay, modify files, "ebuild full-name-of-ebuild.ebuild digest" and emerge.  If the .desktop file you have works and the one we're supplying isn't please file a bug (not this one) about it and attach your working .desktop file so we can fix it in the tree.

Thanks
Comment 33 Robert Golding 2007-07-06 17:18:27 UTC
(In reply to comment #32)
> You would need to copy the ebuild and supporting files to a local overlay. 
> Just cp -r the whole nvidia-drivers directory to your overlay, modify files,
> "ebuild full-name-of-ebuild.ebuild digest" and emerge.  If the .desktop file
> you have works and the one we're supplying isn't please file a bug (not this
> one) about it and attach your working .desktop file so we can fix it in the
> tree.
> 
> Thanks
> 
Have done so now, bug# 184432.
Comment 34 Paul Bredbury 2007-07-19 18:22:40 UTC
(In reply to comment #8)
> This ebuild includes all of nvidia-settings also, using the nvidia-settings
> executable from nvidia-drivers.

This bug has been fixed and then un-fixed again, to compile nvidia-settings from source. What about "the binary one is better tuned to each driver set" at the top of this bug?
Comment 35 Doug Goldstein (RETIRED) gentoo-dev 2007-07-19 18:45:20 UTC
That's what nVidia claims since they only enable features and settings for each driver. Also, driver releases do happen before new nvidia-settings releases.

However, the issue with the binary shipped file it didn't run properly. So someone changed it to compile in the drivers. However the opengl change from x11 to nvidia doesn't happen until after everything is installed so you get compile failures, so end result is we have to go back to the old way.

I did however add a PDEPEND on the gtk USE flag.