Intro
This guide is written for Hardy Heron and seems about the same for Lucid Lynx (the 10.04). The author is using a nVidia GeForce 8600 GT with restricted drivers on a dual head setup. It will most likely work on other supported versions of Ubuntu with only minor adjustments, usually only in names and titles.
You can check your video card model by running, from terminal:
lspci | grep VGA
More information can be provided by running
sudo lshw -C video
This guide does not cover Xinerama, please see XineramaHowTo.
Installing Restricted Drivers
Restricted drivers are generally needed to take advantage of multi-head setups. There are a few options for installing the restricted "nvidia" drivers:
see BinaryDriverHowto/Nvidia for using the built in method, Hardware Drivers or Restricted Drivers Manager
see NvidiaManual for installing the drivers manually or using Envy/EnvyNG
Using Envy/EnvyNG or Manually installing the drivers may require you to reinstall them after kernel upgrades.
Setting up Multi Head
Setup
After the system reboot, you can change your X settings by going to System->Administration->NVIDIA X Server Settings. If you installed the driver manually, it may be under Applications->System Tools->NVIDIA X Server Settings. Alternatively, run from terminal:
gksudo nvidia-settings
In Lucid i just went to the top taskbar/panel and clicked on
- System - Preferences - Monitors
A pop-up box appeared saying "It appears that your graphics driver does not support the necessary extensions to use this tool. Do you want to use your graphics driver vendor's tool instead?". Clicking on the "Yes" button got me to the gui tool shown in the screenshot below.
If the driver didn't install this (Envy/EnvyNG surely does), you can install it manually with
sudo apt-get install nvidia-settings
You then should see something like this:
From the left pane, choose X Server Display Configuration. Now click the second screen in the dialog window and click Configure. Then enable TwinView, like so:
Alternatively, you can choose Separate X screen which will require you to reboot the computer later.
Choose your screen resolution, or leave at Auto. Position is usually best left as directional, but Absolute is OK if you want to set it manually. You can also swap primary displays from here.
Differences
TwinView
- one large screen shared between two monitors
- in Compiz-Fusion, it makes the "cube" appear as one large octagon
Separate X screen
- separate X screens, one on each monitor
- allows your window manager (Metacity, XFWM, Compiz, etc.) to be aware that there are two screens
- in Compiz-Fusion, each monitor has its own cube, controlled separately
Saving
Now we will save the new settings by clicking Save to X Configuration File.
I prefer to uncheck Merge with existing file. Now click Save. If it gives you an error, "Unable to remove old X config backup file '/etc/X11/xorg.conf.backup' then click OK and open the save dialog again. Click Show preview..., select all and copy. Now open a terminal and run
gksudo gedit /etc/X11/xorg.conf
Delete the current contents of this file and paste what is in the preview. Save and close.
Now you can quit the Settings window. If needed, restart X by logging out and back in, or typing sudo /etc/init.d/gdm restart, or reboot the computer.
Troubleshooting
During the course of this tutorial, if X breaks and you no longer have a GUI, you should uninstall the restricted driver, reset xorg.conf and then reboot.
Note: If you are trying to save your xorg.conf file after changing settings in the nvidia-settings app and you recieve the error message
Failed to parse existing X config file '/etc/X11/xorg.conf'
then you can resolve this by replacing your xorg.conf file with the commmand
sudo nvidia-xconfig
You should then be able to follow the procedure described here and save the new xorg.conf. The error described here seems to occur after a fresh install of Karmic.
Removing Restricted Drivers
If you installed from Hardware Drivers (aka Restricted Drivers Manager), either uncheck the box there, or run:
sudo apt-get remove --purge nvidia-glx-new
You may need to subsitute in nvidia-glx-legacy or nvidia-glx depending on your card.
If you used EnvyNG to install the restricted drivers and cannot access the GUI to uninstall them graphically, run from a tty or recovery mode kernel:
envyng --uninstall-all
If you installed restricted drivers using a .run file from Nvidia's website, cd to the appropriate directory and run
sudo sh <name_of_the_nvidia_installer> --uninstall
again, substitute from the above examples.
Resetting xorg.conf
From a tty or the recovery mode kernel, you can run
sudo dpkg-reconfigure xserver-xorg -phigh
Reboot
You should now reboot the computer. If you are at a terminal or tty, run:
sudo reboot
Other Resources
Here are some other useful and related pages.