How do I install Nvidia graphics driver

Asked by Steve Clarke on 2008-05-25

How do I install Nvidia graphics driver for a 6600GT card on 8.04?
Or where can I go for somewhat detailed instructions?
Built in ones only offering 800x600 60Hz.
Thanks for any help.

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Last query:
2008-06-01
Last reply:
2008-06-02
Tony Mugan (tmugan) said : #1

Go to menus

Applications, Add/remove

Search for "nvidia"
I would say you need the "new" one

Bhavani Shankar (bhavi) said : #2

Hello

you can install nvdia graphics drivers through the restricted drivers manager

First, go to System > Administration > Restricted Drivers Manager

You'll then see that Nvidia drivers are not in use. Check (or tick) the box underneath Enabled to enable the drivers.

You'll then be asked (after a brief explanation about desktop effects) if you want to enable the driver. Click Enable Driver.

Then Wait for the installer file to download and the drivers to be installed

Then, click Close once the changes have been applied

Then drivers will be enabled and can be used after a system reboot..

Regards

Bhavani Shankar.

Mike Romain (romainm) said : #3

I also lost my NVIDIA driver on install. If I used the restricted drivers switch, it crashed to a set up screen that won't 'hold' the settings.

I had to go to admin and synaptic package manager and reinstall the NVIDIA drivers from there. I now get the NVIDIA splash screen on boot like I used to with the NVIDIA X-Server control panel working fine.

Search for nvidia-glx-new package and install it. Also, do install linux-backports-modules

Abhejit Rajagopal (sirgogo) said : #5

After you have enabled Restricted Drivers after a fresh installation, you are still not blessed with the full potential of your graphics card for some reason (not sure why?).
But enVy is a program that detects your graphics card and can auto-install drivers and set up the x-server.
Be sure to check it out.

(http://www.albertomilone.com/nvidia_scripts1.html)

Steve Clarke (clarkesj) said : #6

Thanks for your assistance all!
I don't know why, I have tried everything you all have suggested,one at a time, but every time at reboot the driver fails and it insists on dropping back to low resolution mode. The graphics card is on the HCL and is being detected correctly (except Envy which doesn't show anything).
Is there a way to install the Nvidia binary driver?

First of all remove the nvidia-glx-new package before installing the binary driver with:-
sudo apt-get remove --purge nvidia-glx-new

After that is done, first kill the X-Server with:-
sudo /etc/init.d/gdm stop
or
sudo killall Xorg
if that doesn't completely kill it.

Then install the Nvidia driver with:-
sudo sh name-of-driver.run

After that is done, you may reconfigure the X-Server with:-
sudo dpkg-reconfigure xserver-xorg

After that is done, start the X-Server with:-
sudo /etc/init.d/gdm start

If you face a problem with the Nvidia driver not failing to load after boot-up, I can give you a solution, but I'll wait until you actually face the problem before doing so :).

Mike Romain (romainm) said : #8

I was having a very difficult time with the same results also. My son and I tried the terminal commands and the shell commands with x-server off with no luck. The direct from NVIDIA driver would not compile, it has the wrong GCC version.

I then used the x-server window much to my son's disgust and went to 'system', then to 'administration', put in my password, then to 'synaptic package manager' and did a search in 'all' for nvidia.

I tried the nvidia-glx-new and got the crash.

I then went back and tried the regular nvidia-glx driver and installed that. It told me it was uninstalling the nvidia-glx-new, which it did.

I also installed or reinstalled the 'nvidia-kernel-common' file and the 'xserver-xorg-video-nv'.

I also installed the three restricted modules that had the Ubuntu symbols in front of them.

Don't know if I needed all those files, but it now all works.

Steve Clarke (clarkesj) said : #9

Pramod, I tried what you suggested and "sudo apt-get remove --purge nvidia-glx-new" worked OK. I then entered "sudo /etc/init.d/gdm stop" and it dropped me to a DOS like screen (is this the xserver window?). I then entered the next 3 lines you gave but they did nothing and eventually I had to hit the reset button to start again.
I then tried "sudo killall Xorg" and it sent me to the Ubuntu log on screen where I just logged back on!?!

Mike, I don't get how you use xserver. Would you have detailed instructions to do this?

Thanks again for your help.

Tony Mugan (tmugan) said : #10

If you have the driver installed then maybe it's just a matter of configuring...

try in a terminal window

sudo apt-get install nvidia-settings
gksu nvidia-settings

Mike Romain (romainm) said : #11

I am likely in way over my head here, so if I am talking apples to oranges, someone let me know.

When I installed the upgrade, it failed at first with a total crash to the 'ash' screen because it couldn't find the hard drive. For some reason my RW CDROM was jumping the system. I had to 'physically' move the hard drive on the buss and set it's jumpers to slave with the RW CDROM as master. Setting the jumpers to cable select failed and having the HD as master failed.

