Update README
parent
e8523e087f
commit
1b064cc428
93
README
93
README
|
@ -1,72 +1,41 @@
|
||||||
|
libdrm - userspace library for drm
|
||||||
|
|
||||||
DRM README file
|
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
|
||||||
There are two main parts to this package: the DRM client library/interface
|
for the ioctls to avoid exposing the kernel interface directly, and
|
||||||
(libdrm.so) and kernel/hardware-specific device modules (such as radeon.ko).
|
for chipsets with drm memory manager, support for tracking relocations
|
||||||
The kernel device modules are not shipped with libdrm releases and should only
|
and buffers. libdrm is a low-level library, typically used by
|
||||||
be built from the git tree by developers and bleeding-edge testers of
|
graphics drivers such as the Mesa DRI drivers, the X drivers, libva
|
||||||
non-Intel hardware. The Intel kernel modules are developed in the Linux
|
and similar projects. New functionality in the kernel DRM drivers
|
||||||
kernel tree.
|
typically requires a new libdrm, but a new libdrm will always work
|
||||||
|
with an older kernel.
|
||||||
|
|
||||||
|
|
||||||
Compiling
|
Compiling
|
||||||
---------
|
---------
|
||||||
|
|
||||||
By default, libdrm and the DRM header files will install into /usr/local/.
|
libdrm is a standard autotools packages and follows the normal
|
||||||
If you want to install this DRM to replace your system copy, say:
|
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
|
make install
|
||||||
|
|
||||||
|
If you are install into a system location, you will need to be root to
|
||||||
To build the device-specific kernel modules from the git tree:
|
perform the install step.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue