Problem
I upgraded my "telly box" to the latest Ubuntu not knowing that the bastards in ATI no longer support my graphics card (9100 IGP, it's the one built in on my Shuttle ST61G4). The newest fglrx drivers don't work for my card and the older ones that do work, don't work with xorg 7.2.0 that comes with Ubuntu 7.04 (feisty).
Non-solutions
I tried downgrading to edgy's xorg (6.8 I think) as described by one user, that didn't work for me although I never got the fglrx drivers happily installed so maybe it would have worked eventually.
I tried applying the GATOS tv-out patch to xorg 7.2.0. With some tweaking, I managed to get this to compile and even output sane messages from X about setting my output to PAL but never got working output (there was a flash of the Ubuntu colour-scheme but it looked like it was running at the wrong refresh rate). I never tried getting the GATOS patch working before now so I have no idea whether it should have worked or not. If anyone is interested in playing around with it, my updated version is here - remember, this exists as a patch because the GATOS license isn't compatible with xorg's license.
I spent some time monkeying around with X and fbdev but didn't get any joy from that. I couldn't even get fbset to change the console settings
Solution
Finally I tried something that I'd thought of ages ago but never got around to doing because I assumed it would suck. I switched X to use the vesa driver. I did dpkg-reconfigure xserver-xorg , chose vesa as my driver and accepted all the defaults and happy days ensued. It even seems to use far less CPU when playing back mpeg2 files!
For reference, here's the xorg.conf I'm using
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf(5) manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Files"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "ie"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/input/wacom"
Option "Type" "stylus"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "Device" "/dev/input/wacom"
Option "Type" "eraser"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "cursor"
Option "Device" "/dev/input/wacom"
Option "Type" "cursor"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "Device"
Identifier "ATI"
Driver "vesa"
BusID "PCI:1:5:0"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 28-50
VertRefresh 43-75
EndSection
Section "Screen"
Identifier "Default Screen"
Device "ATI"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "800x600" "640x480"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
EndSection
Section "DRI"
Mode 0666
EndSection