
Originally Posted by
itchka@compuserve.co
One thing I have always noticed at the start of my X log is that the internal agpgart is not used because IOMMU is enabled in the kernel. So I though Ok I'll recompile the kernel without it so I set that to work and Googled around for some info on iommu's. Basically these are hardware address redirectors. The kind of device designed to throw driver writers into confusion. During my search I came across some boot options for X86_64 kernels. It seems I didn't need to recompile my kernel I could just turn iommu off. Investigating the options further I discovered that there is an option to prevent the iommu from remapping the agp aperture. I added the following to my kernel boot line "iommu=noaperture" and set the bios to give the full 512MB of aperture.
Reboot startx and Voila' I have a working driver with glxgears at 950 fps not blisteringly fast but at least usable (I had 1200 with the xgl server).
I know someone on this forum has a direct line to one of the ATI developers so perhaps they could relay this as it is certainly a fix for 64 bit machines. Alas those with 32 bit boxes probably won't get any joy I don't think they have iommu's but I could be wrong so check your X start-up log.
Colin Close
Just for completeness' sake in response to Colin's excellent detailed post:
I have been booting my system with the "iommu=noaperture" setting almost since I installed Ubuntu 7.10 64-bit on my AMD 64x2 dual-core. This was part of solving the "desktop app pause" issues I was having. I was running with an nVidia 6600GT card at the time.
On my PC, in normal linux boot mode it's on, in recovery mode it's left out. I have tried every fglrx that was released since 7.10 and NONE worked on my system (VIA K8t800pro chipset) and video card (ATI HD2600XT AGP 512 MB).
Not that I have a desire to disappoint fred but I am almost certain that "iommu=noaperture" is not the 'magic bullet' for fglrx with Radeon HD2xxx AGP cards 
-edit-: yes and I also did try fglrx a couple of times when booted in normal mode with no kernel boot-options included. Just to be sure that iommu wasn't set to noaperture by default when booting in recovery mode.
My full boot-options in "normal" boot are :
Code:
ro quiet splash nodmraid notsc noapic nolapic acpi=strict iommu=noaperture