summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2009-11-20 17:08:28 -0500
committerKristian Høgsberg <krh@bitplanet.net>2009-11-20 17:08:28 -0500
commit1b064cc428f03f753699d4d9fbe60453891a8529 (patch)
treebc4c248064c0f8cf92161d337faf7f19d3069284 /README
parente8523e087fc5dfe15b0e1af9b30d1ddac5d0314c (diff)
Update README
Diffstat (limited to 'README')
-rw-r--r--README85
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 @@
+libdrm - userspace library for drm
-DRM README file
-
-
-There are two main parts to this package: the DRM client library/interface
-(libdrm.so) and kernel/hardware-specific device modules (such as radeon.ko).
-The kernel device modules are not shipped with libdrm releases and should only
-be built from the git tree by developers and bleeding-edge testers of
-non-Intel hardware. The Intel kernel modules are developed in the Linux
-kernel tree.
+This is libdrm, a userspace library for accessing the DRM, direct
+rendering manager, on Linux, BSD and other operating systes that
+support the ioctl interface. The library provides wrapper functions
+for the ioctls to avoid exposing the kernel interface directly, and
+for chipsets with drm memory manager, support for tracking relocations
+and buffers. libdrm is a low-level library, typically used by
+graphics drivers such as the Mesa DRI drivers, the X drivers, libva
+and similar projects. New functionality in the kernel DRM drivers
+typically requires a new libdrm, but a new libdrm will always work
+with an older kernel.
Compiling
---------
-By default, libdrm and the DRM header files will install into /usr/local/.
-If you want to install this DRM to replace your system copy, say:
-
- ./configure --prefix=/usr --exec-prefix=/
-
-Then,
- make install
+libdrm is a standard autotools packages and follows the normal
+configure, build and install steps. The first step is to configure
+the package, which is done by running the configure shell script:
+ ./configure
-To build the device-specific kernel modules from the git tree:
+By default, libdrm will install into the /usr/local/ prefix. If you
+want to install this DRM to replace your system copy, pass
+--prefix=/usr and --exec-prefix=/ to configure. If you are building
+libdrm from a git checkout, you first need to run the autogen.sh
+script. You can pass any options to autogen.sh that you would other
+wise pass to configure, or you can just re-run configure with the
+options you need once autogen.sh finishes.
- cd linux-core/
- make
- cp *.ko /lib/modules/VERSION/kernel/drivers/char/drm/
- (where VERSION is your kernel version: uname -f)
+Next step is to build libdrm:
-Or,
- cd bsd-core/
make
- copy the kernel modules to the appropriate place
-
-
-
-Tips & Trouble-shooting
------------------------
-
-1. You'll need kernel sources. If using Fedora Core 5, for example, you may
- need to install RPMs such as:
- kernel-smp-devel-2.6.15-1.2054_FC5.i686.rpm
- kernel-devel-2.6.15-1.2054_FC5.i686.rpm
- etc.
-
-
-2. You may need to make a symlink from /lib/modules/VERSION/build to your
- kernel sources in /usr/src/kernels/VERSION (where version is `uname -r`):
-
- cd /lib/modules/VERSION
- ln -s /usr/src/kernels/VERSION build
-
-
-3. If you've build the kernel modules but they won't load because of an
- error like this:
-
- $ /sbin/modprobe drm
- FATAL: Error inserting drm (/lib/modules/2.6.15-1.2054_FC5smp/kernel/drivers/char/drm/drm.ko): Invalid module format
-
- And 'dmesg|tail' says:
-
- drm: disagrees about version of symbol struct_module
-
- Try recompiling your drm modules without the Module.symvers file.
- That is rm the /usr/src/kernels/2.6.15-1.2054_FC5-smp-i686/Module.symvers
- file (or rename it). Then do a 'make clean' before rebuilding your drm
- modules.
+and once make finishes successfully, install the package using
+ make install
+If you are install into a system location, you will need to be root to
+perform the install step.