1
0

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
This commit is contained in:
Stefan Dirsch 2018-04-16 09:43:46 +00:00 committed by Git OBS Bridge
parent acfb9a6c3f
commit da350d9e81
3 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,52 @@
Subject: Add dummy xf86DisableRandR.
Patch-mainline: Never
Author: Michal Srb <msrb@suse.com>
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)
{

View File

@ -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

View File

@ -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 || \