ATI Hates Us For Our Freedom (And TV-Out)

As avid readers will recall, I have two computers: kryten, my laptop, and holly, my 6+-year-old desktop that has been repurposed into a MythTV box. Both are running Debian unstable. I keep kryten relatively up to date, usually upgrading its software at least once a week. holly, on the other hand, gets upgraded sporadically at best.

Yesterday I got the bright idea to upgrade the software on holly. Boy, that was a mistake.

You see, holly’s video card is an ATI Radeon 9000, and the only way to get the S-Video output to work on it in Linux is to use the binary-only proprietary fglrx drivers. One of the “features” of the version of fglrx currently sitting in unstable is broken TV-out support. Somehow, that version of the drivers gets the idea that your screen is twice as tall as it really is, so when you try to render anything to it, you only see the top half of the image, stretched vertically to fill the entire screen.

Also, what’s really fun about debugging the fglrx drivers’ TV-out mode is that, after you load them the first time, there’s a very non-zero chance they’ll lock up the system the next time they’re loaded, so you get to do a lot of rebooting.

Even better, when I tried to downgrade the drivers to the last working version that I had had installed, the .deb packages had apparently vanished from the local cache. And when I tracked down an older version of the driver packages and tried to start X back up, it bombed out complaining about a module ABI version mismatch. Apparently for the past few months I had been running a magical working version of the drivers that had since evaporated out of this universe.

And in case you’re itching to suggest downloading the truly latest version of fglrx which hasn’t landed in unstable yet, here’s a fun fact: it seems as though ATI removed support for the Radeon 9000 entirely in that version! Way to stick it to your users, ATI — actively refuse to support your hardware, and prohibit the free software community from doing it either!

Having about had it with ATI, I resolved to buy an NVIDIA card to replace it. Sure, the NVIDIA drivers are also binary-only and proprietary, but from my experience running them on kryten (without which X refuses to work at all), they’re not nearly as brittle and have reasonable support. I went to the local electronics vendor and bought the cheapest NVIDIA card I could find, since it’s not like I’m going to do anything than render video out through the S-Video port anyway.

Well, remember how I said holly is over 6 years old? Apparently, even the cheap low-end graphics cards these days require motherboard connections that didn’t exist when holly was created. PCI Express? Back in holly’s day, we had AGP and we liked it. The worst part is that holly is normally stashed behind the TV and accoutrements, in an alcove presumably intended for a bookcase — about the opposite of what you’d call “easily accessible”.

Being too stubborn to give up on never watching commercials on TV, ever, I finally stumbled across this bug report for the open-source ATI drivers that suggested a workaround to the ABI mismatch problem. So now, finally, things are back in working order, with a version of X that’s mostly 7.1.0 with a few pieces of 7.0.23 to make an old version of fglrx not bomb out.

Not coincidentally, I decided to replace the stock /etc/motd (which gets displayed every time you log in) with this:

******************************************************************************
*                                                                            *
* I swear to Xenu, if you even *think* about upgrading any of the XOrg or    *
* fglrx packages, I will punch you in the gob.                               *
*                                                                            *
******************************************************************************

The moral of the story is: unless you have a compelling need to upgrade software, don’t.

2 Responses

  1. Paul, I just want you to know that you won a game of 1,000 blank white cards tonight (actually this morning). Technically you lost by 10000 points to Kamikaze, but we decided that your Cheetah was worth much more than that, and awarded you the victory. Congratulations sir, you truly are the master of us all.

  2. Once again, my chances of winning 1KBWC increases the farther away from it I am.

Comments are closed.