How to install NVIDIA graphics drivers.

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

How to install NVIDIA graphics drivers.

#1 Post by Pizzasgood »

How to install NVIDIA graphics drivers.

Okay, you have a couple options. I'd try MU and tempestuous's drivers first, because they are pre-compiled.
MU wrote:there are pre-compiled nvidia-packages here:
http://dotpups.de/tests/nvidia/

So you need no compiler.
Follow the readmes.
These packages were made to be added to the 3D-wizard, but I had no time yet to do it, so we got no feedback yet from others, if they work.
For tempestous the one for the new old cards works.
Mark
Otherwise follow the method below to install the proprietary drivers. Note: I have not tested the following method with Puppy 2.xx, only 1.x.x. You should probably treat it as a harddrive install for Puppy 2.xx, since the root partition is now persistant. I'm not entirely sure if that will work though. Use at your own risk, I guess.
-------------------------------------------------------------------

Okay, before you do this, you will need to have xorg running. Go get that sorted out, then you can continue. Also, you need the development addon (usr_devx.sfs) to install the drivers.
usr_devx.sfs can be found here. Once downloaded, you should put it in one of two places:
  • The same directory as the pup001 (if you boot from CD/pendrive/option1-hd-install)
  • The / directory (if you have an option2-hd-install)
After downloading and placing it you should reboot the system (important!)



Okay, next you need to download the correct package from
http://www.nvidia.com/object/unix.html
I used this one and it worked fine.
Tjotser wrote:You should use 7174 drivers for the "legacy" cards.
7174 Drivers


That file you just downloaded is a .run file. Kinda like a dotpup. You need to exit from X, then run

Code: Select all

sh XXXXXXXXXX.run
where XXXXXXXXX.run is the package you just downloaded. Typing the first couple letters then pressing the tab key comes in handy here :wink:

Okay, it should be running now. Just hit okay for everything. You can even read the license agreement if you're feeling masochistic.

When it gets to the part about updating the xorg.conf file, it should work. I didn't try it, so I don't know for sure. If it doesn't, it's easy to do by hand.
Open /etc/X11/xorg.conf (you might want to back it up first). Now, for the actual editing, I'll quote the readme
Remove the line:

Driver "nv"
(or Driver "vesa")
(or Driver "fbdev")

and replace it with the line:

Driver "nvidia"

Remove the following lines:

Load "dri"
Load "GLCore"

In the "Module" section of the file, add this line (if it does not already
exist):

Load "glx"

There are numerous options that may be added to the X config file to tune the
NVIDIA X driver. Please see Appendix D for a complete list of these options.
Whether it did it automatically or you did it manually, it is now installed. Start X back up ("startx" will do the trick), and all will (hopefully) work.

Those who have an Option-2 Hard Drive Install should stop here.

If you don't have an option2-hd-install, it will only work until you reboot. There's stuff that isn't saved. Bummer. Fortunately for you, I've already figured out how to take care of this. But don't reboot until you finish the following instructions. Otherwise you will have to reinstall it to complete them.

First, you're going to have to make a directory to contain the files. I used /root/.nvidia and will use that in this example. You can use whatever you want. Just keep it somewhere that will not dissappear with each boot.

Okay, now we need to copy the needed files to that directory. The first one is /var/lib/nvidia/. Just go to /var/lib and drag the nvidia folder into the one you're putting them in.

Next on the list is /lib/modules/2.4.29/video/nvidia.o. This one is a file, not a directory. Actually, it's the 3D accelleration module, so it's very important ;) .

Okay, now to have it put them back with each boot, and initialize the driver. Go to the file /etc/rc.d/rc.local. This is where custom stuff that happens with each boot is stored. Now, add the following lines to it and save:

Code: Select all

###NVIDIA setup stuff.
cp -R /root/.nvidia/nvidia /var/lib/
mkdir /lib/modules/2.4.29/video/
cp /root/.nvidia/nvidia.o /lib/modules/2.4.29/video/

