Go to file
Keith Packard 6b2cba1ecc [intel-gem] evict_something was failing when wait_request freed objects
When i915_wait_request clears object from the active list, it may end up
freeing them and not moving them to the inactive list. This ends up
unbinding objects from the GTT without there ever being new objects visible
to i915_gem_evict_something on the inactive list. As the only success
condition required the presence of objects on the inactive list, this would
falsely assume that no GTT space had been made available, and end up
returning -ENOMEM to the application.
2008-06-13 14:29:46 -07:00
bsd-core [BSD] Move unlock in drm_vm.c from accidental platform #ifdeffing. 2008-05-27 15:12:35 -07:00
libdrm [gem] Catch -EINTR from blocking ioctls and restart them. 2008-06-13 10:04:14 -07:00
linux-core [intel-gem] evict_something was failing when wait_request freed objects 2008-06-13 14:29:46 -07:00
scripts drm: update kernel generator script using v4l script 2007-11-05 12:56:55 +10:00
shared-core [intel] Enable MSI for i915 IRQ 2008-06-13 14:29:46 -07:00
tests [gem] Move potentially device-specific ioctls to the intel driver. 2008-06-11 14:42:40 -07:00
.gitignore Update mm tests for GEM rename. 2008-05-01 16:38:25 -07:00
Makefile.am Add some trivial regression tests, one of which fails. 2007-07-19 04:59:59 -07:00
README More detailed instructions, tips. 2007-04-25 14:52:29 -06:00
autogen.sh update autogen from xserver tree 2005-09-12 06:21:24 +00:00
configure.ac Bump libdrm version to 2.4.0. 2008-06-12 13:22:40 -07:00
libdrm.pc.in Better pkgconfig-fu: -ldrm in Libs: 2005-10-13 21:03:31 +00: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 i915.ko).



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:

	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.