Anyhow after I got my drives sorted out, it would boot to 'low graphics' 800X600 only.

I tried, and my son who is fairly adept at Linux to get the NVIDIA driver in from the command line. We tried several different ways with no luck, it wouldn't hold the settings. We even tried to compile a new one from the NVIDIA site, no go.

So I let it boot to the 800x600 screen and then went to the top and hit 'System', then the pull down menu and 'Administration'. Then I opened 'Synaptic Package Manager'.

I got Synaptic Package Manager a long time ago from the 'Applications' and 'Add/Remove' box. If you type it in in a search it will install it for you.

Once I am in the Synaptic Package Manager, I then just searched for NVIDIA. It then shows what ones it thinks are installed. I believe I had mine messed up from all the command line stuff so I played around thinking I needed the NVIDIA-glx-new. I didn't.

All I really needed to do was to 'refresh' the drivers the system though were installed by clicking on the box which was green and hit the 'reinstall' switch.

There are three NVIDIA drivers in the package manager. The 'nvidia-glx' driver, the 'nvidia-glx-new' driver and the 'nvidia xconfig' driver. The first two show the Ubuntu label beside them, the third doesn't implying third party I think.

My system needs the nvidia-glx driver. Clicking on any of the above three drivers for 'install' will automatically 'uninstall' any of the other drivers in there. So when I went for the -new one, it uninstalled the nvidia-glx automatically first.

It also tells you what other programs are needed to run each driver and flags them for installation also.

I installed some other programs mentioned above but don't think I needed them. I haven't gone back and uninstalled them yet, well, because it's working.....

Hope this helps,

Mike

Tony Mugan (tmugan) said : #12

Steve,

I'm pretty sure that the driver you need is the nvidia-glx-new since it is a Geforce 6 card.
Perhaps you just need to configure the actual monitor to let the card know it is capable of a higher resolution.
Have you tried the config tool I mentioned above?

gksu nvidia-settings

The choose the second option on the list "X Server Display Configuration" to select your monitor from a list.

Regards,

Tony

David Tangye (davidtangye) said : #13

Steve Clarke said on 2008-05-27: "Pramod, I tried what you suggested and "sudo apt-get remove --purge nvidia-glx-new" worked OK. I then entered "sudo /etc/init.d/gdm stop" and it dropped me to a DOS like screen (is this the xserver window?)."

No. When you run 'gdm stop' it kills the x server, so you are left at the standard old unix/linux command line, ie you are conversing with a 'command shell'. Its a 'shell' because its a wraparound to the operating system, and a layer between the os and the outside world, ie you. The shell and its command line that it presents to you is indeed similar to what you knew as a 'DOS' screen, ie the DOS command.com is a very simple command shell.

'/etc/init.d/gdm' is a command script that will start and stop the graphical display manager (/usr/bin/gdm) which stops and starts the xserver. When the xserver is running you get a 'graphical user interface', a GUI, and you are in 'graphics mode'. In the gui you can open or 'start up' windows containing the same sort of command shell as before, so you can run the same commands in there.

Also, when to system is started up normally, you can hit CTRL-ALT-F1 through to Ctrl-Alt-F6 to switch to command shells in each of 6 'virtual terminals'. The gui session is still running in virtual terminal 7, so hit CTRL-ALT-F7 to return there. So now to complete the picture, on 'gdm start' will throw you to virtual terminal 7 (after starting the xserver). Conversely 'gdm stop' should throw you to virtual terminal 1 (after stopping the xserver). It does not on my machine, so I press Ctrl-AltF1 to get there.

People generally mix the terms 'terminal', 'command line', character mode', and '(command) shell'. To be more precise you would say that
 - An operating system like linux can control a monitor in character mode, or a graphics mode. Also it can display multiple screens as 'virtual terminals'. Each virtual terminal will start and remain in either character mode or in graphics mode. You switch from one to the other with Ctrl-Alt-F1 thru 7.
 - Thus the os presents a virtual terminal as a character user interface, or if a gui server like xserver is running it will present a graphical user interface (gui).
 - Within a gui you start windows and run processes in them. Processes might be combinations of scripts and/or (binary) programs.
 - If the controlling process of a (gui) window or an entire character (virtual) terminal is a command shell, then the user is presented with a command line to enter commands into.
 - The most common command shell is 'bash' the 'Bourne Again shell', a replacement for the original shell 'sh', also called the 'Bourne shell' after its creator. You might be thrown into the 'ash' shell during installation or on a failed bootup. It is a smaller shell with less commands available. Its more for emergencies and basic system recovery only.

Steve Clarke (clarkesj) said : #14

