Hello community,

here is the log from the commit of package xorg-x11-server for openSUSE:Factory 
checked in at 2019-09-25 01:39:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
 and      /work/SRC/openSUSE:Factory/.xorg-x11-server.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xorg-x11-server"

Wed Sep 25 01:39:38 2019 rev:373 rq:732654 version:1.20.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes  
2019-09-04 08:58:30.243073283 +0200
+++ 
/work/SRC/openSUSE:Factory/.xorg-x11-server.new.7948/xorg-x11-server.changes    
    2019-09-25 01:39:41.605636911 +0200
@@ -1,0 +2,13 @@
+Sat Sep 21 10:23:06 UTC 2019 - Stefan Dirsch <[email protected]>
+
+- reintroduce Xvfb subpackage (boo#1151457)
+
+-------------------------------------------------------------------
+Mon Sep 16 15:00:32 UTC 2019 - Bjørn Lie <[email protected]>
+
+- Add U_xwayland-Separate-DamagePtr-into-separate-window-data.patch
+  and U_xwayland-Allow-passing-a-fd.patch: Needed for gnome 3.34
+  new and experimental xwayland on demand feature.
+- Rebase patches with quilt.
+
+-------------------------------------------------------------------

New:
----
  U_xwayland-Allow-passing-a-fd.patch
  U_xwayland-Separate-DamagePtr-into-separate-window-data.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:42.961636745 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:42.961636745 +0200
@@ -164,9 +164,7 @@
 Requires(post):   update-alternatives
 Requires(postun): update-alternatives
 %endif
-Provides:       xorg-x11-Xvfb
 Provides:       xorg-x11-server-glx
-Obsoletes:      xorg-x11-Xvfb
 Obsoletes:      xorg-x11-server-glx
 
 Provides:       glamor = %{version}
@@ -201,9 +199,14 @@
  # Remove (also from depending driver(s)) when updating X11_ABI_VIDEODRV by 
updating the server package - NOTE: also remove from xorg-x11-server.macros.in !
 Provides:       X11_ABI_HAS_DPMS_GET_CAPABILITIES
 
-# Xvfb requires keyboard files as well (bnc#797124)
 Requires:       xkeyboard-config
 
+# Install it by default; otherwise we run into too much package build failures
+# when Xvfb is being used for testing ...
+# Unfortunately we need a requires here due to OBS not installing 'recommended'
+# packages :-(
+Requires:       xorg-x11-server-Xvfb
+
 # PATCH-FEATURE-OPENSUSE n_xorg-x11-server-rpmmacros.patch 
[email protected] -- Provide RPM macros to require correct ABI Versions.
 Patch1:         N_default-module-path.diff
 Patch2:         N_zap_warning_xserver.diff
@@ -246,6 +249,10 @@
 
 Patch1503:      u_xfree86-Do-not-claim-pci-slots-if-fb-slot-is-already.patch
 
+Patch1504:      U_xwayland-Separate-DamagePtr-into-separate-window-data.patch
+
+Patch1505:      U_xwayland-Allow-passing-a-fd.patch
+
 # required for NVIDIA's PRIME render offload support
 Patch1601:      0001-xsync-Add-resource-inside-of-SyncCreate-export-SyncC.patch
 Patch1602:      0002-GLX-Add-a-per-client-vendor-mapping.patch
@@ -269,6 +276,21 @@
 %description extra
 This package contains additional Xservers (Xdmx, Xephyr, Xnest).
 
+%package Xvfb
+Summary:        Virtual Xserver Xvfb
+Group:          System/X11/Servers/XF86_4
+Requires:       Mesa
+Requires:       xkbcomp
+# Xvfb requires keyboard files as well (bnc#797124)
+Requires:       xkeyboard-config
+Recommends:     xorg-x11-fonts-core
+Provides:       xorg-x11-Xvfb
+Provides:       xorg-x11-server:/usr/bin/Xvfb
+Obsoletes:      xorg-x11-Xvfb
+
+%description Xvfb
+This package contains the virtual Xserver Xvfb.
+
 %if 0%{?have_wayland} == 1
 %package wayland
 Summary:        Xwayland Xserver
@@ -398,6 +420,10 @@
 
 %patch1503 -p1
 
+%patch1504 -p1
+
+%patch1505 -p1
+
 # required for NVIDIA's PRIME render offload support
 %patch1601 -p1
 %patch1602 -p1
@@ -627,7 +653,6 @@
 %ghost %{_sysconfdir}/alternatives/libglx.so
 %endif
 %endif
-%{_bindir}/Xvfb
 %{_bindir}/xorg-backtrace
 
 %if 0%{?have_wayland} == 1
@@ -661,6 +686,10 @@
 %{_mandir}/man1/Xephyr.1*
 %{_mandir}/man1/Xnest.1*
 
+%files Xvfb
+%defattr(-,root,root)
+%{_bindir}/Xvfb
+
 %files sdk
 %defattr(-,root,root)
 %{_includedir}/xorg/

++++++ N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:42.997636741 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:42.997636741 +0200
@@ -11,11 +11,11 @@
  hw/xfree86/drivers/modesetting/driver.c | 11 +++++++++++
  1 file changed, 11 insertions(+)
 
-diff --git a/hw/xfree86/drivers/modesetting/driver.c 
b/hw/xfree86/drivers/modesetting/driver.c
-index 8f60eae..a81efaf 100644
---- a/hw/xfree86/drivers/modesetting/driver.c
-+++ b/hw/xfree86/drivers/modesetting/driver.c
-@@ -858,6 +858,17 @@ PreInit(ScrnInfoPtr pScrn, int flags)
+Index: xorg-server-1.20.5/hw/xfree86/drivers/modesetting/driver.c
+===================================================================
+--- xorg-server-1.20.5.orig/hw/xfree86/drivers/modesetting/driver.c
++++ xorg-server-1.20.5/hw/xfree86/drivers/modesetting/driver.c
+@@ -980,6 +980,17 @@ PreInit(ScrnInfoPtr pScrn, int flags)
  
      if (xf86ReturnOptValBool(ms->drmmode.Options, OPTION_SW_CURSOR, FALSE)) {
          ms->drmmode.sw_cursor = TRUE;

++++++ N_Install-Avoid-failure-on-wrapper-installation.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.001636740 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.005636740 +0200
@@ -14,11 +14,11 @@
  hw/xfree86/Makefile.am | 7 ++++---
  1 file changed, 4 insertions(+), 3 deletions(-)
 
-diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index 85bd0be..461e818 100644
---- a/hw/xfree86/Makefile.am
-+++ b/hw/xfree86/Makefile.am
-@@ -108,9 +108,10 @@ if INSTALL_SETUID
+Index: xorg-server-1.20.5/hw/xfree86/Makefile.am
+===================================================================
+--- xorg-server-1.20.5.orig/hw/xfree86/Makefile.am
++++ xorg-server-1.20.5/hw/xfree86/Makefile.am
+@@ -113,9 +113,10 @@ if INSTALL_SETUID
  endif
  if SUID_WRAPPER
        $(MKDIR_P) $(DESTDIR)$(SUID_WRAPPER_DIR)

++++++ N_driver-autoconfig.diff ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.017636738 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.017636738 +0200
@@ -8,7 +8,7 @@
 ===================================================================
 --- hw/xfree86/common/xf86pciBus.c.orig
 +++ hw/xfree86/common/xf86pciBus.c
-@@ -1185,6 +1185,13 @@ xf86VideoPtrToDriverList(struct pci_devi
+@@ -1186,6 +1186,13 @@ xf86VideoPtrToDriverList(struct pci_devi
          driverList[0] = "neomagic";
          break;
      case 0x10de:
@@ -22,7 +22,7 @@
      case 0x12d2:
      {
          int idx = 0;
-@@ -1196,7 +1203,8 @@ xf86VideoPtrToDriverList(struct pci_devi
+@@ -1197,7 +1204,8 @@ xf86VideoPtrToDriverList(struct pci_devi
          break;
      }
      case 0x1106:

++++++ N_fix-dpi-values.diff ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.025636738 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.025636738 +0200
@@ -6,7 +6,7 @@
 ===================================================================
 --- hw/xfree86/common/xf86Helper.c.orig
 +++ hw/xfree86/common/xf86Helper.c
-@@ -922,12 +922,22 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int
+@@ -875,12 +875,22 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int
      else if (pScrn->widthmm > 0 || pScrn->heightmm > 0) {
          from = X_CONFIG;
          if (pScrn->widthmm > 0) {
@@ -33,7 +33,7 @@
          }
          if (pScrn->xDpi > 0 && pScrn->yDpi <= 0)
              pScrn->yDpi = pScrn->xDpi;
-@@ -966,12 +976,22 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int
+@@ -919,12 +929,22 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int
          pScrn->widthmm = ddcWidthmm;
          pScrn->heightmm = ddcHeightmm;
          if (pScrn->widthmm > 0) {

++++++ N_fix_fglrx_screendepth_issue.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.033636737 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.033636737 +0200
@@ -9,7 +9,7 @@
 ===================================================================
 --- hw/xfree86/common/xf86AutoConfig.c.orig
 +++ hw/xfree86/common/xf86AutoConfig.c
-@@ -75,6 +75,13 @@
+@@ -77,6 +77,13 @@
        "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \
        "EndSection\n\n"
  
@@ -23,7 +23,7 @@
  #define BUILTIN_LAYOUT_SECTION_PRE \
        "Section \"ServerLayout\"\n" \
        "\tIdentifier\t\"Builtin Default Layout\"\n"
-@@ -187,8 +187,12 @@ xf86AutoConfig(void)
+@@ -187,8 +194,12 @@ xf86AutoConfig(void)
          snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION,
                  md.matches[i], 0, md.matches[i]);
          AppendToConfig(buf);
@@ -37,4 +37,4 @@
 +                     md.matches[i], 0, md.matches[i], 0);
          AppendToConfig(buf);
      }
-
+ 

++++++ N_zap_warning_xserver.diff ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.037636736 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.041636736 +0200
@@ -8,11 +8,11 @@
 within 2 seconds.
 This can be enabled with a new option flag "ZapWarning"
 
-Index: xorg-server-1.12.1/hw/xfree86/common/xf86Config.c
+Index: xorg-server-1.20.5/hw/xfree86/common/xf86Config.c
 ===================================================================
---- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Config.c
-+++ xorg-server-1.12.1/hw/xfree86/common/xf86Config.c
-@@ -680,6 +680,7 @@ typedef enum {
+--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Config.c
++++ xorg-server-1.20.5/hw/xfree86/common/xf86Config.c
+@@ -622,6 +622,7 @@ typedef enum {
      FLAG_NOTRAPSIGNALS,
      FLAG_DONTVTSWITCH,
      FLAG_DONTZAP,
@@ -20,7 +20,7 @@
      FLAG_DONTZOOM,
      FLAG_DISABLEVIDMODE,
      FLAG_ALLOWNONLOCAL,
-@@ -717,6 +718,8 @@ static OptionInfoRec FlagOptions[] = {
+@@ -659,6 +660,8 @@ static OptionInfoRec FlagOptions[] = {
       {0}, FALSE},
      {FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
       {0}, FALSE},
@@ -29,7 +29,7 @@
      {FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
       {0}, FALSE},
      {FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
-@@ -805,6 +805,7 @@ configServerFlags(XF86ConfFlagsPtr flags
+@@ -740,6 +743,7 @@ configServerFlags(XF86ConfFlagsPtr flags
      xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, 
&xf86Info.notrapSignals);
      xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
      xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
@@ -37,11 +37,11 @@
      xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
  
      xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
-Index: xorg-server-1.12.1/hw/xfree86/common/xf86Events.c
+Index: xorg-server-1.20.5/hw/xfree86/common/xf86Events.c
 ===================================================================
---- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Events.c
-+++ xorg-server-1.12.1/hw/xfree86/common/xf86Events.c
-@@ -182,13 +182,25 @@ xf86ProcessActionEvent(ActionEvent actio
+--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Events.c
++++ xorg-server-1.20.5/hw/xfree86/common/xf86Events.c
+@@ -166,13 +166,25 @@ xf86ProcessActionEvent(ActionEvent actio
      DebugF("ProcessActionEvent(%d,%p)\n", (int) action, arg);
      switch (action) {
      case ACTION_TERMINATE:
@@ -72,11 +72,11 @@
          break;
      case ACTION_NEXT_MODE:
          if (!xf86Info.dontZoom)
-Index: xorg-server-1.12.1/hw/xfree86/common/xf86Globals.c
+Index: xorg-server-1.20.5/hw/xfree86/common/xf86Globals.c
 ===================================================================
---- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Globals.c
-+++ xorg-server-1.12.1/hw/xfree86/common/xf86Globals.c
-@@ -108,6 +108,7 @@ xf86InfoRec xf86Info = {
+--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Globals.c
++++ xorg-server-1.20.5/hw/xfree86/common/xf86Globals.c
+@@ -107,6 +107,7 @@ xf86InfoRec xf86Info = {
      .autoVTSwitch = TRUE,
      .ShareVTs = FALSE,
      .dontZap = FALSE,
@@ -84,11 +84,11 @@
      .dontZoom = FALSE,
      .notrapSignals = FALSE,
      .currentScreen = NULL,
-Index: xorg-server-1.12.1/hw/xfree86/common/xf86Privstr.h
+Index: xorg-server-1.20.5/hw/xfree86/common/xf86Privstr.h
 ===================================================================
---- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Privstr.h
-+++ xorg-server-1.12.1/hw/xfree86/common/xf86Privstr.h
-@@ -70,6 +70,7 @@ typedef struct {
+--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Privstr.h
++++ xorg-server-1.20.5/hw/xfree86/common/xf86Privstr.h
+@@ -62,6 +62,7 @@ typedef struct {
      Bool autoVTSwitch;
      Bool ShareVTs;
      Bool dontZap;

++++++ U_dix-window-Use-ConfigureWindow-instead-of-MoveWindow.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.061636733 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.061636733 +0200
@@ -14,11 +14,11 @@
  dix/window.c | 14 ++++++--------
  1 file changed, 6 insertions(+), 8 deletions(-)
 
-diff --git a/dix/window.c b/dix/window.c
-index 2b599e788..f4ace76c7 100644
---- a/dix/window.c
-+++ b/dix/window.c
-@@ -3094,6 +3094,7 @@ int
+Index: xorg-server-1.20.5/dix/window.c
+===================================================================
+--- xorg-server-1.20.5.orig/dix/window.c
++++ xorg-server-1.20.5/dix/window.c
+@@ -3110,6 +3110,7 @@ int
  dixSaveScreens(ClientPtr client, int on, int mode)
  {
      int rc, i, what, type;
@@ -26,7 +26,7 @@
  
      if (on == SCREEN_SAVER_FORCER) {
          if (mode == ScreenSaverReset)
-@@ -3146,14 +3147,11 @@ dixSaveScreens(ClientPtr client, int on, int mode)
+@@ -3162,14 +3163,11 @@ dixSaveScreens(ClientPtr client, int on,
                   * for the root window, so PaintWindow works
                   */
                  screenIsSaved = SCREEN_SAVER_OFF;
@@ -46,6 +46,3 @@
                  screenIsSaved = SCREEN_SAVER_ON;
              }
              /*
--- 
-2.16.4
-

++++++ U_xwayland-Allow-passing-a-fd.patch ++++++
>From 7ad1d0d384085fb480e00547c22a3e8a14b514ea Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <[email protected]>
Date: Sat, 20 Jul 2019 00:16:43 +0200
Subject: [PATCH] xwayland: Allow passing a fd for set up clients
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This FD also triggers the "wait for WM_S0" paths, so that the
compositor may set up a "maintenance line" for Xwayland, for
services that are essential to run before any client (eg. xrdb).
Those services would use this FD, disguised as an extra display
connection.

This -initfd can be seen as a generalization of -wm, a Wayland
compositor may use -initfd to launch its WM and any other clients
that should start up, or it may use -wm as a dedicated connection for
the WM and optionally use -initfd for the misc. startup clients.

If either of -wm or -initfd is passed, Xwayland will expect a selection
notification on WM_S0 before incorporating the FDs in -listen to the
poll list.

Also, correct a minor typo in the listenfd argument output,
give → given.

Signed-off-by: Carlos Garnacho <[email protected]>
---
 hw/xwayland/xwayland.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
index 111d4fafd..3983a114c 100644
--- orig-xorg-server-1.20.5/hw/xwayland/xwayland.c      2019-05-30 
20:27:34.000000000 +0200
+++ xorg-server-1.20.5/hw/xwayland/xwayland.c   2019-09-16 17:26:47.771777034 
+0200
@@ -95,7 +95,8 @@
 {
     ErrorF("-rootless              run rootless, requires wm support\n");
     ErrorF("-wm fd                 create X client for wm on given fd\n");
-    ErrorF("-listen fd             add give fd as a listen socket\n");
+    ErrorF("-initfd fd             add given fd as a listen socket for 
initialization clients\n");
+    ErrorF("-listenfd fd           add given fd as a listen socket\n");
     ErrorF("-eglstream             use eglstream backend for nvidia GPUs\n");
 }
 
+static int init_fd = -1;
 static int wm_fd = -1;
 static int listen_fds[5] = { -1, -1, -1, -1, -1 };
 static int listen_fd_count = 0;
@@ -148,6 +150,11 @@ ddxProcessArgument(int argc, char *argv[], int i)
         wm_fd = atoi(argv[i + 1]);
         return 2;
     }
+    else if (strcmp(argv[i], "-initfd") == 0) {
+        CHECK_FOR_REQUIRED_ARGUMENTS(1);
+        init_fd = atoi(argv[i + 1]);
+        return 2;
+    }
     else if (strcmp(argv[i], "-shm") == 0) {
         return 1;
     }
@@ -1287,10 +1294,14 @@ InitOutput(ScreenInfo * screen_info, int argc, char 
**argv)
 
     LocalAccessScopeUser();
 
-    if (wm_fd >= 0) {
-        TimerSet(NULL, 0, 1, add_client_fd, NULL);
+    if (wm_fd >= 0 || init_fd >= 0) {
+        if (wm_fd >= 0)
+            TimerSet(NULL, 0, 1, add_client_fd, NULL);
+        if (init_fd >= 0)
+            ListenOnOpenFD(init_fd, FALSE);
         AddCallback(&SelectionCallback, wm_selection_callback, NULL);
-    } else if (listen_fd_count > 0) {
+    }
+    else if (listen_fd_count > 0) {
         listen_on_fds();
     }
 }
-- 
2.22.0

++++++ U_xwayland-Separate-DamagePtr-into-separate-window-data.patch ++++++
>From 4e50440ae20c537d6a4edf356cda67dd33d4e5a8 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <[email protected]>
Date: Mon, 7 Jan 2019 15:20:05 +0100
Subject: [PATCH 1/3] xwayland: Separate DamagePtr into separate window data

This will be dissociated in future commits to handle the cases
where windows are being realized before there is a compositor
handling redirection.

In that case, we still want the DamagePtr to be registered upfront
on RealizeWindowProc before a corresponding xwl_window might be
created. Most notably, it cannot be lazily created on
SetWindowPixmapProc as damage accounting gets broken.

Signed-off-by: Carlos Garnacho <[email protected]>
---
 hw/xwayland/xwayland.c | 74 +++++++++++++++++++++++++++++++++---------
 hw/xwayland/xwayland.h |  1 -
 2 files changed, 58 insertions(+), 17 deletions(-)

Index: xorg-server-1.20.5/hw/xwayland/xwayland.c
===================================================================
--- xorg-server-1.20.5.orig/hw/xwayland/xwayland.c
+++ xorg-server-1.20.5/hw/xwayland/xwayland.c
@@ -125,6 +125,7 @@ ddxProcessArgument(int argc, char *argv[
 static DevPrivateKeyRec xwl_window_private_key;
 static DevPrivateKeyRec xwl_screen_private_key;
 static DevPrivateKeyRec xwl_pixmap_private_key;
+static DevPrivateKeyRec xwl_damage_private_key;
 
 static struct xwl_window *
 xwl_window_get(WindowPtr window)
@@ -367,8 +368,14 @@ xwl_cursor_confined_to(DeviceIntPtr devi
 static void
 damage_report(DamagePtr pDamage, RegionPtr pRegion, void *data)
 {
-    struct xwl_window *xwl_window = data;
-    struct xwl_screen *xwl_screen = xwl_window->xwl_screen;
+    WindowPtr window = data;
+    struct xwl_window *xwl_window = xwl_window_get(window);
+    struct xwl_screen *xwl_screen;
+
+    if (!xwl_window)
+        return;
+
+    xwl_screen = xwl_window->xwl_screen;
 
 #ifdef GLAMOR_HAS_GBM
     if (xwl_window->present_flipped) {
@@ -390,6 +397,47 @@ damage_destroy(DamagePtr pDamage, void *
 {
 }
 
+static Bool
+register_damage(WindowPtr window)
+{
+    DamagePtr damage;
+
+    damage = DamageCreate(damage_report, damage_destroy, DamageReportNonEmpty,
+                          FALSE, window->drawable.pScreen, window);
+    if (damage == NULL) {
+        ErrorF("Failed creating damage\n");
+        return FALSE;
+    }
+
+    DamageRegister(&window->drawable, damage);
+    DamageSetReportAfterOp(damage, TRUE);
+
+    dixSetPrivate(&window->devPrivates, &xwl_damage_private_key, damage);
+
+    return TRUE;
+}
+
+static void
+unregister_damage(WindowPtr window)
+{
+    DamagePtr damage;
+
+    damage = dixLookupPrivate(&window->devPrivates, &xwl_damage_private_key);
+    if (!damage)
+        return;
+
+    DamageUnregister(damage);
+    DamageDestroy(damage);
+
+    dixSetPrivate(&window->devPrivates, &xwl_damage_private_key, NULL);
+}
+
+static DamagePtr
+window_get_damage(WindowPtr window)
+{
+    return dixLookupPrivate(&window->devPrivates, &xwl_damage_private_key);
+}
+
 static void
 shell_surface_ping(void *data,
                    struct wl_shell_surface *shell_surface, uint32_t serial)
@@ -470,36 +518,25 @@ send_surface_id_event(struct xwl_window
 }
 
 static Bool
-xwl_realize_window(WindowPtr window)
+ensure_surface_for_window(WindowPtr window)
 {
     ScreenPtr screen = window->drawable.pScreen;
     struct xwl_screen *xwl_screen;
     struct xwl_window *xwl_window;
     struct wl_region *region;
-    Bool ret;
-
-    xwl_screen = xwl_screen_get(screen);
-
-    screen->RealizeWindow = xwl_screen->RealizeWindow;
-    ret = (*screen->RealizeWindow) (window);
-    xwl_screen->RealizeWindow = screen->RealizeWindow;
-    screen->RealizeWindow = xwl_realize_window;
 
-    if (xwl_screen->rootless && !window->parent) {
-        BoxRec box = { 0, 0, xwl_screen->width, xwl_screen->height };
+    if (xwl_window_get(window))
+        return TRUE;
 
-        RegionReset(&window->winSize, &box);
-        RegionNull(&window->clipList);
-        RegionNull(&window->borderClip);
-    }
+    xwl_screen = xwl_screen_get(screen);
 
     if (xwl_screen->rootless) {
         if (window->redirectDraw != RedirectDrawManual)
-            return ret;
+            return TRUE;
     }
     else {
         if (window->parent)
-            return ret;
+            return TRUE;
     }
 
     xwl_window = calloc(1, sizeof *xwl_window);
@@ -545,25 +582,14 @@ xwl_realize_window(WindowPtr window)
 
     wl_surface_set_user_data(xwl_window->surface, xwl_window);
 
-    xwl_window->damage =
-        DamageCreate(damage_report, damage_destroy, DamageReportNonEmpty,
-                     FALSE, screen, xwl_window);
-    if (xwl_window->damage == NULL) {
-        ErrorF("Failed creating damage\n");
-        goto err_surf;
-    }
-
     compRedirectWindow(serverClient, window, CompositeRedirectManual);
 
-    DamageRegister(&window->drawable, xwl_window->damage);
-    DamageSetReportAfterOp(xwl_window->damage, TRUE);
-
     dixSetPrivate(&window->devPrivates, &xwl_window_private_key, xwl_window);
     xorg_list_init(&xwl_window->link_damage);
 
     xwl_window_init_allow_commits(xwl_window);
 
-    return ret;
+    return TRUE;
 
 err_surf:
     if (xwl_window->shell_surface)
@@ -575,6 +601,42 @@ err:
 }
 
 static Bool
+xwl_realize_window(WindowPtr window)
+{
+    ScreenPtr screen = window->drawable.pScreen;
+    struct xwl_screen *xwl_screen;
+    Bool ret;
+
+    xwl_screen = xwl_screen_get(screen);
+
+    screen->RealizeWindow = xwl_screen->RealizeWindow;
+    ret = (*screen->RealizeWindow) (window);
+    xwl_screen->RealizeWindow = screen->RealizeWindow;
+    screen->RealizeWindow = xwl_realize_window;
+
+    if (!ret)
+        return FALSE;
+
+    if (xwl_screen->rootless && !window->parent) {
+        BoxRec box = { 0, 0, xwl_screen->width, xwl_screen->height };
+
+        RegionReset(&window->winSize, &box);
+        RegionNull(&window->clipList);
+        RegionNull(&window->borderClip);
+    }
+
+    if (xwl_screen->rootless ?
+        (window->drawable.class == InputOutput &&
+         window->parent == window->drawable.pScreen->root) :
+        !window->parent) {
+        if (!register_damage(window))
+            return FALSE;
+    }
+
+    return ensure_surface_for_window(window);
+}
+
+static Bool
 xwl_unrealize_window(WindowPtr window)
 {
     ScreenPtr screen = window->drawable.pScreen;
@@ -620,8 +682,8 @@ xwl_unrealize_window(WindowPtr window)
 
     wl_surface_destroy(xwl_window->surface);
     xorg_list_del(&xwl_window->link_damage);
-    DamageUnregister(xwl_window->damage);
-    DamageDestroy(xwl_window->damage);
+    unregister_damage(window);
+
     if (xwl_window->frame_callback)
         wl_callback_destroy(xwl_window->frame_callback);
 
@@ -638,6 +700,26 @@ xwl_save_screen(ScreenPtr pScreen, int o
 }
 
 static void
+xwl_set_window_pixmap(WindowPtr window,
+                      PixmapPtr pixmap)
+{
+    ScreenPtr screen = window->drawable.pScreen;
+    struct xwl_screen *xwl_screen;
+
+    xwl_screen = xwl_screen_get(screen);
+
+    screen->SetWindowPixmap = xwl_screen->SetWindowPixmap;
+    (*screen->SetWindowPixmap) (window, pixmap);
+    xwl_screen->SetWindowPixmap = screen->SetWindowPixmap;
+    screen->SetWindowPixmap = xwl_set_window_pixmap;
+
+    if (!RegionNotEmpty(&window->winSize))
+        return;
+
+    ensure_surface_for_window(window);
+}
+
+static void
 frame_callback(void *data,
                struct wl_callback *callback,
                uint32_t time)
@@ -689,7 +771,7 @@ xwl_window_post_damage(struct xwl_window
 
     assert(!xwl_window->frame_callback);
 
-    region = DamageRegion(xwl_window->damage);
+    region = DamageRegion(window_get_damage(xwl_window->window));
     pixmap = (*xwl_screen->screen->GetWindowPixmap) (xwl_window->window);
 
 #ifdef XWL_HAS_GLAMOR
@@ -726,7 +808,7 @@ xwl_window_post_damage(struct xwl_window
     wl_callback_add_listener(xwl_window->frame_callback, &frame_listener, 
xwl_window);
 
     wl_surface_commit(xwl_window->surface);
-    DamageEmpty(xwl_window->damage);
+    DamageEmpty(window_get_damage(xwl_window->window));
 
     xorg_list_del(&xwl_window->link_damage);
 }
@@ -962,6 +1044,8 @@ xwl_screen_init(ScreenPtr pScreen, int a
         return FALSE;
     if (!dixRegisterPrivateKey(&xwl_pixmap_private_key, PRIVATE_PIXMAP, 0))
         return FALSE;
+    if (!dixRegisterPrivateKey(&xwl_damage_private_key, PRIVATE_WINDOW, 0))
+        return FALSE;
 
     dixSetPrivate(&pScreen->devPrivates, &xwl_screen_private_key, xwl_screen);
     xwl_screen->screen = pScreen;
@@ -1121,6 +1205,11 @@ xwl_screen_init(ScreenPtr pScreen, int a
     xwl_screen->CloseScreen = pScreen->CloseScreen;
     pScreen->CloseScreen = xwl_close_screen;
 
+    if (xwl_screen->rootless) {
+        xwl_screen->SetWindowPixmap = pScreen->SetWindowPixmap;
+        pScreen->SetWindowPixmap = xwl_set_window_pixmap;
+    }
+
     pScreen->CursorWarpedTo = xwl_cursor_warped_to;
     pScreen->CursorConfinedTo = xwl_cursor_confined_to;
 
Index: xorg-server-1.20.5/hw/xwayland/xwayland.h
===================================================================
--- xorg-server-1.20.5.orig/hw/xwayland/xwayland.h
+++ xorg-server-1.20.5/hw/xwayland/xwayland.h
@@ -133,6 +133,7 @@ struct xwl_screen {
     UnrealizeWindowProcPtr UnrealizeWindow;
     DestroyWindowProcPtr DestroyWindow;
     XYToWindowProcPtr XYToWindow;
+    SetWindowPixmapProcPtr SetWindowPixmap;
 
     struct xorg_list output_list;
     struct xorg_list seat_list;
@@ -178,7 +179,6 @@ struct xwl_window {
     struct wl_surface *surface;
     struct wl_shell_surface *shell_surface;
     WindowPtr window;
-    DamagePtr damage;
     struct xorg_list link_damage;
     struct wl_callback *frame_callback;
     Bool allow_commits;
++++++ n_xserver-optimus-autoconfig-hack.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.101636728 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.105636728 +0200
@@ -28,10 +28,10 @@
  hw/xfree86/modes/xf86Crtc.c         | 32 ++++++++++++++++++++++++++++++++
  3 files changed, 47 insertions(+)
 
-diff --git a/dix/main.c b/dix/main.c
-index 273f30330..b85c81034 100644
---- a/dix/main.c
-+++ b/dix/main.c
+Index: xorg-server-1.20.5/dix/main.c
+===================================================================
+--- xorg-server-1.20.5.orig/dix/main.c
++++ xorg-server-1.20.5/dix/main.c
 @@ -122,6 +122,8 @@ extern void Dispatch(void);
  
  CallbackListPtr RootWindowFinalizeCallback = NULL;
@@ -41,7 +41,7 @@
  int
  dix_main(int argc, char *argv[], char *envp[])
  {
-@@ -244,6 +246,8 @@ dix_main(int argc, char *argv[], char *envp[])
+@@ -246,6 +248,8 @@ dix_main(int argc, char *argv[], char *e
          for (i = 0; i < screenInfo.numScreens; i++)
              InitRootWindow(screenInfo.screens[i]->root);
  
@@ -50,11 +50,11 @@
          InitCoreDevices();
          InitInput(argc, argv);
          InitAndStartDevices();
-diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
-index cc34a1952..766888b3e 100644
---- a/hw/xfree86/common/xf86Init.c
-+++ b/hw/xfree86/common/xf86Init.c
-@@ -73,6 +73,7 @@
+Index: xorg-server-1.20.5/hw/xfree86/common/xf86Init.c
+===================================================================
+--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Init.c
++++ xorg-server-1.20.5/hw/xfree86/common/xf86Init.c
+@@ -76,6 +76,7 @@
  #include "xf86DDC.h"
  #include "xf86Xinput.h"
  #include "xf86InPriv.h"
@@ -62,7 +62,7 @@
  #include "picturestr.h"
  #include "randrstr.h"
  #include "glxvndabi.h"
-@@ -264,6 +265,231 @@ AddVTAtoms(CallbackListPtr *pcbl, void *data, void 
*screen)
+@@ -294,6 +295,231 @@ AddVTAtoms(CallbackListPtr *pcbl, void *
                     "Failed to register VT properties\n");
  }
  
@@ -294,7 +294,7 @@
  static Bool
  xf86ScreenInit(ScreenPtr pScreen, int argc, char **argv)
  {
-@@ -703,6 +929,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -770,6 +996,8 @@ InitOutput(ScreenInfo * pScreenInfo, int
      for (i = 0; i < xf86NumGPUScreens; i++)
          AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
  
@@ -303,11 +303,11 @@
      xf86VGAarbiterWrapFunctions();
      if (sigio_blocked)
          input_unlock();
-diff --git a/hw/xfree86/common/xf86platformBus.c 
b/hw/xfree86/common/xf86platformBus.c
-index cef47da03..395ce9400 100644
---- a/hw/xfree86/common/xf86platformBus.c
-+++ b/hw/xfree86/common/xf86platformBus.c
-@@ -594,6 +594,8 @@ xf86platformAddGPUDevices(DriverPtr drvp)
+Index: xorg-server-1.20.5/hw/xfree86/common/xf86platformBus.c
+===================================================================
+--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86platformBus.c
++++ xorg-server-1.20.5/hw/xfree86/common/xf86platformBus.c
+@@ -594,6 +594,8 @@ xf86platformAddGPUDevices(DriverPtr drvp
      return foundScreen;
  }
  
@@ -324,11 +324,11 @@
  
     RRResourcesChanged(xf86Screens[0]->pScreen);
     RRTellChanged(xf86Screens[0]->pScreen);
-diff --git a/include/dix.h b/include/dix.h
-index 476559842..7372ba0d5 100644
---- a/include/dix.h
-+++ b/include/dix.h
-@@ -597,6 +597,8 @@ typedef struct {
+Index: xorg-server-1.20.5/include/dix.h
+===================================================================
+--- xorg-server-1.20.5.orig/include/dix.h
++++ xorg-server-1.20.5/include/dix.h
+@@ -599,6 +599,8 @@ typedef struct {
  
  extern _X_EXPORT CallbackListPtr RootWindowFinalizeCallback;
  

++++++ u_Panning-Set-panning-state-in-xf86RandR12ScreenSetSize.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.129636725 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.133636724 +0200
@@ -16,11 +16,11 @@
  hw/xfree86/modes/xf86RandR12.c | 3 +++
  1 file changed, 3 insertions(+)
 
-diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
-index eae7016..9f444dd 100644
---- a/hw/xfree86/modes/xf86RandR12.c
-+++ b/hw/xfree86/modes/xf86RandR12.c
-@@ -681,6 +681,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScreen,
+Index: xorg-server-1.20.5/hw/xfree86/modes/xf86RandR12.c
+===================================================================
+--- xorg-server-1.20.5.orig/hw/xfree86/modes/xf86RandR12.c
++++ xorg-server-1.20.5/hw/xfree86/modes/xf86RandR12.c
+@@ -685,6 +685,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScre
      WindowPtr pRoot = pScreen->root;
      PixmapPtr pScrnPix;
      Bool ret = FALSE;
@@ -28,7 +28,7 @@
      int c;
  
      if (randrp->virtualX == -1 || randrp->virtualY == -1) {
-@@ -709,6 +710,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScreen,
+@@ -713,6 +714,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScre
              if (crtc->panningTrackingArea.y2 > crtc->panningTrackingArea.y1)
                  crtc->panningTrackingArea.y2 += height - pScreen->height;
              xf86RandR13VerifyPanningArea(crtc, width, height);
@@ -36,7 +36,7 @@
              xf86RandR13Pan(crtc, randrp->pointerX, randrp->pointerY);
          }
      }
-@@ -718,6 +720,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScreen,
+@@ -722,6 +724,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScre
      pScreen->height = pScrnPix->drawable.height = height;
      randrp->mmWidth = pScreen->mmWidth = mmWidth;
      randrp->mmHeight = pScreen->mmHeight = mmHeight;

++++++ u_Use-better-fallbacks-to-generate-cookies-if-arc4rand.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.137636724 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.137636724 +0200
@@ -24,10 +24,10 @@
  os/auth.c               | 138 ++++++++++++++++++++++++++++++++++++++++++++++--
  3 files changed, 141 insertions(+), 7 deletions(-)
 
-Index: xorg-server-1.19.3/configure.ac
+Index: xorg-server-1.20.5/configure.ac
 ===================================================================
---- xorg-server-1.19.3.orig/configure.ac
-+++ xorg-server-1.19.3/configure.ac
+--- xorg-server-1.20.5.orig/configure.ac
++++ xorg-server-1.20.5/configure.ac
 @@ -134,7 +134,7 @@ AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [
  AC_HEADER_DIRENT
  AC_HEADER_STDC
@@ -37,7 +37,7 @@
  
  dnl Checks for typedefs, structures, and compiler characteristics.
  AC_C_CONST
-@@ -226,7 +226,7 @@ AC_REPLACE_FUNCS([reallocarray strcasecm
+@@ -166,7 +166,7 @@ AC_REPLACE_FUNCS([reallocarray strcasecm
  AM_CONDITIONAL(POLL, [test "x$ac_cv_func_poll" = "xyes"])
  
  AC_CHECK_LIB([bsd], [arc4random_buf])
@@ -46,11 +46,11 @@
  
  AC_CHECK_DECLS([program_invocation_short_name], [], [], [[#include 
<errno.h>]])
  
-Index: xorg-server-1.19.3/include/dix-config.h.in
+Index: xorg-server-1.20.5/include/dix-config.h.in
 ===================================================================
---- xorg-server-1.19.3.orig/include/dix-config.h.in
-+++ xorg-server-1.19.3/include/dix-config.h.in
-@@ -167,6 +167,9 @@
+--- xorg-server-1.20.5.orig/include/dix-config.h.in
++++ xorg-server-1.20.5/include/dix-config.h.in
+@@ -155,6 +155,9 @@
  /* Define to 1 if you have the `arc4random_buf' function. */
  #undef HAVE_ARC4RANDOM_BUF
  
@@ -60,7 +60,7 @@
  /* Define to use libc SHA1 functions */
  #undef HAVE_SHA1_IN_LIBC
  
-@@ -244,6 +247,9 @@
+@@ -232,6 +235,9 @@
  /* Define to 1 if you have the <sys/utsname.h> header file. */
  #undef HAVE_SYS_UTSNAME_H
  
@@ -70,11 +70,11 @@
  /* Define to 1 if you have the `timingsafe_memcmp' function. */
  #undef HAVE_TIMINGSAFE_MEMCMP
  
-Index: xorg-server-1.19.3/os/auth.c
+Index: xorg-server-1.20.5/os/auth.c
 ===================================================================
---- xorg-server-1.19.3.orig/os/auth.c
-+++ xorg-server-1.19.3/os/auth.c
-@@ -48,6 +48,10 @@ from The Open Group.
+--- xorg-server-1.20.5.orig/os/auth.c
++++ xorg-server-1.20.5/os/auth.c
+@@ -49,6 +49,10 @@ from The Open Group.
  #ifdef HAVE_LIBBSD
  #include   <bsd/stdlib.h>       /* for arc4random_buf() */
  #endif
@@ -85,7 +85,7 @@
  
  struct protocol {
      unsigned short name_length;
-@@ -304,16 +308,140 @@ GenerateAuthorization(unsigned name_length,
+@@ -310,16 +314,140 @@ GenerateAuthorization(unsigned name_leng
  
  #endif                          /* XCSECURITY */
  

++++++ 
u_pci-primary-Fix-up-primary-PCI-device-detection-for-the-platfrom-bus.patch 
++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.153636722 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.153636722 +0200
@@ -25,11 +25,11 @@
  hw/xfree86/common/xf86platformBus.c | 29 +++++++++++++++++++++++++++++
  1 file changed, 29 insertions(+)
 
-diff --git a/hw/xfree86/common/xf86platformBus.c 
b/hw/xfree86/common/xf86platformBus.c
-index 8b3a862..efa6d1a 100644
---- a/hw/xfree86/common/xf86platformBus.c
-+++ b/hw/xfree86/common/xf86platformBus.c
-@@ -622,6 +622,35 @@ void xf86platformPrimary(void)
+Index: xorg-server-1.20.5/hw/xfree86/common/xf86platformBus.c
+===================================================================
+--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86platformBus.c
++++ xorg-server-1.20.5/hw/xfree86/common/xf86platformBus.c
+@@ -744,6 +744,35 @@ void xf86platformPrimary(void)
  
              xf86Msg(X_NONE, "\tfalling back to %s\n", 
primaryBus.id.plat->attribs->syspath);
          }

++++++ u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.161636721 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.165636720 +0200
@@ -21,11 +21,11 @@
  randr/randr.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
 
-diff --git a/randr/randr.c b/randr/randr.c
-index feb54bcc8..661f66da2 100644
---- a/randr/randr.c
-+++ b/randr/randr.c
-@@ -643,7 +643,9 @@ RRTellChanged(ScreenPtr pScreen)
+Index: xorg-server-1.20.5/randr/randr.c
+===================================================================
+--- xorg-server-1.20.5.orig/randr/randr.c
++++ xorg-server-1.20.5/randr/randr.c
+@@ -647,7 +647,9 @@ RRTellChanged(ScreenPtr pScreen)
  
          xorg_list_for_each_entry(iter, &master->slave_list, slave_head) {
              pSlaveScrPriv = rrGetScrPriv(iter);
@@ -36,6 +36,3 @@
              if (iter->is_output_slave) {
                  for (i = 0; i < pSlaveScrPriv->numOutputs; i++)
                      pSlaveScrPriv->outputs[i]->changed = FALSE;
--- 
-2.13.6
-

++++++ u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch 
++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.181636718 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.181636718 +0200
@@ -16,11 +16,11 @@
  render/picture.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
 
-diff --git a/render/picture.c b/render/picture.c
-index 2908b76..74369de 100644
---- a/render/picture.c
-+++ b/render/picture.c
-@@ -548,12 +548,12 @@ PictureMatchVisual(ScreenPtr pScreen, int depth, 
VisualPtr pVisual)
+Index: xorg-server-1.20.5/render/picture.c
+===================================================================
+--- xorg-server-1.20.5.orig/render/picture.c
++++ xorg-server-1.20.5/render/picture.c
+@@ -527,12 +527,12 @@ PictureMatchVisual(ScreenPtr pScreen, in
                      return format;
              }
              else {

++++++ u_xorg-server-xdmcp.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.193636717 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.197636717 +0200
@@ -12,11 +12,11 @@
 Even if this seems to be the wrong place to fix this it seems to be
 easier than fixing all display servers.
 
-Index: xorg-server-1.12.1/os/access.c
+Index: xorg-server-1.20.5/os/access.c
 ===================================================================
---- xorg-server-1.12.1.orig/os/access.c
-+++ xorg-server-1.12.1/os/access.c
-@@ -714,7 +714,9 @@ DefineSelf(int fd)
+--- xorg-server-1.20.5.orig/os/access.c
++++ xorg-server-1.20.5/os/access.c
+@@ -827,7 +827,9 @@ DefineSelf(int fd)
  
              /*
               * ignore 'localhost' entries as they're not useful
@@ -27,7 +27,7 @@
               */
              if (ifr->ifa_flags & IFF_LOOPBACK)
                  continue;
-@@ -735,6 +737,14 @@ DefineSelf(int fd)
+@@ -848,6 +850,14 @@ DefineSelf(int fd)
              else if (family == FamilyInternet6 &&
                       IN6_IS_ADDR_LOOPBACK((struct in6_addr *) addr))
                  continue;

++++++ u_xorg-wrapper-Drop-supplemental-group-IDs.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.205636716 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.205636716 +0200
@@ -10,11 +10,11 @@
  hw/xfree86/xorg-wrapper.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 48 insertions(+)
 
-diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c
-index d930962..64a43c4 100644
---- a/hw/xfree86/xorg-wrapper.c
-+++ b/hw/xfree86/xorg-wrapper.c
-@@ -36,6 +36,8 @@
+Index: xorg-server-1.20.5/hw/xfree86/xorg-wrapper.c
+===================================================================
+--- xorg-server-1.20.5.orig/hw/xfree86/xorg-wrapper.c
++++ xorg-server-1.20.5/hw/xfree86/xorg-wrapper.c
+@@ -35,6 +35,8 @@
  #include <string.h>
  #include <sys/ioctl.h>
  #include <sys/stat.h>
@@ -23,7 +23,7 @@
  #ifdef HAVE_SYS_SYSMACROS_H
  #include <sys/sysmacros.h>
  #endif
-@@ -252,6 +254,52 @@ int main(int argc, char *argv[])
+@@ -255,6 +257,52 @@ int main(int argc, char *argv[])
      if (needs_root_rights == 0 || (total_cards && kms_cards == total_cards)) {
          gid_t realgid = getgid();
          uid_t realuid = getuid();

++++++ u_xorg-wrapper-build-Build-position-independent-code.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.221636714 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.221636714 +0200
@@ -10,11 +10,11 @@
  hw/xfree86/Makefile.am | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index 461e818..c0ce3b8 100644
---- a/hw/xfree86/Makefile.am
-+++ b/hw/xfree86/Makefile.am
-@@ -87,6 +87,7 @@ if SUID_WRAPPER
+Index: xorg-server-1.20.5/hw/xfree86/Makefile.am
+===================================================================
+--- xorg-server-1.20.5.orig/hw/xfree86/Makefile.am
++++ xorg-server-1.20.5/hw/xfree86/Makefile.am
+@@ -92,6 +92,7 @@ if SUID_WRAPPER
  wrapexecdir = $(SUID_WRAPPER_DIR)
  wrapexec_PROGRAMS = Xorg.wrap
  Xorg_wrap_SOURCES = xorg-wrapper.c

++++++ xorg-x11-server-byte-order.patch ++++++
--- /var/tmp/diff_new_pack.dR0HqO/_old  2019-09-25 01:39:43.253636709 +0200
+++ /var/tmp/diff_new_pack.dR0HqO/_new  2019-09-25 01:39:43.253636709 +0200
@@ -11,11 +11,11 @@
  include/xorg-server.h.in |    1 +
  2 files changed, 2 insertions(+)
 
-Index: a/include/dix-config.h.in
+Index: xorg-server-1.20.5/include/dix-config.h.in
 ===================================================================
---- a.orig/include/dix-config.h.in
-+++ a/include/dix-config.h.in
-@@ -499,6 +499,7 @@
+--- xorg-server-1.20.5.orig/include/dix-config.h.in
++++ xorg-server-1.20.5/include/dix-config.h.in
+@@ -487,6 +487,7 @@
  
  /* byte order */
  #undef X_BYTE_ORDER
@@ -23,11 +23,11 @@
  
  /* Listen on TCP socket */
  #undef LISTEN_TCP
-Index: a/include/xorg-server.h.in
+Index: xorg-server-1.20.5/include/xorg-server.h.in
 ===================================================================
---- a.orig/include/xorg-server.h.in
-+++ a/include/xorg-server.h.in
-@@ -233,5 +233,6 @@
+--- xorg-server-1.20.5.orig/include/xorg-server.h.in
++++ xorg-server-1.20.5/include/xorg-server.h.in
+@@ -218,5 +218,6 @@
  
  /* byte order */
  #undef X_BYTE_ORDER


Reply via email to