/usr/sbin/ldconfig
/sbin/depmod -aq
Remember to alter any paths if you didn't use the ones I suggested.

Now, it should work. Reboot and see. If not, well, then we missed something. Post a complaint in this thread and we'll try to sort you out.



FYI, I have it working with a 64MB NVIDIA GeForce4 MX 4000. That's all I have to test with, and I don't have a standard xorg.conf file either. So your milage may vary. Not by much hopefully.

After it's all installed, you can go to /usr/share/doc/NVIDIA_GLX-1.0/ to find a manual with a bunch of information. The readme has a list of extra settings you can add to xorg.conf to alter the setup. One of them lets you skip the splash screen. You add

Code: Select all

    Option      "NoLogo" "true"
to /etc/X11/xorg.conf in the Device section.

There's also a program that comes with it that can change the screen colors and such. It is called nvidia-settings.desktop and can be found in /usr/share/applications/.
Last edited by Pizzasgood on Thu 17 Aug 2006, 01:18, edited 11 times in total.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#2 Post by MU »

/lib/modules/2.4.29/video/nvidia.o

That is the 3D -acelleration-module for the Kernel.
Without it, you should be able to run X, but just without 3D-acelleration.

The proprietary ATI-drivers should use a similar way for installation.

Fine HowTo, thank you :-)
Mark

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#3 Post by Flash »

Very nice, Pizza. Thanks. :)

Guest

#4 Post by Guest »

As I remember an unpacked kernel source with .config file (for the currently running kernel) and have run make depmod is needed to build the kernel module, and of course the puppy build enviroment. Correct me if I'm wrong.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#5 Post by Pizzasgood »

You do need the developer addon (usr_devx.sfs), but I don't have kernal source and it worked just fine. Unless that's in the usr_devx.sfs file itself.

Unless you do need it, but it works halfway without it, in which case that would explain why I had no error messages.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

Guest

#6 Post by Guest »

I have the old Riva TNT and unfortunately nVidia doesn't want to support this anymore. Does anyone know where to find the 3D accelerelated Riva-TNT Linux driver?

Thanks

User avatar
BionicCommando
Posts: 21
Joined: Sat 19 Nov 2005, 11:43
Location: Devon,UK

#7 Post by BionicCommando »

Pizzasgood

Firstly, my apologies since I'm quite new to Linux

I'm using Puppy 1.07 with ALSA, Xorg and an NVidia geforce mx400

I've followed your instructions
downloaded the nvidia installer
downloaded usr_devx.fs
rebooted puppy
then quit x
then sh xxxxxx.run
but..

..I'm having trouble getting the nvidia installer to do anything - it comes up with messages asking about 'ldconfig' and 'glibc'. I continue to hit enter twice and then the install just stops back at the # prompt. Also I noticed that the var/lib/nvidia folder you mention is not there either so obviously the install did stop.

Have I missed something to do with the usr_devx thing ( i assume that's what you meant by 'development add-on'). Please help!

Thanks

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#8 Post by Pizzasgood »

Maybe the usr_devx.fs isn't installed properly? Open a console and type

Code: Select all

which g++
If it returns something (should be /usr/bin/g++) then it is. Otherwise it isn't.

usr_devx.fs needs to be in the same place as the pup001 file. If you have a harddrive install instead, I think it needs to be in /.

I think that't probably the problem. If I remember right, I once tried installing it in a total ramdisk (so it didn't mount usr_devx.fs) and got that same error.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
BionicCommando
Posts: 21
Joined: Sat 19 Nov 2005, 11:43
Location: Devon,UK

#9 Post by BionicCommando »

Pizzas'

Me again!

OK. moved the user_dev.fs to appropriate folder, robooted, tested with 'which g++' in rxvt,which replied
'/usr/bin/g++'

so far so good!

now when I run the installer again
I get this..

