Go to file
Kristian Høgsberg b0b96636db Add support for vblank events
The kernel will now write data to the DRM fd for various event types if
requested.  Currently, the only supported event is a vblank event: it contains
the vblank count for the event as well as a timestamp from when the event
ocurred.  Since the DRM fd is now pollable, it's easy to integrate into
existing event loops.
2009-10-29 17:14:09 -07:00
bsd-core Move drm_vblank_cleanup() after lastclose. 2009-03-31 13:36:04 -05:00
libdrm Add support for vblank events 2009-10-29 17:14:09 -07:00
linux-core drm: Strip old ttm. 2009-06-22 23:37:06 +02:00
scripts drm: add create gpu tree script 2008-10-07 04:07:40 +10:00
shared-core Add support for vblank events 2009-10-29 17:14:09 -07:00
tests tests: Disable intel-specific tests with --disable-intel 2009-10-03 23:18:19 +01:00
.gitignore Filter radeon pkgconfig file as do intel and nouveau 2009-08-16 08:26:25 +02:00
Makefile.am Add libdrm_intel.pc by popular demand. 2009-02-23 13:30:44 -08:00
README Clean up README for the current state of kernel module affairs. 2009-01-27 18:00:45 -08:00
autogen.sh update autogen from xserver tree 2005-09-12 06:21:24 +00:00
configure.ac intel: Fallback to atomic-ops.h [libatomic-ops-dev] 2009-10-13 15:13:00 +01:00
libdrm.pc.in Better pkgconfig-fu: -ldrm in Libs: 2005-10-13 21:03:31 +00:00
libdrm_intel.pc.in Add libdrm_intel.pc by popular demand. 2009-02-23 13:30:44 -08: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.