I've been experiencing the same problem with kernel > 2.6.14.
I got it solved the day before yesterday by searching through the forums.
By doing some tracing job, I guess this problem is caused by the using the fglrx's internal agpgart support. it seems that fglrx's internal agpgart dislike kernel > 2.6.14, it crashes the system and causes the pageattr.c error we've been seeing in the system log.
so, here is the solution - use external agpgart support.
steps:
1. compile your kernel with a proper agpgart support according to your chipset:
# make menuconfig
Code: Select all
Device Drivers -> Character devices -> /dev/agpgart (AGP support)
Code: Select all
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
recompile your kernel and reboot
Code: Select all
# make && make modules_install
add the UserInternalAGPGART option to xorg.conf
Code: Select all
Section "Device"
Identifier "ATI Graphics Adapter 0"
Driver "fglrx"
Option "UseInternalAGPGART" "no"
...
note: using external agpgart does not decrease x's rendering performance, at least I'm having the same glxgears output w/o fglrx's internal agpgart support - yes I know glxgears is not for performance testing...
refs:
- http://forums.gentoo.org/viewtopic-t-42 ... ttr+c.html
- http://forums.gentoo.org/viewtopic-t-44 ... eattr.html
edit:
I've done some testing again, if you have built the right external agpgart module, no matter commenting out the "UseInternal..." line OR setting it to "yes", fglrx will use the external agpgart module, dmesg:
Code: Select all
[fglrx] Internal AGP support requested, but kernel AGP support active.
[fglrx] Have to use kernel AGP support to avoid conflicts.
so just build the right agpgart chipset support while compiling kernel. then, you may add "UseInternal..." line in the xorg.conf to tell x to use external agpgart or just let fglrx auto detect it for you




