I have two systems with ATI video cards, one my MBE and the other a FE.
Cards are the X800 and X300. Installing R5E50 was wonderful with Xorg. I didn't even have to connect a monitor on the FE system that in normal operation only has a TV! Thank all for the wonderful work on KnoppMyth.
That said I was unable to get the built in Xorg driver to give the performance required to playback HD content on my FE. Specs:
FE:
Intel 2.8GHz CPU
ATI X300 (AGP) 128MB
1GB RAM
I reverted back to contaminating the system with the drivers from ATI that worked on R5D7.
Before I get into the how, maybe now is a good time to write down the ATI driver history that resides in my swiss cheese memory. It's fairly simple.
8.32.5 Latest driver (as I write this). Overlay problem, effect is that the overlay is stretched 2x tall (maybe wide also) and you can only see a fraction of the played back content on the TV. TV image adjustment does work.
.
.
8.27.10 Newest driver with a working overlay. TV image adjust does not work, entries in xorg.conf are ignored. This is what I use as the default image position is OK on my TV.
.
.
8.0.20 Last reported version that had a overlay and TV image adjustment features working. I did not try to get this working on R5E50.
I have also tried many versions in between the above and the two major features I track fail/work at various points in between the 3 versions I have identified.
Sorry for the diversion, on to the how. This is a sober monkey set of instructions as I have left out things like ‘su’ (do all this as root), how to get the files needed to your KM system and how to edit files.
1) Get the driver from ATI. I won't bother to post a link, the ATI/AMD site is 'being defined'. It is there, poke around and you'll find it and all the other versions. File name:
ati-driver-installer-8.27.10-x86.run
2) Unfortunately 8.27.10 doesn't have a pre-prepared driver for the version of Xorg in R5E50. Get the kernel sources. The way I did it compiled from several previous posts:
Code:
wget ftp://knoppmyth.net/R5/linux-source-2.6.18-chw-13_2.6.18-chw-13-10.00.Custom_all.deb
dpkg -i linux-source-2.6.18-chw-13_2.6.18-chw-13-10.00.Custom_all.deb
cd /usr/src
tar xjvf linux-source-2.6.18-chw-13.tar.bz2
cd /usr/src/linux-source-2.6.18-chw-13
cd $cp /boot/config-2.6.18-chw-13 .config
make # takes a long time
cd /usr/src
rm linux
ln -s linux-source-2.6.18-chw-13 linux
cd /lib/modules/2.6.18-chw-13 # I had do to this for something else
rm build
ln -s /usr/src/linux build
ln -s /usr/src/linux source
3) The ATI installer needs a library from gcc-3.3. I am sure there is an elegant way to do this, but here's what worked for me:
Code:
wget http://http.us.debian.org/debian/pool/main/g/gcc-3.3/libstdc++5_3.3.5-13_i386.deb
dpkg -i libstdc++5_3.3.5-13_i386.deb
apt-get update # had to ctrl-c and run again two or three times
apt-get -f install
4) No that's still not enough to make it work. You’ll never guess...there are bugs in the ATI 8.27.10 package. Here's how to fix them:
Code:
./ati-driver-installer-8.27.10-x86.run --keep
# Answer yes to defaults and agree to all
# Note the error at the end. The install didn’t work, but --keep left the build files behind
cd /lib/modules/2.6.18-chw-13/build/include/linux/
ln -s utsrelease.h version-ati.h
I just manually edited /lib/modules/fglrx/build_mod/firegl_public.c to add the '+' items at the appropriate places.
Code:
--- firegl_public.c~2.6.18-fix 2006-08-06 14:08:48.000000000 +0200
+++ firegl_public.c 2006-08-06 14:08:48.000000000 +0200
@@ -23,6 +23,9 @@
// ================================================== ==========
#include <linux/version.h>
+#ifndef UTS_RELEASE
+#include <linux/utsrelease.h>
+#endif
#ifdef MODVERSIONS
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,71)
#include <linux/modversions.h>
@@ -208,6 +211,10 @@ _syscall3( int, modify_ldt, int, func, v
#define preempt_enable()
#endif
+#ifndef VM_SHM
+#define VM_SHM (0)
+#endif
+
// ================================================== ==========
/* globals */
5) We’re getting closer, time to build and install.
Code:
cd /lib/modules/fglrx/build_mod
./make.sh
cd ..
./make_install.sh
6) Time to update xorg.conf – ONLY FOR TV OUT (disconnect all other monitors before reboot), and very specifically a 4:3 TV if you need something different, you’ll need to do some research and use appropriate settings. You could do this with aticonfig, however I prefer not to as you are then left with two different sets of ‘screen’ definitions in xorg.conf. This can be maddening when you are making minor tweaks and accidentally make the chages to the non-active ‘screen’. Edit /etc/X11/xorg.conf
Under ‘Section “Monitor”’ change the following lines to:
Code:
HorizSync 28.0 - 31.5
VertRefresh 60.0 - 60.0
Under ‘Section “Device”’ make it look like this:
Code:
# Driver "ati"
# VendorName "All"
# BoardName "All"
# BusID "PCI:1:0:0"
Identifier "Card0"
Driver "fglrx"
VendorName "ATI"
BoardName "X300/X500"
Option "sw_cursor"
#Option "hw_cursor"
#Option "NoAccel"
#Option "ShowCache"
#Option "ShadowFB"
#Option "UseFBDev"
#Option "Rotate"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Under ‘Section “Screen”’
Code:
.
.
DefaultDepth 24
.
.
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
.
.
7) Reboot. If no X, check /var/log/Xorg.0.log and see what’s not working
Hope this helps someone, GOOD LUCK!!!
***********************************************************
Well, wasn’t that fun. Why do I keep these ATI cards around instead of ending the pain and getting an Nvida 5200 or like? Not sure at this point.