mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-02-07 06:00:04 +01:00
Merge branch 'feature/KASM-6760-latest-xorg' into 'master'
Resolve KASM-6760 "Feature/ latest xorg" Closes KASM-6760 See merge request kasm-technologies/internal/KasmVNC!152
This commit is contained in:
commit
e04731870b
@ -46,7 +46,11 @@ EOF
|
||||
cd /tmp
|
||||
# default to the version of x in Ubuntu 18.04, otherwise caller will need to specify
|
||||
XORG_VER=${XORG_VER:-"1.19.6"}
|
||||
XORG_PATCH=$(echo "$XORG_VER" | grep -Po '^\d.\d+' | sed 's#\.##')
|
||||
if [[ "${XORG_VER}" == 21* ]]; then
|
||||
XORG_PATCH=21
|
||||
else
|
||||
XORG_PATCH=$(echo "$XORG_VER" | grep -Po '^\d.\d+' | sed 's#\.##')
|
||||
fi
|
||||
wget --no-check-certificate https://www.x.org/archive/individual/xserver/xorg-server-${XORG_VER}.tar.gz
|
||||
|
||||
#git clone https://kasmweb@bitbucket.org/kasmtech/kasmvnc.git
|
||||
|
@ -2,7 +2,7 @@ FROM alpine:3.17
|
||||
|
||||
ENV KASMVNC_BUILD_OS alpine
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 317
|
||||
ENV XORG_VER 1.20.14
|
||||
ENV XORG_VER 21.1.8
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
|
@ -2,7 +2,7 @@ FROM alpine:3.18
|
||||
|
||||
ENV KASMVNC_BUILD_OS alpine
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 318
|
||||
ENV XORG_VER 1.20.14
|
||||
ENV XORG_VER 21.1.10
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
|
@ -2,7 +2,7 @@ FROM alpine:3.19
|
||||
|
||||
ENV KASMVNC_BUILD_OS alpine
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 319
|
||||
ENV XORG_VER 1.20.14
|
||||
ENV XORG_VER 21.1.12
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
|
@ -2,7 +2,7 @@ FROM alpine:3.20
|
||||
|
||||
ENV KASMVNC_BUILD_OS alpine
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 320
|
||||
ENV XORG_VER 1.20.14
|
||||
ENV XORG_VER 21.1.14
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
|
@ -2,7 +2,7 @@ FROM alpine:3.21
|
||||
|
||||
ENV KASMVNC_BUILD_OS alpine
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 321
|
||||
ENV XORG_VER 1.20.14
|
||||
ENV XORG_VER 21.1.14
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
|
@ -2,7 +2,7 @@ FROM debian:bookworm-slim
|
||||
|
||||
ENV KASMVNC_BUILD_OS debian
|
||||
ENV KASMVNC_BUILD_OS_CODENAME bookworm
|
||||
ENV XORG_VER 1.20.10
|
||||
ENV XORG_VER 21.1.7
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN \
|
||||
|
@ -2,7 +2,7 @@ FROM kalilinux/kali-rolling:latest
|
||||
|
||||
ENV KASMVNC_BUILD_OS kali
|
||||
ENV KASMVNC_BUILD_OS_CODENAME kali-rolling
|
||||
ENV XORG_VER 1.20.10
|
||||
ENV XORG_VER 21.1.14
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN grep '^deb' /etc/apt/sources.list | sed 's#^deb#deb-src#' >> /etc/apt/sources.list
|
||||
|
@ -2,7 +2,7 @@ FROM oraclelinux:8
|
||||
|
||||
ENV KASMVNC_BUILD_OS oracle
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 8
|
||||
ENV XORG_VER 1.20.10
|
||||
ENV XORG_VER 1.20.11
|
||||
|
||||
# Install from stock repos
|
||||
RUN \
|
||||
|
@ -2,7 +2,7 @@ FROM oraclelinux:9
|
||||
|
||||
ENV KASMVNC_BUILD_OS oracle
|
||||
ENV KASMVNC_BUILD_OS_CODENAME 9
|
||||
ENV XORG_VER 1.20.10
|
||||
ENV XORG_VER 1.20.11
|
||||
|
||||
# Install from stock repos
|
||||
RUN \
|
||||
|
@ -2,7 +2,7 @@ FROM ubuntu:jammy
|
||||
|
||||
ENV KASMVNC_BUILD_OS ubuntu
|
||||
ENV KASMVNC_BUILD_OS_CODENAME jammy
|
||||
ENV XORG_VER 1.20.8
|
||||
ENV XORG_VER 21.1.3
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN sed -i 's$# deb-src$deb-src$' /etc/apt/sources.list
|
||||
|
@ -2,7 +2,7 @@ FROM ubuntu:noble
|
||||
|
||||
ENV KASMVNC_BUILD_OS ubuntu
|
||||
ENV KASMVNC_BUILD_OS_CODENAME noble
|
||||
ENV XORG_VER 1.20.8
|
||||
ENV XORG_VER 21.1.12
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN sed -i 's$Types: deb$Types: deb deb-src$' /etc/apt/sources.list.d/ubuntu.sources
|
||||
|
@ -54,8 +54,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 21 is not supported"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -94,7 +94,6 @@ from the X Consortium.
|
||||
#undef VENDOR_RELEASE
|
||||
#undef VENDOR_STRING
|
||||
#include "version-config.h"
|
||||
#include "site.h"
|
||||
|
||||
#define XVNCVERSION "KasmVNC 1.3.3"
|
||||
#define XVNCCOPYRIGHT ("Copyright (C) 1999-2018 KasmVNC Team and many others (see README.me)\n" \
|
||||
@ -164,7 +163,7 @@ const char *driNode = NULL;
|
||||
static Bool displaySpecified = FALSE;
|
||||
static char displayNumStr[16];
|
||||
|
||||
static int vncVerbose = DEFAULT_LOG_VERBOSITY;
|
||||
static int vncVerbose = 0;
|
||||
|
||||
int unixrelays[MAX_UNIX_RELAYS];
|
||||
char unixrelaynames[MAX_UNIX_RELAYS][MAX_UNIX_RELAY_NAME_LEN];
|
||||
@ -283,8 +282,13 @@ vncPrintBanner(void)
|
||||
ErrorF("\nXvnc %s%s - built %s\n%s", XVNCVERSION,
|
||||
sizeof(XVNCEXTRAVERSION) > 2 ? XVNCEXTRAVERSION : "",
|
||||
buildtime, XVNCCOPYRIGHT);
|
||||
// VENDOR_STRING was removed in 21
|
||||
#ifdef VENDOR_STRING
|
||||
ErrorF("Underlying X server release %d, %s\n\n", VENDOR_RELEASE,
|
||||
VENDOR_STRING);
|
||||
#else
|
||||
ErrorF("Underlying X server release %d\n\n", VENDOR_RELEASE);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
115
unix/xserver21.patch
Normal file
115
unix/xserver21.patch
Normal file
@ -0,0 +1,115 @@
|
||||
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 KASMVNC
|
||||
+extern void vncExtensionInit(void);
|
||||
+#endif
|
||||
+
|
||||
/* List of built-in (statically linked) extensions */
|
||||
static const ExtensionModule staticExtensions[] = {
|
||||
+#ifdef KASMVNC
|
||||
+ {vncExtensionInit, "VNC-EXTENSION", NULL},
|
||||
+#endif
|
||||
{GEExtensionInit, "Generic Event Extension", &noGEExtension},
|
||||
{ShapeExtensionInit, "SHAPE", NULL},
|
||||
#ifdef MITSHM
|
||||
--- xserver.orig/present/present.c 2019-02-26 21:28:50.000000000 +0200
|
||||
+++ xserver/present/present.c 2023-01-20 11:32:27.175493594 +0200
|
||||
@@ -27,6 +27,8 @@
|
||||
#include "present_priv.h"
|
||||
#include <gcstruct.h>
|
||||
|
||||
+void xvnc_sync_dri3_pixmap(PixmapPtr pixmap);
|
||||
+
|
||||
/*
|
||||
* Returns:
|
||||
* TRUE if the first MSC value is equal to or after the second one
|
||||
@@ -79,6 +81,8 @@
|
||||
ScreenPtr screen = drawable->pScreen;
|
||||
GCPtr gc;
|
||||
|
||||
+ xvnc_sync_dri3_pixmap(pixmap);
|
||||
+
|
||||
gc = GetScratchGC(drawable->depth, screen);
|
||||
if (update) {
|
||||
ChangeGCVal changes[2];
|
||||
--- xserver.orig/damageext/damageext.c 2019-02-26 21:28:50.000000000 +0200
|
||||
+++ xserver/damageext/damageext.c 2023-03-21 12:52:58.411647186 +0200
|
||||
@@ -87,6 +87,8 @@
|
||||
*h = draw->height;
|
||||
}
|
||||
|
||||
+void xvnc_sync_dri3_textures(void);
|
||||
+
|
||||
static void
|
||||
DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes)
|
||||
{
|
||||
@@ -97,6 +99,8 @@
|
||||
|
||||
damageGetGeometry(pDrawable, &x, &y, &w, &h);
|
||||
|
||||
+ xvnc_sync_dri3_textures();
|
||||
+
|
||||
UpdateCurrentTimeIf();
|
||||
ev = (xDamageNotifyEvent) {
|
||||
.type = DamageEventBase + XDamageNotify,
|
Loading…
Reference in New Issue
Block a user