Go to file
Ayan Kumar Halder 1b18f508c8 libdrm: headers: Sync with drm-next
Generated using make headers_install from the drm-next
tree - git://anongit.freedesktop.org/drm/drm
branch - drm-next
commit - 2dc7bad71cd310dc94d1c9907909324dd2b0618f

The changes were as follows :-

  core: (drm.h, drm_fourcc.h, drm_mode.h)
    - Added client capabilities for ASPECT_RATIO and WRITEBACK_CONNECTORS
    - Added Arm AFBC modifiers
    - Added BROADCOM's SAND and UIF modifiers
    - Added Qualcomm's modifiers
    - Added some picture aspect ratio and content type options
    - Added some drm mode flags
    - Added writeback connector id

  amdgpu:
    - Added GEM domain mask
    - Added some GEM flags
    - Added some hardware ip flags
    - Added chunk id and IB fence.
    - Added some query ids

  i915:
    -Added an IOCTL (I915_PARAM_MMAP_GTT_COHERENT)

  qxl:
    - Minor changes

  tegra:
    - Added some comments about struct drm_tegra* members
    - Modified DRM_IOCTL_TEGRA_CLOSE_CHANNEL

  vc4:
    - Added some members for 'struct drm_vc4_submit_cl'

Changes in v2:
    - Mentioned 'libdrm' in the commit header.

Changes in v3:
    - Removed the changes to radeon_drm.h, sis_drm.h and via_drm.h as suggested by
      Emil Velikov <emil.l.velikov@gmail.com>

Changes in v4:
    - Removed the changes to vmwgfx_drm.h as it caused a build break ie
      'make check' failed.

Change-Id: I018a06f65bf4a6a68400ab252b9cd05d041299b3
Signed-off-by: Ayan Kumar halder <ayan.halder@arm.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2018-10-04 14:51:09 +01:00
amdgpu *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
android libdrm: gralloc_handle.h: Fix build issue with Android 2018-04-03 10:19:21 +02:00
data Add meson build system 2018-01-12 09:40:48 -08:00
etnaviv *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
exynos *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
freedreno *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
include/drm libdrm: headers: Sync with drm-next 2018-10-04 14:51:09 +01:00
intel *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
libkms *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
m4 build: Update autotools configuration 2011-03-21 13:43:43 +00:00
man Add meson build system 2018-01-12 09:40:48 -08:00
nouveau *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
omap *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
radeon *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
tegra *-symbols-check: error out when using unset variables 2018-10-04 14:39:27 +01:00
tests tests/util: Add support for sun4i-drm driver 2018-10-04 14:46:47 +01:00
vc4 autotools: make symbols hidden by default 2018-09-19 22:46:45 -07:00
.editorconfig Add meson build system 2018-01-12 09:40:48 -08:00
.gitignore libdrm: add etnaviv tests 2016-09-17 15:05:33 +02:00
.gitlab-ci.yml gitlab-ci: pass the correct toggles to configure 2018-10-04 14:49:26 +01:00
Android.common.mk android: make symbols hidden by default 2018-10-04 14:42:54 +01:00
Android.mk android: Add missing include exports 2018-03-22 16:47:05 +00:00
CONTRIBUTING Add basic CONTRIBUTING file 2018-09-04 14:15:26 +02:00
CleanSpec.mk tests: Split helpers into library 2015-12-18 17:43:40 +00:00
Makefile.am autotools: make symbols hidden by default 2018-09-19 22:46:45 -07:00
Makefile.sources libdrm: add msm drm uapi header 2018-08-23 08:48:45 -07:00
README README: Add note about meson 2018-01-12 09:40:48 -08:00
RELEASING RELEASING: mention meson 2018-02-17 20:25:02 +01:00
autogen.sh autogen.sh: run git commands in the (potentially) git dir 2017-02-28 13:34:26 +00:00
configure.ac Bump to version 2.4.94 2018-08-23 14:38:37 -07: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 intel: annotate public functions 2018-09-19 22:46:44 -07:00
libsync.h add libsync.h helper 2016-11-05 10:16:46 -04:00
meson.build meson: make symbols hidden by default 2018-09-19 22:46:45 -07:00
meson_options.txt Add meson build system 2018-01-12 09:40:48 -08:00
util_double_list.h list: fix an issue with android build using clang 2016-08-02 16:22:45 -04:00
util_math.h Fix build with -std=c11 2018-09-05 13:09:29 +01:00
xf86atomic.h meson,configure: include config.h automatically 2018-03-20 18:19:26 +00:00
xf86drm.c libdrm: annotate public functions 2018-09-19 22:46:45 -07:00
xf86drm.h drm: Add CrtcGetSequence and CrtcQueueSequence IOCTLs [v2] 2017-12-18 10:04:02 +10:00
xf86drmHash.c libdrm: annotate public functions 2018-09-19 22:46:45 -07:00
xf86drmHash.h tests/hash: extract test out of xf86drmHash.c 2015-04-05 15:19:42 +01:00
xf86drmMode.c libdrm: annotate public functions 2018-09-19 22:46:45 -07:00
xf86drmMode.h drm: Add drm mode lease ioctl wrappers [v3] 2017-12-18 10:04:02 +10:00
xf86drmRandom.c libdrm: annotate public functions 2018-09-19 22:46:45 -07:00
xf86drmRandom.h tests/random: extract test out of xf86drmRandom.c 2015-04-05 15:33:33 +01:00
xf86drmSL.c libdrm: annotate public functions 2018-09-19 22:46:45 -07: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 systems 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 has two build systems, a legacy autotools build system, and a newer
meson build system. The meson build system is much faster, and offers a
slightly different interface, but otherwise provides an equivalent feature set.

To use it:

    meson builddir/

By default this will install into /usr/local, you can change your prefix
with --prefix=/usr (or `meson configure builddir/ -Dprefix=/usr` after 
the initial meson setup).

Then use ninja to build and install:

    ninja -C builddir/ install

If you are installing into a system location you will need to run install
separately, and as root.


Alternatively you can invoke autotools configure:

	./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 installing into a system location, you will need to be root
to perform the install step.