path: root/README
diff options
authorKristian Høgsberg2009-11-20 16:08:28 -0600
committerKristian Høgsberg2009-11-20 16:08:28 -0600
commit1b064cc428f03f753699d4d9fbe60453891a8529 (patch)
treebc4c248064c0f8cf92161d337faf7f19d3069284 /README
parente8523e087fc5dfe15b0e1af9b30d1ddac5d0314c (diff)
Diffstat (limited to 'README')
1 files changed, 27 insertions, 58 deletions
diff --git a/README b/README
index b6008a02..603a1c10 100644
--- a/README
+++ b/README
@@ -1,72 +1,41 @@
1libdrm - userspace library for drm
1 2
2DRM README file 3This is libdrm, a userspace library for accessing the DRM, direct
3 4rendering manager, on Linux, BSD and other operating systes that
4 5support the ioctl interface. The library provides wrapper functions
5There are two main parts to this package: the DRM client library/interface 6for the ioctls to avoid exposing the kernel interface directly, and
6(libdrm.so) and kernel/hardware-specific device modules (such as radeon.ko). 7for chipsets with drm memory manager, support for tracking relocations
7The kernel device modules are not shipped with libdrm releases and should only 8and buffers. libdrm is a low-level library, typically used by
8be built from the git tree by developers and bleeding-edge testers of 9graphics drivers such as the Mesa DRI drivers, the X drivers, libva
9non-Intel hardware. The Intel kernel modules are developed in the Linux 10and similar projects. New functionality in the kernel DRM drivers
10kernel tree. 11typically requires a new libdrm, but a new libdrm will always work
12with an older kernel.
11 13
12 14
13Compiling 15Compiling
14--------- 16---------
15 17
16By default, libdrm and the DRM header files will install into /usr/local/. 18libdrm is a standard autotools packages and follows the normal
17If you want to install this DRM to replace your system copy, say: 19configure, build and install steps. The first step is to configure
18 20the package, which is done by running the configure shell script:
19 ./configure --prefix=/usr --exec-prefix=/
22 make install
23 21
22 ./configure
24 23
25To build the device-specific kernel modules from the git tree: 24By default, libdrm will install into the /usr/local/ prefix. If you
25want to install this DRM to replace your system copy, pass
26--prefix=/usr and --exec-prefix=/ to configure. If you are building
27libdrm from a git checkout, you first need to run the autogen.sh
28script. You can pass any options to autogen.sh that you would other
29wise pass to configure, or you can just re-run configure with the
30options you need once autogen.sh finishes.
26 31
27 cd linux-core/ 32Next step is to build libdrm:
28 make
29 cp *.ko /lib/modules/VERSION/kernel/drivers/char/drm/
30 (where VERSION is your kernel version: uname -f)
31 33
33 cd bsd-core/
34 make 34 make
35 copy the kernel modules to the appropriate place
39Tips & Trouble-shooting
421. You'll need kernel sources. If using Fedora Core 5, for example, you may
43 need to install RPMs such as:
44 35
45 kernel-smp-devel-2.6.15-1.2054_FC5.i686.rpm 36and once make finishes successfully, install the package using
46 kernel-devel-2.6.15-1.2054_FC5.i686.rpm
47 etc.
502. You may need to make a symlink from /lib/modules/VERSION/build to your
51 kernel sources in /usr/src/kernels/VERSION (where version is `uname -r`):
53 cd /lib/modules/VERSION
54 ln -s /usr/src/kernels/VERSION build
573. If you've build the kernel modules but they won't load because of an
58 error like this:
60 $ /sbin/modprobe drm
61 FATAL: Error inserting drm (/lib/modules/2.6.15-1.2054_FC5smp/kernel/drivers/char/drm/drm.ko): Invalid module format
63 And 'dmesg|tail' says:
65 drm: disagrees about version of symbol struct_module
67 Try recompiling your drm modules without the Module.symvers file.
68 That is rm the /usr/src/kernels/2.6.15-1.2054_FC5-smp-i686/Module.symvers
69 file (or rename it). Then do a 'make clean' before rebuilding your drm
70 modules.
71 37
38 make install
72 39
40If you are install into a system location, you will need to be root to
41perform the install step.