Friday, August 22, 2008

Possible Fix ATI AGP users of FGLRX black screen of death

A little history:
I have been trying to get the FGLRX drivers working for about a month now for my X1550 AGP card. Tried Ubuntu/Mint restricted, tried Envy auto and manual install up up to 8.6 drivers, tried,%20up%20to%208.6%20drivers

All resulted in X failing with a black / blank screen hard lock. I could reboot into recovery and repair x and run with the VESA drivers just fine. After my last ENVY attempt I could see in my Xorg.conf file that everything looked OK as far as install of restricted drivers. I started watching the list during the x repairs and noticed some difference between AGP and PCI, noting it referencing a video card of 32 meg rather than the 256 meg I have. So I thought maybe X is seeing my onboard video (it's 32 meg), so I disabled that in the BIOS. NO go there.

So then I changed my AGP Aperature size from 32 meg to 128 meg. No go there. (Everything i read about AGP Aperature in BIOS guides, says to set it as low as possible, so whats up?)
I was pretty sure I was on the right track, with it being an AGP issue. A gut feeling more than anything. I found a few mentions of DRI AGP issues, but the fixes all centered on Intel CPU's and I have AMD.
I couldn't find much in any forums, until yesterday, on Ubuntuforums:

I followed some of the bugzilla posts from that thread at ATI and discovered that all the newer cards are PCI-E based with an AGP bridge chip, and somewhere around driver 8.3, AGP cards got misread as PCI-E. This happened for the Windows drivers too. They of course, got a Bugfix. Linux has not. I read through all the Release notes from 8.3 to 8.7 with no mention of this problem. This affected all the X1xxx ATI AGP cards.

Post #27 on the ubuntu thread above gave this fix:
Update ... some guy called Alastair over at the ATI bugzilla has figured out how to get it going! By:

1) Follow the manual install option for the Proprietary ATI drivers at

EXCEPT before rebooting, you also need to make sure the AGP memory listing matches up at 3 places, to avoid the "ATI black screen of death":

2) Look up exactly how much video RAM your card has, eg from the box, receipt, or the ATI control centre in windows (it will either be 256MB or 512MB). For the instructions below I'll go with 512, but substitute as appropriate.
3) edit your /etc/X11/xorg.conf, and add the following line at the end of the fglrx device section:

Option "MaxGARTSize" "512"

4) edit your grub boot instructions for your kernel in the /boot/grub/menu.lst file, adding vmem=512 to your kernel boot line for your main kernel, e.g.:

title Ubuntu 8.04, kernel 2.6.24-16-386
root (hd0,2)
kernel /boot/vmlinuz-2.6.24-16-386 root=UUID=64fa7a1b-a8d7-45fb-a891-a81f3977bc13 ro quiet splash vmem=512
initrd /boot/initrd.img-2.6.24-16-386

5) Ok, now reboot, but ENTER YOUR BIOS and look for the setting related to AGP memory, for me it was in the "Advanced Chipset Features" section. Change it to the same value as the others, eg 512MB.

...and that worked for me, ~1600 FPS in fg_glxgears Haven't tried Compiz etc yet

Ialready had an Envy install of 8.6 that had failed still installed. So I fired up into my BIOS, changed my AGP Aperature to 256 meg.
Then i started up Mint using my VESA driver, opened a terminal and ran
sudo aticonfig --initial -f
to initialize the Envy driver again. Then I edited the X and boot menus as noted above, substituting 256 for 512 to suit my card. IT FREAKIN' WORKED!
now reports ATI drivers, rather than the Mesa drivers I was getting before. I don't know if this will work for everyone, but I think AGP users need to know the probable source of their problems, so they can head in the right direction. Maybe a sticky until drivers are fixed? Let me know if it worked, didn't work for you.
I'm a newbie, so don't get too technical :D

Keywords: FGLRX ATI AGP x1300 x1550 x1600 x1800 x1900 x1950

No comments: