fglrx Drivers — Getting TV Out to Work

January 11, 2009

About six months ago my friend sent me a link to Hulu.com and one day I simply stumbled across the service Joost.com. Since then I have been hooked on internet television. I rarely use the normal form of watching TV, and why should I? I can watch the shows I want to watch WHEN I want to watch them. Additionally, both Joost and Hulu offer subtitled and dubbed anime, which is far more than I can get on TV. Anyway, that’s not the point of my post, but rather the reason I became interested in getting the TV Out on my ATI Radeon 9800Pro to work. As a final note I am using the ati-drivers (fglrx) version 8.561 . For you Gentoo users it is currently masked in portage so you are going to want to add “=x11-drivers/ati-drivers-8.561” to your /etc/portage/package.keywords if you plan to use them. I don’t know what version they started supporting the features I am talking about so it might work with your current setup just fine.

Sadly I must use the closed source driver, for now anyway, because Spheriosity will not run properly for me on the open source driver. I used to switch between the two drivers, but that became terribly inconvenient because I needed to maintain two Xorg.conf files since each driver has its own little nuisances. I kept reading that the closed source driver (fglrx) supported TV-Out, but I was failing to setup the Xorg.conf file correctly and I noticed that xrandr didn’t seem to work. Eventually I noticed here (scroll down a bit) that fglrx does not support the randr extension. At that point I was ready to give up, but I noticed the aticonfig tool. This has a few options that can be changed on the fly, which is exactly what I wanted. Normally I run a dual monitor configuration with big desktop and only on occasion do I want TV output. With the aticonfig tool it was quite simple:

aticonfig --query-monitor

This shows what monitors are seen by the drivers. Here is what mine looks like:

jinto@lightflame ~ $ aticonfig --query-monitor
  Connected monitors: crt1, tv, crt2
  Enabled monitors: crt1, crt2

To enable the TV you simple issue the following command:

aticonfig --enable-monitor=tv
aticonfig --enable-monitor=tv,crt1 (if you want tv and a monitor)

You may have to replace crt1 with whatever output you get from --query-monitor, but hopefully you get the idea. KDE 4.1 did seem to have some minor annoyances while switching between configurations so when I watch TV I simply use a failsafe login to avoid my plasmids from getting all messed up. Also, there are ways to adjust the size of the image being output to the TV using the --tv-geometry flag. aticonfig will complain about not being able to edit the xorg.conf file, but it seemed to change it for me on the fly so I’m not sure what the story is behind that. If you want to understand how to use --tv-geometry just issue aticonfig --help | less and it is near the top. If you are interested the tv geometry I use it is:

aticonfig --tv-geometry=43x55-1+1

What you need to use probably varies from TV to TV so unless you have a 27″ Sony Trinitron you will probably have to tweak that command 😉 .

Oh yeah… and if you want to go back to your original configuration just issue:

aticonfig --enable-monitor=crt1,crt2

Or whatever monitors you wish to active. If you only have a single monitor then all you need to do is issue the previous command without the “,crt2” part 🙂 . Good luck!