Update README
parent
e8523e087f
commit
1b064cc428
93
README
93
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:
|
||||
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 --prefix=/usr --exec-prefix=/
|
||||
./configure
|
||||
|
||||
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.
|
||||
|
||||
Next step is to build libdrm:
|
||||
|
||||
make
|
||||
|
||||
and once make finishes successfully, install the package using
|
||||
|
||||
Then,
|
||||
make install
|
||||
|
||||
|
||||
To build the device-specific kernel modules from the git tree:
|
||||
|
||||
cd linux-core/
|
||||
make
|
||||
cp *.ko /lib/modules/VERSION/kernel/drivers/char/drm/
|
||||
(where VERSION is your kernel version: uname -f)
|
||||
|
||||
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.
|
||||
|
||||
|
||||
If you are install into a system location, you will need to be root to
|
||||
perform the install step.
|
||||
|
|
Loading…
Reference in New Issue