Go to file
Eric Anholt 469655fab7 intel: Only do BO caching up to 64MB objects.
This avoids making objects significantly bigger than they would be
otherwise, which would result in some failing at binding to the GTT.
Found from firefox hanging on:
http://upload.wikimedia.org/wikipedia/commons/b/b7/Singapore_port_panorama.jpg
due to a software fallback trying to do a GTT-mapped copy between two 73MB
BOs that were instead each 128MB, and failing because both couldn't fit
simultaneously.

The cost here is that we get no opportunity to cache these objects and
avoid the mapping.  But since the objects are a significant percentage
of the aperture size, each mapped access is likely having to fault and rebind
the object most of the time anyway.

Bug #20152 (2/3)
2009-05-19 10:05:38 -07:00
bsd-core Move drm_vblank_cleanup() after lastclose. 2009-03-31 13:36:04 -05:00
libdrm intel: Only do BO caching up to 64MB objects. 2009-05-19 10:05:38 -07:00
linux-core nouveau: backlight compat fix 2009-05-07 01:00:41 +01:00
scripts drm: add create gpu tree script 2008-10-07 04:07:40 +10:00
shared-core Add new drm_intel_get_pipe_from_crtc_id function. 2009-05-14 15:32:54 -07:00
tests test: Avoid recursive dependency in makefile 2009-04-09 15:17:51 -04:00
.gitignore Add libdrm_intel.pc by popular demand. 2009-02-23 13:30:44 -08: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 libdrm/intel: Make get_pipe_from_crtc_id per-bufmgr. Return -1 on failure. 2009-05-14 16:58:14 -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.