TwinView uses any second output on your video card and basically makes 2 screens 1 really big one (they both have to be able to support the SAME resolution). TwinView is in the driver and if you have a second output (which you do - svideo or whatever) then Option "TwinView" has to be added to your XF86Config. As for the desktops, i haven't tried this, but i had everything else working fine (twinview, tv out) on my GeForce 4 MX440 64meg. If you look at the Nvidia readme for the driver it explains A LOT. I know it's long, but it tells you how to do the 2 virtual desktops and might even mention how you cycle back and forth between them (not sure if that was there, but it probably is). It also explains - in detail - everything i just mentioned.
Gentoo Linux-64, AMD64 Athlon 3200, Asus K8V Deluxe, 1 gig(3200 400mhz) ram, GeForce FX5200 128, HP 400i DVD+R+RW, HP ScanJet 2200c, Epson Stylus C84, JVC DRV3000U (firewire - usb), Kodak CX6330