diff options
author | 0strodamus | 2016-03-25 13:36:49 -0700 |
---|---|---|
committer | 0strodamus | 2016-03-25 13:36:49 -0700 |
commit | 86348afcbfb043f9dc5c8a572cc6dde825651883 (patch) | |
tree | 407c98c2b08e9ee07f58e3cde1bd0f5c08328f25 | |
parent | 442b435a899562c9dc352b88a690cf9af4f12a48 (diff) | |
download | aur-86348afcbfb043f9dc5c8a572cc6dde825651883.tar.gz |
upgpkg: xorg-server-nosystemd 1.18.2-4
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | 0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch | 374 | ||||
-rw-r--r-- | 0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch | 16 | ||||
-rw-r--r-- | 0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch | 43 | ||||
-rw-r--r-- | Fix-XineramaQueryScreens-for-reverse-prime.patch | 55 | ||||
-rw-r--r-- | PKGBUILD | 24 | ||||
-rw-r--r-- | xorg-server.install | 5 |
7 files changed, 465 insertions, 72 deletions
@@ -1,8 +1,8 @@ # Generated by mksrcinfo v8 -# Mon Feb 29 19:08:53 UTC 2016 +# Fri Mar 25 20:36:23 UTC 2016 pkgbase = xorg-server-nosystemd - pkgver = 1.18.1 - pkgrel = 3 + pkgver = 1.18.2 + pkgrel = 4 url = http://xorg.freedesktop.org arch = i686 arch = x86_64 @@ -54,16 +54,20 @@ pkgbase = xorg-server-nosystemd makedepends = dri3proto makedepends = libxshmfence makedepends = libunwind - source = http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.18.1.tar.bz2 - source = http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.18.1.tar.bz2.sig + source = http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.18.2.tar.bz2 + source = http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.18.2.tar.bz2.sig source = xvfb-run source = xvfb-run.1 - source = Fix-XineramaQueryScreens-for-reverse-prime.patch - sha256sums = 85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d + source = 0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch + source = 0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch + source = 0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch + sha256sums = 022142b07f6477d140dcc915902df326408a53ca3a352426a499f142b25d632d sha256sums = SKIP sha256sums = ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9 sha256sums = 2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776 - sha256sums = afc334dfe1f1eb9e557ae01771b0f774c8fc578115e1698462ab670d1b0a213a + sha256sums = 10c66c10f4f71930e2ac3f6e07881e228ca88542af449d2c69c7744ec87335df + sha256sums = 72755a652e72144e3f28c8fa959b4a6df5def838db3cde5077a626e97baab591 + sha256sums = 70c84bf1f7cbc818692fb56f57c8b8ef2ea057bc05380b2f797ecba742b7ce31 pkgname = xorg-server-nosystemd pkgdesc = Xorg X server diff --git a/0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch b/0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch new file mode 100644 index 000000000000..2dbbb85bffb8 --- /dev/null +++ b/0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch @@ -0,0 +1,374 @@ +From 75eecf28ae3709181a51571132b0accd9cae316e Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sun, 13 Mar 2016 13:54:01 +0000 +Subject: Xext/vidmode: Reduce verbosity of GetModeLine debug messages + +In commit f175cf45aebcdda53f3ae49c0eaf27da1f194e92 +Author: Olivier Fourdan <ofourdan@redhat.com> +Date: Wed Feb 10 09:34:34 2016 +0100 + + vidmode: move to a separate library of its own + +the verbosity of some old debug messages (which print the reply to every +GetModeLine client request and others) was increased leading to lots of +log spam. Downgrade the logging back to DebugF. + +[ajax: Fix a typo so it compiles.] + +Reviewed-by: Adam Jackson <ajax@redhat.com> +References: https://bugs.freedesktop.org/show_bug.cgi?id=94515 +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +Cc: Olivier Fourdan <ofourdan@redhat.com> + +diff --git a/Xext/vidmode.c b/Xext/vidmode.c +index 7c838f4..0cbbdc3 100644 +--- a/Xext/vidmode.c ++++ b/Xext/vidmode.c +@@ -69,7 +69,7 @@ typedef struct { + dixSetPrivate(&(c)->devPrivates, VidModeClientPrivateKey, p) + + #ifdef DEBUG +-#define DEBUG_P(x) LogMessage(X_INFO, x"\n"); ++#define DEBUG_P(x) DebugF(x"\n") + #else + #define DEBUG_P(x) /**/ + #endif +@@ -267,13 +267,13 @@ ProcVidModeGetModeLine(ClientPtr client) + rep.vtotal = VidModeGetModeValue(mode, VIDMODE_V_TOTAL); + rep.flags = VidModeGetModeValue(mode, VIDMODE_FLAGS); + +- LogMessage(X_INFO, "GetModeLine - scrn: %d clock: %ld\n", +- stuff->screen, (unsigned long) rep.dotclock); +- LogMessage(X_INFO, "GetModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", +- rep.hdisplay, rep.hsyncstart, rep.hsyncend, rep.htotal); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", +- rep.vdisplay, rep.vsyncstart, rep.vsyncend, +- rep.vtotal, (unsigned long) rep.flags); ++ DebugF("GetModeLine - scrn: %d clock: %ld\n", ++ stuff->screen, (unsigned long) rep.dotclock); ++ DebugF("GetModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ rep.hdisplay, rep.hsyncstart, rep.hsyncend, rep.htotal); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", ++ rep.vdisplay, rep.vsyncstart, rep.vsyncend, ++ rep.vtotal, (unsigned long) rep.flags); + + /* + * Older servers sometimes had server privates that the VidMode +@@ -483,23 +483,23 @@ ProcVidModeAddModeLine(ClientPtr client) + stuff->after_vtotal = oldstuff->after_vtotal; + stuff->after_flags = oldstuff->after_flags; + } +- LogMessage(X_INFO, "AddModeLine - scrn: %d clock: %ld\n", +- (int) stuff->screen, (unsigned long) stuff->dotclock); +- LogMessage(X_INFO, "AddModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", +- stuff->hdisplay, stuff->hsyncstart, +- stuff->hsyncend, stuff->htotal); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", +- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, +- stuff->vtotal, (unsigned long) stuff->flags); +- LogMessage(X_INFO, " after - scrn: %d clock: %ld\n", +- (int) stuff->screen, (unsigned long) stuff->after_dotclock); +- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", +- stuff->after_hdisplay, stuff->after_hsyncstart, +- stuff->after_hsyncend, stuff->after_htotal); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", +- stuff->after_vdisplay, stuff->after_vsyncstart, +- stuff->after_vsyncend, stuff->after_vtotal, +- (unsigned long) stuff->after_flags); ++ DebugF("AddModeLine - scrn: %d clock: %ld\n", ++ (int) stuff->screen, (unsigned long) stuff->dotclock); ++ DebugF("AddModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ stuff->hdisplay, stuff->hsyncstart, ++ stuff->hsyncend, stuff->htotal); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", ++ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, ++ stuff->vtotal, (unsigned long) stuff->flags); ++ DebugF(" after - scrn: %d clock: %ld\n", ++ (int) stuff->screen, (unsigned long) stuff->after_dotclock); ++ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ stuff->after_hdisplay, stuff->after_hsyncstart, ++ stuff->after_hsyncend, stuff->after_htotal); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", ++ stuff->after_vdisplay, stuff->after_vsyncstart, ++ stuff->after_vsyncend, stuff->after_vtotal, ++ (unsigned long) stuff->after_flags); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq); +@@ -572,7 +572,7 @@ ProcVidModeAddModeLine(ClientPtr client) + VidModeSetModeValue(mode, VIDMODE_FLAGS, stuff->flags); + + if (stuff->privsize) +- LogMessage(X_INFO, "AddModeLine - Privates in request have been ignored\n"); ++ DebugF("AddModeLine - Privates in request have been ignored\n"); + + /* Check that the mode is consistent with the monitor specs */ + switch (pVidMode->CheckModeForMonitor(pScreen, mode)) { +@@ -601,7 +601,7 @@ ProcVidModeAddModeLine(ClientPtr client) + + pVidMode->AddModeline(pScreen, mode); + +- LogMessage(X_INFO, "AddModeLine - Succeeded\n"); ++ DebugF("AddModeLine - Succeeded\n"); + + return Success; + } +@@ -640,14 +640,14 @@ ProcVidModeDeleteModeLine(ClientPtr client) + stuff->flags = oldstuff->flags; + stuff->privsize = oldstuff->privsize; + } +- LogMessage(X_INFO, "DeleteModeLine - scrn: %d clock: %ld\n", +- (int) stuff->screen, (unsigned long) stuff->dotclock); +- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", +- stuff->hdisplay, stuff->hsyncstart, +- stuff->hsyncend, stuff->htotal); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", +- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, +- (unsigned long) stuff->flags); ++ DebugF("DeleteModeLine - scrn: %d clock: %ld\n", ++ (int) stuff->screen, (unsigned long) stuff->dotclock); ++ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ stuff->hdisplay, stuff->hsyncstart, ++ stuff->hsyncend, stuff->htotal); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", ++ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, ++ (unsigned long) stuff->flags); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq); +@@ -662,11 +662,11 @@ ProcVidModeDeleteModeLine(ClientPtr client) + bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq)); + } + if (len != stuff->privsize) { +- LogMessage(X_INFO, "req_len = %ld, sizeof(Req) = %d, privsize = %ld, " +- "len = %d, length = %d\n", +- (unsigned long) client->req_len, +- (int) sizeof(xXF86VidModeDeleteModeLineReq) >> 2, +- (unsigned long) stuff->privsize, len, stuff->length); ++ DebugF("req_len = %ld, sizeof(Req) = %d, privsize = %ld, " ++ "len = %d, length = %d\n", ++ (unsigned long) client->req_len, ++ (int) sizeof(xXF86VidModeDeleteModeLineReq) >> 2, ++ (unsigned long) stuff->privsize, len, stuff->length); + return BadLength; + } + +@@ -681,46 +681,46 @@ ProcVidModeDeleteModeLine(ClientPtr client) + if (!pVidMode->GetCurrentModeline(pScreen, &mode, &dotClock)) + return BadValue; + +- LogMessage(X_INFO, "Checking against clock: %d (%d)\n", ++ DebugF("Checking against clock: %d (%d)\n", ++ VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); ++ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), ++ VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), ++ VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), ++ VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", ++ VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), ++ VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), ++ VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), ++ VidModeGetModeValue(mode, VIDMODE_V_TOTAL), ++ VidModeGetModeValue(mode, VIDMODE_FLAGS)); ++ ++ if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) && ++ MODEMATCH(mode, stuff)) ++ return BadValue; ++ ++ if (!pVidMode->GetFirstModeline(pScreen, &mode, &dotClock)) ++ return BadValue; ++ ++ do { ++ DebugF("Checking against clock: %d (%d)\n", + VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); +- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", + VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), + VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), + VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), + VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", + VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), + VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), + VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), + VidModeGetModeValue(mode, VIDMODE_V_TOTAL), + VidModeGetModeValue(mode, VIDMODE_FLAGS)); + +- if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) && +- MODEMATCH(mode, stuff)) +- return BadValue; +- +- if (!pVidMode->GetFirstModeline(pScreen, &mode, &dotClock)) +- return BadValue; +- +- do { +- LogMessage(X_INFO, "Checking against clock: %d (%d)\n", +- VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); +- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", +- VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), +- VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), +- VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), +- VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", +- VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), +- VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), +- VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), +- VidModeGetModeValue(mode, VIDMODE_V_TOTAL), +- VidModeGetModeValue(mode, VIDMODE_FLAGS)); +- + if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) && + MODEMATCH(mode, stuff)) { + pVidMode->DeleteModeline(pScreen, mode); +- LogMessage(X_INFO, "DeleteModeLine - Succeeded\n"); ++ DebugF("DeleteModeLine - Succeeded\n"); + return Success; + } + } while (pVidMode->GetNextModeline(pScreen, &mode, &dotClock)); +@@ -761,12 +761,12 @@ ProcVidModeModModeLine(ClientPtr client) + stuff->flags = oldstuff->flags; + stuff->privsize = oldstuff->privsize; + } +- LogMessage(X_INFO, "ModModeLine - scrn: %d hdsp: %d hbeg: %d hend: %d httl: %d\n", +- (int) stuff->screen, stuff->hdisplay, stuff->hsyncstart, +- stuff->hsyncend, stuff->htotal); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", +- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, +- stuff->vtotal, (unsigned long) stuff->flags); ++ DebugF("ModModeLine - scrn: %d hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ (int) stuff->screen, stuff->hdisplay, stuff->hsyncstart, ++ stuff->hsyncend, stuff->htotal); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", ++ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, ++ stuff->vtotal, (unsigned long) stuff->flags); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq); +@@ -816,7 +816,7 @@ ProcVidModeModModeLine(ClientPtr client) + VidModeSetModeValue(modetmp, VIDMODE_FLAGS, stuff->flags); + + if (stuff->privsize) +- LogMessage(X_INFO, "ModModeLine - Privates in request have been ignored\n"); ++ DebugF("ModModeLine - Privates in request have been ignored\n"); + + /* Check that the mode is consistent with the monitor specs */ + switch (pVidMode->CheckModeForMonitor(pScreen, modetmp)) { +@@ -856,7 +856,7 @@ ProcVidModeModModeLine(ClientPtr client) + pVidMode->SetCrtcForMode(pScreen, mode); + pVidMode->SwitchMode(pScreen, mode); + +- LogMessage(X_INFO, "ModModeLine - Succeeded\n"); ++ DebugF("ModModeLine - Succeeded\n"); + return Success; + } + +@@ -896,14 +896,14 @@ ProcVidModeValidateModeLine(ClientPtr client) + stuff->privsize = oldstuff->privsize; + } + +- LogMessage(X_INFO, "ValidateModeLine - scrn: %d clock: %ld\n", +- (int) stuff->screen, (unsigned long) stuff->dotclock); +- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", +- stuff->hdisplay, stuff->hsyncstart, +- stuff->hsyncend, stuff->htotal); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", +- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, +- (unsigned long) stuff->flags); ++ DebugF("ValidateModeLine - scrn: %d clock: %ld\n", ++ (int) stuff->screen, (unsigned long) stuff->dotclock); ++ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ stuff->hdisplay, stuff->hsyncstart, ++ stuff->hsyncend, stuff->htotal); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", ++ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, ++ (unsigned long) stuff->flags); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq); +@@ -956,7 +956,7 @@ ProcVidModeValidateModeLine(ClientPtr client) + VidModeSetModeValue(modetmp, VIDMODE_V_TOTAL, stuff->vtotal); + VidModeSetModeValue(modetmp, VIDMODE_FLAGS, stuff->flags); + if (stuff->privsize) +- LogMessage(X_INFO, "ValidateModeLine - Privates in request have been ignored\n"); ++ DebugF("ValidateModeLine - Privates in request have been ignored\n"); + + /* Check that the mode is consistent with the monitor specs */ + if ((status = +@@ -982,7 +982,7 @@ ProcVidModeValidateModeLine(ClientPtr client) + swapl(&rep.status); + } + WriteToClient(client, sizeof(xXF86VidModeValidateModeLineReply), &rep); +- LogMessage(X_INFO, "ValidateModeLine - Succeeded (status = %d)\n", status); ++ DebugF("ValidateModeLine - Succeeded (status = %d)\n", status); + + return Success; + } +@@ -1046,14 +1046,14 @@ ProcVidModeSwitchToMode(ClientPtr client) + stuff->privsize = oldstuff->privsize; + } + +- LogMessage(X_INFO, "SwitchToMode - scrn: %d clock: %ld\n", +- (int) stuff->screen, (unsigned long) stuff->dotclock); +- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", +- stuff->hdisplay, stuff->hsyncstart, +- stuff->hsyncend, stuff->htotal); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", +- stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, +- (unsigned long) stuff->flags); ++ DebugF("SwitchToMode - scrn: %d clock: %ld\n", ++ (int) stuff->screen, (unsigned long) stuff->dotclock); ++ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ stuff->hdisplay, stuff->hsyncstart, ++ stuff->hsyncend, stuff->htotal); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n", ++ stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal, ++ (unsigned long) stuff->flags); + + if (ver < 2) { + REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq); +@@ -1089,19 +1089,19 @@ ProcVidModeSwitchToMode(ClientPtr client) + return BadValue; + + do { +- LogMessage(X_INFO, "Checking against clock: %d (%d)\n", +- VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); +- LogMessage(X_INFO, " hdsp: %d hbeg: %d hend: %d httl: %d\n", +- VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), +- VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), +- VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), +- VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); +- LogMessage(X_INFO, " vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", +- VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), +- VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), +- VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), +- VidModeGetModeValue(mode, VIDMODE_V_TOTAL), +- VidModeGetModeValue(mode, VIDMODE_FLAGS)); ++ DebugF("Checking against clock: %d (%d)\n", ++ VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock); ++ DebugF(" hdsp: %d hbeg: %d hend: %d httl: %d\n", ++ VidModeGetModeValue(mode, VIDMODE_H_DISPLAY), ++ VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART), ++ VidModeGetModeValue(mode, VIDMODE_H_SYNCEND), ++ VidModeGetModeValue(mode, VIDMODE_H_TOTAL)); ++ DebugF(" vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n", ++ VidModeGetModeValue(mode, VIDMODE_V_DISPLAY), ++ VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART), ++ VidModeGetModeValue(mode, VIDMODE_V_SYNCEND), ++ VidModeGetModeValue(mode, VIDMODE_V_TOTAL), ++ VidModeGetModeValue(mode, VIDMODE_FLAGS)); + + if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) && + MODEMATCH(mode, stuff)) { +@@ -1109,7 +1109,7 @@ ProcVidModeSwitchToMode(ClientPtr client) + if (!pVidMode->SwitchMode(pScreen, mode)) + return BadValue; + +- LogMessage(X_INFO, "SwitchToMode - Succeeded\n"); ++ DebugF("SwitchToMode - Succeeded\n"); + return Success; + } + } while (pVidMode->GetNextModeline(pScreen, &mode, &dotClock)); +-- +cgit v0.10.2 + diff --git a/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch b/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch new file mode 100644 index 000000000000..dc2e7ef4357a --- /dev/null +++ b/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch @@ -0,0 +1,16 @@ +diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c +index a531f60..f4f8749 100644 +--- a/glamor/glamor_fbo.c ++++ b/glamor/glamor_fbo.c +@@ -352,8 +352,10 @@ _glamor_create_tex(glamor_screen_private *glamor_priv, + glBindTexture(GL_TEXTURE_2D, tex); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); +- if (format == glamor_priv->one_channel_format && format == GL_RED) ++ if (format == glamor_priv->one_channel_format && format == GL_RED) { ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_ZERO); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_RED); ++ } + glamor_priv->suppress_gl_out_of_memory_logging = true; + glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0, + format, GL_UNSIGNED_BYTE, NULL); diff --git a/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch b/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch new file mode 100644 index 000000000000..adf5c7a470f0 --- /dev/null +++ b/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch @@ -0,0 +1,43 @@ +From 3b385105b2d19a1c55e9779ae88d775185eea231 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com> +Date: Thu, 24 Mar 2016 17:42:47 +0900 +Subject: [PATCH xserver] present: Only requeue for next MSC after flip failure +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This code was added to deal with the driver present hook failing, in +which case we need to wait for the next MSC before executing the +presentation. + +However, it could also take effect in cases where the driver incorrectly +thinks the current MSC matches the target one (e.g. due to the kernel +interface only supporting 32-bit MSC values), in which case it could +result in the presentation getting requeued over and over. + +To prevent such issues, check specifically for the target MSC +immediately following the current MSC. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94596 +Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> +Reviewed-by: Keith Packard <keithp@keithp.com> +--- + present/present.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/present/present.c b/present/present.c +index 55f6aa7..105e2bf 100644 +--- a/present/present.c ++++ b/present/present.c +@@ -726,7 +726,7 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc) + } + + /* If present_flip failed, we may have to requeue for the target MSC */ +- if (msc_is_after(vblank->target_msc, crtc_msc) && ++ if (vblank->target_msc == crtc_msc + 1 && + Success == present_queue_vblank(screen, + vblank->crtc, + vblank->event_id, +-- +2.7.4 + diff --git a/Fix-XineramaQueryScreens-for-reverse-prime.patch b/Fix-XineramaQueryScreens-for-reverse-prime.patch deleted file mode 100644 index fe2c9479abf8..000000000000 --- a/Fix-XineramaQueryScreens-for-reverse-prime.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/randr/rrmonitor.c b/randr/rrmonitor.c -index c37dcf8..58041bb 100644 ---- a/randr/rrmonitor.c -+++ b/randr/rrmonitor.c -@@ -326,7 +326,7 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, RRMonitorPtr *monitors_ret, - RRMonitorSetFromClient(pScrPriv->monitors[list.client_primary], mon); - mon++; - } else if (list.server_primary >= 0) { -- RRMonitorSetFromServer(pScrPriv->crtcs[list.server_primary], mon); -+ RRMonitorSetFromServer(list.server_crtc[list.server_primary], mon); - mon++; - } - -@@ -354,8 +354,8 @@ RRMonitorMakeList(ScreenPtr screen, Bool get_active, RRMonitorPtr *monitors_ret, - - /* And finish with the list of crtc-inspired monitors - */ -- for (c = 0; c < pScrPriv->numCrtcs; c++) { -- RRCrtcPtr crtc = pScrPriv->crtcs[c]; -+ for (c = 0; c < list.num_crtcs; c++) { -+ RRCrtcPtr crtc = list.server_crtc[c]; - if (c == list.server_primary && list.client_primary < 0) - continue; - -diff --git a/randr/rroutput.c b/randr/rroutput.c -index d12b9ba..2ba62fa 100644 ---- a/randr/rroutput.c -+++ b/randr/rroutput.c -@@ -543,6 +543,7 @@ ProcRRSetOutputPrimary(ClientPtr client) - WindowPtr pWin; - rrScrPrivPtr pScrPriv; - int ret; -+ ScreenPtr slave; - - REQUEST_SIZE_MATCH(xRRSetOutputPrimaryReq); - -@@ -565,7 +566,18 @@ ProcRRSetOutputPrimary(ClientPtr client) - - pScrPriv = rrGetScrPriv(pWin->drawable.pScreen); - if (pScrPriv) -+ { - RRSetPrimaryOutput(pWin->drawable.pScreen, pScrPriv, output); -+ -+ xorg_list_for_each_entry(slave, -+ &pWin->drawable.pScreen->output_slave_list, -+ output_head) { -+ rrScrPrivPtr pSlavePriv; -+ pSlavePriv = rrGetScrPriv(slave); -+ -+ RRSetPrimaryOutput(slave, pSlavePriv, output); -+ } -+ } - - return Success; - } @@ -3,11 +3,12 @@ # Contributor: AndyRTR <andyrtr@archlinux.org> # Contributor: Jan de Groot <jgc@archlinux.org> +pkgbase=xorg-server-nosystemd pkgname=('xorg-server-nosystemd' 'xorg-server-xephyr-nosystemd' 'xorg-server-xdmx-nosystemd' 'xorg-server-xvfb-nosystemd' 'xorg-server-xnest-nosystemd' 'xorg-server-xwayland-nosystemd' 'xorg-server-common-nosystemd' 'xorg-server-devel-nosystemd') _pkgbase=xorg-server -pkgver=1.18.1 -pkgrel=3 +pkgver=1.18.2 +pkgrel=4 arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org" @@ -21,20 +22,29 @@ makedepends=('pixman' 'libx11' 'mesa-nosystemd' 'mesa-libgl-nosystemd' 'xf86drip source=(${url}/releases/individual/xserver/${_pkgbase}-${pkgver}.tar.bz2{,.sig} xvfb-run xvfb-run.1 - Fix-XineramaQueryScreens-for-reverse-prime.patch) + 0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch + 0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch + 0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A6900000011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') -sha256sums=('85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d' +sha256sums=('022142b07f6477d140dcc915902df326408a53ca3a352426a499f142b25d632d' 'SKIP' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' - 'afc334dfe1f1eb9e557ae01771b0f774c8fc578115e1698462ab670d1b0a213a') + '10c66c10f4f71930e2ac3f6e07881e228ca88542af449d2c69c7744ec87335df' + '72755a652e72144e3f28c8fa959b4a6df5def838db3cde5077a626e97baab591' + '70c84bf1f7cbc818692fb56f57c8b8ef2ea057bc05380b2f797ecba742b7ce31') prepare() { cd "${_pkgbase}-${pkgver}" - # FS#47151 - patch -Np1 -i ../Fix-XineramaQueryScreens-for-reverse-prime.patch + + # Fix red tint in Firefox + patch -Np1 -i ../0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch + # Fix flooding of Xorg log file + patch -Np1 -i ../0001-Xext-vidmode-Reduce-verbosity-of-GetModeLine.patch + # Fix FS#48549 + patch -Np1 -i ../0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch } build() { diff --git a/xorg-server.install b/xorg-server.install index 5fbc7865bca9..46bf5a90ae8a 100644 --- a/xorg-server.install +++ b/xorg-server.install @@ -6,8 +6,8 @@ post_upgrade() { post_install() { cat <<MSG ->>> xorg-server has now the ability to run without root rights. - xserver will fail to run if not launched +>>> xorg-server has now the ability to run without root rights with + the help of systemd-logind. xserver will fail to run if not launched from the same virtual terminal as was used to log in. Without root rights, log files will be in ~/.local/share/xorg/ directory. @@ -15,3 +15,4 @@ post_install() { See Xorg.wrap man page (man xorg.wrap). MSG } + |