Go to file
Maarten Lankhorst ba5a0b6274 nouveau: Do not add most bo's to the global bo list.
Only add wrapped bo's and bo's that have been exported through flink or dma-buf.
This avoids a lock in the common case, and decreases traversal needed for importing
a dma-buf or flink.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Tested-By: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-13 20:28:16 +01:00
exynos exynos: fimg2d: whitespace fix in g2d_flush 2015-03-10 19:23:49 +00:00
freedreno android: remove duplicate libdrm in LOCAL_SHARED_LIBRARIES 2015-02-23 09:27:49 +00:00
include/drm Add new DRM_MODE_CONNECTOR and _ENCODER defines 2015-01-05 14:30:57 -05:00
intel Revert "intel: Fix documentation for drm_intel_gem_bo_wait()" 2015-03-06 18:57:51 +01:00
libkms exynos: Don't use DRM_EXYNOS_GEM_{MAP_OFFSET/MMAP} ioctls 2015-02-02 14:45:39 -05:00
m4 build: Update autotools configuration 2011-03-21 13:43:43 +00:00
man man: Fix typo and use $() for make expressions 2013-01-25 13:46:57 -08:00
nouveau nouveau: Do not add most bo's to the global bo list. 2015-03-13 20:28:16 +01:00
omap omap: Use symbol visibility. 2014-08-14 21:59:18 +02:00
radeon android: remove duplicate libdrm in LOCAL_SHARED_LIBRARIES 2015-02-23 09:27:49 +00:00
tegra tegra: Implement drm_tegra_bo_{get,set}_tiling() 2014-11-27 17:20:32 +01:00
tests nouveau: make nouveau importing global buffers completely thread-safe, with tests 2015-03-13 20:26:33 +01:00
.gitignore tests: remove intel-specific tests 2015-02-11 15:37:26 +01:00
Android.mk modetest: add Android build 2014-09-28 17:09:34 +01:00
CleanSpec.mk android: add CleanSpec.mk 2014-09-01 16:06:02 +01:00
Makefile.am automake: wrap an insanely long line 2015-03-10 17:50:49 +00:00
Makefile.sources libdrm: Add NVIDIA Tegra support 2014-11-27 17:05:35 +01:00
README Update README 2009-11-20 17:08:28 -05:00
RELEASING Add RELEASING to document the release process 2009-12-03 17:50:37 -05:00
autogen.sh autogen.sh: Restore passing --enable-maintainer-mode to configure. 2012-06-08 15:23:46 +02:00
configure.ac nouveau: make nouveau importing global buffers completely thread-safe, with tests 2015-03-13 20:26:33 +01:00
libdrm.h libdrm: fix the Android 64bit build 2015-02-23 09:23:03 +00:00
libdrm.pc.in Revert "Fix pkgconfig includes for /usr/include/drm" 2010-04-09 16:33:38 -04:00
libdrm_lists.h lists: add nicer+unsafe foreach, and list join macros 2012-04-14 02:47:04 +10:00
xf86atomic.h Use __sync_add_and_fetch instead of __sync_fetch_and_add for atomic_dec_and_test 2015-03-13 20:21:57 +01:00
xf86drm.c drm: add drmGet(Primary|Render)DeviceNameFromFd functions 2015-03-10 18:14:40 +00:00
xf86drm.h drm: add drmGet(Primary|Render)DeviceNameFromFd functions 2015-03-10 18:14:40 +00:00
xf86drmHash.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmMode.c xf86drmMode: Unconditionally clear ioctl structs 2015-02-11 15:36:39 +01:00
xf86drmMode.h update signed/object prop types 2014-11-24 19:56:50 -05:00
xf86drmRandom.c random: Use unsigned long for seed 2015-02-10 15:24:35 -05:00
xf86drmSL.c Tidy up compile warnings by cleaning up types. 2010-02-04 19:45:10 -05:00

README

libdrm - userspace library for drm

This  is libdrm,  a userspace  library for  accessing the  DRM, direct
rendering  manager, on  Linux,  BSD and  other  operating systes  that
support the  ioctl interface.  The library  provides wrapper functions
for the  ioctls to avoid  exposing the kernel interface  directly, and
for chipsets with drm memory manager, support for tracking relocations
and  buffers.   libdrm  is  a  low-level library,  typically  used  by
graphics drivers  such as the Mesa  DRI drivers, the  X drivers, libva
and  similar projects.  New  functionality in  the kernel  DRM drivers
typically requires  a new  libdrm, but a  new libdrm will  always work
with an older kernel.


Compiling
---------

libdrm  is  a  standard  autotools  packages and  follows  the  normal
configure, build  and install steps.   The first step is  to configure
the package, which is done by running the configure shell script:

	./configure

By default, libdrm  will install into the /usr/local/  prefix.  If you
want  to  install   this  DRM  to  replace  your   system  copy,  pass
--prefix=/usr and  --exec-prefix=/ to configure.  If  you are building
libdrm  from a  git checkout,  you first  need to  run  the autogen.sh
script.  You can  pass any options to autogen.sh  that you would other
wise  pass to configure,  or you  can just  re-run configure  with the
options you need once autogen.sh finishes.

Next step is to build libdrm:

	make

and once make finishes successfully, install the package using

	make install

If you are install into a system location, you will need to be root to
perform the install step.