TV output module

x

Overview


"theater_out" is a loadable module that drives the tv output of ATI Radeon cards.

TV output of Radeon cards comes in one of these configurations:


TV input TV output Example Description
1
No
Rage Theater (100)
Radeon 7200 - Euro version
Others?
RT is there only to handle tv output, its tv input capabilities are not used at all. Interface between RT and Radeon goes through the VIP bus, video data is sent from Radeon to RT through a separated 8-bit multiplexed bus.
2
Rage Theater
Rage Theater
?
Do such an arrangement actually exist?
3
Rage Theater (100/200)
Embedded into Radeon chip
Most (all?) AIW cards
RT is only used for TV input. A scaled down version of RT is embedded inside the Radeon chip (let's call it "Embedded Rage Theater", ERT). ERT is only capable of TV output. Having an ERT greatly simplifies software access to tv output registers (they're just another set of Radeon registers) and hardware design (no external chip, no tricky high-frequency interfacing between chips).
4
No
Embedded into Radeon chip
Non-AIW 9000 series cards
A Radeon chip with its ERT is used. From an hardware point of view these cards are quite simple: ingredients are the Radeon chip, the video memories, the BIOS ROM and a bunch of analog/passive components.

The module supports now both Rage Theater (100) and ERT, so it should work on all type 1 and type 4 cards. My testing was done on a Radeon 7200 card (type 1), a Radeon 9000 and a Radeon 9200SE (both type 4).

Status

Driver is in early development stage. It currently works on type 1 and 4 cards (see table above) and with PAL & NTSC standards only. It should also work on type 3 (all-in-wonder) cards, but I can't verify this because I don't have such cards available.

Making it work

Theater_out is included into ati.2 driver when the tv_output branch is selected in the CVS repository.
After downloading ati.2, proceed with the usual installation procedure.

tv_output patches that work against latest Xorg can be found here

Principle of operation of the driver is very simple. Theater_out enables tv output whenever the current screen resolution and tv standard match one of a set of pre-computed combinations. In all other cases tv output is simply kept disabled.
The driver currently works in the so-called "clone" mode only: this means that the image on the TV screen is exactly the same as the one on the monitor.

Theater_out must be activated by using the "TVOutput" option in the "device" section of XF86Config-4. Unless this option is present, the module is disabled.
Value of "TVOutput" is the TV standard to use.

These are the recognized names:
  • NTSC
  • NTSC-J
  • PAL
  • PAL-CN
  • PAL-M
  • PAL-N
  • PAL-60
In the current version of the driver these are the supported TV standard & resolution combinations:

Standard
Resolution
PAL
800 x 600
NTSC
800 x 600

More combinations will be added in future releases.

Notes & warnings

The module should coexist peacefully with tv capture functions of ati.2 (on type 3 cards). In case you're suspecting some bad interaction between tv output and input modules, you can disable the loading of theater_out by setting the "TVOuput" option in XF86Config-4 to "NOLOAD".

Theater_out only works on cards having a 27 MHz reference frequency. All the radeon cards I had a chance to examine have this frequency, so this limitation should not be an issue.

It's important that you are aware of the fact that, when TV output is active, the monitor is driven at the same vertical refresh frequency as that of the TV output. This means 50 or 60 Hz according to the standard you're using.
THE DRIVER DOES NOT CHECK THE CAPABILITY OF THE MONITOR TO SUSTAIN THESE FREQUENCIES.
You should look up in the monitor manual and check that 50/60 Hz is within the limits. IT IS POTENTIALLY HARMFUL TO THE MONITOR TO BE DRIVEN AT A FREQUENCY OUTSIDE ITS OPERATING RANGE.

Note, however, that most monitors should accept a 60 Hz vertical frequency, since this is used in standard VGA modes. You should really check for 50 Hz compatibility if you are going to use any related standard (PAL).
ATI manuals recommend checking for 50 Hz compatibility (they seem to take 60 Hz for granted).

One last thing: keep in mind that my testing was done on cards that don't have any DVI/LCD outputs (just CRT & TV). Because of this I'm not sure about the driver behaviour with DVI/LCD kind of displays. Be warned.

SourceForge Logo http://gatos.sourceforge.net/theater_out.php was last modified by Federico Ulivi 8:11pm Tuesday, May 03rd 2005