No precompiled kernel interface was found to match your kernel; would you like the installer to attempt to download a kernel interface for your kernel from the NVIDIA ftp site (ftp://download.nvidia.com)?

I chose yes

then I get

No matching precompiled kernel interface was found on the NVIDIA ftp site; this means that the installer will need to compile a kernel interface for your kernel.

then..

Performing CC test with CC="cc".
gcc-version-check failed:


and..

Could not compile gcc-version-check.c. Please be sure you have your distribution's libc development package installed and that 'cc' is a valid C compiler name.


So I maybe getting out of my depth here. As you can imagine since I didn't even have the faintest clue about how to install and test for the user_devx.fs that I have never tried to compile anything before let alone a 'kernel interface'..

What should I do? Abandon this notion of ever installing a Linux driver for my gfx card? Maybe wait until someone finds an easier way of doing this or should I persist in being burden upon yourself until this nut is cracked...?


btw here is a copy of the log that it generated - don't know if it is of any help

Code: Select all

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Thu Feb  9 22:19:52 2006

option status:
  license pre-accepted    : false
  update                  : false
  force update            : false
  expert                  : false
  uninstall               : false
  driver info             : false
  no precompiled interface: false
  no ncurses color        : false
  query latest driver ver : false
  OpenGL header files     : true
  no questions            : false
  silent                  : false
  no backup               : false
  kernel module only      : false
  sanity                  : false
  add this kernel         : false
  no runlevel check       : false
  no network              : false
  no ABI note             : false
  no RPMs                 : false
  force tls               : (not specified)
  force compat32 tls      : (not specified)
  X install prefix        : /usr/X11R6
  OpenGL install prefix   : /usr
  compat32 install prefix : (not specified)
  installer install prefix: /usr
  utility install prefix  : /usr
  kernel name             : (not specified)
  kernel include path     : (not specified)
  kernel source path      : (not specified)
  kernel output path      : (not specified)
  kernel install path     : (not specified)
  proc mount point        : /proc
  ui                      : (not specified)
  tmpdir                  : /tmp
  ftp mirror              : ftp://download.nvidia.com
  RPM file list           : (not specified)

Using: nvidia-installer ncurses user interface
WARNING: Skipping the runlevel check (the utility `runlevel` was not found).
-> License accepted.
-> No precompiled kernel interface was found to match your kernel; would you li
   ke the installer to attempt to download a kernel interface for your kernel f
   rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: Yes)
-> No matching precompiled kernel interface was found on the NVIDIA ftp site;
   this means that the installer will need to compile a kernel interface for
   your kernel.
-> Performing CC test with CC="cc".
-> gcc-version-check failed:
   
   
   Could not compile gcc-version-check.c.  Please be sure you have your distrib
   ution's libc development package installed and that 'cc' is a valid C compil
   er name.
   
   If you know what you are doing and want to ignore the gcc version check, sel
   ect "No" to continue installation.  Otherwise, select "Yes" to abort install
   ation, set the CC environment variable to the name of the compiler used to c
   ompile your kernel, and restart installation.  Abort now? (Answer: No)
ERROR: You do not appear to have libc header files installed on your system. 
       Please install your distribution's libc development package.
ERROR: Installation has failed.  Please see the file
       '/var/log/nvidia-installer.log' for details.  You may find suggestions
       on fixing installation problems in the README available on the Linux
       driver download page at www.nvidia.com.
Thanks for your help anyway Pizzas'!

PS (going off topic) which is your fave Sonic game? Mine is Sonic 2. Worst Sonic = Sonic Adventure.

Discuss.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#10 Post by Pizzasgood »

Strangely enough, the only Sega system I've ever had was a GameGear. My favorite games are Triple Trouble, Spinball (both versions), Sonic CD, and Sonic Battle (the GBA fighter, not SA2:B). I'm also a big fan of the comic made by Archie Comic Publications Inc. In fact, I tend to consider their rendition of Sonic as the true Sonic. Sonic is also my favorite superhero, followed by Spiderman, Batman, and Superman (not necissarily in that order).


