Accepting request 930821 from X11:XOrg

- U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch
  * reverse apply this one to go back to fixed 96 dpi (gitlab 
    fdo/xserver issue#1241) 
- N_fix-dpi-values.diff
  * back to version for xserver < 21.1.0

- Update to version 21.1.1
  * s/__/@/ in inputtestdrv manpage
  * Make xf86CompatOutput() return NULL when there are no privates
  * Makefile.am: Add missing meson build files to release tarball 

- Update to version 21.1.0
  * The meson support is now fully mature. While autotools support
    will still be kept for this release series, it will be dropped
    afterwards.
  * Glamor support for Xvfb.
  * Variable refresh rate support in the modesetting driver.
  * XInput 2.4 support which adds touchpad gestures.
  * DMX DDX has been removed.
  * X server now correctly reports display DPI in more cases. This
    may affect rendering of client applications that have their own
    workarounds for hi-DPI screens.
  * A large number of small features and various bug fixes.
- updated xorg-server-provides
- supersedes patches
  * U_Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch
  * U_dix-window-Use-ConfigureWindow-instead-of-MoveWindow.patch
  * U_glamor_egl-Reject-OpenGL-2.1-early-on.patch
  * u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
- refreshed patches
  * N_fix-dpi-values.diff
  * N_zap_warning_xserver.diff
  * u_modesetting-Fix-dirty-updates-for-sw-rotation.patch
  * u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch
  * u_vesa-Add-VBEDPMSGetCapabilities-VBEDPMSGet.patch
- disabled n_xserver-optimus-autoconfig-hack.patch, which I believe is 
  superseded by:
  commit 078277e4d92f05a90c4715d61b89b9d9d38d68ea
  Author: Dave Airlie <airlied@redhat.com>
  Date:   Fri Aug 17 09:49:24 2012 +1000
    xf86: autobind GPUs to the screen
- added pkgconfig(libxcvt)
- cvt binary moved to libxcvt0 package

OBS-URL: https://build.opensuse.org/request/show/930821
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=397
This commit is contained in:
Dominique Leuenberger 2021-11-11 20:35:50 +00:00 committed by Git OBS Bridge
commit cf9b33dc5a
15 changed files with 304 additions and 342 deletions

View File

@ -8,19 +8,19 @@ Zap the server if a second ctrl-alt-backspace is sent
within 2 seconds. within 2 seconds.
This can be enabled with a new option flag "ZapWarning" This can be enabled with a new option flag "ZapWarning"
Index: xorg-server-1.20.5/hw/xfree86/common/xf86Config.c Index: xorg-server-21.1.0/hw/xfree86/common/xf86Config.c
=================================================================== ===================================================================
--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Config.c --- xorg-server-21.1.0.orig/hw/xfree86/common/xf86Config.c
+++ xorg-server-1.20.5/hw/xfree86/common/xf86Config.c +++ xorg-server-21.1.0/hw/xfree86/common/xf86Config.c
@@ -622,6 +622,7 @@ typedef enum { @@ -621,6 +621,7 @@ configFiles(XF86ConfFilesPtr fileconf)
FLAG_NOTRAPSIGNALS, typedef enum {
FLAG_DONTVTSWITCH, FLAG_DONTVTSWITCH,
FLAG_DONTZAP, FLAG_DONTZAP,
+ FLAG_ZAPWARNING, + FLAG_ZAPWARNING,
FLAG_DONTZOOM, FLAG_DONTZOOM,
FLAG_DISABLEVIDMODE, FLAG_DISABLEVIDMODE,
FLAG_ALLOWNONLOCAL, FLAG_ALLOWNONLOCAL,
@@ -659,6 +660,8 @@ static OptionInfoRec FlagOptions[] = { @@ -657,6 +658,8 @@ static OptionInfoRec FlagOptions[] = {
{0}, FALSE}, {0}, FALSE},
{FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN, {FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
{0}, FALSE}, {0}, FALSE},
@ -29,70 +29,65 @@ Index: xorg-server-1.20.5/hw/xfree86/common/xf86Config.c
{FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN, {FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
{0}, FALSE}, {0}, FALSE},
{FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN, {FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
@@ -740,6 +743,7 @@ configServerFlags(XF86ConfFlagsPtr flags @@ -739,6 +742,7 @@ configServerFlags(XF86ConfFlagsPtr flags
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch); xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap); xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
+ xf86GetOptValBool(FlagOptions, FLAG_ZAPWARNING, &xf86Info.ZapWarning); + xf86GetOptValBool(FlagOptions, FLAG_ZAPWARNING, &xf86Info.ZapWarning);
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom); xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI); xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
Index: xorg-server-1.20.5/hw/xfree86/common/xf86Events.c Index: xorg-server-21.1.0/hw/xfree86/common/xf86Events.c
=================================================================== ===================================================================
--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Events.c --- xorg-server-21.1.0.orig/hw/xfree86/common/xf86Events.c
+++ xorg-server-1.20.5/hw/xfree86/common/xf86Events.c +++ xorg-server-21.1.0/hw/xfree86/common/xf86Events.c
@@ -166,13 +166,25 @@ xf86ProcessActionEvent(ActionEvent actio @@ -158,10 +158,22 @@ xf86ProcessActionEvent(ActionEvent actio
DebugF("ProcessActionEvent(%d,%p)\n", (int) action, arg); DebugF("ProcessActionEvent(%d,%p)\n", (int) action, arg);
switch (action) { switch (action) {
case ACTION_TERMINATE: case ACTION_TERMINATE:
- if (!xf86Info.dontZap) { - if (!xf86Info.dontZap) {
- xf86Msg(X_INFO, "Server zapped. Shutting down.\n"); - xf86Msg(X_INFO, "Server zapped. Shutting down.\n");
- GiveUp(0);
+ if (xf86Info.dontZap) + if (xf86Info.dontZap)
+ break; + break;
+ +
+ if (xf86Info.ZapWarning) { + if (xf86Info.ZapWarning) {
+ static struct timeval LastZap = { 0, 0}; + static struct timeval LastZap = { 0, 0};
+ struct timeval NewZap; + struct timeval NewZap;
+ +
+ gettimeofday(&NewZap, NULL); + gettimeofday(&NewZap, NULL);
+ +
+ if ((NewZap.tv_sec - LastZap.tv_sec) >= 2) { + if ((NewZap.tv_sec - LastZap.tv_sec) >= 2) {
+ xf86OSRingBell(30, 1000, 50); + xf86OSRingBell(30, 1000, 50);
+ LastZap = NewZap; + LastZap = NewZap;
+ break; + break;
+ } + }
+ } }
#ifdef XFreeXDGA
- DGAShutdown();
+ DGAShutdown();
#endif
- GiveUp(0);
- }
+ GiveUp(0); + GiveUp(0);
break; break;
case ACTION_NEXT_MODE: case ACTION_NEXT_MODE:
if (!xf86Info.dontZoom) if (!xf86Info.dontZoom)
Index: xorg-server-1.20.5/hw/xfree86/common/xf86Globals.c Index: xorg-server-21.1.0/hw/xfree86/common/xf86Globals.c
=================================================================== ===================================================================
--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Globals.c --- xorg-server-21.1.0.orig/hw/xfree86/common/xf86Globals.c
+++ xorg-server-1.20.5/hw/xfree86/common/xf86Globals.c +++ xorg-server-21.1.0/hw/xfree86/common/xf86Globals.c
@@ -107,6 +107,7 @@ xf86InfoRec xf86Info = { @@ -107,6 +107,7 @@ xf86InfoRec xf86Info = {
.autoVTSwitch = TRUE, .autoVTSwitch = TRUE,
.ShareVTs = FALSE, .ShareVTs = FALSE,
.dontZap = FALSE, .dontZap = FALSE,
+ .ZapWarning = TRUE, + .ZapWarning = TRUE,
.dontZoom = FALSE, .dontZoom = FALSE,
.notrapSignals = FALSE,
.currentScreen = NULL, .currentScreen = NULL,
Index: xorg-server-1.20.5/hw/xfree86/common/xf86Privstr.h #ifdef CSRG_BASED
Index: xorg-server-21.1.0/hw/xfree86/common/xf86Privstr.h
=================================================================== ===================================================================
--- xorg-server-1.20.5.orig/hw/xfree86/common/xf86Privstr.h --- xorg-server-21.1.0.orig/hw/xfree86/common/xf86Privstr.h
+++ xorg-server-1.20.5/hw/xfree86/common/xf86Privstr.h +++ xorg-server-21.1.0/hw/xfree86/common/xf86Privstr.h
@@ -62,6 +62,7 @@ typedef struct { @@ -62,6 +62,7 @@ typedef struct {
Bool autoVTSwitch; Bool autoVTSwitch;
Bool ShareVTs; Bool ShareVTs;
Bool dontZap; Bool dontZap;
+ Bool ZapWarning; + Bool ZapWarning;
Bool dontZoom; Bool dontZoom;
Bool notrapSignals; /* don't exit cleanly - die at fault */
/* graphics part */

View File

@ -1,31 +0,0 @@
From e50c85f4ebf559a3bac4817b41074c43d4691779 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 26 Oct 2018 17:47:30 -0700
Subject: [PATCH] Fix segfault on probing a non-PCI platform device on a system
with PCI.
Some Broadcom set-top-box boards have PCI busses, but the GPU is still
probed through DT. We would dereference a null busid here in that
case.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
hw/xfree86/common/xf86platformBus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index cef47da03..dadbac6c8 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -289,7 +289,7 @@ xf86platformProbe(void)
for (i = 0; i < xf86_num_platform_devices; i++) {
char *busid = xf86_platform_odev_attributes(i)->busid;
- if (pci && (strncmp(busid, "pci:", 4) == 0)) {
+ if (pci && busid && (strncmp(busid, "pci:", 4) == 0)) {
platform_find_pci_info(&xf86_platform_devices[i], busid);
}
--
2.16.4

View File

@ -1,48 +0,0 @@
Git-commit: fbdd4d679a7d020f78f7b877033b83e00f5a0f73
Patch-Mainline: Upstream
Author: Michal Srb <msrb@suse.com>
Subject: dix/window: Use ConfigureWindow instead of MoveWindow
References: bsc#1114822
The screensaver can regularly move its window to random offsets. It should
use the ConfigureWindow function instead of calling the Screen's MoveWindow
directly. Some MoveWindow implementations, such as compMoveWindow, rely on
Screen's ConfigNotify being called first as it happens in ConfigureWindow.
Reviewed-by: Adam Jackson <ajax@redhat.com>
---
dix/window.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
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;
+ XID vlist[2];
if (on == SCREEN_SAVER_FORCER) {
if (mode == ScreenSaverReset)
@@ -3162,14 +3163,11 @@ dixSaveScreens(ClientPtr client, int on,
* for the root window, so PaintWindow works
*/
screenIsSaved = SCREEN_SAVER_OFF;
- (*pWin->drawable.pScreen->MoveWindow) (pWin,
- (short) (-
- (rand() %
- RANDOM_WIDTH)),
- (short) (-
- (rand() %
- RANDOM_WIDTH)),
- pWin->nextSib, VTMove);
+
+ vlist[0] = -(rand() % RANDOM_WIDTH);
+ vlist[1] = -(rand() % RANDOM_WIDTH);
+ ConfigureWindow(pWin, CWX | CWY, vlist, client);
+
screenIsSaved = SCREEN_SAVER_ON;
}
/*

View File

@ -1,82 +0,0 @@
From 26004df63c25061586a967f3586795a75280acc2 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Wed, 25 Dec 2019 18:54:03 +0100
Subject: [PATCH] glamor_egl: Reject OpenGL < 2.1 early on
The Etnaviv driver on GC2000 reports desktop OpenGL 1.3 but also OpenGL ES 2.0.
However, with the modesetting driver, GLES2 never gets a chance:
[ 11233.393] Require OpenGL version 2.1 or later.
[ 11233.393] (EE) modeset(0): Failed to initialize glamor at ScreenInit() time.
[ 11233.393] (EE)
Fatal server error:
[ 11233.395] (EE) AddScreen/ScreenInit failed for driver 0
Let's reject old desktop GL early on, just like XWayland seems to do.
This is perhaps a slightly bit more complicated that one would expect, since we
need to call eglMakeCurrent() before we query the GL version.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
glamor/glamor_egl.c | 39 ++++++++++++++++++++++++++++-----------
1 file changed, 28 insertions(+), 11 deletions(-)
Index: xserver-1.20.8+0/glamor/glamor_egl.c
===================================================================
--- xserver-1.20.8+0.orig/glamor/glamor_egl.c
+++ xserver-1.20.8+0/glamor/glamor_egl.c
@@ -985,6 +985,22 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd
config_attribs);
}
+ if (glamor_egl->context != EGL_NO_CONTEXT) {
+ if (!eglMakeCurrent(glamor_egl->display,
+ EGL_NO_SURFACE, EGL_NO_SURFACE, glamor_egl->context)) {
+ xf86DrvMsg(scrn->scrnIndex, X_ERROR,
+ "Failed to make GL context current\n");
+ goto error;
+ }
+
+ if (epoxy_gl_version() < 21) {
+ xf86DrvMsg(scrn->scrnIndex, X_INFO,
+ "glamor: Ignoring GL < 2.1, falling back to GLES.\n");
+ eglDestroyContext(glamor_egl->display, glamor_egl->context);
+ glamor_egl->context = EGL_NO_CONTEXT;
+ }
+ }
+
if (glamor_egl->context == EGL_NO_CONTEXT) {
static const EGLint config_attribs[] = {
EGL_CONTEXT_CLIENT_VERSION, 2,
@@ -999,18 +1015,19 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd
glamor_egl->context = eglCreateContext(glamor_egl->display,
NULL, EGL_NO_CONTEXT,
config_attribs);
- }
- if (glamor_egl->context == EGL_NO_CONTEXT) {
- xf86DrvMsg(scrn->scrnIndex, X_ERROR,
- "glamor: Failed to create GL or GLES2 contexts\n");
- goto error;
- }
- if (!eglMakeCurrent(glamor_egl->display,
- EGL_NO_SURFACE, EGL_NO_SURFACE, glamor_egl->context)) {
- xf86DrvMsg(scrn->scrnIndex, X_ERROR,
- "Failed to make EGL context current\n");
- goto error;
+ if (glamor_egl->context == EGL_NO_CONTEXT) {
+ xf86DrvMsg(scrn->scrnIndex, X_ERROR,
+ "glamor: Failed to create GL or GLES2 contexts\n");
+ goto error;
+ }
+
+ if (!eglMakeCurrent(glamor_egl->display,
+ EGL_NO_SURFACE, EGL_NO_SURFACE, glamor_egl->context)) {
+ xf86DrvMsg(scrn->scrnIndex, X_ERROR,
+ "Failed to make GLES2 context current\n");
+ goto error;
+ }
}
renderer = glGetString(GL_RENDERER);

View File

@ -0,0 +1,136 @@
From 05b3c681ea2f478c0cb941c2f8279919cf78de6d Mon Sep 17 00:00:00 2001
From: Daniel Strnad <strnadda@gmail.com>
Date: Tue, 19 May 2020 15:52:35 +0200
Subject: [PATCH] hw/xfree86: Propagate physical dimensions from DRM connector
Physical dimmension of display can be obtained not just by configuration or
DDC, but also directly from kernel via drmModeGetConnector(). Until now
xserver silently discarded these values even when no configuration nor EDID
were present and fallbacked to default DPI.
---
hw/xfree86/common/xf86Helper.c | 30 ++++++++++++++++++------------
hw/xfree86/modes/xf86Crtc.c | 6 ++++--
hw/xfree86/modes/xf86RandR12.c | 6 ++++++
3 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index 0389945a7..d03382d26 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -55,6 +55,7 @@
#include "xf86Xinput.h"
#include "xf86InPriv.h"
#include "mivalidate.h"
+#include "xf86Crtc.h"
/* For xf86GetClocks */
#if defined(CSRG_BASED) || defined(__GNU__)
@@ -851,8 +852,9 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int y)
{
MessageType from = X_DEFAULT;
xf86MonPtr DDC = (xf86MonPtr) (pScrn->monitor->DDC);
- int ddcWidthmm, ddcHeightmm;
+ int probedWidthmm, probedHeightmm;
int widthErr, heightErr;
+ xf86OutputPtr compat = xf86CompatOutput(pScrn);
/* XXX Maybe there is no need for widthmm/heightmm in ScrnInfoRec */
pScrn->widthmm = pScrn->monitor->widthmm;
@@ -862,11 +864,15 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int y)
/* DDC gives display size in mm for individual modes,
* but cm for monitor
*/
- ddcWidthmm = DDC->features.hsize * 10; /* 10mm in 1cm */
- ddcHeightmm = DDC->features.vsize * 10; /* 10mm in 1cm */
+ probedWidthmm = DDC->features.hsize * 10; /* 10mm in 1cm */
+ probedHeightmm = DDC->features.vsize * 10; /* 10mm in 1cm */
+ }
+ else if (compat && compat->mm_width > 0 && compat->mm_height > 0) {
+ probedWidthmm = compat->mm_width;
+ probedHeightmm = compat->mm_height;
}
else {
- ddcWidthmm = ddcHeightmm = 0;
+ probedWidthmm = probedHeightmm = 0;
}
if (monitorResolution > 0) {
@@ -892,15 +898,15 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int y)
pScrn->widthmm, pScrn->heightmm);
/* Warn if config and probe disagree about display size */
- if (ddcWidthmm && ddcHeightmm) {
+ if (probedWidthmm && probedHeightmm) {
if (pScrn->widthmm > 0) {
- widthErr = abs(ddcWidthmm - pScrn->widthmm);
+ widthErr = abs(probedWidthmm - pScrn->widthmm);
}
else {
widthErr = 0;
}
if (pScrn->heightmm > 0) {
- heightErr = abs(ddcHeightmm - pScrn->heightmm);
+ heightErr = abs(probedHeightmm - pScrn->heightmm);
}
else {
heightErr = 0;
@@ -909,17 +915,17 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int y)
/* Should include config file name for monitor here */
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Probed monitor is %dx%d mm, using Displaysize %dx%d mm\n",
- ddcWidthmm, ddcHeightmm, pScrn->widthmm,
+ probedWidthmm, probedHeightmm, pScrn->widthmm,
pScrn->heightmm);
}
}
}
- else if (ddcWidthmm && ddcHeightmm) {
+ else if (probedWidthmm && probedHeightmm) {
from = X_PROBED;
xf86DrvMsg(pScrn->scrnIndex, from, "Display dimensions: (%d, %d) mm\n",
- ddcWidthmm, ddcHeightmm);
- pScrn->widthmm = ddcWidthmm;
- pScrn->heightmm = ddcHeightmm;
+ probedWidthmm, probedHeightmm);
+ pScrn->widthmm = probedWidthmm;
+ pScrn->heightmm = probedHeightmm;
if (pScrn->widthmm > 0) {
pScrn->xDpi =
(int) ((double) pScrn->virtualX * MMPERINCH / pScrn->widthmm);
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index c6e89e66f..202791774 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -3256,8 +3256,10 @@ xf86OutputSetEDID(xf86OutputPtr output, xf86MonPtr edid_mon)
free(output->MonInfo);
output->MonInfo = edid_mon;
- output->mm_width = 0;
- output->mm_height = 0;
+ if (edid_mon) {
+ output->mm_width = 0;
+ output->mm_height = 0;
+ }
if (debug_modes) {
xf86DrvMsg(scrn->scrnIndex, X_INFO, "EDID for output %s\n",
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index 50cbd043e..d4651f4e8 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -806,6 +806,12 @@ xf86RandR12CreateScreenResources(ScreenPtr pScreen)
mmWidth = output->conf_monitor->mon_width;
mmHeight = output->conf_monitor->mon_height;
}
+ else if (output &&
+ (output->mm_width > 0 &&
+ output->mm_height > 0)) {
+ mmWidth = output->mm_width;
+ mmHeight = output->mm_height;
+ }
else {
/*
* Otherwise, just set the screen to DEFAULT_DPI
--
2.26.2

View File

@ -29,7 +29,7 @@ else
echo "" echo ""
echo "" echo ""
echo "Trying to guess the right tarball" echo "Trying to guess the right tarball"
sh $0 --tar xserver-*.tar.xz sh $0 --tar xorg-server-*.tar.xz
echo "... Please verify if the result makes sense" echo "... Please verify if the result makes sense"
exit 2 exit 2
fi fi

View File

@ -19,11 +19,11 @@ Signed-off-by: Patrik Jakobsson <pjakobsson@suse.de>
.../drivers/modesetting/drmmode_display.h | 2 + .../drivers/modesetting/drmmode_display.h | 2 +
3 files changed, 63 insertions(+), 22 deletions(-) 3 files changed, 63 insertions(+), 22 deletions(-)
diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c Index: xorg-server-21.1.0/hw/xfree86/drivers/modesetting/driver.c
index ef4a314..deca1ed 100644 ===================================================================
--- a/hw/xfree86/drivers/modesetting/driver.c --- xorg-server-21.1.0.orig/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c +++ xorg-server-21.1.0/hw/xfree86/drivers/modesetting/driver.c
@@ -503,9 +503,41 @@ GetRec(ScrnInfoPtr pScrn) @@ -515,9 +515,41 @@ GetRec(ScrnInfoPtr pScrn)
return TRUE; return TRUE;
} }
@ -67,7 +67,7 @@ index ef4a314..deca1ed 100644
{ {
modesettingPtr ms = modesettingPTR(scrn); modesettingPtr ms = modesettingPTR(scrn);
RegionPtr dirty = DamageRegion(damage); RegionPtr dirty = DamageRegion(damage);
@@ -520,13 +552,9 @@ dispatch_dirty_region(ScrnInfoPtr scrn, @@ -532,13 +564,9 @@ dispatch_dirty_region(ScrnInfoPtr scrn,
if (!clip) if (!clip)
return -ENOMEM; return -ENOMEM;
@ -84,7 +84,7 @@ index ef4a314..deca1ed 100644
/* TODO query connector property to see if this is needed */ /* TODO query connector property to see if this is needed */
ret = drmModeDirtyFB(ms->fd, fb_id, clip, num_cliprects); ret = drmModeDirtyFB(ms->fd, fb_id, clip, num_cliprects);
@@ -549,20 +577,31 @@ static void @@ -561,20 +589,31 @@ static void
dispatch_dirty(ScreenPtr pScreen) dispatch_dirty(ScreenPtr pScreen)
{ {
ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen); ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen);
@ -127,8 +127,8 @@ index ef4a314..deca1ed 100644
} }
} }
@@ -574,7 +613,7 @@ dispatch_dirty_pixmap(ScrnInfoPtr scrn, xf86CrtcPtr crtc, PixmapPtr ppix) @@ -586,7 +625,7 @@ dispatch_dirty_pixmap(ScrnInfoPtr scrn,
DamagePtr damage = ppriv->slave_damage; DamagePtr damage = ppriv->secondary_damage;
int fb_id = ppriv->fb_id; int fb_id = ppriv->fb_id;
- dispatch_dirty_region(scrn, ppix, damage, fb_id); - dispatch_dirty_region(scrn, ppix, damage, fb_id);
@ -136,11 +136,11 @@ index ef4a314..deca1ed 100644
} }
static void static void
diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c Index: xorg-server-21.1.0/hw/xfree86/drivers/modesetting/drmmode_display.c
index 88992f5..b29db12 100644 ===================================================================
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c --- xorg-server-21.1.0.orig/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c +++ xorg-server-21.1.0/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -598,7 +598,7 @@ drmmode_crtc_can_test_mode(xf86CrtcPtr crtc) @@ -627,7 +627,7 @@ drmmode_crtc_can_test_mode(xf86CrtcPtr c
return ms->atomic_modeset; return ms->atomic_modeset;
} }
@ -149,19 +149,16 @@ index 88992f5..b29db12 100644
drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y) drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y)
{ {
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.h b/hw/xfree86/drivers/modesetting/drmmode_display.h Index: xorg-server-21.1.0/hw/xfree86/drivers/modesetting/drmmode_display.h
index 59d79e9..0ed96ab 100644 ===================================================================
--- a/hw/xfree86/drivers/modesetting/drmmode_display.h --- xorg-server-21.1.0.orig/hw/xfree86/drivers/modesetting/drmmode_display.h
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.h +++ xorg-server-21.1.0/hw/xfree86/drivers/modesetting/drmmode_display.h
@@ -297,6 +297,8 @@ void drmmode_copy_fb(ScrnInfoPtr pScrn, drmmode_ptr drmmode); @@ -311,6 +311,8 @@ void drmmode_copy_fb(ScrnInfoPtr pScrn,
int drmmode_crtc_flip(xf86CrtcPtr crtc, uint32_t fb_id, uint32_t flags, void *data); int drmmode_crtc_flip(xf86CrtcPtr crtc, uint32_t fb_id, uint32_t flags, void *data);
+Bool drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y); +Bool drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y);
+ +
void drmmode_set_dpms(ScrnInfoPtr scrn, int PowerManagementMode, int flags); void drmmode_set_dpms(ScrnInfoPtr scrn, int PowerManagementMode, int flags);
void drmmode_crtc_set_vrr(xf86CrtcPtr crtc, Bool enabled);
#endif
--
2.31.1

View File

@ -21,18 +21,18 @@ provider is there.
randr/randr.c | 4 +++- randr/randr.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-) 1 file changed, 3 insertions(+), 1 deletion(-)
Index: xorg-server-1.20.5/randr/randr.c Index: xorg-server-21.1.0/randr/randr.c
=================================================================== ===================================================================
--- xorg-server-1.20.5.orig/randr/randr.c --- xorg-server-21.1.0.orig/randr/randr.c
+++ xorg-server-1.20.5/randr/randr.c +++ xorg-server-21.1.0/randr/randr.c
@@ -647,7 +647,9 @@ RRTellChanged(ScreenPtr pScreen) @@ -651,7 +651,9 @@ RRTellChanged(ScreenPtr pScreen)
xorg_list_for_each_entry(iter, &master->slave_list, slave_head) { xorg_list_for_each_entry(iter, &primary->secondary_list, secondary_head) {
pSlaveScrPriv = rrGetScrPriv(iter); pSecondaryScrPriv = rrGetScrPriv(iter);
- pSlaveScrPriv->provider->changed = FALSE; - pSecondaryScrPriv->provider->changed = FALSE;
+ if (pSlaveScrPriv->provider) { + if (pSecondaryScrPriv->provider) {
+ pSlaveScrPriv->provider->changed = FALSE; + pSecondaryScrPriv->provider->changed = FALSE;
+ } + }
if (iter->is_output_slave) { if (iter->is_output_secondary) {
for (i = 0; i < pSlaveScrPriv->numOutputs; i++) for (i = 0; i < pSecondaryScrPriv->numOutputs; i++)
pSlaveScrPriv->outputs[i]->changed = FALSE; pSecondaryScrPriv->outputs[i]->changed = FALSE;

View File

@ -1,41 +0,0 @@
From: Egbert Eich <eich@hammer45.arch.suse.de>
Date: Fri May 30 19:08:00 2014 -0400
Subject: [PATCH]render: Cast color masks to unsigned long before shifting them
Patch-mainline: to be upstreamed
Git-commit: 6ec9a78f9b79668239c3a1519d715cbecf186cef
Git-repo:
References: bnc#876757
Signed-off-by: Egbert Eich <eich@suse.com>
The color masks in DirectFormatRec are CARD16. Shifting them may lead
to unexpected results. Cast them to unsigned long to make sure the
shifted value will still fit into that type.
Signed-off-by: Egbert Eich <eich@suse.de>
---
render/picture.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
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 {
- if (format->direct.redMask << format->direct.red ==
- pVisual->redMask &&
- format->direct.greenMask << format->direct.green ==
- pVisual->greenMask &&
- format->direct.blueMask << format->direct.blue ==
- pVisual->blueMask) {
+ if (((unsigned long)format->direct.redMask) <<
+ format->direct.red == pVisual->redMask &&
+ ((unsigned long)format->direct.greenMask) <<
+ format->direct.green == pVisual->greenMask &&
+ ((unsigned long)format->direct.blueMask) <<
+ format->direct.blue == pVisual->blueMask) {
return format;
}
}

View File

@ -8,14 +8,14 @@ Signed-off-by: Egbert Eich <eich@suse.com>
Signed-off-by: Egbert Eich <eich@suse.de> Signed-off-by: Egbert Eich <eich@suse.de>
--- ---
hw/xfree86/vbe/vbe.c | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++- hw/xfree86/in10/vbe.c | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++-
hw/xfree86/vbe/vbe.h | 3 ++ hw/xfree86/in10/vbe.h | 3 ++
2 files changed, 149 insertions(+), 1 deletion(-) 2 files changed, 149 insertions(+), 1 deletion(-)
diff --git a/hw/xfree86/vbe/vbe.c b/hw/xfree86/vbe/vbe.c Index: xorg-server-21.1.0/hw/xfree86/int10/vbe.c
index 39f0cef..179d4c6 100644 ===================================================================
--- a/hw/xfree86/vbe/vbe.c --- xorg-server-21.1.0.orig/hw/xfree86/int10/vbe.c
+++ b/hw/xfree86/vbe/vbe.c +++ xorg-server-21.1.0/hw/xfree86/int10/vbe.c
@@ -20,6 +20,28 @@ @@ -20,6 +20,28 @@
#include "vbe.h" #include "vbe.h"
#include <X11/extensions/dpmsconst.h> #include <X11/extensions/dpmsconst.h>
@ -91,7 +91,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return NULL; return NULL;
@@ -458,6 +486,7 @@ VBESetVBEMode(vbeInfoPtr pVbe, int mode, VbeCRTCInfoBlock * block) @@ -458,6 +486,7 @@ VBESetVBEMode(vbeInfoPtr pVbe, int mode,
Output: AX = Status Output: AX = Status
(All other registers are preserved) (All other registers are preserved)
*/ */
@ -99,7 +99,7 @@ index 39f0cef..179d4c6 100644
pVbe->pInt10->num = 0x10; pVbe->pInt10->num = 0x10;
pVbe->pInt10->ax = 0x4f02; pVbe->pInt10->ax = 0x4f02;
pVbe->pInt10->bx = mode; pVbe->pInt10->bx = mode;
@@ -471,6 +500,7 @@ VBESetVBEMode(vbeInfoPtr pVbe, int mode, VbeCRTCInfoBlock * block) @@ -471,6 +500,7 @@ VBESetVBEMode(vbeInfoPtr pVbe, int mode,
pVbe->pInt10->bx &= ~(1 << 11); pVbe->pInt10->bx &= ~(1 << 11);
xf86ExecX86int10(pVbe->pInt10); xf86ExecX86int10(pVbe->pInt10);
@ -107,7 +107,7 @@ index 39f0cef..179d4c6 100644
return (R16(pVbe->pInt10->ax) == 0x4f); return (R16(pVbe->pInt10->ax) == 0x4f);
} }
@@ -488,10 +518,12 @@ VBEGetVBEMode(vbeInfoPtr pVbe, int *mode) @@ -488,10 +518,12 @@ VBEGetVBEMode(vbeInfoPtr pVbe, int *mode
BX := Current video mode BX := Current video mode
(All other registers are preserved) (All other registers are preserved)
*/ */
@ -120,7 +120,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) == 0x4f) { if (R16(pVbe->pInt10->ax) == 0x4f) {
*mode = R16(pVbe->pInt10->bx); *mode = R16(pVbe->pInt10->bx);
@@ -521,12 +553,14 @@ VBEGetModeInfo(vbeInfoPtr pVbe, int mode) @@ -521,12 +553,14 @@ VBEGetModeInfo(vbeInfoPtr pVbe, int mode
AX := status AX := status
(All other registers are preserved) (All other registers are preserved)
*/ */
@ -135,7 +135,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return NULL; return NULL;
@@ -586,6 +620,7 @@ VBESaveRestore(vbeInfoPtr pVbe, vbeSaveRestoreFunction function, @@ -586,6 +620,7 @@ VBESaveRestore(vbeInfoPtr pVbe, vbeSaveR
(All other registers are preserved) (All other registers are preserved)
*/ */
@ -143,7 +143,7 @@ index 39f0cef..179d4c6 100644
if ((pVbe->version & 0xff00) > 0x100) { if ((pVbe->version & 0xff00) > 0x100) {
int screen = pVbe->pInt10->pScrn->scrnIndex; int screen = pVbe->pInt10->pScrn->scrnIndex;
@@ -597,9 +632,9 @@ VBESaveRestore(vbeInfoPtr pVbe, vbeSaveRestoreFunction function, @@ -597,9 +632,9 @@ VBESaveRestore(vbeInfoPtr pVbe, vbeSaveR
pVbe->pInt10->dx = 0; pVbe->pInt10->dx = 0;
pVbe->pInt10->cx = 0x000f; pVbe->pInt10->cx = 0x000f;
xf86ExecX86int10(pVbe->pInt10); xf86ExecX86int10(pVbe->pInt10);
@ -154,7 +154,7 @@ index 39f0cef..179d4c6 100644
if (function == MODE_SAVE) { if (function == MODE_SAVE) {
int npages = (R16(pVbe->pInt10->bx) * 64) / 4096 + 1; int npages = (R16(pVbe->pInt10->bx) * 64) / 4096 + 1;
@@ -618,6 +653,7 @@ VBESaveRestore(vbeInfoPtr pVbe, vbeSaveRestoreFunction function, @@ -618,6 +653,7 @@ VBESaveRestore(vbeInfoPtr pVbe, vbeSaveR
if (!*memory) if (!*memory)
return FALSE; return FALSE;
@ -162,7 +162,7 @@ index 39f0cef..179d4c6 100644
pVbe->pInt10->num = 0x10; pVbe->pInt10->num = 0x10;
pVbe->pInt10->ax = 0x4f04; pVbe->pInt10->ax = 0x4f04;
switch (function) { switch (function) {
@@ -635,6 +671,7 @@ VBESaveRestore(vbeInfoPtr pVbe, vbeSaveRestoreFunction function, @@ -635,6 +671,7 @@ VBESaveRestore(vbeInfoPtr pVbe, vbeSaveR
pVbe->pInt10->es = SEG_ADDR(*real_mode_pages); pVbe->pInt10->es = SEG_ADDR(*real_mode_pages);
pVbe->pInt10->bx = SEG_OFF(*real_mode_pages); pVbe->pInt10->bx = SEG_OFF(*real_mode_pages);
xf86ExecX86int10(pVbe->pInt10); xf86ExecX86int10(pVbe->pInt10);
@ -170,7 +170,7 @@ index 39f0cef..179d4c6 100644
return (R16(pVbe->pInt10->ax) == 0x4f); return (R16(pVbe->pInt10->ax) == 0x4f);
} }
@@ -652,11 +689,13 @@ VBEBankSwitch(vbeInfoPtr pVbe, unsigned int iBank, int window) @@ -652,11 +689,13 @@ VBEBankSwitch(vbeInfoPtr pVbe, unsigned
Output: Output:
*/ */
@ -184,7 +184,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return FALSE; return FALSE;
@@ -690,12 +729,14 @@ VBESetGetLogicalScanlineLength(vbeInfoPtr pVbe, vbeScanwidthCommand command, @@ -690,12 +729,14 @@ VBESetGetLogicalScanlineLength(vbeInfoPt
DX := Maximum Number of Scan Lines DX := Maximum Number of Scan Lines
*/ */
@ -199,7 +199,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return FALSE; return FALSE;
@@ -715,12 +756,15 @@ VBESetGetLogicalScanlineLength(vbeInfoPtr pVbe, vbeScanwidthCommand command, @@ -715,12 +756,15 @@ VBESetGetLogicalScanlineLength(vbeInfoPt
Bool Bool
VBESetDisplayStart(vbeInfoPtr pVbe, int x, int y, Bool wait_retrace) VBESetDisplayStart(vbeInfoPtr pVbe, int x, int y, Bool wait_retrace)
{ {
@ -215,7 +215,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return FALSE; return FALSE;
@@ -731,10 +775,12 @@ VBESetDisplayStart(vbeInfoPtr pVbe, int x, int y, Bool wait_retrace) @@ -731,10 +775,12 @@ VBESetDisplayStart(vbeInfoPtr pVbe, int
Bool Bool
VBEGetDisplayStart(vbeInfoPtr pVbe, int *x, int *y) VBEGetDisplayStart(vbeInfoPtr pVbe, int *x, int *y)
{ {
@ -228,7 +228,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return FALSE; return FALSE;
@@ -761,6 +807,7 @@ VBESetGetDACPaletteFormat(vbeInfoPtr pVbe, int bits) @@ -761,6 +807,7 @@ VBESetGetDACPaletteFormat(vbeInfoPtr pVb
BH := Current number of bits of color per primary BH := Current number of bits of color per primary
*/ */
@ -236,7 +236,7 @@ index 39f0cef..179d4c6 100644
pVbe->pInt10->num = 0x10; pVbe->pInt10->num = 0x10;
pVbe->pInt10->ax = 0x4f08; pVbe->pInt10->ax = 0x4f08;
if (!bits) if (!bits)
@@ -768,6 +815,7 @@ VBESetGetDACPaletteFormat(vbeInfoPtr pVbe, int bits) @@ -768,6 +815,7 @@ VBESetGetDACPaletteFormat(vbeInfoPtr pVb
else else
pVbe->pInt10->bx = (bits & 0x00ff) << 8; pVbe->pInt10->bx = (bits & 0x00ff) << 8;
xf86ExecX86int10(pVbe->pInt10); xf86ExecX86int10(pVbe->pInt10);
@ -244,7 +244,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return 0; return 0;
@@ -805,6 +853,8 @@ VBESetGetPaletteData(vbeInfoPtr pVbe, Bool set, int first, int num, @@ -805,6 +853,8 @@ VBESetGetPaletteData(vbeInfoPtr pVbe, Bo
DS := Selector for memory mapped registers DS := Selector for memory mapped registers
*/ */
@ -253,7 +253,7 @@ index 39f0cef..179d4c6 100644
pVbe->pInt10->num = 0x10; pVbe->pInt10->num = 0x10;
pVbe->pInt10->ax = 0x4f09; pVbe->pInt10->ax = 0x4f09;
if (!secondary) if (!secondary)
@@ -818,6 +868,7 @@ VBESetGetPaletteData(vbeInfoPtr pVbe, Bool set, int first, int num, @@ -818,6 +868,7 @@ VBESetGetPaletteData(vbeInfoPtr pVbe, Bo
if (set) if (set)
memcpy(pVbe->memory, data, num * sizeof(CARD32)); memcpy(pVbe->memory, data, num * sizeof(CARD32));
xf86ExecX86int10(pVbe->pInt10); xf86ExecX86int10(pVbe->pInt10);
@ -275,7 +275,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return NULL; return NULL;
@@ -967,6 +1020,7 @@ VBEGetPixelClock(vbeInfoPtr pVbe, int mode, int clock) @@ -967,6 +1020,7 @@ VBEGetPixelClock(vbeInfoPtr pVbe, int mo
AX := VBE Return Status AX := VBE Return Status
ECX := Closest pixel clock ECX := Closest pixel clock
*/ */
@ -283,7 +283,7 @@ index 39f0cef..179d4c6 100644
pVbe->pInt10->num = 0x10; pVbe->pInt10->num = 0x10;
pVbe->pInt10->ax = 0x4f0b; pVbe->pInt10->ax = 0x4f0b;
@@ -974,6 +1028,7 @@ VBEGetPixelClock(vbeInfoPtr pVbe, int mode, int clock) @@ -974,6 +1028,7 @@ VBEGetPixelClock(vbeInfoPtr pVbe, int mo
pVbe->pInt10->cx = clock; pVbe->pInt10->cx = clock;
pVbe->pInt10->dx = mode; pVbe->pInt10->dx = mode;
xf86ExecX86int10(pVbe->pInt10); xf86ExecX86int10(pVbe->pInt10);
@ -291,7 +291,7 @@ index 39f0cef..179d4c6 100644
if (R16(pVbe->pInt10->ax) != 0x4f) if (R16(pVbe->pInt10->ax) != 0x4f)
return 0; return 0;
@@ -981,6 +1036,92 @@ VBEGetPixelClock(vbeInfoPtr pVbe, int mode, int clock) @@ -981,6 +1036,92 @@ VBEGetPixelClock(vbeInfoPtr pVbe, int mo
return pVbe->pInt10->cx; return pVbe->pInt10->cx;
} }
@ -416,11 +416,11 @@ index 39f0cef..179d4c6 100644
if ((pVbe->pInt10->ax & 0xff) != 0x4f) { if ((pVbe->pInt10->ax & 0xff) != 0x4f) {
xf86DrvMsgVerb(screen, X_INFO, 3, "VESA VBE PanelID invalid\n"); xf86DrvMsgVerb(screen, X_INFO, 3, "VESA VBE PanelID invalid\n");
diff --git a/hw/xfree86/vbe/vbe.h b/hw/xfree86/vbe/vbe.h Index: xorg-server-21.1.0/hw/xfree86/int10/vbe.h
index 3907c53..9b37f46 100644 ===================================================================
--- a/hw/xfree86/vbe/vbe.h --- xorg-server-21.1.0.orig/hw/xfree86/int10/vbe.h
+++ b/hw/xfree86/vbe/vbe.h +++ xorg-server-21.1.0/hw/xfree86/int10/vbe.h
@@ -336,6 +336,9 @@ VBEVesaSaveRestore(vbeInfoPtr pVbe, vbeSaveRestorePtr vbe_sr, @@ -335,6 +335,9 @@ VBEVesaSaveRestore(vbeInfoPtr pVbe, vbeS
extern _X_EXPORT int VBEGetPixelClock(vbeInfoPtr pVbe, int mode, int Clock); extern _X_EXPORT int VBEGetPixelClock(vbeInfoPtr pVbe, int mode, int Clock);
extern _X_EXPORT Bool VBEDPMSSet(vbeInfoPtr pVbe, int mode); extern _X_EXPORT Bool VBEDPMSSet(vbeInfoPtr pVbe, int mode);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40aa4e96a56a81a301f15a9b10e06a22700f12b42d9e0e453c7f11d354386300
size 5122260

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:782e7fef2ca0c7cbe60a937b8bf42dac69c904fb841950fd0363e1c2346ea755
size 4958508

View File

@ -1,4 +1,4 @@
Provides: X11_ABI_XINPUT = 24.1 Provides: X11_ABI_XINPUT = 24.4
Provides: X11_ABI_VIDEODRV = 24.1 Provides: X11_ABI_VIDEODRV = 25.2
Provides: X11_ABI_ANSIC = 0.4 Provides: X11_ABI_ANSIC = 0.4
Provides: X11_ABI_EXTENSION = 10.0 Provides: X11_ABI_EXTENSION = 10.0

View File

@ -1,3 +1,57 @@
-------------------------------------------------------------------
Thu Nov 11 08:35:39 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
- U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch
* reverse apply this one to go back to fixed 96 dpi (gitlab
fdo/xserver issue#1241)
- N_fix-dpi-values.diff
* back to version for xserver < 21.1.0
-------------------------------------------------------------------
Sun Nov 7 09:22:47 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
- Update to version 21.1.1
* s/__/@/ in inputtestdrv manpage
* Make xf86CompatOutput() return NULL when there are no privates
* Makefile.am: Add missing meson build files to release tarball
-------------------------------------------------------------------
Wed Oct 27 11:58:32 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
- Update to version 21.1.0
* The meson support is now fully mature. While autotools support
will still be kept for this release series, it will be dropped
afterwards.
* Glamor support for Xvfb.
* Variable refresh rate support in the modesetting driver.
* XInput 2.4 support which adds touchpad gestures.
* DMX DDX has been removed.
* X server now correctly reports display DPI in more cases. This
may affect rendering of client applications that have their own
workarounds for hi-DPI screens.
* A large number of small features and various bug fixes.
- updated xorg-server-provides
- supersedes patches
* U_Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch
* U_dix-window-Use-ConfigureWindow-instead-of-MoveWindow.patch
* U_glamor_egl-Reject-OpenGL-2.1-early-on.patch
* u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
- refreshed patches
* N_fix-dpi-values.diff
* N_zap_warning_xserver.diff
* u_modesetting-Fix-dirty-updates-for-sw-rotation.patch
* u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch
* u_vesa-Add-VBEDPMSGetCapabilities-VBEDPMSGet.patch
- disabled n_xserver-optimus-autoconfig-hack.patch, which I believe is
superseded by:
commit 078277e4d92f05a90c4715d61b89b9d9d38d68ea
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Aug 17 09:49:24 2012 +1000
xf86: autobind GPUs to the screen
- added pkgconfig(libxcvt)
- cvt binary moved to libxcvt0 package
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jul 30 15:07:59 UTC 2021 - Stefan Dirsch <sndirsch@suse.com> Fri Jul 30 15:07:59 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -40,7 +40,7 @@
%endif %endif
Name: xorg-x11-server Name: xorg-x11-server
Version: 1.20.13 Version: 21.1.1
Release: 0 Release: 0
URL: http://xorg.freedesktop.org/ URL: http://xorg.freedesktop.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -72,7 +72,6 @@ BuildRequires: pkgconfig(bigreqsproto) >= 1.1.0
BuildRequires: pkgconfig(compositeproto) BuildRequires: pkgconfig(compositeproto)
BuildRequires: pkgconfig(damageproto) >= 1.1 BuildRequires: pkgconfig(damageproto) >= 1.1
BuildRequires: pkgconfig(dbus-1) >= 1.0 BuildRequires: pkgconfig(dbus-1) >= 1.0
BuildRequires: pkgconfig(dmx) >= 1.0.99.1
BuildRequires: pkgconfig(dri) >= 7.8.0 BuildRequires: pkgconfig(dri) >= 7.8.0
BuildRequires: pkgconfig(dri2proto) BuildRequires: pkgconfig(dri2proto)
BuildRequires: pkgconfig(dri3proto) BuildRequires: pkgconfig(dri3proto)
@ -96,6 +95,7 @@ BuildRequires: pkgconfig(inputproto) >= 1.9.99.902
BuildRequires: pkgconfig(kbproto) >= 1.0.3 BuildRequires: pkgconfig(kbproto) >= 1.0.3
BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libxcvt)
BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(pciaccess) >= 0.8.0 BuildRequires: pkgconfig(pciaccess) >= 0.8.0
BuildRequires: pkgconfig(pixman-1) >= 0.24 BuildRequires: pkgconfig(pixman-1) >= 0.24
@ -207,6 +207,7 @@ Patch1: N_default-module-path.diff
Patch2: N_zap_warning_xserver.diff Patch2: N_zap_warning_xserver.diff
Patch3: N_driver-autoconfig.diff Patch3: N_driver-autoconfig.diff
Patch4: N_fix_fglrx_screendepth_issue.patch Patch4: N_fix_fglrx_screendepth_issue.patch
Patch5: U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch
Patch6: N_fix-dpi-values.diff Patch6: N_fix-dpi-values.diff
Patch7: N_Install-Avoid-failure-on-wrapper-installation.patch Patch7: N_Install-Avoid-failure-on-wrapper-installation.patch
Patch8: u_xorg-wrapper-Drop-supplemental-group-IDs.patch Patch8: u_xorg-wrapper-Drop-supplemental-group-IDs.patch
@ -219,7 +220,6 @@ Patch101: u_02-DIX-ConfineTo-Don-t-bother-about-the-bounding-box-when-grab
# PATCH-FIX-UPSTREAM u_x86emu-include-order.patch schwab@suse.de -- Change include order to avoid conflict with system header, remove duplicate definitions # PATCH-FIX-UPSTREAM u_x86emu-include-order.patch schwab@suse.de -- Change include order to avoid conflict with system header, remove duplicate definitions
Patch104: u_xorg-server-xdmcp.patch Patch104: u_xorg-server-xdmcp.patch
Patch112: u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
Patch115: N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch Patch115: N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch
@ -241,14 +241,8 @@ Patch1222: b_sync-fix.patch
Patch1401: u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch Patch1401: u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch
Patch1502: U_dix-window-Use-ConfigureWindow-instead-of-MoveWindow.patch
Patch1503: u_xfree86-Do-not-claim-pci-slots-if-fb-slot-is-already.patch Patch1503: u_xfree86-Do-not-claim-pci-slots-if-fb-slot-is-already.patch
Patch1600: U_glamor_egl-Reject-OpenGL-2.1-early-on.patch
Patch1801: U_Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch
Patch1900: u_no-lto-for-tests.patch Patch1900: u_no-lto-for-tests.patch
Patch1910: u_modesetting-Fix-dirty-updates-for-sw-rotation.patch Patch1910: u_modesetting-Fix-dirty-updates-for-sw-rotation.patch
@ -257,7 +251,7 @@ Patch1910: u_modesetting-Fix-dirty-updates-for-sw-rotation.patch
This package contains the X.Org Server. This package contains the X.Org Server.
%package extra %package extra
Summary: Additional Xservers (Xdmx, Xephyr, Xnest) Summary: Additional Xservers Xephyr, Xnest)
Group: System/X11/Servers/XF86_4 Group: System/X11/Servers/XF86_4
Requires: Mesa Requires: Mesa
Requires: xkbcomp Requires: xkbcomp
@ -267,7 +261,7 @@ Provides: xorg-x11-Xnest
Obsoletes: xorg-x11-Xnest Obsoletes: xorg-x11-Xnest
%description extra %description extra
This package contains additional Xservers (Xdmx, Xephyr, Xnest). This package contains additional Xservers (Xephyr, Xnest).
%package Xvfb %package Xvfb
Summary: Virtual Xserver Xvfb Summary: Virtual Xserver Xvfb
@ -368,6 +362,8 @@ sh %{SOURCE92} --verify . %{SOURCE91}
%patch2 -p1 %patch2 -p1
%patch3 -p0 %patch3 -p0
%patch4 -p0 %patch4 -p0
# back to 96 dpi fix
%patch5 -p1 -R
%patch6 -p0 %patch6 -p0
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
@ -379,7 +375,6 @@ sh %{SOURCE92} --verify . %{SOURCE91}
%patch100 -p1 %patch100 -p1
#%patch101 -p1 #%patch101 -p1
%patch104 -p1 %patch104 -p1
%patch112 -p1
%patch115 -p1 %patch115 -p1
%patch117 -p1 %patch117 -p1
%patch160 -p1 %patch160 -p1
@ -388,7 +383,13 @@ sh %{SOURCE92} --verify . %{SOURCE91}
### not applicable anymore ### not applicable anymore
#%patch210 -p1 #%patch210 -p1
%patch215 -p1 %patch215 -p1
%patch1000 -p1 ### apparently supersed by upstream
### commit 078277e4d92f05a90c4715d61b89b9d9d38d68ea
### Author: Dave Airlie <airlied@redhat.com>
### Date: Fri Aug 17 09:49:24 2012 +1000
###
### xf86: autobind GPUs to the screen
#%patch1000 -p1
### disabled for now ### disabled for now
#%patch1162 -p1 #%patch1162 -p1
@ -397,10 +398,7 @@ sh %{SOURCE92} --verify . %{SOURCE91}
### patch222 might not be applicable anymore ### patch222 might not be applicable anymore
#%patch1222 -p1 #%patch1222 -p1
%patch1401 -p1 %patch1401 -p1
%patch1502 -p1
%patch1503 -p1 %patch1503 -p1
%patch1600 -p1
%patch1801 -p1
%patch1900 -p1 %patch1900 -p1
%patch1910 -p1 %patch1910 -p1
@ -422,7 +420,6 @@ export PCI_TXT_IDS_DIR=%{pci_ids_dir}
--enable-dri2 \ --enable-dri2 \
--enable-dri3 \ --enable-dri3 \
--enable-glamor \ --enable-glamor \
--enable-dmx \
--enable-xnest \ --enable-xnest \
--enable-kdrive \ --enable-kdrive \
--enable-kdrive-evdev \ --enable-kdrive-evdev \
@ -606,7 +603,6 @@ fi
%dir %{_libdir}/xorg %dir %{_libdir}/xorg
%{_libdir}/xorg/protocol.txt %{_libdir}/xorg/protocol.txt
%{_mandir}/man1/* %{_mandir}/man1/*
%exclude %{_mandir}/man1/Xdmx.1*
%exclude %{_mandir}/man1/Xephyr.1* %exclude %{_mandir}/man1/Xephyr.1*
%exclude %{_mandir}/man1/Xnest.1* %exclude %{_mandir}/man1/Xnest.1*
%dir %{_datadir}/factory %dir %{_datadir}/factory
@ -622,7 +618,6 @@ fi
%endif %endif
%{_bindir}/X %{_bindir}/X
%{_bindir}/cvt
%{_bindir}/gtf %{_bindir}/gtf
%{_libdir}/xorg/modules/ %{_libdir}/xorg/modules/
%{_mandir}/man4/* %{_mandir}/man4/*
@ -649,19 +644,6 @@ fi
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/Xephyr %{_bindir}/Xephyr
%{_bindir}/Xnest %{_bindir}/Xnest
%{_bindir}/Xdmx
%{_bindir}/dmxaddinput
%{_bindir}/dmxaddscreen
%{_bindir}/dmxinfo
%{_bindir}/dmxreconfig
%{_bindir}/dmxresize
%{_bindir}/dmxrminput
%{_bindir}/dmxrmscreen
%{_bindir}/dmxtodmx
%{_bindir}/dmxwininfo
%{_bindir}/vdltodmx
%{_bindir}/xdmxconfig
%{_mandir}/man1/Xdmx.1*
%{_mandir}/man1/Xephyr.1* %{_mandir}/man1/Xephyr.1*
%{_mandir}/man1/Xnest.1* %{_mandir}/man1/Xnest.1*