-   Linux - Newbie (
-   -   NVIDIA Drivers (

boftron 07-10-2003 07:57 PM

NVIDIA Drivers
hey i'm running linux rh 9.0. i have no clue how to install this driver it is, i logged into root and did "sh" it started running but i can't get it to install because i can't figure out how to get out of X-windows, it cannot install unless i exit x-windows and have only a console running. can someone please ehlp, i am very new at this. also, i did something else and was able to extract the file and all these files came out, one being nvidia-installer, how do i run that file? when i double click it nothing happens is there a better way to do all of this?

DrOzz 07-10-2003 08:00 PM

you can read what i posted here:

boftron 07-11-2003 12:16 AM

i have been trying over and over doing everything that thing says, and i can't get it. nothing seems to work. when i try to run the add/remove programs thing it comes up saying i'm missing all these files that i wasn't missing earlier.. i really don't know what to do it's been 4 hours and i'm still exactly where i was in the beginning. when i try to edit the read me XFconfig it won't let me save it. if anyone has any ideas please let me know.. thanks.

MasterC 07-11-2003 12:47 AM

[added /as an after thought to complete the instructions]
You'll need to grab the correct file first. For 99.2% of new users, and for those who "don't know" or "aren't sure" the IA32 driver is the one you will want to grab, so go here:
And follow the flow chart, the last choice being Linux IA32.

From there it will bring you to a screen where the driver can be downloaded. It's step 2, the driver is underlined, click it and start the download process. After you've completed the download, continue on with the instructions below:

As for the rest:

I prefer to do everything without rebooting, so let's go that route.



Then login as root:
Login: root
Password: ****** (root's password)
Then type:

telinit 1
Now we will need to log back in with root:
Login: root
Password: ****** (root's password)
And now we will want to go to the directory we've saved that .run file in, for this example, I'll assume you saved it in /usr/local/files

cd /usr/local/files
We now need to make sure it's executable:

chmod a+x
I suggest you get familiar with, and use the AUTOCOMPLETE that linux uses. It's done by typing the first few characters of the filename and then pressing TAB to complete the name. Saves keystrokes, but (to me) more importantly, ensure you have the file there and are typing the correct letters.
After the file is executable, we need to run it:

Remember the TAB (don't use the { } I just use those to show you were to use it ;) notice there is no space).
Go through the installer, with nearly all default configurations you can accept the defaults. In the rare occasion use:
Or post up the issue.
After you are done, you don't need to restart your box, instead, revert back to your old runlevel by typing:

telinit X
where X is your default runlevel. For those who boot up into a gui and use just about every distro except Slackware, this will be 5. For those who use Slackware and boot into a Gui, use 4.
For those who boot into text mode, login as their user (or root :tisk: ) and then use "startx" to get into a Gui, use 3.
This will bring you back to a familiar environment. I suggest you edit your XF86Config file first, but be VERY prepared to edit it via the command line.

Should there be errors (most likely with your editing of XF86Config) you will have wished you booted into runlevel 3. So I will also go over how to do that, reverting back is simply reversing this (If you already boot into text mode naturally, you should be fine):
Using your favorite text editor, as root, open up this file (the example we'll use vi and I'll give the commands):

vi /etc/inittab
Using your arrow keys, go down to the section that says (or is similar to):

{Slackware users}

And change that 5 (or 4) to a 3:
Arrow over to have your cursor just BEFORE the 5 (or 4) and:

DEL (press the delete key)
Then press:

And type:

Then press:

ESC (Escape Key)
And finally:

That's the shift key plus ZZ
This will save the changes you've made to that file. Now if there are errors, and you end up rebooting, you won't end up in a really bad situation.

**Be Aware**
Once in the command line you'll have to use command line editors. I suggest either learning vi, printing out a vi guide, or ensuring you've installed something like nano that is newbie friendly. You'll need this editor for editing your XF86Config file, and testing it out until you get the changes correct (hopefully you follow the directions on the README and it won't take too long).

Some of this might not apply to you specifically, but I'm going to sticky this, so I wanted to be all inclusive (or as best as possible anyway).

If anyone has something to add to this, please contact me via email or PM (should you have the function).


MasterC 07-14-2003 07:00 AM

Continuing on for the complete reference:

XF86Config file editing.
(*You will need to be root to complete this section, BE VERY CAREFUL...)

As noted in the README from Nvidia, you will need to edit your XF86Config or XF86Config-4 file. To determine which one you need:
(*Note, this is for a default installation, if you've upgraded X or otherwise 'customized' your X setup, you should adjust these to fit your conditions, for most default setups the following should work and be all inclusive (meaning all that you will have to do). On the off chance it doesn't work, or your setup is too 'customized' feel free to start up a post and refer to this thread.)
Either use your distro's documentation, OR the "assume" method:
If XF86Config-4 exists, that's likely going to be the one you use. If it doesn't, likely you will use XF86Config. That's it.
A few additions to that:
Mandrake (at least 9.0 and higher) uses XF86Config-4
Slackware (at least 8.1) uses XF86Config
(To add to this for your distro, only if you are absolutely sure (and can provide reference for me to a location preferably on your distro's homepage), please contact me, thanks!)

So, now we know what file to edit, now to edit that file:

Using Vi again, since this is basically the universal editor (comes on just about every (if not every) distro currently and previously. I'll provide all keystrokes with the exception of return (unless it needs to be specified). Assume the end of a line means return (or Enter). And in the example, I'll use XF86Config, replace that with the one from above that suits your needs...


vi /etc/X11/XF86Config
We should now have an XF86Config file in front of us. If you have a blank document, you most likely have the other XF86Config-4 file, so we will need to close this current document and open the correct one:

Will quit without saving, then open up the correct one:

vi /etc/X11/XF86Config-4
Now either way, we should definitely have the XF86Config file in front of us. If you'd like to nose around a bit, feel free. The arrow keys will work with most modern vi setups (as they are simply references to vim actually). Once you are finished parusing the file (make no changes) let's move on.

We first want to find and comment out the DRI module loading, so:

Will search the document for the letters dri. The only problem with this is that every instance of dri will be found, including "driver" which will probably appear frequently. This is not a huge deal, we will simply wade through the 'dri' letters until we find the module loading of dri:

This is the key to go to the next instance of the search term. Once we find what we are looking for, it should look something like:

Load dri #X Direct Rendering
What we need to do is place a comment in front of this line, so we will need to ensure the cursor is directly behind the first letter (Load) of this line, and then:


i #
That is press the ESC key (ensure we stop the search), then 'i' key and follow that with a pound/number key (shift 3 on the US keyboards). Follow that all up with another ESC so we won't be typing anymore characters (ESC basically returns you to neutral, no editing takes place). From there, we need to find GLCore (should it exist) and comment that out as well. If you see it right there, simply arrow down/up to it and again ensure your cursor is directly behind it; should you not see it, we can search for it:

Again, we may have to wade through some entries, use the:

to go to the next instance, there should not be many since GLcore is specific, not a lot of words contain those letters together like that.
If you return nothing, no worries, on many systems this does not even exist. However, if you do, ensure your cursor is placed directly behind the 'Load' and:


i #
Just as before. Again, press ESC after you type #.

Now we need to ensure that glx is loading (likely it already is) so, again, if you see it already, no need to run a search, simply arrow up/down to it and follow the directions below.
If it's not in view, let's search:

Using the 'n' key wade through til you find the instance...
Should you NOT find one, we'll need to add one. No worries, for those who DO NOT have a GLX line at all, simply type:


i Load "glx"
You will need to do this on an empty line, and I suggest doing it very near the section where you have commented (placed the # sign) the other 2 modules. Be sure this entry is uncommented. For those who DO HAVE the 'Load "glx" ' line, you will need to make sure there is no comment line in front of it. If there is, place your cursor directly behind the comment (#) and:

That is, press the DELETE key.

We are almost finished. Last thing we need to do is change the driver loading the nv module to load the nividia module (the new thing we've installed). To do that we'll need to search again, remember to wade through all the bogus entries:


And then to find the vesa:

Once found, remember to return to 'neutral':

You should be looking for/at something that looks similar to this:

Driver "nv"
OR, if you were using generic drivers, it would say:

Driver "vesa"
So we need to remove the "nv" or "vesa" depending on which one you've got (if you've got both, do this to both of them) and replace it with nvidia, so, after finding the entry, place your cursor directly behind the 'n' or the 'v' (or one then the other) and type:

For the nv, for the vesa:

To remove the vesa/nv letters. Now it should look like this:

Driver ""
So now we need to fill in the empty quotes with nividia, so without moving your cursor from between the 2 quotes, type:

i nvidia
I place a space after each 'i' that I type in the code simply to show you seperation from "i" and the word, however when typing do not place a space, simply press "i" and begin typing, so it would actually look (if you were looking at the keys not the screen):

However looking at the screen, the "i" doesn't get typed, it's simply telling vim that you are going to insert characters and to go into "edit" mode.

Now we have nvidia in place of the "nv" and "vesa";
We have ensured that GLX is loading (no comment in front of the line:

Load "glx"
Ensured DRI is NOT loading:

#Load "dri"
And that GLcore IS NOT loading:

#Load "GLcore"
If all of the above is true, we can save and exit this file:

This saves and closes the document. To read it and ensure the changes are there and correct, we will use a reading tool (called a paging tool):
less /etc/X11/XF86Config (or /etc/X11/XF86Config-4 if the situation required it)
Using the up/down keys scroll through the document and look for your changes.

If they are there, we are done. Follow the above posts instructions to get back into the gui, and enjoy your new drivers.

On the RARE occasion nvidia will need to be loaded before starting X for the first time, to load a module, you must be root, and type:
modprobe nvidia
Then continue on.

Comments? Suggestions? Additions? Removals? Please contact me.



MasterC 07-19-2003 02:05 AM

Thanks to Grym for the following addition:

*Note, first and foremost so you won't waste your time if you don't need to:
If your distro DOES NOT use PAM security (Pluggable Authentication Module) then you can skip this section all together. If you are Unsure consult your distros documentation, or if you are receiving the error below, read on...

Occasionally there will be a security conflict that will prohibit the use of the Nvidia driver. This is possibly due to the PAM module changing the permissions on the Nvidia device file(s). The error message might look something like the following:

        Error: Could not open /dev/nvidiactl because the permissions
        are too restrictive.  Please see the FREQUENTLY ASKED QUESTIONS
        section of /usr/share/doc/NVIDIA_GLX-1.0/README for steps
        to correct.

To recieve this error you must be running your 3d application from a console (launching it rather, not running it). A way to diagnose this if you run pure graphical environment is:
After running 3d applications perfectly fine for a while following the install of the Nvidia drivers, you notice applications no longer opening. It appears to begin to launch, then after 30 seconds or so, the launch simply 'dies' unexpectedly. At this point, it's imperative you run it from a console to recieve ANY error messages to assist you when searching for a solution.

So now with that, you must be thinking to yourself:
"Okay Chad, please get to the point, we need to fix this ya know!"
So here we go ;)

I'll be quoting straight out of the documentation and from Grym's message to me for this part:

Originally posted in /usr/doc/NVIDIA_GLX-1.0/README
To correct this
problem it is recommended that you disable this security feature.
Different Linux distributions have different files to control this;
please consult with your distributor for the correct method of
disabling this security feature.


Originally posted in Grym's Email
...the editting of the /etc/security/console.perms
file (may be a different file in redhat but i know redhat has an
equivalent since i fixed that issue for some friends with mandrake and
redhat) as many times this file will make the driver stop working not
too long after you have set it up simply by changing it's permissions so
that the user can no longer use it....

So for the editing of /etc/security/console.perms which is likely several distros are using:


you should edit the file and remove the line that starts with
"<dri>" (we have also received reports that additional references to
<dri> in console.perms must be removed, but this has not been verified
Other distros that may be using:
Use these instructions:

you should edit the file and remove the line that lists
Next, regardless of which PAM setup you have you will need to do the following:
Reset the permissions on the device files back to their original permissions and owner. You can do that with the following commands:

chmod 0666 /dev/nvidia*
chown root /dev/nvidia*

As root of course ;)

And, as always, any questions/suggestions and/or ideas, post them up or contact me. Should you find an error in any of the above, please contact me ASAP and please do your best to provide official documentation to backup your comments. :)


All times are GMT -5. The time now is 03:08 AM.