new file mode 100644
@@ -0,0 +1,29 @@
+From 59f302c28cc15f2d7749840a311c2085c75d5833 Mon Sep 17 00:00:00 2001
+From: Gyorgy Sarvari <skandigraun@gmail.com>
+Date: Wed, 24 Nov 2021 21:09:36 +0100
+Subject: [PATCH] xorg-version.h: Increase supported Xorg version to 1.21
+
+From: Joakim Tjernlund <joakim.tjernlund@infinera.com>
+
+Upstream-Status: Backport [https://github.com/TigerVNC/tigervnc/commit/736b50d04e1ba965696cd15d456dc2b7fc123150]
+Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
+---
+ unix/xserver/hw/vnc/xorg-version.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/unix/xserver/hw/vnc/xorg-version.h b/unix/xserver/hw/vnc/xorg-version.h
+index 5effe7e9..2449980d 100644
+--- a/unix/xserver/hw/vnc/xorg-version.h
++++ b/unix/xserver/hw/vnc/xorg-version.h
+@@ -36,8 +36,10 @@
+ #define XORG 119
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (20 * 100000) + (99 * 1000))
+ #define XORG 120
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (21 * 100000) + (99 * 1000))
++#define XORG 121
+ #else
+-#error "X.Org newer than 1.20 is not supported"
++#error "X.Org newer than 1.21 is not supported"
+ #endif
+
+ #endif
new file mode 100644
@@ -0,0 +1,95 @@
+From 4af7be2ac0d6e39a23ab4a9df964a2888659051a Mon Sep 17 00:00:00 2001
+From: Gyorgy Sarvari <skandigraun@gmail.com>
+Date: Fri, 26 Nov 2021 11:15:21 +0100
+Subject: [PATCH] xserver21.1.1.patch: Add Xorg 21 patch
+
+From: Joakim Tjernlund <joakim.tjernlund@infinera.com>
+
+Upstream-Status: Backport [https://github.com/TigerVNC/tigervnc/commit/0c5a2b2e7759c2829c07186cfce4d24aa9b5274e]
+Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
+---
+ unix/xserver21.patch | 75 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 75 insertions(+)
+ create mode 100644 unix/xserver21.patch
+
+diff --git a/unix/xserver21.patch b/unix/xserver21.patch
+new file mode 100644
+index 00000000..a349af75
+--- /dev/null
++++ b/unix/xserver21.patch
+@@ -0,0 +1,75 @@
++diff -urpN xorg-server-1.20.0/configure.ac xorg-server-1.20.0/configure.ac
++--- xorg-server-1.20.0/configure.ac 2018-05-10 09:32:34.000000000 -0700
+++++ xorg-server-1.20.0/configure.ac 2018-06-13 19:04:47.536413626 -0700
++@@ -74,6 +74,7 @@ dnl forcing an entire recompile.x
++ AC_CONFIG_HEADERS(include/version-config.h)
++
++ AM_PROG_AS
+++AC_PROG_CXX
++ AC_PROG_LN_S
++ LT_PREREQ([2.2])
++ LT_INIT([disable-static win32-dll])
++@@ -1777,6 +1778,10 @@ if test "x$XVFB" = xyes; then
++ AC_SUBST([XVFB_SYS_LIBS])
++ fi
++
+++dnl Xvnc DDX
+++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"])
+++AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
+++AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"])
++
++ dnl Xnest DDX
++
++@@ -1812,6 +1817,8 @@ if test "x$XORG" = xauto; then
++ fi
++ AC_MSG_RESULT([$XORG])
++
+++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+++
++ if test "x$XORG" = xyes; then
++ XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
++ XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
++@@ -2029,7 +2036,6 @@ if test "x$XORG" = xyes; then
++ AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
++ AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
++ AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
++- AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
++ AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
++ AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
++ AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
++@@ -2565,6 +2571,7 @@ hw/dmx/Makefile
++ hw/dmx/man/Makefile
++ hw/vfb/Makefile
++ hw/vfb/man/Makefile
+++hw/vnc/Makefile
++ hw/xnest/Makefile
++ hw/xnest/man/Makefile
++ hw/xwin/Makefile
++diff -urpN xorg-server-1.20.0/hw/Makefile.am xorg-server-1.20.0/hw/Makefile.am
++--- xorg-server-1.20.0/hw/Makefile.am 2018-05-10 09:32:34.000000000 -0700
+++++ xorg-server-1.20.0/hw/Makefile.am 2018-06-13 19:04:47.536413626 -0700
++@@ -44,3 +44,5 @@
++
++ relink:
++ $(AM_V_at)for i in $(SUBDIRS) ; do $(MAKE) -C $$i relink || exit 1 ; done
+++
+++SUBDIRS += vnc
++diff -urpN xorg-server-1.20.0/mi/miinitext.c xorg-server-1.20.0/mi/miinitext.c
++--- xorg-server-1.20.0/mi/miinitext.c 2018-05-10 09:32:37.000000000 -0700
+++++ xorg-server-1.20.0/mi/miinitext.c 2018-06-13 19:05:14.742200675 -0700
++@@ -107,8 +107,15 @@ SOFTWARE.
++ #include "os.h"
++ #include "globals.h"
++
+++#ifdef TIGERVNC
+++extern void vncExtensionInit(void);
+++#endif
+++
++ /* List of built-in (statically linked) extensions */
++ static const ExtensionModule staticExtensions[] = {
+++#ifdef TIGERVNC
+++#endif
++ {GEExtensionInit, "Generic Event Extension", &noGEExtension},
++ {ShapeExtensionInit, "SHAPE", NULL},
++ #ifdef MITSHM
new file mode 100644
@@ -0,0 +1,46 @@
+From 7d18a77dfbef8ffe2b17b31098c75316b13f1597 Mon Sep 17 00:00:00 2001
+From: Gyorgy Sarvari <skandigraun@gmail.com>
+Date: Wed, 24 Nov 2021 21:10:56 +0100
+Subject: [PATCH] xvnc: adapt for 1.21
+
+From: Joakim Tjernlund <joakim.tjernlund@infinera.com>
+
+VENDOR_STRING is gone as is DEFAULT_LOG_VERBOSITY
+site.h has been removed and is not needed.
+
+Upstream-Status: Backport [https://github.com/TigerVNC/tigervnc/commit/f2577107f7f55382c524d8c738a777e5cdd80f60]
+Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
+---
+ unix/xserver/hw/vnc/xvnc.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/unix/xserver/hw/vnc/xvnc.c b/unix/xserver/hw/vnc/xvnc.c
+index fda6205f..d16a4355 100644
+--- a/unix/xserver/hw/vnc/xvnc.c
++++ b/unix/xserver/hw/vnc/xvnc.c
+@@ -80,7 +80,6 @@ from the X Consortium.
+ #undef VENDOR_RELEASE
+ #undef VENDOR_STRING
+ #include "version-config.h"
+-#include "site.h"
+
+ #define XVNCVERSION "TigerVNC 1.11.0"
+ #define XVNCCOPYRIGHT ("Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)\n" \
+@@ -148,15 +147,14 @@ static Bool Render = TRUE;
+ static Bool displaySpecified = FALSE;
+ static char displayNumStr[16];
+
+-static int vncVerbose = DEFAULT_LOG_VERBOSITY;
++static int vncVerbose = 0;
+
+
+ static void
+ vncPrintBanner(void)
+ {
+ ErrorF("\nXvnc %s - built %s\n%s", XVNCVERSION, buildtime, XVNCCOPYRIGHT);
+- ErrorF("Underlying X server release %d, %s\n\n", VENDOR_RELEASE,
+- VENDOR_STRING);
++ ErrorF("Underlying X server release %d\n\n", VENDOR_RELEASE);
+ }
+
+ static void
@@ -21,15 +21,18 @@ SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.11-branch;protocol=ht
file://0002-do-not-build-tests-sub-directory.patch \
file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
+ file://0001-xserver21.1.1.patch-Add-Xorg-21-patch.patch \
+ file://0001-xorg-version.h-Increase-supported-Xorg-version-to-1..patch \
+ file://0001-xvnc-adapt-for-1.21.patch \
"
# Keep sync with xorg-server in oe-core
XORG_PN ?= "xorg-server"
-XORG_PV ?= "1.20.6"
-SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
+XORG_PV ?= "21.1.18"
+SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.xz;name=xorg"
XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
-SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b"
-SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1"
+SRC_URI[xorg.md5sum] = "43225ddc1fd8d7ae7671c25ab6d1f927"
+SRC_URI[xorg.sha256sum] = "c878d1930d87725d4a5bf498c24f4be8130d5b2646a9fd0f2994deff90116352"
# It is the directory containing the Xorg source for the
# machine on which you are building TigerVNC.
@@ -37,27 +40,11 @@ XSERVER_SOURCE_DIR="${S}/unix/xserver"
do_patch[postfuncs] += "do_patch_xserver"
do_patch_xserver () {
- for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do
- install -d ${XSERVER_SOURCE_DIR}/$subdir
- done
-
- for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do
- install -d ${XSERVER_SOURCE_DIR}/$subdir
- done
-
- sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
- hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \
- hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
- for i in ${sources}; do
- install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
- done
-
- cd ${XORG_S}
- find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
- xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
+ # Put the xserver source in the right place in the tigervnc source tree
+ cp -rfl ${XORG_S}/* ${XSERVER_SOURCE_DIR}
cd ${XSERVER_SOURCE_DIR}
- xserverpatch="${S}/unix/xserver120.patch"
+ xserverpatch="${S}/unix/xserver21.patch"
echo "Apply $xserverpatch"
patch -p1 -b --suffix .vnc < $xserverpatch
}
oe-core has a newer version of xserver than this recipe used to compile TigerVNC with. This recipe updates xserver to the same version, 21.1.18. TigerVNC only started to support this xserver version 2 versions later, with 1.13. Due to this 3 commits were backported that add the missing changes. Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- ...ncrease-supported-Xorg-version-to-1..patch | 29 ++++++ ...server21.1.1.patch-Add-Xorg-21-patch.patch | 95 +++++++++++++++++++ .../files/0001-xvnc-adapt-for-1.21.patch | 46 +++++++++ .../tigervnc/tigervnc_1.11.0.bb | 33 ++----- 4 files changed, 180 insertions(+), 23 deletions(-) create mode 100644 meta-oe/recipes-graphics/tigervnc/files/0001-xorg-version.h-Increase-supported-Xorg-version-to-1..patch create mode 100644 meta-oe/recipes-graphics/tigervnc/files/0001-xserver21.1.1.patch-Add-Xorg-21-patch.patch create mode 100644 meta-oe/recipes-graphics/tigervnc/files/0001-xvnc-adapt-for-1.21.patch