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.