1) Download the NVIDIA driver that matches the type of your graphics card from here. In our case, we needed the driver for the NVIDIA GeForce GT 430 card (LInux 64-bit). The driver is bundled in a self-extracting package named NVIDIA-Linux-x86_64-304.51.run
2) Switch to console mode using Ctrl + Alt + F1
3) Exit the X server with the command: sudo service gdm stop (for the GNOME desktop). For the KDE desktop, the command is sudo service lightdm stop
4) Install the NVIDIA by executing the self-extracting package downloaded in step 1
sudo sh NVIDIA-Linux-x86_64-304.51.run.
When the installer asks whether to generate a new X server configuration file, the answer is yes.
5) After the installation is complete, restart the machine by issuing
sudo /sbin/reboot
After logging in, it is evident that the screen resolution is very low. Examining the X server configuration file /etc/X11/xorg.conf created by the NVIDIA driver installer, we see that in the Section "Monitor", the option ModelName is not defined. The installer did not resolve the monitor model (in our case, it was DELL U2311H). In addition, in the Section "Screen" of the xorg.conf, the option for the screen resolution is set inappropriately as "metamodes" "640x480 +0+0; nvidia-auto-select +0+0"
A way that one might get around this is to install again the monitor drivers and repeat steps 1 - 4 mentioned above. Unfortunately, there was no driver available in the Dell website for the type of monitor we have (DELL U2311H).
The solution was to edit /etc/X11/xorg.conf in hauptman so that it contains the options found in xorg.conf file from another Linux machine (flory) which has the same type of NVIDIA graphics card and monitor. The final version of the /etc/X11/xorg.conf looks like this
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DELL U2311H"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GT 430"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "1920x1200 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
After rebooting the machine
sudo /sbin/reboot
the changes will have taken effect and the screen resolution will be 1920x1200