Tony
I think you may well be right when you say the monitor settings are stopping the driver from displaying properly. I thought the driver would allow the correct monitor to be detected.
Whenever I run nvidia-settings I get the error:
You do not appear to be using the NVIDIA X driver. Please edit your X configuration file (just run `nvidia-xconfig` as root), and restart the X server.

When I run nvidia-xconfig I get:
$ sudo nvidia-xconfig

Using X configuration file: "/etc/X11/xorg.conf".

WARNING: The CorePointer device was not specified explicitly in the layout;
         using the first mouse device.

WARNING: Unable to determine CoreKeyboard; will rely on X server's built-in
         default configuration.

Segmentation fault

Not knowing anything much about xconfig, what does the fault mean and how do I correct this one? Thanks heaps for your help.

David
Thanks heaps for your explanations, it's all starting to make a bit more sense now!

Steve Clarke (clarkesj) said : #15

I have also found if I try to install nvidia-glx or nvidia-glx-new, synaptic insists on uninstalling nvidia-xconfig!?!

David Tangye (davidtangye) said : #16

In Synaptic, on my machine I see that nvidia-glx conflicts with nvidia-xconfig, so removes it. nvidia-glx-new does not have this conflict, so presumably should not remove it.

nvidia-glx and nvidia-glx-new conflict with each other, so installing one will remove the other.

Where Pramod Dematagoda said on 2008-05-26: "Then install the Nvidia driver with:- sudo sh name-of-driver.run", he seems to be recommending installing a driver without using the package management system. If possible it is better to install using the package management system, so package dependencies and versions remain controlled in future.

Can't you just go into Synaptic and reinstall nvidia-glx or nvidia-glx-new, and hopefully it will reconfigure for your the graphics adapter?

David Tangye:- You are right when you say that you aught to use the normal nvidia driver packages, and I usually recommend that as well. But there are certain cases where the Nvidia driver package does not work out so well and you would have to resort to installing the driver manually, and in any case you wouldn't have many dependency problems since they are all pretty much included in the install file(but you do need to install build-essential).

Also, installing the Nvidia driver manually isn't as hard as one thinks it is, as soon as a person does it two or three times the whole process becomes very easy.

David Tangye (davidtangye) said : #18

Also; reading the descriptions in the 'new' and 'legacy' packages, using Synaptic:

NVIDIA binary XFree86 4.x/X.Org 'new' driver
These XFree86 4.x/X.Org binary drivers provide optimized hardware acceleration
of OpenGL applications via a direct-rendering X Server and supports the newer
GeForce, nForce and Quadro families of NVIDIA chipsets. AGP, TV-out and
flat panel displays are also supported.

If you have a TNT, TNT2, or older GeForce, you may need the nvidia-glx-legacy
package instead of this one. If you have a GeForce4, you may need the nvidia-glx
package.

To enable the driver, run "sudo nvidia-glx-config enable".

NVIDIA binary XFree86 4.x/X.Org 'legacy' driver
These XFree86 4.x/X.Org binary drivers provide optimized hardware acceleration
of OpenGL applications via a direct-rendering X Server and supports the TNT,
TNT2, TNT Ultra, GeForce, and GeForce2 chipsets. AGP, TV-out and flat panel
displays are also supported.

This is the 'legacy' driver for older chipsets. Unless your chipset is
explicitly listed in the above paragraph, please use the nvidia-glx driver,
which is much more up to date.

To enable the driver, run "sudo nvidia-glx-config enable".

Steve Clarke (clarkesj) said : #19

Installed Nvidia-glx-new in synaptic then in terminal:
 sudo nvidia-glx-config enable
[sudo] password for steve:
sudo: nvidia-glx-config: command not found
steve@Ubuntu:~$ sudo nvidia-glx-new-config enable
sudo: nvidia-glx-new-config: command not found

Am I doing something wrong?

David Tangye (davidtangye) said : #20

That is odd: If I run the command:

    dpkg-query --search *nvidia-glx-config

I get -

    nvidia-glx-new: /usr/sbin/nvidia-glx-config

This shows that the package nvidia-glx-new contains the file /usr/sbin/nvidia-glx-config
/usr/sbin will be on your command path, and this should be confirmed by running the commands

    sudo -i
    which nvidia-glx-config

This should show

    /usr/sbin/nvidia-glx-config

(ctrl-d exits the sudo shell)

Did you mis-type? Do you cut and paste commands to avoid mis-typing?

David Tangye (davidtangye) said : #21

Irrespective of the above, don't you need to be running nvidia-xconfig, not nvidia-glx-config?

Eg, like above:
  dpkg-query --search *nvidia-xconfig
gives me
  nvidia-glx-new: /usr/bin/nvidia-xconfig

and
  sudo nvidia-xconfig --help
