Find a file
Keith Packard b0bc5f1ae5 Make ttm create/destroy APIs consistent. Pass page_flags in create.
Creating a ttm was done with drm_ttm_init while destruction was done with
drm_destroy_ttm. Renaming these to drm_ttm_create and drm_ttm_destroy makes
their use clearer. Passing page_flags to the create function will allow that
to know whether user or kernel pages are needed, with the goal of allowing
kernel ttms to be saved for later reuse.
2007-12-15 12:10:41 -08:00
bsd-core bsd: Replace other occurrences of msleep with mtx_sleep 2007-12-02 01:45:09 -05:00
libdrm Fill fence sequence after emit ioctl. 2007-11-05 04:44:40 +11:00
linux-core Make ttm create/destroy APIs consistent. Pass page_flags in create. 2007-12-15 12:10:41 -08:00
scripts drm: update kernel generator script using v4l script 2007-11-05 12:56:55 +10:00
shared-core Revert "nouveau: nv30: missing ramin init, does it brake other hw?" 2007-12-15 10:25:13 +01:00
tests Fix ttmtest. 2007-11-13 15:47:20 +01:00
.gitignore Add a set of tests for DRM locking, exposing issues on BSD. 2007-08-15 13:41:24 -07:00
autogen.sh update autogen from xserver tree 2005-09-12 06:21:24 +00:00
configure.ac Add some trivial regression tests, one of which fails. 2007-07-19 04:59:59 -07:00
libdrm.pc.in Better pkgconfig-fu: -ldrm in Libs: 2005-10-13 21:03:31 +00: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

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.