Go to file
Matt Roper cf0f036e3d xf86drm: Fix error handling for drmGetDevice()
Some of the error conditions in drmGetDevice() can lead to us calling
closedir(NULL) or leaking memory.  Fix these conditions the same way we
did for drmGetDevices() in commit:

        commit 8c4a1cbd98
        Author: Matt Roper <matthew.d.roper@intel.com>
        Date:   Wed Sep 30 09:30:51 2015 -0700

            xf86drm: Fix error handling for drmGetDevices()

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-10-20 18:44:58 +01:00
amdgpu Include <alloca.h> when needed before calling alloca 2015-09-12 09:41:24 -07:00
exynos exynos/fimg2d: remove g2d_context from public header 2015-09-21 17:43:14 +01:00
freedreno freedreno: debug msg cleanup 2015-09-19 12:12:27 -04:00
include/drm libdrm: Add framebuffer modifiers uapi 2015-09-09 11:15:17 -04:00
intel intel: ignore missing-field-initializers warnings 2015-09-04 21:39:06 +01:00
libkms libkms: use static const for good measure 2015-09-04 21:39:06 +01:00
m4 build: Update autotools configuration 2011-03-21 13:43:43 +00:00
man man: remove .man_fixup workaround 2015-07-29 18:04:15 +01:00
nouveau nouveau: use designated initializers 2015-09-04 21:39:06 +01:00
omap omap: Initialize DMA BUF file descriptor to -1 2015-08-26 15:15:54 +02:00
radeon radeon: cleanup bo/cs func tables 2015-09-04 21:39:06 +01:00
tegra drm: remove drm_public macro 2015-04-28 11:19:15 +01:00
tests tests/drmdevice: add drm{Get,Free}Device() example 2015-09-21 17:43:11 +01:00
.gitignore gitignore: add some generated amdgpu files 2015-08-05 13:47:51 -04:00
Android.mk android: set the HAVE_VISIBILITY define 2015-04-29 17:29:37 +00:00
CleanSpec.mk android: add CleanSpec.mk 2014-09-01 16:06:02 +01:00
Makefile.am automake: set --enable-valgrind during make distcheck 2015-09-21 17:32:03 +01:00
Makefile.sources drm: add libdrm_amdgpu (v7) 2015-08-05 13:47:48 -04:00
README Update README 2009-11-20 17:08:28 -05:00
RELEASING RELEASING: Fix annouce typo 2015-03-20 15:55:23 +00:00
autogen.sh autogen.sh: handle out-of-tree invokation 2015-03-17 22:35:51 +00:00
configure.ac Bump version for release 2015-09-16 09:03:40 -04: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
libdrm_macros.h drm: remove drm_public macro 2015-04-28 11:19:15 +01:00
util_double_list.h drm: consolidate common list implementations (v2) 2015-08-05 13:47:48 -04:00
util_math.h util_math: add MAX3 macro 2015-09-21 17:42:51 +01:00
xf86atomic.h Fix SunOS/NetBSD atomic macro 2015-09-21 17:43:14 +01:00
xf86drm.c xf86drm: Fix error handling for drmGetDevice() 2015-10-20 18:44:58 +01:00
xf86drm.h xf86drm: add drm{Get,Free}Device 2015-09-21 17:43:08 +01:00
xf86drmHash.c drm: use correct printf modifiers 2015-04-05 15:33:33 +01:00
xf86drmHash.h tests/hash: extract test out of xf86drmHash.c 2015-04-05 15:19:42 +01:00
xf86drmMode.c xf86drmMode: smoke-test the atomic API 2015-09-21 17:32:03 +01:00
xf86drmMode.h remove usage of 'c_plusplus' preprocessor macro 2015-08-10 11:25:39 +03:00
xf86drmRandom.c drm: replace HASH_DEBUG with DEBUG 2015-04-05 15:33:33 +01:00
xf86drmRandom.h tests/random: extract test out of xf86drmRandom.c 2015-04-05 15:33:33 +01:00
xf86drmSL.c drm: replace HASH_DEBUG with DEBUG 2015-04-05 15:33:33 +01: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.