summaryrefslogtreecommitdiff
path: root/README
blob: 8acdc98ade91a68f231c0d9a1956e99fac835a57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Linux AGP GART


Prerequisites
-------------

This AGP code should not be needed if you have Linux kernel 2.6.21 or later.

Otherwise...

If your current kernel has AGP support compiled in (not a module)
you'll need to build a new kernel with modular AGP support first.



Compiling
---------

Compile with:
	make

Install (as root):
	make install


Note that if your kernel uses symbol versioning, after the new AGPGART
module is intalled DRM may not load, complaining about missing symbols
since DRM still uses the old agpgart symbols.

To work around this problem, either:

1. Remove the Module.symvers file from the kernel sources. Then
recompile and reinstall DRM.

or,

2. Append the Module.symvers file generated when compiling linux-agp-compat
to the kernel's Module.symvers file (i.e. "cat Module.symvers
>> /usr/src/kernels/2.6.x/Module.symvers") before rebuilding the DRM.

or,

3. The following shell script can be used to replace the agp-related symbols
in your Module.symvers file (contributed by Sergio M. Bast):

#!/bin/bash
cat Module.symvers  | perl -pe 's/.{11}(\w+).*/\1/' | xargs | perl -pe 's/ /\\s|\\s/g' > tmp1 
echo "cat /usr/src/kernels/`uname -r`-i686/Module.symvers | grep -vP \"\\s`cat tmp1`\\s\"" >  cm 
(sh cm; cat Module.symvers ) > Module.symvers2
echo diff -up /usr/src/kernels/`uname -r`-i686/Module.symvers Module.symvers2 
echo \#if ok
echo cp Module.symvers2 /usr/src/kernels/`uname -r`-i686/Module.symvers



Installing
----------

To install the kernel modules in your kernel modules directory:

cp agpgart.ko intel-agp.ko /lib/modules/`uname -r`/kernel/drivers/char/agp/
depmod -a