On Thu, 24 Aug 2017, Raphael Hertzog wrote:
> I retire this as it's not true. I tested Xorg by mistake. I have not yet
> found why the patch is not working properly. This is tracked here:
> https://bugs.kali.org/view.php?id=4159
After a bit of debugging with the help of Thomas Hellstrom
, I have an updated patch that works well.
It's attached and he told me that this will be part of open-vm-tools
10.2.
In the mean time, it would be great to have this in Debian. I included
it in Kali already. Note that you have to add "libudev-dev" and
"libdrm-dev" to the Build-Depends to satisfy the requirements of the
new plugin.
Cheers,
--
Raphaël Hertzog ◈ Debian Developer
Support Debian LTS: https://www.freexian.com/services/debian-lts.html
Learn to master Debian: https://debian-handbook.info/get/
>From c1ed3d3b50b79f10a28ace07f6339635a0bc4cbd Mon Sep 17 00:00:00 2001
From: Thomas Hellstrom
Date: Fri, 9 Jun 2017 08:27:38 +0200
Subject: [PATCH] Add a ResolutionKMS plugin for kernel-based resolution
switching.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Authored by:
Thomas Hellström
Deepak Singh Rawat
Ravindra Kumar
Signed-off-by: Thomas Hellstrom
---
open-vm-tools/configure.ac | 29 ++
open-vm-tools/services/plugins/Makefile.am | 8 +
.../services/plugins/resolutionKMS/COPYING | 502 +
.../services/plugins/resolutionKMS/Makefile.am | 37 ++
.../services/plugins/resolutionKMS/resolutionKMS.c | 493
.../plugins/resolutionKMS/resolutionKMS.c.orig | 465 +++
.../services/plugins/resolutionSet/Makefile.am | 20 +
.../plugins/resolutionSet/resolutionCommon.c | 447 ++
.../plugins/resolutionSet/resolutionCommon.h | 53 +++
.../services/plugins/resolutionSet/resolutionDL.c | 208 +
.../services/plugins/resolutionSet/resolutionDL.h | 223 +
.../services/plugins/resolutionSet/resolutionInt.h | 14 +-
.../plugins/resolutionSet/resolutionRandR12.c | 2 +-
.../services/plugins/resolutionSet/resolutionSet.c | 8 +-
.../services/plugins/resolutionSet/resolutionX11.c | 137 +++---
15 files changed, 2552 insertions(+), 94 deletions(-)
create mode 100644 open-vm-tools/services/plugins/resolutionKMS/COPYING
create mode 100644 open-vm-tools/services/plugins/resolutionKMS/Makefile.am
create mode 100644 open-vm-tools/services/plugins/resolutionKMS/resolutionKMS.c
create mode 100644 open-vm-tools/services/plugins/resolutionKMS/resolutionKMS.c.orig
create mode 100644 open-vm-tools/services/plugins/resolutionSet/resolutionCommon.c
create mode 100644 open-vm-tools/services/plugins/resolutionSet/resolutionCommon.h
create mode 100644 open-vm-tools/services/plugins/resolutionSet/resolutionDL.c
create mode 100644 open-vm-tools/services/plugins/resolutionSet/resolutionDL.h
diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
index 7610f55..acc1e4e 100644
--- a/open-vm-tools/configure.ac
+++ b/open-vm-tools/configure.ac
@@ -235,6 +235,14 @@ AC_ARG_ENABLE(
[enable_tests="$enableval"],
[enable_tests="auto"])
+AC_ARG_ENABLE(
+ resolutionkms,
+ AS_HELP_STRING(
+ [--enable-resolutionkms],
+ [build the linux / unix resolutionkms module.]),
+ [],
+ [enable_resolutionkms="auto"])
+
AM_INIT_AUTOMAKE
###
@@ -792,6 +800,7 @@ AC_CHECK_FUNCS(
[VIX_LIBADD="$VIX_LIBADD -ldl"
LIBVMTOOLS_LIBADD="$LIBVMTOOLS_LIBADD -ldl"
VGAUTH_LIBADD="$VGAUTH_LIBADD -ldl"
+ RESOLUTIONSET_LIBADD="$RESOLUTIONSET_LIBADD -ldl"
],
[AC_MSG_ERROR(
[dlopen was not found, but is required for open-vm-tools to function properly. Please contact your OS vendor.])])])
@@ -1265,6 +1274,15 @@ if test "$os" = "linux"; then
MODULES="$MODULES vmblock vmsync"
fi
buildHgfsmounter=yes
+ if test "x$enable_resolutionkms" != "xno"; then
+ PKG_CHECK_MODULES(
+ [LIBUDEV],
+ libdrm libudev,
+ [LIBUDEV_CFLAGS="$LIBUDEV_CFLAGS -DHAVE_LIBUDEV"],
+ [AC_MSG_WARN(
+ [Missing libdrm or libudev. The resolutionKMS plugin will search for them at run-time.])])
+ enable_resolutionkms="yes"
+ fi
fi
if test "$os" = "freebsd" || test "$os" = "kfreebsd-gnu"; then
@@ -1352,6 +1370,14 @@ else
UDEVRULESDIR=""
fi
+if test "x$enable_resolutionkms" = "xauto"; then
+ enable_resolutionkms="no"
+fi
+
+if test "x$enable_resolutionkms" = "xyes"; then
+ CPPFLAGS="$CPPFLAGS -DENABLE_RESOLUTIONKMS"
+fi
+
AM_CONDITIONAL(BUILD_HGFSMOUNTER, test "$buildHgfsmounter" = "yes")
AM_CONDITIONAL(LINUX, test "$os" = "linux")
AM_CONDITIONAL(SOLARIS, test "$os" = "solaris")
@@ -1382,6 +1408,7 @@ AM_CONDITIONAL(ENABLE_CAF, test "$enable_caf" = "yes")
AM_CONDITIONAL(HAVE_VSOCK, test "$os" = "linux")
AM_CONDITIONAL(HAVE_MKDTEMP, test "$have_mkdtemp" = "yes")