Go to file
Devarsh Thakkar 7f82714522 modetest: Use floating vrefresh while dumping mode
Add function to derive floating value of vertical
refresh rate from drm mode using pixel clock,
horizontal total size and vertical total size.

Use this function to find suitable mode having vrefresh
value which is matching with user provided vrefresh value.

If user doesn't provide any vrefresh value in args then
update vertical refresh rate value in pipe args using this
function.

Also use this function for printing floating vrefresh while
dumping all available modes.

This will give more accurate picture to user for available modes
differentiated by floating vertical refresh rate and help user
select more appropriate mode using suitable refresh rate value.

V4:
1) While setting mode, print mode name and vrefresh using struct
   drmModeModeInfo instead of struct pipe_args.
2) Revert back to using a float value instead of float *
   for vrefresh arg in connector_find_mode().

V3:
1) Change name of function used to derive refresh rate.

V2:
1) Don't use inline function for deriving refresh rate from mode.
2) If requested mode not found, print refresh rate only
   if user had provided it in args.

Signed-off-by: Devarsh Thakkar <devarsh.thakkar@xilinx.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-12-11 17:47:31 +02:00
.gitlab-ci gitlab-ci: add PowerPC build 2019-11-23 00:37:06 +00:00
amdgpu amdgpu: convert to new symbols check 2019-11-11 22:57:14 +00:00
android android: Fix 32-bit app crashing in 64-bit Android 2018-12-18 21:18:19 +01:00
data amdgpu: add new marketing names from 19.30 2019-12-04 17:26:44 -05:00
etnaviv etnaviv: convert to new symbols check 2019-11-11 22:57:14 +00:00
exynos exynos: convert to new symbols check 2019-11-11 22:57:14 +00:00
freedreno freedreno: convert to new symbols check 2019-11-11 22:57:14 +00:00
include/drm sync up drm.h 2019-10-26 03:11:14 +00:00
intel intel: convert to new symbols check 2019-11-11 22:57:14 +00:00
libkms libkms: convert to new symbols check 2019-11-11 22:57:14 +00:00
man Revert "Revert "libdrm: remove autotools support"" 2019-10-18 18:05:45 +01:00
nouveau nouveau: convert to new symbols check 2019-11-11 22:57:14 +00:00
omap omap: convert to new symbols check 2019-11-11 22:57:14 +00:00
radeon radeon: convert to new symbols check 2019-11-11 22:57:14 +00:00
tegra tegra: convert to new symbols check 2019-11-11 22:57:14 +00:00
tests modetest: Use floating vrefresh while dumping mode 2019-12-11 17:47:31 +02:00
vc4 Revert "Revert "libdrm: remove autotools support"" 2019-10-18 18:05:45 +01:00
.editorconfig Add meson build system 2018-01-12 09:40:48 -08:00
.gitlab-ci.yml gitlab-ci: update to current ci-templates master 2019-12-03 16:17:14 +01:00
Android.common.mk android: make symbols hidden by default 2018-10-04 14:42:54 +01:00
Android.mk libdrm: Android.mk: Add minimal Android platform check 2019-04-25 10:55:02 +01:00
CONTRIBUTING.rst doc: Rename README&CONTRIBUTING to .rst 2018-10-17 17:17:19 +02:00
CleanSpec.mk tests: Split helpers into library 2015-12-18 17:43:40 +00:00
Makefile.sources libdrm: add msm drm uapi header 2018-08-23 08:48:45 -07:00
README.rst Revert "Revert "libdrm: remove autotools support"" 2019-10-18 18:05:45 +01:00
RELEASING RELEASING: update instructions to use meson instead of autotools 2019-10-14 15:57:26 +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
libdrm_macros.h libdrm: Use mmap64 instead of __mmap2 2019-04-25 10:55:13 +01:00
libsync.h add libsync.h helper 2016-11-05 10:16:46 -04:00
meson.build meson.build: fix intel atomics detection 2019-12-05 13:25:30 +00:00
meson_options.txt Add meson build system 2018-01-12 09:40:48 -08:00
symbols-check.py meson: import Mesa's symbols check script 2019-11-11 22:57:14 +00: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 xf86atomic: require CAS support in libatomic_ops 2019-12-06 21:57:12 +00:00
xf86drm.c libdrm: wrap new flexible syncobj query interface v2 2019-10-26 03:11:14 +00:00
xf86drm.h Add ARM support into xf86drm.h 2019-12-05 22:35:58 +01:00
xf86drmHash.c xf86drmHash: remove unused loop variable 2018-11-09 10:59:11 +00:00
xf86drmHash.h tests/hash: extract test out of xf86drmHash.c 2015-04-05 15:19:42 +01:00
xf86drmMode.c xf86drm: Fix possible memory leak with drmModeGetPropertyPtr() 2019-05-03 12:47:42 +01:00
xf86drmMode.h Fix missing stdlib includes in xf86drmMode.h 2019-11-12 00:16:58 +00: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.rst

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.
New functionality in the kernel DRM drivers typically requires a new libdrm,
but a new libdrm will always work with an older kernel.

libdrm is a low-level library, typically used by graphics drivers such as
the Mesa drivers, the X drivers, libva and similar projects.


Compiling
---------

To set up meson:

    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.