Hmm... try "which cc" just to check. It should be in /usr/bin. If not, you should be able to symlink gcc to it (as it's only a symlink to gcc). Either way, this isn't a good sign. I don't recall ever installing anything else in mine, and it compiled everthing fine.....

If that doesn't work, we will be heading out of the waters I'm familiar with. That doesn't mean I'll stop trying, though!
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
BionicCommando
Posts: 21
Joined: Sat 19 Nov 2005, 11:43
Location: Devon,UK

#11 Post by BionicCommando »

Hmm... try "which cc" just to check. It should be in /usr/bin.
indeed, its apparently in /usr/bin/cc ...

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#12 Post by Pizzasgood »

ERROR: You do not appear to have libc header files installed on your system.
Please install your distribution's libc development package.
That must be the problem then. Unfortunately, I don't know which files those are other than /usr/lib/libc.so. So, if nothing else, see if you have that.

Is there any reason you can think of why you'd have missing files? Have you tried installing this from a fresh install (copy your pup001 file to another location/name to back it up)? Maybe something got messed up, and that way you could check.


If anyone else is following this thread that has ideas, now would be a good time to speak up. I have little experience with compiling stuff.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
alex_b
Posts: 25
Joined: Thu 15 Dec 2005, 22:47
Location: Townsville,QLD. Australia

header files for NVidia Install

#13 Post by alex_b »

Pizzasgood

The development files are used for compiling programs to work with libraries and are usually distributed under the same package name but including the word develop etc. They facilitate programs linking to the features of the required library and are separate to it. i.e the kernel header files are a separate install to the kernel binary and part of the source files (hence development package) The NVidia drivers must compile a module I am guessing, to request the header files.

Alex
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them"
- Albert Einstein

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#14 Post by Pizzasgood »

Well, I knew that much. But when I installed my card, it gave me the same "compile your own" message, but for me it worked. So, the files that it needs should either already be in Puppy or else in the usr_devx.sfs addon. I'm going to do it again in a fresh install just to make sure that I'm not the one with a non-standard setup.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#15 Post by Pizzasgood »

Well, I was able to install it from a fresh pupfile, compiled and all. So, something must be wonky on BionicCommandow's end. I suggest trying it on a fresh file, just to rule out that possibility.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

Tjotser
Posts: 1
Joined: Thu 16 Feb 2006, 11:59

#16 Post by Tjotser »

You sdhould mention that you should use 7174 drivers for the "legacy" cards.
At least i didn't bother trying, reading the file description.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#17 Post by Pizzasgood »

Well, that might do it......
Thanks
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

derangedtaco
Posts: 10
Joined: Sun 10 Jul 2005, 20:42

#18 Post by derangedtaco »

Will these drivers work on a laptop?

And where can I get xorg and the development package? :shock:

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#19 Post by tempestuous »

usr_devx.sfs is here ftp://ibiblio.org/pub/linux/distributions/puppylinux/
You don't need Xorg development files ... they're about 400MB.

User avatar
BionicCommando
Posts: 21
Joined: Sat 19 Nov 2005, 11:43
Location: Devon,UK

#20 Post by BionicCommando »

I'd just like to say thanks to Pizzas...
I don't know what was wrong with the way my Puppy was set up (my install was a hybrid of a standard NTFS partition pup001 file and an ext2 partition which puppy took over and used as home when I deleted th pup001 from my NTFS partition).

..anyway either way. I'd just like to say that this installer has now worked perfectly on two puppy pcs!. one of which was a full hard drive installed puppy 1.08 too.

..now all i gotta do is find some apps that'll let me test my 3d out!

Can anyone recommend any improvements i can make to puppy in this respect?

my gfx card is a cheap old 64mb geforce mx400 btw.

Post Reply