Go to file
Emil Velikov 4c2766b69c Add private mmap/munmap wrappers
Unlike Linux, Android (bionic) has separate functions - mmap & mmap64.
Add a local wrapper (inspired by gallium) that will be used throughout
libdrm to combat this bionic feature.

v2:
 - Drop the undefined unlikely macro.
 - Use macro for munmap under Android.
 - Wrap long lines.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com> (v1)
2014-09-28 17:09:34 +01:00
exynos exynos: Use symbol visibility. 2014-08-14 21:59:20 +02:00
freedreno automake: pick up all files for distribution. 2014-09-28 17:09:34 +01:00
include/drm Remove i810_drm.h and i830_drm.h from the distribution tarball 2014-09-28 17:09:33 +01:00
intel automake: pick up all files for distribution. 2014-09-28 17:09:34 +01:00
libkms automake: pick up all files for distribution. 2014-09-28 17:09:34 +01: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 automake: pick up all files for distribution. 2014-09-28 17:09:34 +01:00
omap omap: Use symbol visibility. 2014-08-14 21:59:18 +02:00
radeon automake: pick up all files for distribution. 2014-09-28 17:09:34 +01:00
tests automake: pick up all files for distribution. 2014-09-28 17:09:34 +01:00
.gitignore gitignore: Ignore various generated files 2013-12-13 18:17:25 +00: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: pick up all files for distribution. 2014-09-28 17:09:34 +01:00
Makefile.sources automake: remove obsolete makefiles 2014-09-28 17:09:33 +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 libkms: build the intel backend only when needed 2014-09-28 17:09:34 +01:00
libdrm.h Add private mmap/munmap wrappers 2014-09-28 17:09:34 +01: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 atomic: add atomic_add_unless() 2014-09-15 14:50:47 +01:00
xf86drm.c drmOpenByName: remove redundant drmAvailable check 2014-05-13 12:14:19 +02:00
xf86drm.h Mark functions printf-like where possible 2014-04-17 16:21:40 +02:00
xf86drmHash.c Move libdrm/ up one level 2009-11-17 11:15:06 -05:00
xf86drmMode.c drm: Implement drmCheckModesettingSupported() for DragonFly 2014-08-14 21:56:46 +02:00
xf86drmMode.h drm: Add universal plane capability bit and plane type enums 2014-05-19 19:43:16 -04:00
xf86drmRandom.c Move libdrm/ up one level 2009-11-17 11:15:06 -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.