aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drminfo.c41
-rw-r--r--meson.build12
2 files changed, 33 insertions, 20 deletions
diff --git a/drminfo.c b/drminfo.c
index 5a62d6c..a1ed3dc 100644
--- a/drminfo.c
+++ b/drminfo.c
@@ -19,6 +19,7 @@
#include <pixman.h>
#include "drmtools.h"
+#include "drm-lease.h"
#include "logind.h"
static int ttycols = 80;
@@ -439,25 +440,27 @@ static void usage(FILE *fp)
"usage: drminfo [ options ]\n"
"\n"
"options:\n"
- " -h print this text\n"
- " -c <nr> pick card\n"
- " -a print all card info\n"
- " -A print all card info, with plane modifiers\n"
- " -m print misc card info\n"
- " -s print capabilities\n"
- " -o print supported outputs (crtcs)\n"
- " -p print supported planes\n"
- " -P print supported planes, with modifiers\n"
- " -f print supported formats\n"
- " -F print testable (drmtest) formats\n"
- " -r list properties\n"
- " -l list all known formats\n"
+ " -h print this text\n"
+ " -c <nr> pick card\n"
+ " -a print all card info\n"
+ " -A print all card info, with plane modifiers\n"
+ " -m print misc card info\n"
+ " -s print capabilities\n"
+ " -o print supported outputs (crtcs)\n"
+ " -p print supported planes\n"
+ " -P print supported planes, with modifiers\n"
+ " -f print supported formats\n"
+ " -F print testable (drmtest) formats\n"
+ " -r list properties\n"
+ " -l list all known formats\n"
+ " -L <output> get a drm lease for output\n"
"\n");
}
int main(int argc, char **argv)
{
int card = 0;
+ int lease_fd = -1;
int c, fd;
bool misc = false;
bool caps = false;
@@ -470,7 +473,7 @@ int main(int argc, char **argv)
char *columns;
for (;;) {
- c = getopt(argc, argv, "hlaAmsopPfFrc:");
+ c = getopt(argc, argv, "hlaAmsopPfFrL:c:");
if (c == -1)
break;
switch (c) {
@@ -514,6 +517,9 @@ int main(int argc, char **argv)
case 'f':
format = true;
break;
+ case 'L':
+ lease_fd = drm_lease(optarg);
+ break;
case 'h':
usage(stdout);
exit(0);
@@ -536,7 +542,12 @@ int main(int argc, char **argv)
logind_init();
- fd = drm_open(card);
+ if (lease_fd >= 0) {
+ fd = lease_fd;
+ } else {
+ fd = drm_open(card);
+ }
+
if (misc)
drm_info_misc(fd);
if (caps)
diff --git a/meson.build b/meson.build
index e1d62e0..37b4764 100644
--- a/meson.build
+++ b/meson.build
@@ -28,20 +28,22 @@ configure_file(output : 'config.h', configuration : config)
# libjpeg dep
jpeg_dep = declare_dependency(link_args : '-ljpeg')
-drminfo_srcs = [ 'drminfo.c', 'drmtools.c', 'logind.c' ]
+drminfo_srcs = [ 'drminfo.c', 'drmtools.c', 'drm-lease.c', 'drm-lease-x11.c',
+ 'logind.c' ]
drmtest_srcs = [ 'drmtest.c', 'drmtools.c', 'drm-lease.c', 'drm-lease-x11.c',
- 'logind.c', 'ttytools.c', 'render.c', 'image.c' ]
+ 'logind.c', 'ttytools.c', 'render.c', 'image.c' ]
fbinfo_srcs = [ 'fbinfo.c', 'fbtools.c', 'logind.c' ]
fbtest_srcs = [ 'fbtest.c', 'fbtools.c', 'logind.c',
- 'ttytools.c', 'render.c', 'image.c' ]
+ 'ttytools.c', 'render.c', 'image.c' ]
prime_srcs = [ 'prime.c', 'logind.c' ]
viotest_srcs = [ 'virtiotest.c', 'drmtools.c', 'logind.c', 'ttytools.c', 'render.c' ]
egltest_srcs = [ 'egltest.c', 'drmtools.c', 'drmtools-egl.c', 'logind.c', 'ttytools.c' ]
gtktest_srcs = [ 'gtktest.c', 'render.c', 'image.c' ]
-drminfo_deps = [ libdrm_dep, cairo_dep, pixman_dep, systemd_dep ]
+drminfo_deps = [ libdrm_dep, cairo_dep, pixman_dep, systemd_dep,
+ xcb_dep, randr_dep ]
drmtest_deps = [ libdrm_dep, gbm_dep, epoxy_dep,
- xcb_dep, randr_dep,
+ xcb_dep, randr_dep,
cairo_dep, pixman_dep, jpeg_dep, systemd_dep ]
fbinfo_deps = [ cairo_dep, systemd_dep ]
fbtest_deps = [ cairo_dep, pixman_dep, jpeg_dep, systemd_dep ]