summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Carlier2017-01-14 21:23:32 +0100
committerLaurent Carlier2017-01-14 21:23:32 +0100
commitcf87d75ce4fc93e236a73834043943f4b377135c (patch)
tree07fe727131ce4ef3a01aaa9f9149f548040c3be4
downloadaur-cf87d75ce4fc93e236a73834043943f4b377135c.tar.gz
moved from extra
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD39
-rw-r--r--git-fixes.patch72
3 files changed, 137 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..5cf1788c1470
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,26 @@
+pkgbase = xf86-video-savage
+ pkgdesc = X.org savage video driver
+ pkgver = 2.3.8
+ pkgrel = 3
+ url = https://xorg.freedesktop.org/
+ arch = i686
+ arch = x86_64
+ groups = xorg-drivers
+ license = custom
+ makedepends = xorg-server-devel
+ makedepends = X-ABI-VIDEODRV_VERSION=23
+ depends = glibc
+ optdepends = savage-dri: DRI1 support from community repo
+ conflicts = xorg-server<1.19
+ conflicts = X-ABI-VIDEODRV_VERSION<23
+ conflicts = X-ABI-VIDEODRV_VERSION>=24
+ source = https://xorg.freedesktop.org//releases/individual/driver/xf86-video-savage-2.3.8.tar.bz2
+ source = https://xorg.freedesktop.org//releases/individual/driver/xf86-video-savage-2.3.8.tar.bz2.sig
+ source = git-fixes.patch
+ validpgpkeys = 7B27A3F1A6E18CD9588B4AE8310180050905E40C
+ sha256sums = fdcea4a86532bceb50095eaf0fe2f38bbfa160e98463b815f4b549eb9985fa63
+ sha256sums = SKIP
+ sha256sums = 72942e9b26cd6c9da745185778b89487a180871759f5d16f824ec1c307b31eb7
+
+pkgname = xf86-video-savage
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..aa983c247bcf
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 281741 2016-11-21 14:05:18Z lcarlier $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-savage
+pkgver=2.3.8
+pkgrel=3
+pkgdesc="X.org savage video driver"
+arch=(i686 x86_64)
+url="https://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+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')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig}
+ git-fixes.patch)
+sha256sums=('fdcea4a86532bceb50095eaf0fe2f38bbfa160e98463b815f4b549eb9985fa63'
+ 'SKIP'
+ '72942e9b26cd6c9da745185778b89487a180871759f5d16f824ec1c307b31eb7')
+validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C') # Julien Cristau <julien.cristau@ens-lyon.org>
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -Np1 -i ../git-fixes.patch
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/git-fixes.patch b/git-fixes.patch
new file mode 100644
index 000000000000..66fde4647f6f
--- /dev/null
+++ b/git-fixes.patch
@@ -0,0 +1,72 @@
+From de61497415e58a21fa247faf6db180ca47fb5df0 Mon Sep 17 00:00:00 2001
+From: Stefan Dirsch <sndirsch@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 <sndirsch@suse.de>
+Acked-by: Hans de Goede <hdegoede@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 <ajax@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 <ajax@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
+