Date: Monday, November 21, 2016 @ 14:05:18 Author: lcarlier Revision: 281741
upgpkg: xf86-video-savage 2.3.8-3 xorg-server-1.19 rebuild Added: xf86-video-savage/trunk/git-fixes.patch Modified: xf86-video-savage/trunk/PKGBUILD -----------------+ PKGBUILD | 21 ++++++++++----- git-fixes.patch | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 7 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-11-21 13:55:11 UTC (rev 281740) +++ PKGBUILD 2016-11-21 14:05:18 UTC (rev 281741) @@ -3,21 +3,28 @@ pkgname=xf86-video-savage pkgver=2.3.8 -pkgrel=2 +pkgrel=3 pkgdesc="X.org savage video driver" arch=(i686 x86_64) -url="http://xorg.freedesktop.org/" +url="https://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=20') -conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSION>=21') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=23') +conflicts=('xorg-server<1.19' 'X-ABI-VIDEODRV_VERSION<23' 'X-ABI-VIDEODRV_VERSION>=24') optdepends=('savage-dri: DRI1 support from community repo') -groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig}) +groups=('xorg-drivers') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig} + git-fixes.patch) sha256sums=('fdcea4a86532bceb50095eaf0fe2f38bbfa160e98463b815f4b549eb9985fa63' - 'SKIP') + 'SKIP' + '72942e9b26cd6c9da745185778b89487a180871759f5d16f824ec1c307b31eb7') validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C') # Julien Cristau <julien.cris...@ens-lyon.org> +prepare() { + cd ${pkgname}-${pkgver} + patch -Np1 -i ../git-fixes.patch +} + build() { cd ${pkgname}-${pkgver} ./configure --prefix=/usr Added: git-fixes.patch =================================================================== --- git-fixes.patch (rev 0) +++ git-fixes.patch 2016-11-21 14:05:18 UTC (rev 281741) @@ -0,0 +1,72 @@ +From de61497415e58a21fa247faf6db180ca47fb5df0 Mon Sep 17 00:00:00 2001 +From: Stefan Dirsch <sndir...@suse.de> +Date: Wed, 27 Apr 2016 16:02:13 +0200 +Subject: [PATCH 1/2] Disable tiling on SuperSavage by default + +Xserver cannot be started with Tiling enabled on SuperSavage. +https://bugzilla.opensuse.org/show_bug.cgi?id=805380 + +Signed-off-by: Stefan Dirsch <sndir...@suse.de> +Acked-by: Hans de Goede <hdego...@redhat.com> +--- + src/savage_driver.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/savage_driver.c b/src/savage_driver.c +index d278345..58a294d 100644 +--- a/src/savage_driver.c ++++ b/src/savage_driver.c +@@ -1668,7 +1668,11 @@ static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags) + #endif + + /* we can use Option "DisableTile TRUE" to disable tile mode */ +- psav->bDisableTile = FALSE; ++ if (psav->Chipset == S3_SUPERSAVAGE) ++ /* apparently broken with these GPUs, see https://bugzilla.opensuse.org/show_bug.cgi?id=805380 */ ++ psav->bDisableTile = TRUE; ++ else ++ psav->bDisableTile = FALSE; + if (xf86GetOptValBool(psav->Options, OPTION_DISABLE_TILE,&psav->bDisableTile)) { + xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, + "Option: %s Tile Mode and Program it \n",(psav->bDisableTile?"Disable":"Enable")); +-- +2.10.2 + + +From de3e1803314820968502156703d5bfe3fab24972 Mon Sep 17 00:00:00 2001 +From: Adam Jackson <a...@redhat.com> +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: [PATCH 2/2] Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson <a...@redhat.com> +--- + src/compat-api.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/compat-api.h b/src/compat-api.h +index 98ba435..44daea4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -78,11 +78,19 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++ ++#define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result ++#define WAKEUPHANDLER_ARGS arg, result ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask + + #define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer read_mask + #define WAKEUPHANDLER_ARGS arg, result, read_mask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +2.10.2 +