From da350d9e815edae6e35831e35f1515ca447bba34c4d4c83af6e761d8400c9e48 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Mon, 16 Apr 2018 09:43:46 +0000 Subject: [PATCH] Accepting request 596930 from home:michalsrb:branches:bnc1089601:X11:XOrg - n_add-dummy-xf86DisableRandR.patch * Add dummy xf86DisableRandR to fix linking with drivers that still call it. See explanation inside the patch. (bnc#1089601) OBS-URL: https://build.opensuse.org/request/show/596930 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=699 --- n_add-dummy-xf86DisableRandR.patch | 52 ++++++++++++++++++++++++++++++ xorg-x11-server.changes | 7 ++++ xorg-x11-server.spec | 2 ++ 3 files changed, 61 insertions(+) create mode 100644 n_add-dummy-xf86DisableRandR.patch diff --git a/n_add-dummy-xf86DisableRandR.patch b/n_add-dummy-xf86DisableRandR.patch new file mode 100644 index 0000000..b5b17b2 --- /dev/null +++ b/n_add-dummy-xf86DisableRandR.patch @@ -0,0 +1,52 @@ +Subject: Add dummy xf86DisableRandR. +Patch-mainline: Never +Author: Michal Srb +References: bnc#1089601 + +This is temporary fix for breakage after backporting upstream patch +dd00e5466a0e4ea313d1860824da4123692827ed (xorg-server-1.19.0-566-gdd00e5466). + +The patch removed function xf86DisableRandR. This patch re-adds it as a dummy function +that does nothing to fix linking with drivers that expect it. Drivers should no longer +call it, so putting it back empty has the same effect. +Index: xorg-server-1.19.6/hw/xfree86/common/xf86.h +=================================================================== +--- xorg-server-1.19.6.orig/hw/xfree86/common/xf86.h ++++ xorg-server-1.19.6/hw/xfree86/common/xf86.h +@@ -319,6 +319,10 @@ extern _X_EXPORT Bool + xf86GetModInDevEnabled(void); + extern _X_EXPORT Bool + xf86GetAllowMouseOpenFail(void); ++// Warning: This function does nothing now. ++// See: https://bugzilla.opensuse.org/show_bug.cgi?id=1089601 ++extern _X_EXPORT void ++xf86DisableRandR(void); + extern _X_EXPORT CARD32 + xorgGetVersion(void); + extern _X_EXPORT CARD32 +Index: xorg-server-1.19.6/hw/xfree86/common/xf86Helper.c +=================================================================== +--- xorg-server-1.19.6.orig/hw/xfree86/common/xf86Helper.c ++++ xorg-server-1.19.6/hw/xfree86/common/xf86Helper.c +@@ -1572,6 +1572,21 @@ xf86GetAllowMouseOpenFail(void) + return xf86Info.allowMouseOpenFail; + } + ++void ++xf86DisableRandR(void) ++{ ++ // Do nothing! ++ ++ // This function was re-added to fix linking problems with drivers that expect it. ++ // For example nvidia. See: https://bugzilla.opensuse.org/show_bug.cgi?id=1089601 ++ ++ // This function was used to disable RANDR 1.1 if the driver intended to initialize ++ // RANDR 1.2+ itself. Since patch dd00e5466a0e4ea313d1860824da4123692827ed ("xfree86: ++ // Remove broken RANDR disabling logic") this is no longer necessary. X server will ++ // only initialize RANDR 1.1 if no driver initialized any other RANDR. So the result ++ // is the same even with this function doing nothing. ++} ++ + CARD32 + xf86GetModuleVersion(void *module) + { diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index b1dda95..365292f 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Apr 16 08:10:50 UTC 2018 - msrb@suse.com + +- n_add-dummy-xf86DisableRandR.patch + * Add dummy xf86DisableRandR to fix linking with drivers that + still call it. See explanation inside the patch. (bnc#1089601) + ------------------------------------------------------------------- Thu Apr 12 07:34:06 UTC 2018 - msrb@suse.com diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index b40fbec..01c97ed 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -234,6 +234,7 @@ Patch1305: u_xorg-x11-server-reproducible.patch Patch1400: U_xfree86-Remove-broken-RANDR-disabling-logic-v4.patch Patch1401: u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch +Patch1402: n_add-dummy-xf86DisableRandR.patch %description This package contains the X.Org Server. @@ -386,6 +387,7 @@ sh %{SOURCE92} --verify . %{SOURCE91} %patch1400 -p1 %patch1401 -p1 +%patch1402 -p1 %build test -e source-file-list || \