Google Site SearchFN Site Search FN Blog Login FN Blog Login
Site Navigation:
 
 

TV-out with ATI Radeon Video Cards

by Youssef Makki
Written on Feb 26, 2004 (UPDATED Jul 09, 2004)

1. Introduction

This HOWTO will help you get TV-out working on any Radeon card using ATI's drivers.
This is tested with a Radeon 9600 Pro using fglrx-glc22-4.3.0-3.7.0*, on Fedora Core 1 with XFree86-4.3.0-55.
If you use the XFree86 'radeon' driver, check the end of this document for info on TV-out with that.

2. Required Software

  • You'll need to have ATI's Linux drivers installed. You also need a functional XF86Config generated by fglrxconfig.
    Installation is beyond the scope of this document, however it is very simple. Read the instructions on ATI's website.
  • Optional
    • xvattr RPM for Fedora Core 1. Utility to set XV Overlay attributes.
  • Configuration Files

3. Before You Begin

  • I strongly suggest you change your init level from 5 to 3. If you encounter any problems it will be easier to recover.
    You'll need to edit /etc/inittab as root, and change the following line from 5 to 3:
  • #   6 - reboot (Do NOT set initdefault to this)
    #
    id:3:initdefault:

    # System initialization.
  • Backup your existing XF86Config (or XF86Config-4) file which you can find in /etc/X11/.
  • root@galileo:~# cp /etc/X11/XF86Config /etc/X11/XF86Config.original
  • Reboot with your TV turned on and plugged into your video card.

3. Configuring XFree86

3.1 Using Separate Configuration Files

startx can be told to use a specific configuration file when launched, so I keep 2 separate XF86Config files, one of which has the TV output enabled. Handy since I don't always use my TV display.
ymakki@galileo:~$ startx -- -xf86config XF86Config-tv
To do this, just copy your existing configuration to XF86Config-tv or such, and edit that instead.
You must have XF86Config-tv (or any alternate) in /etc/X11/ to be able to do this as a regular user and not root.

3.2 Editing XF86Config

You'll find my XF86Config-tv here.

I'll explain the few important options in there that you need to change to get your TV working.
Use your favourite editor (vi, pico, gedit).

Toggle TV Display on/off. "yes" disables TV-out:
Option "NoTV" "no"
Define the TV standard you use (PAL/NTSC..):
Option "TVStandard" "NTSC-M"
Arrange your monitor layout, assign displays as Primary and Secondary:
Option "MonitorLayout" "STV,CRT"
In this case, I have my TV as Primary and my monitor as Secondary. When you play movies or a DVD for instance, you will get a black screen/window on your secondary display.
This is most probably a copy-protection mechanism. Notice, it's STV not TV, even if you are using an s-video to composite adapter; one of the things I figured out the hard way.

Define your Desktop layout:
Option "DesktopSetup" "0x00000100"
"0x00000100" clones your display on both your Monitor and your TV.
"0x00000200" is the 'Extended' layout, it spans your desktop on both of the screens.

Choose your resolution:
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
This is very important. 1024x768 works for me with TV-out, however some people mention they had to use 800x600, so this is something you will have to experiment with.

4. Testing

Make sure you've already rebooted with your TV plugged in, and changed to init level 3 if you decided to do so.

4.1 Starting X

Start X with the new configuration file:
ymakki@galileo:~$ startx -- -xf86config XF86Config-tv
If you edited your existing XF86Config or XF86Config-4 to make TV-out enabled permanently, simply test it with:
ymakki@galileo:~$ startx
You should see your display cloned on both your monitor and TV (unless you changed DesktopSetup).

4.2 Testing with Mplayer (or any other media player)

Try a video file, or try playing a DVD if you have one:
ymakki@galileo:~$ mplayer dvd://
Mplayer should play the movie on the screen designated as 'Primary' (check configuration above), you'll only see a blank mplayer window on the other display.
Pressing 'f' in mplayer toggles full screen.

5. Finalizing Settings

You could now chose to switch back to graphical login if everything is working fine. Do so by editing /etc/inittab as root, and changing 3 to 5:
#   6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

# System initialization.
If you want to permanently enable the TV display, rename XF86Config-tv (or any custom name you chose) to XF86Config.

6. Other Software and Utilities

Check the Software section above to download the mentioned software and files here.

6.1 Creating GNOME menu entries

Installing ATI's rpm does not properly add a GNOME menu icon, and neither does xvattr.
Download and place the .desktop files from the Software section in /usr/share/applications/. The .desktop files will add ATI's configuration utility and gxvattr to your Menu -> System Settings.

6.1 ATI's firegl configuration utility

To launch their configuration utility, run /usr/X11R6/bin/fireglcontrol, or launch it from Menu -> System Settings -> ATI Control
A separate tab for TV adjustments appears when TV is enabled. It allows you to adjust size and positioning of the TV display. The 'DualScreen' tab contains options to configure the layout of the screens, although it did not work for me. Check above for editing the configuration file with various cloning options.

6.2 Using xvattr for overlay adjustment

xvattr allows you to change Xv video overlay options like brightness and contrast. These settings only affect a movie your watching for example, and don't affect your whole desktop.
When installed, it can be launched by running gxvattr, or from Menu -> System Settings -> ATI Radeon Video Overlay.

7. Troubleshooting

  • If the display on your TV looks garbled or strange in any way (horizontal lines), I suggest you experiment with different resolutions as I mentioned above; start with 640x480 and move up.
  • If you can't see your computer booting Linux (rhgb), that's probably because rhgb is using refresh rates your TV can't handle. If you know/find a workaround let me know.

8. Using the XFree86 radeon driver

Katie Dixon has instructions for TV-out on her Dell 5100 laptop with Fedora Core 1 using a utility called atitvout (Dag has an RPM here).
She has an ATI Radeon Mobility 7500, which is supported by the 'radeon' driver in XFree86. Her instructions should apply to any Radeon card using the 'radeon' driver.
Follow her instructions here: http://www.pibby.com/blog/index.php?p=3
Should you have questions or need help, feel free to contact her at katie at pibby.com.

9. Updates

  • March 29, 2004
    New ATI driver version 3.7.6
    The provided XF86Config-tv file works with the new driver.
    The instructions here do not differ from version 3.7.0 for this new driver version.

License and Copyright

Copyright (c) 2004, Youssef Makki.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is located at www.gnu.org/copyleft/fdl.html.