23e11d
diff -up tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h.jx tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h
23e11d
--- tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h.jx	2017-05-16 09:53:28.000000000 -0400
23e11d
+++ tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h	2018-06-06 15:42:07.388157181 -0400
23e11d
@@ -52,8 +52,10 @@
23e11d
 #define XORG 118
23e11d
 #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (19 * 100000) + (99 * 1000))
23e11d
 #define XORG 119
23e11d
+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (20 * 100000) + (99 * 1000))
23e11d
+#define XORG 120
23e11d
 #else
23e11d
-#error "X.Org newer than 1.19 is not supported"
23e11d
+#error "X.Org newer than 1.20 is not supported"
23e11d
 #endif
23e11d
23e11d
 #endif
23e11d
diff -up tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c.jx tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c
23e11d
--- tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c.jx	2017-05-16 09:53:28.000000000 -0400
23e11d
+++ tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c	2018-06-06 15:42:58.384936550 -0400
23e11d
@@ -46,6 +46,7 @@ from the X Consortium.
23e11d
 #include <X11/Xproto.h>
23e11d
 #include <X11/Xos.h>
23e11d
 #include "scrnintstr.h"
23e11d
+#include "glx_extinit.h"
23e11d
 #include "servermd.h"
23e11d
 #include "fb.h"
23e11d
 #include "mi.h"
23e11d
@@ -202,6 +202,7 @@ vfbBitsPerPixel(int depth)
23e11d
23e11d
 static void vfbFreeFramebufferMemory(vfbFramebufferInfoPtr pfb);
23e11d
23e11d
+#if XORG < 120
23e11d
 #ifdef DPMSExtension
23e11d
     /* Why support DPMS? Because stupid modern desktop environments
23e11d
        such as Unity 2D on Ubuntu 11.10 crashes if DPMS is not
23e11d
@@ -219,6 +220,7 @@ Bool DPMSSupported(void)
23e11d
     return FALSE;
23e11d
 }
23e11d
 #endif
23e11d
+#endif
23e11d
23e11d
 #if XORG < 111
23e11d
 void ddxGiveUp()
23e11d
@@ -1491,6 +1493,12 @@ vfbCloseScreen(ScreenPtr pScreen)
23e11d
 #endif
23e11d
 }
23e11d
23e11d
+#if XORG >= 120
23e11d
+static void vncDPMS(ScreenPtr pScreen, int level)
23e11d
+{
23e11d
+}
23e11d
+#endif
23e11d
+
23e11d
 static Bool
23e11d
 #if XORG < 113
23e11d
 vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
23e11d
@@ -1661,6 +1669,9 @@ vfbScreenInit(ScreenPtr pScreen, int arg
23e11d
     if (!ret) return FALSE;
23e11d
 #endif
23e11d
23e11d
+#if XORG >= 120
23e11d
+    pScreen->DPMS = vncDPMS;
23e11d
+#endif
23e11d
23e11d
   return TRUE;
23e11d
23e11d
@@ -1696,7 +1707,9 @@ InitOutput(ScreenInfo *scrInfo, int argc
23e11d
23e11d
     vncPrintBanner();
23e11d
23e11d
-#if XORG >= 113
23e11d
+#if XORG >= 120
23e11d
+    xorgGlxCreateVendor();
23e11d
+#elif XORG >= 113
23e11d
 #ifdef GLXEXT
23e11d
     if (serverGeneration == 1)
23e11d
 #if XORG >= 116