Go to file
Hyungwon Hwang d41b7a3a74 exynos: Don't use DRM_EXYNOS_GEM_{MAP_OFFSET/MMAP} ioctls
The ioctl DRM_EXYNOS_GEM_MAP_OFFSET and DRM_EXYNOS_GEM_MMAP are removed from
the linux kernel. This patch modifies libdrm and libkms to use drm generic
ioctls instead of the removed ioctls.

v2: The original patch was erroneous. In case the MODE_MAP_DUMB ioctl failed
    it would return the retvalue as a void-pointer. Users of libdrm would then
    happily use that ptr, eventually leading to a segfault. Change this to
    return NULL in that case and also restore the previous behaviour of logging
    to stderr.
    The other error was that 'bo->vaddr' was never filled with the mapped
    buffer address. Hence exynos_bo_map still returned NULL even if the
    buffer mapping succeeded.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Signed-off-by: Rob Clark <robclark@freedesktop.org>
2015-02-02 14:45:39 -05:00
exynos exynos: Don't use DRM_EXYNOS_GEM_{MAP_OFFSET/MMAP} ioctls 2015-02-02 14:45:39 -05:00
freedreno configure/freedreno: make KGSL support optional 2015-01-18 13:18:33 -05:00
include/drm Add new DRM_MODE_CONNECTOR and _ENCODER defines 2015-01-05 14:30:57 -05:00
intel intel: Only define variable when it's used. 2015-01-26 10:08:42 +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: Remove unused static function. 2015-01-26 10:08:43 +01:00
omap omap: Use symbol visibility. 2014-08-14 21:59:18 +02:00
radeon radeon: align r600/700 fmask to 128 X blocks. 2015-01-19 16:47:34 +10:00
tegra tegra: Implement drm_tegra_bo_{get,set}_tiling() 2014-11-27 17:20:32 +01:00
tests Rename DRM_NODE_RENDER to DRM_NODE_PRIMARY 2015-01-23 23:02:06 +00:00
.gitignore tests: add proptest 2014-11-24 19:51:59 -05: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 libdrm: Add NVIDIA Tegra support 2014-11-27 17:05:35 +01: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 configure.ac: bump version to 2.4.59 for release 2015-01-21 11:52:33 +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 Add NetBSD atomic ops support. 2015-01-26 10:08:41 +01:00
xf86drm.c Add new drmOpenRender function 2015-01-23 23:02:27 +00:00
xf86drm.h Add new drmOpenRender function 2015-01-23 23:02:27 +00: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 update signed/object prop types 2014-11-24 19:56:50 -05: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.