Difference between revisions of "How to get TV-Out working on ATI graphic cards"

From ThinkWiki
Jump to: navigation, search
m (mentioned resolution)
(make note about Svideo functionality being merged upstream in 2.6.33)
 
(29 intermediate revisions by 12 users not shown)
Line 1: Line 1:
 
This HOWTO should help you enable TV-Out support on your ATI Radeon or ATI Rage based ThinkPad.
 
This HOWTO should help you enable TV-Out support on your ATI Radeon or ATI Rage based ThinkPad.
  
==Using the GATOS driver==
+
{{NOTE|This page is not applicable to recent ATI Radeon Mobility chips. See [[ATI Mobility Radeon X300]] for a discussion.}}
===Getting the driver===
 
====XFree86====
 
Get the latest version of the [http://gatos.sf.net GATOS] ati.2 driver for your version of XFree86.
 
The ati.2 driver is a replacement for the one provided with the respective XFree86 distribution.
 
  
====Xorg====
+
== Using Xrandr with Kernel Mode Setting (KMS)==
For Xorg the ati.2 drivers are already contained within the latest releases. Just copy them to the given directories.  
+
{{NOTE|KMS support for radeon chips is still under heavy development. And in particular S-video support was not on the top of the agenda, but it is starting to work with the very latest updates. If you have a distribution that uses KMS by default like Fedora and would like to go back to UMS, boot with the {{bootparm|nomodeset|}} kernel option.}}
  
=== XServer configuration file ===
+
Fedora is the only distribution with KMS enabled by default for Radeon chips for now. The only way to get S-video output support, other then disabling KMS, is to use the Fedora 12 kernel-2.6.31.6-159 or later. Alternatively this functionality has been merged upstream in the 2.6.33 kernel. With these kernels you should get something like the following when you run {{cmd|xrandr --props|}}
The documentation for the driver explains, that you have to add a line to the device section of your graphics adapter:
 
  
  Option "TVOutput" "YYY"
+
  S-video connected 800x600+1400+0 (normal left inverted right x axis y axis) 0mm x 0mm
 +
        tv standard:    pal
 +
                supported: ntsc        pal          pal-m        pal-60
 +
                            ntsc-j      scart-pal    pal-cn      secam
 +
        load detection: 1 (0x00000001)  range:  (1,0)
 +
    800x600        59.9*+
  
where <tt>YYY</tt> is replaced by the desired video norm. Options are:
+
To change the TV mode to NTSC;
* NTSC
 
* NTSC-J
 
* PAL
 
* PAL-CN
 
* PAL-M
 
* PAL-N
 
* PAL-60
 
  
===ThinkPads this has been successfully tested on===
+
{{cmdroot |xrandr --output S-video --set "tv standard" ntsc}}
  
==Using atitvout==
+
Fedora bugzilla entry: [https://bugzilla.redhat.com/show_bug.cgi?id=497055]
  
Another approach is by using the
+
== Using Xrandr with legacy UMS==
[http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/ atitvout tool]
 
provided (but no longer maintained) by Lennart Poettering.
 
  
The provided archive contains a source release which can be compiled and installed by {{cmd|make}} and {{cmd|make install}} within the extracted directory. The atitvout tool will then be installed to {{path|/usr/local/sbin/atitvout}}.
+
To use the TVout on Radeon 7500 type following:
  
The tool uses the VESA Bios Extensions (VBE) which are initialized only once during power on. So if you want to use the TV-out, be sure to get the corresponding video device such as a tv connected before powering your ThinkPad.
+
{{ cmduser | xrandr --output S-video --set load_detection 1 }}
 +
{{ cmduser | xrandr --addmode S-video 800x600 }}
 +
{{ cmduser | xrandr --output S-video --mode 800x600 }}
  
Under some circumstances the tool fails to communicate properly with the VBE Bios. By issuing {{cmd|atitvout -f t}} you activate the SVideo output port. The command {{cmd|atitvout -f l}} you change the graphics output back to the LCD.
+
And set mode PAL or NTSC with:
 +
{{cmduser | xrandr --output S-video --set tv_standard ntsc }}
  
The atitvout doesn't seem to work on higher resolutions. To send a Xserver to a connected video device, it is possible to start a second Xserver e.g. with {{cmd|startx -- :1 -xf86config XF86Config-4_reduced-resolution}}. For resolutions up to 1024x768 the switching should work fine.
+
If you want to use XVideo overlay on TV, try following command:
 +
{{ cmduser | xvattr -a XV_CRTC -v 1 }}
  
While this works very well for ordinary X applications, playing video files, say with mplayer or xine might result in wrong aspect ratio or otherwise distorted output.
+
=== ThinkPads/Other laptops this has been successfully tested on ===
 
+
*{{A30p}}
Switch to a text console (preferably a non framebufferd one) and issue an {{cmd|atitvout -f t}}. Then start {{cmd| mplayer -vo svga}} and the filename and other options needed. After enjoying the show, switch back with {{cmd|atitvout -f l}}.
+
*{{T30}}
 +
*{{T40}} with Radeon 7500
 +
*{{T41}} with Radeon 7500
 +
*{{T41}} with Radeon 9000
 +
*{{T42}} with Radeon 9600

Latest revision as of 11:15, 27 January 2010

This HOWTO should help you enable TV-Out support on your ATI Radeon or ATI Rage based ThinkPad.

NOTE!
This page is not applicable to recent ATI Radeon Mobility chips. See ATI Mobility Radeon X300 for a discussion.

Using Xrandr with Kernel Mode Setting (KMS)

NOTE!
KMS support for radeon chips is still under heavy development. And in particular S-video support was not on the top of the agenda, but it is starting to work with the very latest updates. If you have a distribution that uses KMS by default like Fedora and would like to go back to UMS, boot with the nomodeset kernel option.

Fedora is the only distribution with KMS enabled by default for Radeon chips for now. The only way to get S-video output support, other then disabling KMS, is to use the Fedora 12 kernel-2.6.31.6-159 or later. Alternatively this functionality has been merged upstream in the 2.6.33 kernel. With these kernels you should get something like the following when you run xrandr --props

S-video connected 800x600+1400+0 (normal left inverted right x axis y axis) 0mm x 0mm
        tv standard:    pal
                supported: ntsc         pal          pal-m        pal-60
                           ntsc-j       scart-pal    pal-cn       secam
        load detection: 1 (0x00000001)  range:  (1,0)
   800x600        59.9*+

To change the TV mode to NTSC;

# xrandr --output S-video --set "tv standard" ntsc

Fedora bugzilla entry: [1]

Using Xrandr with legacy UMS

To use the TVout on Radeon 7500 type following:

$  xrandr --output S-video --set load_detection 1 
$  xrandr --addmode S-video 800x600 
$  xrandr --output S-video --mode 800x600 

And set mode PAL or NTSC with:

$  xrandr --output S-video --set tv_standard ntsc 

If you want to use XVideo overlay on TV, try following command:

$  xvattr -a XV_CRTC -v 1 

ThinkPads/Other laptops this has been successfully tested on