- 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/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=804
This commit is contained in:
parent
87e3223980
commit
540300e204
@ -6,7 +6,7 @@ Index: hw/xfree86/common/xf86Helper.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- hw/xfree86/common/xf86Helper.c.orig
|
--- hw/xfree86/common/xf86Helper.c.orig
|
||||||
+++ hw/xfree86/common/xf86Helper.c
|
+++ hw/xfree86/common/xf86Helper.c
|
||||||
@@ -875,12 +875,22 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int
|
@@ -883,12 +883,22 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int
|
||||||
else if (pScrn->widthmm > 0 || pScrn->heightmm > 0) {
|
else if (pScrn->widthmm > 0 || pScrn->heightmm > 0) {
|
||||||
from = X_CONFIG;
|
from = X_CONFIG;
|
||||||
if (pScrn->widthmm > 0) {
|
if (pScrn->widthmm > 0) {
|
||||||
@ -33,9 +33,9 @@ Index: hw/xfree86/common/xf86Helper.c
|
|||||||
}
|
}
|
||||||
if (pScrn->xDpi > 0 && pScrn->yDpi <= 0)
|
if (pScrn->xDpi > 0 && pScrn->yDpi <= 0)
|
||||||
pScrn->yDpi = pScrn->xDpi;
|
pScrn->yDpi = pScrn->xDpi;
|
||||||
@@ -919,12 +929,22 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int
|
@@ -927,12 +937,22 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int
|
||||||
pScrn->widthmm = ddcWidthmm;
|
pScrn->widthmm = probedWidthmm;
|
||||||
pScrn->heightmm = ddcHeightmm;
|
pScrn->heightmm = probedHeightmm;
|
||||||
if (pScrn->widthmm > 0) {
|
if (pScrn->widthmm > 0) {
|
||||||
- pScrn->xDpi =
|
- pScrn->xDpi =
|
||||||
- (int) ((double) pScrn->virtualX * MMPERINCH / pScrn->widthmm);
|
- (int) ((double) pScrn->virtualX * MMPERINCH / pScrn->widthmm);
|
||||||
|
@ -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 */
|
||||||
|
@ -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
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
/*
|
|
@ -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);
|
|
@ -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
|
||||||
|
@ -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
|
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
@ -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);
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:40aa4e96a56a81a301f15a9b10e06a22700f12b42d9e0e453c7f11d354386300
|
|
||||||
size 5122260
|
|
3
xorg-server-21.1.0.tar.xz
Normal file
3
xorg-server-21.1.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:50c316dd8f4472cb60dfb285aa46ca6855d7626cecfd8330f6c51da743c1fe42
|
||||||
|
size 4951620
|
@ -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
|
||||||
|
@ -1,3 +1,40 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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>
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: xorg-x11-server
|
Name: xorg-x11-server
|
||||||
Version: 1.20.13
|
Version: 21.1.0
|
||||||
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
|
||||||
@ -219,7 +219,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 +240,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 +250,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 +260,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
|
||||||
@ -379,7 +372,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 +380,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 +395,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 +417,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 +600,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 +615,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 +641,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*
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user