Go to file
Chris Wilson 04495eeec2 intel: Use atomic refcounters
As the target architecture for Intel GPUs is the x86, we can presume to
have reasonable compiler support for Intel atomic intrinsics, i.e. gcc,
and so use those in preference to pulling in a complicated mess of
fragile assembly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
[anholt: hand-resolved against my previous commit.  This brings cairo-gl
firefox-talos-gfx time from 65 seconds back down to 62 seconds.]
Signed-off-by: Eric Anholt <eric@anholt.net>
2009-10-02 13:21:23 -07:00
bsd-core Move drm_vblank_cleanup() after lastclose. 2009-03-31 13:36:04 -05:00
libdrm intel: Use atomic refcounters 2009-10-02 13:21:23 -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 intel: Mark cached bo as purgeable 2009-10-02 12:54:13 -07:00
tests modetest: use gtt unmap for object 2009-06-22 12:27:49 -07: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: Use atomic refcounters 2009-10-02 13:21:23 -07: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.