is worth reading,eg

"The NVIDIA X Configuration Tool.

  This program is used to manipulate X configuration files, specifically to enable NVIDIA X driver
  functionality."

David Tangye (davidtangye) said : #22

Reading /etc/X11/xorg.conf is says in part:

"# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg"

The key to having the gui, ie X system running properly is a properly configured /etc/X11/xorg.conf.
If you cannot get graphics going "sudo dpkg-reconfigure -phigh xserver-xorg" is a good place to start. You can run it after starting your system in 'recovery mode". The recovery mode option is usually the 2nd menu item at boot time in the grub boot menu.

I hope this helps.

Steve Clarke (clarkesj) said : #23

It certainly helped. I can now adjust screen resolution, but not the refresh rate which is stuck at 60Hz.
How can I get the monitor to detect? I have a Sony Trinitron G520.
Also System/Admin/Hardware Drivers show no proprietary drivers installed. Is this correct?

Can you just post the output of:-
cat /etc/X11/xorg.conf
in Pastebin found here:-
http://pastebin.com/

And post the link here.

Just FYI, if you run:-
sudo dpkg-reconfigure -phigh xserver-xorg
the driver you use after the command is the vesa driver, which means that you are not using the Nvidia card to it's full capabilities and that includes 3D acceleration.

There isn't any driver entry for the monitor or video device, which suggests that you are indeed using the vesa driver.

In my opinion you would really be better off installing the Nvidia driver manually. Now about the blank black screen, try switching to a different tty with by pressing Ctrl+Alt+F1, if you execute the killall command without first stopping GDM then the X-Server only restarts without being killed, so you must first do:-
sudo /etc/init.d/gdm stop
move to a tty and then do:-
sudo killall Xorg

After that, try installing the driver again(I assume that you have the driver right in the home directory, otherwise you will have to move to the directory where it is and then execute it).

Steve Clarke (clarkesj) said : #27

OK, that got me in, but process said it couldn't open driver when "sudo sh nvidia-glx.run" entered.
With nvidia-glx-new and nvidia-glx-new dev drivers loaded with synaptic, I've done a search on *nvidia* and no files found! Does Ubuntu use different wildcard symbols? Where does synaptic load its drivers? When found can I just copy & paste to the top of my home directory?

The driver name isn't nvidia-glx.run. And you should remove the nvidia-glx package before installing the Nvidia driver to avoid conflicts, remove the driver with:-
sudo apt-get remove --purge nvidia-glx-new

In case you don't know where to obtain the driver, it's here:-
http://us.download.nvidia.com/XFree86/Linux-x86/173.14.05/NVIDIA-Linux-x86-173.14.05-pkg1.run

According to the link, the driver name is:-
NVIDIA-Linux-x86-173.14.05-pkg1.run

David Tangye (davidtangye) said : #29

[process said it couldn't open driver when "sudo sh nvidia-glx.run" entered.]
Probably because the driver was already loaded because you had it already installed via the package manager.

[With nvidia-glx-new and nvidia-glx-new dev drivers loaded with synaptic, I've done a search on *nvidia* and no files found!]
What search command did you use?

[Does Ubuntu use different wildcard symbols?]
No. Ubuntu is just a distro. its still linux. It still uses the bash shell as a default. * is the wildcard for most unix- and linux-based shells, like bash, sh, csh, ash dash etc.

[Where does synaptic load its drivers?]
Into memory.

Do you mean, 'Where does the package manager install driver files to?'
The package manager is the Debian Package Manager. Its the same package manager as many other distro use (hence Debian-derived distros). Its controlled by you through either the apt or dpkg batch programs or the aptitude interactive command line program, or the Synaptic gui program. The latter is recommended.

To find where files get loaded, install the package using Synaptic, then use the search button to find it, click on it in Synaptics top right pane. Ensure that in Settings, Preferences -> General tab, that "Show package properties in the main window" is set. When it is you can see all the files installed, that comprise the package, in the Synaptic right lower pane in the Installed Files tab. Having said all that, it does not matter where the driver files are put. Wherever it is, unless your system is badly broken (hacked?) they will be where the system can find them to load them... OK, so I go and look for you - they are in /usr/lib. Also see the man pages are in /usr/share/man which is on your MANPATH (echo $MANPATH) and any executable programs, eg configuration utilities, will be in /usr/bin or /usr/sbin, which should be on your command PATH, so you can run them.

David Tangye (davidtangye) said : #30

[Where does synaptic load its drivers?]
Into memory.

That was not correct. As you would read from my previous: Synaptic does not load drivers. It installs packages. The linux kernel loads drivers.

Can you help with this problem?

Provide an answer of your own, or ask Steve Clarke for more information if necessary.

To post a message you must log in.