My setup is two X screens side by side. The laptop is on the right, and the LCD in the centre. You can use the real nVidia twinview, which should require xinerama support where available, but I didn't like the second display not having it's own gnome panels.
Both displays are 1920x1200. I used nvidia-xconfig and some manual tweaking to get it right. Note I backed up my xorg.conf file first to xorg.conf-20080728 so that I could run nvidia-xconfig multiple times from the same starting point:
sudo nvidia-xconfig -c /etc/X11/xorg.conf-20080728 -o /etc/X11/xorg.conf --separate-x-screens --no-constant-dpi --use-edid --use-edid-dpi --damage-events --render-accel
Now, this default setup creates an xorg.conf file that places the login screen on the primary display - the laptop. Annoying if you have the LCD in the centre. Simply swapping "Screen 0" and Screen 1" in the ServerLayout doesn't work, as the first screen will still be assigned to the laptop. You must force which screen is the primary screen by using UseDisplayDevice. In each "Screen" section, add:
Option "UseDisplayDevice" "DFP-0"
for the laptop LCD (or DFP), and
Option "UseDisplayDevice" "DFP-2"
for the external LCD. You may find yours is DFP-1. I use the DVI so perhaps DFP-1 is for the VGA.
Take note of the Identifiers for the two screens, and change the serverlayout to show:
Screen 0 "DefaultScreen (2nd)"
Screen 1 "DefaultScreen" RightOf "DefaultScreen (2nd)"
Then restart X. The 0th screen is the "primary" screen, which will have your log-in window and all your usual panels and applets. The 1st screen has a default blank Gnome installation (if you use Gnome), but with the same background.
You could rename the Identifiers to make them a bit more readable.
The resultant xorg.conf file is on pastebin.
So far, the EDID DPI detection doesn't work, so applications that support the DPI and resize themselves aren't doing so for me, depending on the screen. Emacs does look a bit wierd on a 24 inch monitor, when the DPI is set for a 17 inch LCD!