Hi, this is an old chestnut and I wonder whether anyone cares about TV Outs any more, but I'll pen in my experience after having sweated over the problem for two weeks, in case I help someone:
I'm running an elderly GeForce 2mx/mx400, connected to my old TV. My PC is a dual Pentium II (yes, they still exist!), runing LXDE over OpenSuse 11.4. I wanted the PC to work only with the TV, without an accompanying computer monitor. Hence my difficulty; information on this configuration (i.e. without a computer monitor) is pretty scant.
All older GeForces are basically the same. Nvidia have a great instruction sheet, which you can download from ftp://download.nvidia.com/XFree86/Li...DME/README.txt
Other than this, I got lots of info by reading my Xorg.0.log file.
This is what I did to get things working:
- Connect TV ONLY.
- Boot linux in failsafe mode.
- Log in as root.
- Edit your /etc/modprobe.d/50-blacklist.conf file, and add the following line:
- Reboot in failsafe mode, and log in as root.
- You MUST do a full software update, which takes hours.
- Add the following repository:
Repository name: nvidia
- Open software management. This will have the following selected for installation:
or whichever other nvidia driver is applicable to your card.
- Copy file /etc/X11/xorg.conf.install to /etc/X11/xorg.conf.
- Make the changes shown below in red
to /etc/X11/xorg.conf. Note that these were for PAL-B with a resolution of 720x576, which is appropriate for most TVs in Europe; maybe you need a different configuration in your country. See below for more info.
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder75) Wed Oct 27 19:20:23 PDT 2010
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
# generated from default
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
# generated from default
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
# Option "DPMS"
VendorName "NVIDIA Corporation"
Option "NvAGP" "0"
Option "TVStandard" "PAL-B"
Option "ConnectedMonitor" "TV"
Option "TVOutFormat" "SVIDEO"
Option "IgnoreEDID" "1"
- Reboot normally (i.e. not in failsafe mode), and everything should work fine.
During my search, I discovered the following:
1. The nv and nouveau drivers don't really work for me. Sorry... nvidia's proprietary drivers are fine, though.
2. Once you have installed the nvidia drivers, you can get an enormous amount of information (including the modes your nvidia card supports) doing the following:
- Boot linux in normal mode (not failsafe mode!), but force runlevel 3 by adding the number 3 at the end of the grub boot command line.
- Log in as root.
- Type startx -- -logverbose 5 (as you see it, with all the dashes).
- XWindows will probably not start, but file /var/log/Xorg.0.log will now have an enormous amount of information regarding your nvidia card's capabilities, and potential problems.
3. Option NvAGP 0 essentially disables AGP and forces the card into PCI mode. This is not a good idea, but I found it necessary on my PC. Without this, to get a working screen it was necessary to press Ctrl-Alt-F1 to enter a text mode, then Ctrl-Alt-F7 to return to X-Windows; even this wasn't very reliable. You might not need it, though.
4. Option IgnoreEDID 1 is a Godsend. Without it, my TV (an old Philips) did not work at all! It obviously reports resolutions the nvidia card couldn't support, or maybe it just reports rubbish. Without this option I either got a black screen on the TV, a totally unlocked mess on the TV, or a heavily squashed picture which was reported as 1440x600. Weird...
5. Resolutions: I used 720x576, which is fine for PAL-B here in Europe. nvidia state that 800x600 and 640x480 are safer bets; I suppose they are, at least for starters. As stated earlier, check your /var/log/Xorg.0.log file after startx -- -logverbose 5, and this will list all the resolutions the card will support on TV out.
6. Note that (at least for my configuration), nvidia state that the HorizSync and VertRefresh settings in xorg.conf are ignored, and the capabilities of the TV driver chip are used instead. So, in principle, HorizSync and VertRefresh need not (should not?) be set. I set them to the values reported by the driver in my /var/log/Xorg.0.log file after startx -- -logverbose 5.
It's a lot of hard work, but the results are worth it! I now have really great picture on my TV, with no "black borders" around the picture and no need for a computer monitor.