Using the RGB signal

Most video cards should be programmable with suitable modelines for TV compatibility. However, not all have a composite sync option, so they need an external circuit to combine the horizontal and vertical sync signals. People have reported success with this technique using NVidia cards.

A suitable circuit is detailed at http://www.hut.fi/Misc/Electronics/circuits/vga2tv/cindex.html. The article has several XFree86 modelines with comments for various video cards. There is an alternative description of the same circuit at http://tacashi.tripod.com/elctrncs/vga2tv/vga2tv.htm.

http://www.nexusuk.org/projects/vga2scart/circuit details a simpler circuit with links to an RGB to S-Video converter.

http://www.linuxnetmag.com/en/issue7/m7tvout1.html has another very simple circuit diagram and also a large table of modelines.

http://www.epanorama.net/circuits/vga2tv/vga2palntsc.html details a more complicated cicrcuit to convert from VGA to S-Video and composite.

Cards with composite sync

Some cards have an option to generate composite sync signals with no extra circuitry. Certain Matrox cards and most cards based on ATI chips are thought to be capable of this. I've had success with a Radeon 9200SE, but failure with a Radeon 7000 and a Matrox G200 because their clocks wouldn't run at such a low frequency. Some Matrox cards can output TV-compatible signals on their second head, but only with specialised drivers instead of the mga X driver. See the Matrox TV out section, which includes a paragraph about RGB.

http://ryoandr.free.fr has a simple wiring guide for ATI cards. There is similar information at http://www.idiots.org.uk/vga_rgb_scart/, but it claims to be no longer under development and superseded by the French site. For the Radeon cards the composite sync signal is present on the VGA connector's horizontal sync pin. I do not know whether the signal is also present on the vertical sync pin or whether Matrox cards are the same, but I should think they are, and it can easily be corrected by swapping the wire from pin 13 to 14 if not.

Pin 9 on a VGA connector is officially unused, but on some cards it provides 5V, which should be suitable for the control signals described in the above article, although the 16:9 selection did not appear to work for me with my Radeon, so maybe the voltage dropped too far below 5V. This pin also carried 5V on my Matrox G200, but that was not capable of low enough frequencies for a TV.

You may also like to know that pins 2, 6 and 4 on a SCART lead are audio right and left in, and audio ground respectively, so you can wire these up to a jack plug for your sound card too.

Modelines

All the above solutions require specific modes to generate frequencies correct for PAL. XFree86 modelines are sprinkled throughout the articles referenced. Unfortunately, finding one that works tends to depend on what sort of card you're using. I tried several with my Radeon 9200SE unsuccessfully until I generated one by looking at the screenshot of Powerstrip, a Windows utility, at www.idiots.org.uk and converting the numbers to an X modeline, using the conversion guide at http://www.knowplace.org/timings.html:

Modeline "720x540PAL" 15.101 720 770 842 968 540 565 570 624 Composite Interlace

A Radeon 9200 user reports that the 720x576 modeline at http://ryoandr.free.fr works, but was slightly off-centre, so he modified it to:

ModeLine "720x576PAL" 15.125 720 770 842 968 576 579 607 625 Composite Interlace

720x576 is preferable to 720x540, being a match for PAL DVD resolution.

The format of a modeline is described in the man page for XF86Config, and explained in the XFree86 Video Timings HOWTO. If you just want a quick hint, the second and sixth numbers in the line are the horizontal and vertical resolution respectively.

TVs use unusually low frequencies compared to monitors, so you will need to change the HorizSync and VertRefresh parameters. Try these values:

    HorizSync       15-20
    VertRefresh     50-60

Additional option for ATI cards

Additionally, ATI cards often do not admit they can display such low frequencies when interrogated by the driver, so they need this option in the Device section to override it - the value in MHz corresponds to the 15.101 in the modeline above:

Option "ForceMinDotClock" "15MHz"