SOLVED: fglrx.ko missing after Xen kernel install

2011-11-04 15:10:29

ATI Drivers and Xen in Debian Squeeze

glxgears

X Error of failed request: BadRequest (invalid request code or no such

operation)

Major opcode of failed request: 139 (ATIFGLEXTENSION)

Minor opcode of failed request: 66 ()

Serial number of failed request: 13

Current serial number in output stream: 13

less /var/log/Xorg.0.log

kernel module (fglrx.ko) may be missing or incompatible

According to /usr/share/ati/fglrx-install.log, the kernel module didn't compile

because the headers were missing for Xen kernel.

---------------------------------

Solution:

I installed headers for Xen kernel:

apt-get install linux-headers-2.6.32-5-xen-amd64 build-essential

It also works for normal kernel:

apt-get install linux-headers-2.6.32-5-amd64 build-essential

Installed ATI drivers for normal kernel:

./ati-driver-installer-11-10-x86.x86_64.run

For xen kernel, I compiled like so:

cd /lib/modules/fglrx/build_mod/2.6.x/

I added '#define COMPAT_ALLOC_USER_SPACE arch_compat_alloc_user_space' in

kcl_ioctl.c and ran

make -C /lib/modules/2.6.32-5-xen-amd64/build SUBDIRS=/lib/modules/fglrx/

build_mod/2.6.x modules

mkdir -p /lib/modules/2.6.32-5-xen-amd64/kernel/drivers/char/drm/
cp fglrx.ko /lib/modules/2.6.32-5-xen-amd64/kernel/drivers/char/drm/
depmod
modprobe fglrx