Go to file
Kristian Høgsberg 4f57abfe66 Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
include/drm Fix typo in i915 pipe_from_crtc_id ioctl struct name 2009-11-17 10:54:11 -05:00
intel Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
nouveau Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
radeon Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
tests Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
.gitignore Add makefile rule to copy headers from kernel tree 2009-11-17 09:23:52 -05:00
ChangeLog Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
Makefile.am Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
README Clean up README for the current state of kernel module affairs. 2009-01-27 18:00:45 -08:00
TODO Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
autogen.sh update autogen from xserver tree 2005-09-12 06:21:24 +00:00
configure.ac Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
libdrm.pc.in Better pkgconfig-fu: -ldrm in Libs: 2005-10-13 21:03:31 +00:00
libdrm_lists.h Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drm.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drm.h Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmHash.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmMode.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmMode.h Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmRandom.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmSL.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86mm.h Move libdrm/ up one level 2009-11-17 11:15:06 -05:00

README

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.


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


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.