summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-10-12 23:14:40 +0000
committerroot <root@rshg054.dnsready.net>2011-10-12 23:14:40 +0000
commitb79408ae7429f4e5c99582cb55127b6e86b7fdac (patch)
tree022f1f4179bb356f8c94ff00a4a56edbeaa7dc9c /extra
parentf482dc1bd42773a12552e5a60df119410a0d8bd8 (diff)
Wed Oct 12 23:14:40 UTC 2011
Diffstat (limited to 'extra')
-rw-r--r--extra/cyrus-sasl/PKGBUILD5
-rw-r--r--extra/farsight2/PKGBUILD6
-rw-r--r--extra/imagemagick/PKGBUILD8
-rw-r--r--extra/pycups/PKGBUILD8
-rw-r--r--extra/rox/PKGBUILD28
-rw-r--r--extra/rox/rox.desktop5
-rw-r--r--extra/xf86-input-acecad/PKGBUILD15
-rw-r--r--extra/xf86-input-acecad/assign-local-private-after-allocating.patch24
-rw-r--r--extra/xf86-input-aiptek/PKGBUILD8
-rw-r--r--extra/xf86-input-evdev/PKGBUILD8
-rw-r--r--extra/xf86-input-joystick/PKGBUILD16
-rw-r--r--extra/xf86-input-keyboard/PKGBUILD8
-rw-r--r--extra/xf86-input-mouse/PKGBUILD8
-rw-r--r--extra/xf86-input-synaptics/PKGBUILD13
-rw-r--r--extra/xf86-input-void/PKGBUILD8
-rw-r--r--extra/xf86-input-wacom/PKGBUILD8
-rw-r--r--extra/xf86-video-apm/PKGBUILD8
-rw-r--r--extra/xf86-video-ark/PKGBUILD15
-rw-r--r--extra/xf86-video-ark/git-fixes.patch118
-rw-r--r--extra/xf86-video-ast/PKGBUILD11
-rw-r--r--extra/xf86-video-ati/PKGBUILD10
-rw-r--r--extra/xf86-video-chips/PKGBUILD15
-rw-r--r--extra/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch580
-rw-r--r--extra/xf86-video-cirrus/PKGBUILD16
-rw-r--r--extra/xf86-video-dummy/PKGBUILD8
-rw-r--r--extra/xf86-video-fbdev/PKGBUILD8
-rw-r--r--extra/xf86-video-glint/PKGBUILD14
-rw-r--r--extra/xf86-video-i128/PKGBUILD8
-rw-r--r--extra/xf86-video-i740/PKGBUILD8
-rw-r--r--extra/xf86-video-intel/PKGBUILD18
-rw-r--r--extra/xf86-video-mach64/PKGBUILD15
-rw-r--r--extra/xf86-video-mga/PKGBUILD15
-rw-r--r--extra/xf86-video-neomagic/PKGBUILD8
-rw-r--r--extra/xf86-video-nouveau/PKGBUILD8
-rw-r--r--extra/xf86-video-nv/PKGBUILD8
-rw-r--r--extra/xf86-video-openchrome/PKGBUILD23
-rw-r--r--extra/xf86-video-r128/PKGBUILD17
-rw-r--r--extra/xf86-video-r128/git-fixes.patch842
-rw-r--r--extra/xf86-video-rendition/PKGBUILD8
-rw-r--r--extra/xf86-video-s3/PKGBUILD16
-rw-r--r--extra/xf86-video-s3/git-fixes.patch458
-rw-r--r--extra/xf86-video-s3virge/PKGBUILD16
-rw-r--r--extra/xf86-video-savage/PKGBUILD10
-rw-r--r--extra/xf86-video-siliconmotion/PKGBUILD8
-rw-r--r--extra/xf86-video-sis/PKGBUILD8
-rw-r--r--extra/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch25
-rw-r--r--extra/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch91
-rw-r--r--extra/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch65
-rw-r--r--extra/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch32
-rw-r--r--extra/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch38
-rw-r--r--extra/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch25
-rw-r--r--extra/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch89
-rw-r--r--extra/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch249
-rw-r--r--extra/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch45
-rw-r--r--extra/xf86-video-sisimedia/0009-update-for-rac-removal.patch69
-rw-r--r--extra/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch34
-rw-r--r--extra/xf86-video-sisimedia/0011-more-rac-removal.patch13
-rw-r--r--extra/xf86-video-sisimedia/COPYING139
-rw-r--r--extra/xf86-video-sisimedia/PKGBUILD82
-rw-r--r--extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch1376
-rw-r--r--extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch89
-rw-r--r--extra/xf86-video-sisimedia/xserver19.patch30
-rw-r--r--extra/xf86-video-sisusb/PKGBUILD8
-rw-r--r--extra/xf86-video-tdfx/PKGBUILD15
-rw-r--r--extra/xf86-video-trident/PKGBUILD10
-rw-r--r--extra/xf86-video-tseng/PKGBUILD15
-rw-r--r--extra/xf86-video-unichrome/PKGBUILD21
-rw-r--r--extra/xf86-video-v4l/PKGBUILD11
-rw-r--r--extra/xf86-video-vesa/PKGBUILD16
-rw-r--r--extra/xf86-video-voodoo/PKGBUILD8
-rw-r--r--extra/xf86-video-xgi/PKGBUILD14
-rw-r--r--extra/xf86-video-xgi/git-fixes.patch451
-rw-r--r--extra/xf86-video-xgixp/PKGBUILD14
-rw-r--r--extra/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch23
-rw-r--r--extra/xorg-server/PKGBUILD38
-rw-r--r--extra/xorg-server/autoconfig-nvidia.patch75
-rw-r--r--extra/xorg-server/autoconfig-sis.patch19
-rw-r--r--extra/xorg-server/git-fixes.patch288
-rw-r--r--extra/xorg-server/revert-trapezoids.patch179
-rw-r--r--extra/xorg-xdm/PKGBUILD22
-rw-r--r--extra/xorg-xdm/xdm-consolekit.patch225
-rw-r--r--extra/xorg-xinit/PKGBUILD10
82 files changed, 6038 insertions, 388 deletions
diff --git a/extra/cyrus-sasl/PKGBUILD b/extra/cyrus-sasl/PKGBUILD
index f4d80b6a6..a845823a0 100644
--- a/extra/cyrus-sasl/PKGBUILD
+++ b/extra/cyrus-sasl/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 134446 2011-08-03 20:43:28Z jgc $
+# $Id: PKGBUILD 140376 2011-10-11 21:30:12Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# This package spans multiple repositories.
@@ -8,7 +8,7 @@ pkgbase=('cyrus-sasl')
pkgname=('cyrus-sasl' 'cyrus-sasl-gssapi' 'cyrus-sasl-ldap' 'cyrus-sasl-sql')
#pkgname=libsasl
pkgver=2.1.23
-pkgrel=7
+pkgrel=8
pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library"
arch=('i686' 'x86_64')
url="http://cyrusimap.web.cmu.edu/downloads.html#sasl"
@@ -131,7 +131,6 @@ build() {
package_libsasl() {
pkgdesc="Cyrus Simple Authentication Service Layer (SASL) Library"
depends=('openssl')
- provides=('cyrus-sasl-plugins')
conflicts=('cyrus-sasl-plugins')
cd "${srcdir}/cyrus-sasl-${pkgver}"
diff --git a/extra/farsight2/PKGBUILD b/extra/farsight2/PKGBUILD
index 9179c3b38..0a74c8618 100644
--- a/extra/farsight2/PKGBUILD
+++ b/extra/farsight2/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 128061 2011-06-21 14:53:16Z ibiru $
+# $Id: PKGBUILD 140265 2011-10-11 14:15:08Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Contributor: William Díaz <wdiaz@archlinux.us>
pkgname=farsight2
-pkgver=0.0.29
+pkgver=0.0.31
pkgrel=1
pkgdesc="Audio/Video conference software for Instant Messengers"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ depends=('libnice' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good' 'gstreamer0
optdepends=('gstreamer0.10-ugly-plugins: h264 codec')
options=('!libtool' '!emptydirs')
source=(http://farsight.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('276076f65b70236d981c288413572168')
+md5sums=('3771d8268f025b28261cc1e977fab27f')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/imagemagick/PKGBUILD b/extra/imagemagick/PKGBUILD
index a690e1c8a..93a1c16ca 100644
--- a/extra/imagemagick/PKGBUILD
+++ b/extra/imagemagick/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 138489 2011-09-25 02:10:52Z eric $
+# $Id: PKGBUILD 140261 2011-10-11 04:48:20Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgbase=imagemagick
pkgname=('imagemagick' 'imagemagick-doc')
-pkgver=6.7.2.8
+pkgver=6.7.3.0
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.imagemagick.org/"
@@ -12,7 +12,7 @@ depends=('libltdl' 'lcms2' 'libxt' 'bzip2' 'xz' 'fontconfig' 'libxext' 'libjpeg-
makedepends=('ghostscript' 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper' 'libpng')
source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
perlmagick.rpath.patch)
-sha1sums=('227cc36d2a82d438cfb8b34ff1c7049e43d287ea'
+sha1sums=('bbcdb092f6c4cc4c1d29163bef1199e86dd5ab05'
'23405f80904b1de94ebd7bd6fe2a332471b8c283')
build() {
@@ -48,7 +48,7 @@ package_imagemagick() {
'etc/ImageMagick/magic.xml'
'etc/ImageMagick/mime.xml'
'etc/ImageMagick/policy.xml'
- 'etc/ImageMagick/sRGB.icm'
+ 'etc/ImageMagick/sRGB.icc'
'etc/ImageMagick/thresholds.xml'
'etc/ImageMagick/type.xml'
'etc/ImageMagick/type-dejavu.xml'
diff --git a/extra/pycups/PKGBUILD b/extra/pycups/PKGBUILD
index 94c61e43e..22f6911f0 100644
--- a/extra/pycups/PKGBUILD
+++ b/extra/pycups/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 140153 2011-10-07 22:27:20Z eric $
+# $Id: PKGBUILD 140387 2011-10-12 02:51:45Z eric $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: nesl247 <nesl247@gmail.com>
pkgname=pycups
-pkgver=1.9.59
+pkgver=1.9.60
pkgrel=1
pkgdesc="Python CUPS Bindings"
url="http://cyberelk.net/tim/software/pycups/"
@@ -11,8 +11,8 @@ arch=('i686' 'x86_64')
license=('GPL')
depends=('libcups' 'python2')
source=(http://cyberelk.net/tim/data/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.asc})
-md5sums=('636598c3fbf49af8df26ca9afef81559'
- '0ae46bd1db1bf6414cb1ff11ef24d678')
+md5sums=('083f3dd657df986e712a6fae36427457'
+ 'cda91ca46362ba3423df2f08c33de5cb')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/rox/PKGBUILD b/extra/rox/PKGBUILD
index 799ad8d43..e8f231f4e 100644
--- a/extra/rox/PKGBUILD
+++ b/extra/rox/PKGBUILD
@@ -1,28 +1,26 @@
-# $Id: PKGBUILD 127760 2011-06-18 07:02:05Z eric $
+# $Id: PKGBUILD 140263 2011-10-11 07:46:57Z eric $
# Maintainer: tobias <tobias@archlinux.org>
# Contributor: Jochem Kossen <j.kossen@home.nl>
pkgname=rox
-pkgver=2.10
-pkgrel=2
+pkgver=2.11
+pkgrel=1
pkgdesc="A small and fast file manager which can optionally manage the desktop background and panels"
arch=('i686' 'x86_64')
-license=('GPL2')
+license=('GPL')
url="http://roscidus.com/desktop/"
-depends=('sh' 'libsm' 'libglade')
-makedepends=('librsvg' 'python')
-source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/rox-filer-${pkgver}.tar.bz2 \
- rox.desktop rox.svg rox.sh right-click.diff)
-md5sums=('28e8494c9af783258ff86c830f8f0062'
- '80e7a90e9d58375b25494fbdc01a05bd'
+depends=('sh' 'libsm' 'gtk2')
+makedepends=('librsvg' 'python2')
+source=("http://downloads.sourceforge.net/${pkgname}/rox-filer-${pkgver}.tar.bz2"
+ 'rox.desktop' 'rox.svg' 'rox.sh')
+md5sums=('0eebf05a67f7932367750ebf9faf215d'
+ 'de05c906395abd4402b0470c1bc2ae6e'
'658c8648b51e215558e13e6afb2b5c76'
- '31578a90b241f0a8d09c9f8587608d00'
- '2b2105a33070ac09a6352c29a5a17e4e')
+ '31578a90b241f0a8d09c9f8587608d00')
build() {
- cd "${srcdir}/rox-filer-${pkgver}/ROX-Filer"
- patch -p2 -i "${srcdir}/right-click.diff"
- ./AppRun --compile
+ cd "${srcdir}/rox-filer-${pkgver}"
+ ./ROX-Filer/AppRun --compile
# finally we render a png as fallback for svg unaware menu applications
# Attention: always make sure you check the dimensions of the source-svg,
# you can read the dimensions via inkscape's export function
diff --git a/extra/rox/rox.desktop b/extra/rox/rox.desktop
index b1a2014f7..93edfabcf 100644
--- a/extra/rox/rox.desktop
+++ b/extra/rox/rox.desktop
@@ -1,10 +1,7 @@
[Desktop Entry]
Name=ROX Filer
-Comment=ROX Filer
Exec=rox
Icon=rox
Terminal=false
-MultipleArgs=false
Type=Application
-Categories=Application;FileManager;
-
+Categories=System;Utility;Core;FileManager;
diff --git a/extra/xf86-input-acecad/PKGBUILD b/extra/xf86-input-acecad/PKGBUILD
index 9ec6a2995..49eb109fe 100644
--- a/extra/xf86-input-acecad/PKGBUILD
+++ b/extra/xf86-input-acecad/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 123257 2011-05-09 13:44:31Z jgc $
+# $Id: PKGBUILD 140352 2011-10-11 21:29:41Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-acecad
pkgver=1.5.0
-pkgrel=1
+pkgrel=2
pkgdesc="X.Org acecad tablet input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('sysfsutils')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('410cee68e4435dc95774fb389fcefae1b2ffe3d1')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ assign-local-private-after-allocating.patch)
+sha1sums=('410cee68e4435dc95774fb389fcefae1b2ffe3d1'
+ '9301020b0ef3c6f2081e957481a88d2e187a7973')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/assign-local-private-after-allocating.patch"
./configure --prefix=/usr
make
}
diff --git a/extra/xf86-input-acecad/assign-local-private-after-allocating.patch b/extra/xf86-input-acecad/assign-local-private-after-allocating.patch
new file mode 100644
index 000000000..e3e635a6f
--- /dev/null
+++ b/extra/xf86-input-acecad/assign-local-private-after-allocating.patch
@@ -0,0 +1,24 @@
+From ec2c4ead497133ef20d5ef5a9b481b38e1e0f7a2 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 27 Jun 2011 03:13:54 +0000
+Subject: Assign local->private after allocating.
+
+It is detrimental to the user experience when the driver tries to derefernce
+null pointers.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+diff --git a/src/acecad.c b/src/acecad.c
+index ad6d793..604fe91 100644
+--- a/src/acecad.c
++++ b/src/acecad.c
+@@ -343,6 +343,7 @@ AceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+ return BadAlloc;
+
+ memset(priv, 0, sizeof(AceCadPrivateRec));
++ local->private = priv;
+
+ local->device_control = DeviceControl;
+
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/xf86-input-aiptek/PKGBUILD b/extra/xf86-input-aiptek/PKGBUILD
index 0ed562321..dd0075860 100644
--- a/extra/xf86-input-aiptek/PKGBUILD
+++ b/extra/xf86-input-aiptek/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 130860 2011-07-08 13:07:09Z andyrtr $
+# $Id: PKGBUILD 140354 2011-10-11 21:29:43Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-aiptek
pkgver=1.4.1
-pkgrel=1
+pkgrel=2
pkgdesc="X.Org Aiptek USB Digital Tablet input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-input-evdev/PKGBUILD b/extra/xf86-input-evdev/PKGBUILD
index cd181ad42..47296c598 100644
--- a/extra/xf86-input-evdev/PKGBUILD
+++ b/extra/xf86-input-evdev/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 115269 2011-03-17 16:14:58Z andyrtr $
+# $Id: PKGBUILD 140356 2011-10-11 21:29:45Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <Alexander@archlinux.org
pkgname=xf86-input-evdev
pkgver=2.6.0
-pkgrel=3
+pkgrel=4
pkgdesc="X.org evdev input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool' '!makeflags')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-input-joystick/PKGBUILD b/extra/xf86-input-joystick/PKGBUILD
index b6ffda70b..f908ac10f 100644
--- a/extra/xf86-input-joystick/PKGBUILD
+++ b/extra/xf86-input-joystick/PKGBUILD
@@ -1,24 +1,22 @@
-# $Id: PKGBUILD 120502 2011-04-24 14:51:16Z jgc $
+# $Id: PKGBUILD 140358 2011-10-11 21:29:48Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-joystick
pkgver=1.6.0
-pkgrel=1
+pkgrel=2
pkgdesc="X.Org Joystick input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- 50-joystick.conf
- LICENSE)
+ 50-joystick.conf)
sha1sums=('3b9aed1b8128e1fbd947fdcdd5e16efccad1c780'
- 'e1ff3699a0470c6bb78a53f718df9d8521621e11'
- 'ee4c79491b36a680ed9d86f5fc41ae447f26353e')
+ 'e1ff3699a0470c6bb78a53f718df9d8521621e11')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -35,5 +33,5 @@ package() {
install -m644 "${srcdir}/50-joystick.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-input-keyboard/PKGBUILD b/extra/xf86-input-keyboard/PKGBUILD
index 74318a046..18915c806 100644
--- a/extra/xf86-input-keyboard/PKGBUILD
+++ b/extra/xf86-input-keyboard/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115452 2011-03-18 08:08:01Z andyrtr $
+# $Id: PKGBUILD 140360 2011-10-11 21:29:51Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-keyboard
pkgver=1.6.0
-pkgrel=2
+pkgrel=3
pkgdesc="X.Org keyboard input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-input-mouse/PKGBUILD b/extra/xf86-input-mouse/PKGBUILD
index 6d96d55e9..56f28ff52 100644
--- a/extra/xf86-input-mouse/PKGBUILD
+++ b/extra/xf86-input-mouse/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 130850 2011-07-08 12:58:03Z andyrtr $
+# $Id: PKGBUILD 140362 2011-10-11 21:29:54Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-mouse
pkgver=1.7.1
-pkgrel=1
+pkgrel=2
pkgdesc="X.org mouse input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-input-synaptics/PKGBUILD b/extra/xf86-input-synaptics/PKGBUILD
index 52979a01c..327a31176 100644
--- a/extra/xf86-input-synaptics/PKGBUILD
+++ b/extra/xf86-input-synaptics/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 130717 2011-07-07 22:08:11Z andyrtr $
+# $Id: PKGBUILD 140364 2011-10-11 21:29:57Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Thomas Bächler <thomas@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-input-synaptics
-pkgver=1.4.1
+pkgver=1.5.0
pkgrel=1
pkgdesc="Synaptics driver for notebook touchpads"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('libxtst')
-makedepends=('xorg-server-devel' 'libxi' 'libx11')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libxi' 'libx11')
+conflicts=('xorg-server<1.10.99.902')
replaces=('synaptics')
provides=('synaptics')
conflicts=('synaptics')
@@ -22,7 +22,7 @@ options=(!libtool)
backup=('etc/X11/xorg.conf.d/10-synaptics.conf')
source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
10-synaptics.conf)
-sha1sums=('e41201476f4bc8658291808d2d6ef2e0535179ae'
+sha1sums=('7373c1e3f02bf7e18f71b65762a982d907b4a053'
'68e1f4ef5e1038231d210eb422fa4d18c5922f0f')
build() {
@@ -30,6 +30,7 @@ build() {
./configure --prefix=/usr
make
}
+
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-input-void/PKGBUILD b/extra/xf86-input-void/PKGBUILD
index 004bf14a9..312657dc5 100644
--- a/extra/xf86-input-void/PKGBUILD
+++ b/extra/xf86-input-void/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 123252 2011-05-09 13:38:43Z jgc $
+# $Id: PKGBUILD 140368 2011-10-11 21:30:01Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-void
pkgver=1.4.0
-pkgrel=1
+pkgrel=2
pkgdesc="X.org void input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-input-wacom/PKGBUILD b/extra/xf86-input-wacom/PKGBUILD
index e9016a5c6..47d75a2e2 100644
--- a/extra/xf86-input-wacom/PKGBUILD
+++ b/extra/xf86-input-wacom/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 135826 2011-08-19 02:23:54Z heftig $
+# $Id: PKGBUILD 140370 2011-10-11 21:30:03Z jgc $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: M Rawash <mrawash@gmail.com>
pkgname=xf86-input-wacom
pkgver=0.11.1
-pkgrel=2
+pkgrel=3
pkgdesc="X.Org Wacom tablet driver"
arch=('i686' 'x86_64')
url="http://linuxwacom.sourceforge.net/"
license=('GPL')
backup=('etc/X11/xorg.conf.d/50-wacom.conf')
depends=('libxi' 'libxrandr')
-makedepends=('xorg-server-devel' 'libxext' 'libxi')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libxext' 'libxi')
+conflicts=('xorg-server<1.10.99.902')
options=(!libtool)
source=(http://downloads.sourceforge.net/project/linuxwacom/${pkgname}/${pkgname}-${pkgver}.tar.bz2
70-wacom.rules)
diff --git a/extra/xf86-video-apm/PKGBUILD b/extra/xf86-video-apm/PKGBUILD
index 649a8d7ae..c15e421d8 100644
--- a/extra/xf86-video-apm/PKGBUILD
+++ b/extra/xf86-video-apm/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115281 2011-03-17 16:59:19Z andyrtr $
+# $Id: PKGBUILD 140350 2011-10-11 21:29:39Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-apm
pkgver=1.2.3
-pkgrel=3
+pkgrel=4
pkgdesc="X.org Alliance ProMotion video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-ark/PKGBUILD b/extra/xf86-video-ark/PKGBUILD
index c924c8b8d..9f07d6a0c 100644
--- a/extra/xf86-video-ark/PKGBUILD
+++ b/extra/xf86-video-ark/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 115284 2011-03-17 17:01:41Z andyrtr $
+# $Id: PKGBUILD 140348 2011-10-11 21:29:38Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-ark
pkgver=0.7.3
-pkgrel=3
+pkgrel=4
pkgdesc="X.org ark video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('56901ec6097a83433689f208268281f9c98c238b')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('56901ec6097a83433689f208268281f9c98c238b'
+ 'f62cdc7995e9b64c9105382ccfa842732fa81309')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-ark/git-fixes.patch b/extra/xf86-video-ark/git-fixes.patch
new file mode 100644
index 000000000..2de0f64be
--- /dev/null
+++ b/extra/xf86-video-ark/git-fixes.patch
@@ -0,0 +1,118 @@
+From 9d3769bed020e9796e51411c63de337da5073bb4 Mon Sep 17 00:00:00 2001
+From: Ondrej Zary <linux@rainbow-software.org>
+Date: Sat, 04 Dec 2010 00:23:51 +0000
+Subject: Don't assume that FB address registers are initialized properly
+
+https://bugs.freedesktop.org/show_bug.cgi?id=28249
+
+ark driver does not work with Hercules Stingray 64 card (ark2000pv).
+X fails to start with:
+
+[...]
+(II) ark(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is
+0x0000
+(II) ark(0): Creating default Display subsection in Screen section
+ "Default Screen Section" for depth/fbbpp 24/32
+(==) ark(0): Depth 24, (--) framebuffer bpp 32
+(==) ark(0): RGB weight 888
+(==) ark(0): Default visual is TrueColor
+(**) ark(0): Chipset: "ark2000pv"
+(--) ark(0): Framebuffer @ 0xe5e50000
+(==) ark(0): Using gamma correction (1.0, 1.0, 1.0)
+(--) ark(0): Detected 2048 bytes video ram
+[...]
+Fatal server error:
+AddScreen/ScreenInit failed for driver 0
+
+Comparing with lspci, the framebuffer address is wrong:
+00:0f.0 VGA compatible controller: ARK Logic Inc 2000PV [Stingray] (prog-if 00 [VGA controller])
+ Flags: medium devsel
+ Memory at e5000000 (32-bit, prefetchable) [size=4M]
+ [virtual] Expansion ROM at 1c000000 [disabled] [size=64K]
+
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/ark.h b/src/ark.h
+index de301dc..077f93b 100644
+--- a/src/ark.h
++++ b/src/ark.h
+@@ -34,7 +34,6 @@ typedef struct _ARKRec {
+ #endif
+ EntityInfoPtr pEnt;
+ CARD32 IOAddress;
+- CARD32 FBAddress;
+ unsigned char * FBBase;
+ unsigned char * MMIOBase;
+ unsigned long videoRam;
+diff --git a/src/ark_driver.c b/src/ark_driver.c
+index 5de3b9a..fec3e1a 100644
+--- a/src/ark_driver.c
++++ b/src/ark_driver.c
+@@ -363,14 +363,14 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
+ outb(hwp->PIOOffset + hwp->IOBase + 5, tmp & 0x7f);
+ modinx(hwp->PIOOffset + 0x3c4, 0x1d, 0x01, 0x01);
+
+- /* use membase's later on ??? */
+- pARK->FBAddress = (rdinx(hwp->PIOOffset + 0x3c4, 0x13) << 16) +
+- (rdinx(hwp->PIOOffset + 0x3c4, 0x14) << 24);
+-
+- pScrn->memPhysBase = pARK->FBAddress;
++#ifndef XSERVER_LIBPCIACCESS
++ pScrn->memPhysBase = pARK->PciInfo->memBase[0];
++#else
++ pScrn->memPhysBase = pARK->PciInfo->regions[0].base_addr;
++#endif
+
+ xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%lx\n",
+- (unsigned long)pARK->FBAddress);
++ (unsigned long)pScrn->memPhysBase);
+
+ if (!xf86SetGamma(pScrn, gzeros))
+ return FALSE;
+@@ -748,8 +748,13 @@ static Bool ARKModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ new->sr10 = rdinx(isaIOBase + 0x3c4, 0x10) & ~0x1f;
+ new->sr10 |= 0x1f;
+
+- new->sr13 = pARK->FBAddress >> 16;
+- new->sr14 = pARK->FBAddress >> 24;
++#ifndef XSERVER_LIBPCIACCESS
++ new->sr13 = pARK->PciInfo->memBase[0] >> 16;
++ new->sr14 = pARK->PciInfo->memBase[0] >> 24;
++#else
++ new->sr13 = pARK->PciInfo->regions[0].base_addr >> 16;
++ new->sr14 = pARK->PciInfo->regions[0].base_addr >> 24;
++#endif
+
+ new->sr12 = rdinx(isaIOBase + 0x3c4, 0x12) & ~0x03;
+ switch (pScrn->videoRam) {
+@@ -1022,7 +1027,7 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
+ pARK->PciTag, 0xb8000, 0x8000);
+
+ pARK->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
+- pARK->PciTag, pARK->FBAddress,
++ pARK->PciTag, pARK->PciInfo->memBase[0],
+ pScrn->videoRam * 1024);
+ #else
+
+@@ -1032,14 +1037,17 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
+ {
+ void** result = (void**)&pARK->FBBase;
+ int err = pci_device_map_range(pARK->PciInfo,
+- pARK->FBAddress,
++ pARK->PciInfo->regions[0].base_addr,
+ pScrn->videoRam * 1024,
+ PCI_DEV_MAP_FLAG_WRITABLE |
+ PCI_DEV_MAP_FLAG_WRITE_COMBINE,
+ result);
+
+- if (err)
++ if (err) {
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++ "Cound not map framebuffer: %d\n", err);
+ return FALSE;
++ }
+ }
+ #endif
+
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/extra/xf86-video-ast/PKGBUILD b/extra/xf86-video-ast/PKGBUILD
index 46183729c..a51fd704b 100644
--- a/extra/xf86-video-ast/PKGBUILD
+++ b/extra/xf86-video-ast/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 115287 2011-03-17 17:04:02Z andyrtr $
+# $Id: PKGBUILD 140346 2011-10-11 21:29:36Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-ast
-pkgver=0.91.10
-pkgrel=3
+pkgver=0.93.9
+pkgrel=1
pkgdesc="X.org ASPEED AST Graphics video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('a90624e63f33fdcb50ccefcdeebb34052f341ef3')
+sha1sums=('424cc93d0300e49a882199c0546425f223b3b4bd')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/xf86-video-ati/PKGBUILD b/extra/xf86-video-ati/PKGBUILD
index c10416455..2ce7078b7 100644
--- a/extra/xf86-video-ati/PKGBUILD
+++ b/extra/xf86-video-ati/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 125569 2011-05-26 19:49:03Z andyrtr $
+# $Id: PKGBUILD 140344 2011-10-11 21:29:33Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-ati
pkgver=6.14.2
-pkgrel=1
+pkgrel=2
pkgdesc="X.org ati video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=(libpciaccess libdrm udev pixman ati-dri)
-makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('111ec4aef32a4298df7e38afa8bef373')
+sha1sums=('2733b3c126ad9e082ea18b7e7663d6d87fce4d49')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/xf86-video-chips/PKGBUILD b/extra/xf86-video-chips/PKGBUILD
index 655847922..f558899d2 100644
--- a/extra/xf86-video-chips/PKGBUILD
+++ b/extra/xf86-video-chips/PKGBUILD
@@ -1,24 +1,27 @@
-# $Id: PKGBUILD 115295 2011-03-17 17:13:45Z andyrtr $
+# $Id: PKGBUILD 140342 2011-10-11 21:29:31Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-chips
pkgver=1.2.4
-pkgrel=2
+pkgrel=3
pkgdesc="X.org Chips and Technologies video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=(glibc)
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('71f474335d05f93b2451a7a0750c4409669641a4')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ gut-overlay-8-16-support-from-driver.patch)
+sha1sums=('71f474335d05f93b2451a7a0750c4409669641a4'
+ 'f6a635196118dacb73fad980571b390849963b3d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/gut-overlay-8-16-support-from-driver.patch"
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch b/extra/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch
new file mode 100644
index 000000000..b9c832238
--- /dev/null
+++ b/extra/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch
@@ -0,0 +1,580 @@
+From e4bd864898fd276a62dac05cdfff394e98434f02 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 29 Mar 2011 03:53:31 +0000
+Subject: chips: gut the overlay 8/16 support from driver.
+
+This driver is for chips that were bought by Intel in 1997,
+this feature means maintaining a lot of code in the X server
+for little gain.
+
+Drop it like its hot.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/man/chips.man b/man/chips.man
+index 740af38..0c022ee 100644
+--- a/man/chips.man
++++ b/man/chips.man
+@@ -165,9 +165,6 @@ Force the use of memory mapped IO where it can be used. Default: off
+ Force driver to leave centering and stretching registers alone. This
+ can fix some laptop suspend/resume problems. Default: off
+ .TP
+-.BI "Option \*qOverlay\*q"
+-Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off.
+-.TP
+ .BI "Option \*qColorKey\*q \*q" integer \*q
+ Set the colormap index used for the transparency key for the depth 8 plane
+ when operating in 8+16 overlay mode. The value must be in the range
+diff --git a/src/ct_accel.c b/src/ct_accel.c
+index 3920b0a..4b5776a 100644
+--- a/src/ct_accel.c
++++ b/src/ct_accel.c
+@@ -428,19 +428,7 @@ chips_imagewrite:
+ infoPtr->ImageWriteFlags |= NO_PLANEMASK;
+ #endif
+
+-
+-#ifdef CHIPS_HIQV
+- if (XAAInit(pScreen, infoPtr)) {
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- return(XAAInitDualFramebufferOverlay(pScreen,
+- CTNAME(DepthChange)));
+- else
+- return TRUE;
+- } else
+- return FALSE;
+-#else
+ return(XAAInit(pScreen, infoPtr));
+-#endif
+ }
+
+ #ifdef CHIPS_HIQV
+@@ -1243,11 +1231,6 @@ CTNAME(SubsequentScreenToScreenColorExpandFill)(ScrnInfoPtr pScrn,
+ #endif
+ w *= cAcl->BytesPerPixel;
+ ctBLTWAIT;
+-#ifdef CHIPS_HIQV
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16) &&
+- (pScrn->depth == 8))
+- ctSETPITCH(cAcl->PitchInBytes << 1, cAcl->PitchInBytes);
+-#endif
+ ctSETSRCADDR(srcaddr);
+ ctSETDSTADDR(destaddr);
+ #ifdef CHIPS_HIQV
+@@ -1271,10 +1254,6 @@ CTNAME(SetupForColor8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty,
+ patternaddr = (paty * pScrn->displayWidth +
+ (patx & ~0x3F)) * cAcl->BytesPerPixel;
+ cAcl->patternyrot = (patx & 0x3F) >> 3;
+-#ifdef CHIPS_HIQV
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- patternaddr += cPtr->FbOffset16;
+-#endif
+
+ ctBLTWAIT;
+ ctSETPATSRCADDR(patternaddr);
+@@ -1338,10 +1317,7 @@ CTNAME(SetupForMono8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty,
+
+ #ifdef CHIPS_HIQV
+ patternaddr = paty * pScrn->displayWidth + patx;
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- patternaddr = patternaddr * 2 + cPtr->FbOffset16;
+- else
+- patternaddr *= cAcl->BytesPerPixel;
++ patternaddr *= cAcl->BytesPerPixel;
+ #else
+ patternaddr = (paty * pScrn->displayWidth + patx) * cAcl->BytesPerPixel;
+ #endif
+@@ -1593,10 +1569,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
+ dwords = (((skipleft + bytesPerLine + 0x7) & ~0x7)) >> 2;
+ destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
+ destpitch = pScrn->displayWidth * (bpp >> 3);
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
+- destaddr += cPtr->FbOffset16;
+- else
+- destaddr += cAcl->FbOffset;
++ destaddr += cAcl->FbOffset;
+
+ ctBLTWAIT;
+
+@@ -1681,10 +1654,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
+ y++;
+
+ destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
+- destaddr += cPtr->FbOffset16;
+- else
+- destaddr += cAcl->FbOffset;
++ destaddr += cAcl->FbOffset;
+
+ ctBLTWAIT;
+ ctSETDSTADDR(destaddr);
+@@ -1717,10 +1687,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
+ dwords = (((bytesPerLine + 0x7) & ~0x7)) >> 2;
+ srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
+ srcpitch = pScrn->displayWidth * (bpp >> 3);
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
+- srcaddr += cPtr->FbOffset16;
+- else
+- srcaddr += cAcl->FbOffset;
++ srcaddr += cAcl->FbOffset;
+
+ ctBLTWAIT;
+ ctSETROP( ctDSTSYSTEM | ctLEFT2RIGHT | ctTOP2BOTTOM |
+@@ -1755,10 +1722,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
+ dst += dstwidth;
+ y++;
+ srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
+- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
+- srcaddr += cPtr->FbOffset16;
+- else
+- srcaddr += cAcl->FbOffset;
++ srcaddr += cAcl->FbOffset;
+ ctBLTWAIT;
+ ctSETSRCADDR(srcaddr);
+ ctSETHEIGHTWIDTHGO(h, bytesPerLine);
+diff --git a/src/ct_driver.c b/src/ct_driver.c
+index 6624b79..08df050 100644
+--- a/src/ct_driver.c
++++ b/src/ct_driver.c
+@@ -1639,55 +1639,15 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
+ }
+ }
+
+- if ((s = xf86GetOptValString(cPtr->Options, OPTION_OVERLAY))) {
+- if (!*s || !xf86NameCmp(s, "8,16") || !xf86NameCmp(s, "16,8")) {
+- if (pScrn->bitsPerPixel == 16) {
+- if (cPtr->Flags & ChipsLinearSupport) {
+- cPtr->Flags |= ChipsOverlay8plus16;
+- if(!xf86GetOptValInteger(
+- cPtr->Options, OPTION_COLOR_KEY, &(pScrn->colorKey)))
+- pScrn->colorKey = TRANSPARENCY_KEY;
+- pScrn->overlayFlags = OVERLAY_8_16_DUALFB;
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "PseudoColor overlay enabled.\n");
+- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_STRETCH))
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- " - Forcing option \"Stretch\" \"ON\".\n");
+- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_CENTER))
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- " - Forcing option \"LcdCenter\" \"OFF\".\n");
+- if (cPtr->Flags & ChipsShadowFB) {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- " - Disabling \"Shadow Framebuffer\".\n");
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- " Not support with option \"8Plus16\".\n");
+- cPtr->Flags &= ~ChipsShadowFB;
+- cPtr->Rotate = 0;
+- }
+- } else {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Option \"Overlay\" ignored. Not supported without linear addressing\n");
+- }
+- } else {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- "Option \"Overlay\" is not supported in this configuration\n");
+- }
+- } else {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- "\"%s\" is not a valid value for Option \"Overlay\"\n", s);
+- }
+- }
+-
+- if (!(cPtr->Flags & ChipsOverlay8plus16)) {
+- if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY,
+- &(cPtr->videoKey))) {
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
++ if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY,
++ &(cPtr->videoKey))) {
++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
+ cPtr->videoKey);
+- } else {
+- cPtr->videoKey = (1 << pScrn->offset.red) |
++ } else {
++ cPtr->videoKey = (1 << pScrn->offset.red) |
+ (1 << pScrn->offset.green) |
+ (((pScrn->mask.blue >> pScrn->offset.blue) - 1)
+ << pScrn->offset.blue);
+- }
+ }
+
+ if (cPtr->Flags & ChipsShadowFB) {
+@@ -2335,28 +2295,16 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
+ /* and 32bits on the others. Thus multiply by a suitable factor */
+ if (cPtr->Flags & Chips64BitMemory) {
+ if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD))
+- if (cPtr->Flags & ChipsOverlay8plus16 )
+- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4);
+- else
+ cPtr->MaxClock = min(cPtr->MaxClock,
+ MemClk->Clk * 8 * 0.7 / (bytesPerPixel + 1));
+ else
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 3);
+- else
+ cPtr->MaxClock = min(cPtr->MaxClock,
+ MemClk->Clk * 8 * 0.7 / bytesPerPixel);
+ } else {
+ if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD))
+- if (cPtr->Flags & ChipsOverlay8plus16 )
+- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 4);
+- else
+ cPtr->MaxClock = min(cPtr->MaxClock,
+ MemClk->Clk * 4 * 0.7 / (bytesPerPixel + 1));
+ else
+- if (cPtr->Flags & ChipsOverlay8plus16)
+- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 3);
+- else
+ cPtr->MaxClock = min(cPtr->MaxClock,
+ MemClk->Clk * 4 * 0.7 / bytesPerPixel);
+ }
+@@ -3736,8 +3684,7 @@ CHIPSEnterVT(int scrnIndex, int flags)
+ /* Should we re-save the text mode on each VT enter? */
+ if(!chipsModeInit(pScrn, pScrn->currentMode))
+ return FALSE;
+- if ((!(cPtr->Flags & ChipsOverlay8plus16))
+- && (cPtr->Flags & ChipsVideoSupport)
++ if ((cPtr->Flags & ChipsVideoSupport)
+ && (cPtr->Flags & ChipsLinearSupport))
+ CHIPSResetVideo(pScrn);
+
+@@ -3788,8 +3735,7 @@ chipsLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
+ int i, index, shift ;
+ CHIPSEntPtr cPtrEnt;
+
+- shift = ((pScrn->depth == 15) &&
+- (!(cPtr->Flags & ChipsOverlay8plus16))) ? 3 : 0;
++ shift = (pScrn->depth == 15) ? 3 : 0;
+
+ if (cPtr->UseDualChannel) {
+ cPtrEnt = xf86GetEntityPrivate(pScrn->entityList[0],
+@@ -3895,18 +3841,6 @@ chipsLoadPalette16(ScrnInfoPtr pScrn, int numColors, int *indices,
+ hwp->disablePalette(hwp);
+ }
+
+-static Bool
+-cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8,
+- int xsize, int ysize, int dpix, int dpiy,
+- int width16, int width8)
+-{
+- return
+- (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize,
+- dpix, dpiy, width16, width8, 16, 8) &&
+- fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize,
+- dpix, dpiy, width16, width8, 16, 8, 16, 8));
+-}
+-
+ /* Mandatory */
+ static Bool
+ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+@@ -3947,22 +3881,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ if (!chipsMapMem(pScrn))
+ return FALSE;
+
+- /* Setup a pointer to the overlay if needed */
+- if (cPtr->Flags & ChipsOverlay8plus16) {
+- cPtr->FbOffset16 = pScrn->displayWidth * pScrn->virtualY;
+- cPtr->FbSize16 = (pScrn->displayWidth << 1) * pScrn->virtualY;
+- if (cPtr->FbSize16 > (cPtr->FbMapSize - cPtr->FrameBufferSize)) {
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "Too little memory for overlay. Disabling.\n");
+- cPtr->Flags &= ~ChipsOverlay8plus16;
+- }
+- if ((pScrn->displayWidth > 1024) || (pScrn->virtualY > 1024)) {
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "Max overlay Width/Height 1024 pixels. Disabling.\n");
+- cPtr->Flags &= ~ChipsOverlay8plus16;
+- }
+- }
+-
+ /* Setup the MMIO register access functions if need */
+ if (cPtr->UseFullMMIO && cPtr->MMIOBaseVGA) {
+ CHIPSSetMmioExtFuncs(cPtr);
+@@ -4035,18 +3953,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ miClearVisualTypes();
+
+ /* Setup the visuals we support. */
+- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)){
+- if (!miSetVisualTypes(8, PseudoColorMask | GrayScaleMask,
+- pScrn->rgbBits, PseudoColor))
+- return FALSE;
+- if (!miSetVisualTypes(16, TrueColorMask, pScrn->rgbBits, TrueColor))
+- return FALSE;
+- } else {
+- if (!miSetVisualTypes(pScrn->depth,
++ if (!miSetVisualTypes(pScrn->depth,
+ miGetDefaultVisualMask(pScrn->depth),
+ pScrn->rgbBits, pScrn->defaultVisual))
+- return FALSE;
+- }
++ return FALSE;
+ miSetPixmapDepths ();
+
+ /*
+@@ -4090,13 +4000,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ break;
+ #endif
+ case 16:
+- if (cPtr->Flags & ChipsOverlay8plus16) {
+- ret = cfb8_16ScreenInit(pScreen, (unsigned char *)FBStart +
+- cPtr->FbOffset16, FBStart, width,
+- height, pScrn->xDpi, pScrn->yDpi,
+- displayWidth, displayWidth);
+- break;
+- }
+ default:
+ ret = fbScreenInit(pScreen, FBStart,
+ width,height,
+@@ -4244,9 +4147,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ if (pScrn->bitsPerPixel < 8)
+ freespace = allocatebase - pScrn->displayWidth *
+ pScrn->virtualY / 2;
+- else if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16))
+- freespace = allocatebase - pScrn->displayWidth *
+- pScrn->virtualY - cPtr->FbSize16;
+ else
+ freespace = allocatebase - pScrn->displayWidth *
+ pScrn->virtualY * (pScrn->bitsPerPixel >> 3);
+@@ -4369,9 +4269,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ AvailFBArea.y2 = cAcl->CacheEnd /
+ (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3));
+
+- if (!(cPtr->Flags & ChipsOverlay8plus16)) {
+- xf86InitFBManager(pScreen, &AvailFBArea);
+- }
++ xf86InitFBManager(pScreen, &AvailFBArea);
+ }
+ if (cPtr->Flags & ChipsAccelSupport) {
+ if (IS_HiQV(cPtr)) {
+@@ -4425,16 +4323,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ if (!miCreateDefColormap(pScreen))
+ return FALSE;
+
+- if ((cPtr->Flags & ChipsOverlay8plus16) && (pScrn->bitsPerPixel == 16)) {
+- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, chipsLoadPalette,
+- NULL, CMAP_RELOAD_ON_MODE_SWITCH))
+- return FALSE;
+- } else {
+- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits,
++ if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits,
+ (pScrn->depth == 16 ? chipsLoadPalette16 : chipsLoadPalette),
+ NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR))
+- return FALSE;
+- }
++ return FALSE;
+
+ #ifndef XSERVER_LIBPCIACCESS
+ racflag = RAC_COLORMAP;
+@@ -4448,8 +4340,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ xf86SetSilkenMouse(pScreen);
+ #endif
+
+- if ((!(cPtr->Flags & ChipsOverlay8plus16))
+- && (cPtr->Flags & ChipsVideoSupport)
++ if ((cPtr->Flags & ChipsVideoSupport)
+ && (cPtr->Flags & ChipsLinearSupport)) {
+ CHIPSInitVideo(pScreen);
+ }
+@@ -4522,10 +4413,7 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags)
+ Base >>= 3;
+ break;
+ case 16:
+- if (!(cPtr->Flags & ChipsOverlay8plus16))
+- Base >>= 1;
+- else
+- Base >>= 2;
++ Base >>= 1;
+ break;
+ case 24:
+ if (!IS_HiQV(cPtr))
+@@ -4581,14 +4469,6 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags)
+ cPtr->writeMSS(cPtr, hwp, MSS);
+ }
+
+- if (cPtr->Flags & ChipsOverlay8plus16) {
+- Base = (Base << 3) & ~(unsigned long)0xF;
+-
+- cPtr->writeMR(cPtr, 0x22, (cPtr->FbOffset16 + Base) & 0xF8);
+- cPtr->writeMR(cPtr, 0x23, ((cPtr->FbOffset16 + Base) >> 8) & 0xFF);
+- cPtr->writeMR(cPtr, 0x24, ((cPtr->FbOffset16 + Base) >> 16) & 0xFF);
+- }
+-
+ }
+
+ /* Mandatory */
+@@ -4652,13 +4532,6 @@ CHIPSValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
+ ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ CHIPSPtr cPtr = CHIPSPTR(pScrn);
+
+- if (flags & MODECHECK_FINAL) {
+- /* Don't subtract FrambufferSize here as it should be subtracted already */
+- if ((cPtr->Flags & ChipsOverlay8plus16)
+- && ((pScrn->videoRam<<10) - pScrn->displayWidth * 3 * pScrn->virtualY
+- < 0))
+- return MODE_MEM;
+- }
+ /* The tests here need to be expanded */
+ if ((mode->Flags & V_INTERLACE) && (cPtr->PanelType & ChipsLCD))
+ return MODE_NO_INTERLACE;
+@@ -5544,12 +5417,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ } else {
+ ChipsStd->Attribute[0x10] = 0x01; /* mode */
+ }
+- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) {
+- /* Make sure that the overlay isn't visible in the overscan region */
+- if (ChipsStd->Attribute[0x11] == pScrn->colorKey)
+- ChipsStd->Attribute[0x11] = pScrn->colorKey - 1;
+- } else
+- ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */
++ ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */
+ ChipsStd->Attribute[0x12] = 0x0F; /* enable all color planes */
+ ChipsStd->Attribute[0x13] = 0x00; /* horiz pixel panning 0 */
+
+@@ -5558,8 +5426,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ /* set virtual screen width */
+ tmp = pScrn->displayWidth >> 3;
+ if (pScrn->bitsPerPixel == 16) {
+- if (!(cPtr->Flags & ChipsOverlay8plus16))
+- tmp <<= 1; /* double the width of the buffer */
++ tmp <<= 1; /* double the width of the buffer */
+ } else if (pScrn->bitsPerPixel == 24) {
+ tmp += tmp << 1;
+ } else if (pScrn->bitsPerPixel == 32) {
+@@ -5688,8 +5555,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+
+ /* centering/stretching */
+ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_SUSPEND_HACK, FALSE)) {
+- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE) ||
+- (cPtr->Flags & ChipsOverlay8plus16)) {
++ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE)) {
+ ChipsNew->FR[0x40] &= 0xDF; /* Disable Horizontal stretching */
+ ChipsNew->FR[0x48] &= 0xFB; /* Disable vertical stretching */
+ ChipsNew->XR[0xA0] = 0x10; /* Disable cursor stretching */
+@@ -5709,8 +5575,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ }
+ }
+
+- if ((xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE))
+- || (cPtr->Flags & ChipsOverlay8plus16)) {
++ if (xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) {
+ ChipsNew->FR[0x40] |= 0x3; /* Enable Horizontal centering */
+ ChipsNew->FR[0x48] |= 0x3; /* Enable Vertical centering */
+ } else {
+@@ -5723,8 +5588,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ ChipsNew->XR[0x82] |=0x02;
+
+ /* software mode flag */
+- ChipsNew->XR[0xE2] = chipsVideoMode(((cPtr->Flags & ChipsOverlay8plus16) ?
+- 8 : pScrn->depth), (cPtr->PanelType & ChipsLCD) ?
++ ChipsNew->XR[0xE2] = chipsVideoMode((pScrn->depth), (cPtr->PanelType & ChipsLCD) ?
+ min(mode->CrtcHDisplay, cPtr->PanelSize.HDisplay) :
+ mode->CrtcHDisplay, mode->CrtcVDisplay);
+ #ifdef DEBUG
+@@ -5762,7 +5626,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ }
+ }
+ /* bpp depend */
+- if ((pScrn->bitsPerPixel == 16) && (!(cPtr->Flags & ChipsOverlay8plus16))) {
++ if (pScrn->bitsPerPixel == 16) {
+ ChipsNew->XR[0x81] = (ChipsNew->XR[0x81] & 0xF0) | 0x4;
+ if (cPtr->Flags & ChipsGammaSupport)
+ ChipsNew->XR[0x82] |= 0x0C;
+@@ -5915,60 +5779,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ /* Turn off multimedia by default as it degrades performance */
+ ChipsNew->XR[0xD0] &= 0x0f;
+
+- /* Setup the video/overlay */
+- if (cPtr->Flags & ChipsOverlay8plus16) {
+- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */
+-#ifdef SAR04
+- ChipsNew->XR[0x4F] = 0x2A; /* SAR04 >352 pixel overlay width */
+-#endif
+- ChipsNew->MR[0x1E] &= 0xE0; /* Set Zoom and Direction */
+- if ((!(cPtr->PanelType & ChipsLCD)) && (mode->Flags & V_INTERLACE))
+- ChipsNew->MR[0x1E] |= 0x10; /* Interlace */
+- ChipsNew->MR[0x1F] &= 0x14; /* Mask reserved bits */
+- ChipsNew->MR[0x1F] |= 0x08; /* RGB 16bpp */
+- if (pScrn->weight.green == 5)
+- ChipsNew->MR[0x1F] |= 0x01; /* RGB 15bpp */
+-
+- ChipsNew->MR[0x20] &= 0x03; /* Mask reserved bits */
+- ChipsNew->MR[0x20] |= 0x80; /* Auto Centre, Use mem ptr1 */
+- ChipsNew->MR[0x22] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 1 */
+- ChipsNew->MR[0x23] = (cPtr->FbOffset16 >> 8) & 0xFF;
+- ChipsNew->MR[0x24] = (cPtr->FbOffset16 >> 16) & 0xFF;
+- ChipsNew->MR[0x25] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 2 */
+- ChipsNew->MR[0x26] = (cPtr->FbOffset16 >> 8) & 0xFF;
+- ChipsNew->MR[0x27] = (cPtr->FbOffset16 >> 16) & 0xFF;
+- ChipsNew->MR[0x28] = (pScrn->displayWidth >> 2) - 1; /* Width */
+- ChipsNew->MR[0x34] = (pScrn->displayWidth >> 2) - 1;
+-
+- /* Left Edge of Overlay */
+- ChipsNew->MR[0x2A] = cPtr->OverlaySkewX;
+- ChipsNew->MR[0x2B] &= 0xF8; /* Mask reserved bits */
+- ChipsNew->MR[0x2B] |= ((cPtr->OverlaySkewX >> 8) & 0x7);
+- /* Right Edge of Overlay */
+- ChipsNew->MR[0x2C] = (cPtr->OverlaySkewX + pScrn->displayWidth -
+- 1) & 0xFF;
+- ChipsNew->MR[0x2D] &= 0xF8; /* Mask reserved bits */
+- ChipsNew->MR[0x2D] |= ((cPtr->OverlaySkewX + pScrn->displayWidth -
+- 1) >> 8) & 0x07;
+- /* Top Edge of Overlay */
+- ChipsNew->MR[0x2E] = cPtr->OverlaySkewY;
+- ChipsNew->MR[0x2F] &= 0xF8;
+- ChipsNew->MR[0x2F] |= ((cPtr->OverlaySkewY >> 8) & 0x7);
+- /* Bottom Edge of Overlay*/
+- ChipsNew->MR[0x30] = (cPtr->OverlaySkewY + pScrn->virtualY - 1 )& 0xFF;
+- ChipsNew->MR[0x31] &= 0xF8; /* Mask reserved bits */
+- ChipsNew->MR[0x31] |= ((cPtr->OverlaySkewY + pScrn->virtualY -
+- 1 ) >> 8) & 0x07;
+-
+- ChipsNew->MR[0x3C] &= 0x18; /* Mask reserved bits */
+- ChipsNew->MR[0x3C] |= 0x07; /* Enable keyed overlay window */
+- ChipsNew->MR[0x3D] = 0x00;
+- ChipsNew->MR[0x3E] = 0x00;
+- ChipsNew->MR[0x3F] = pScrn->colorKey; /* 8bpp transparency key */
+- ChipsNew->MR[0x40] = 0xFF;
+- ChipsNew->MR[0x41] = 0xFF;
+- ChipsNew->MR[0x42] = 0x00;
+- } else if (cPtr->Flags & ChipsVideoSupport) {
++ if (cPtr->Flags & ChipsVideoSupport) {
+ #if 0 /* if we do this even though video isn't playing we kill performance */
+ ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */
+ #endif
+@@ -6877,8 +6688,7 @@ chipsRestoreExtendedRegs(ScrnInfoPtr pScrn, CHIPSRegPtr Regs)
+ }
+
+ /* Set SAR04 multimedia register correctly */
+- if ((cPtr->Flags & ChipsOverlay8plus16)
+- || (cPtr->Flags & ChipsVideoSupport)) {
++ if ((cPtr->Flags & ChipsVideoSupport)) {
+ #ifdef SAR04
+ cPtr->writeXR(cPtr, 0x4E, 0x04);
+ if (cPtr->readXR(cPtr, 0x4F) != Regs->XR[0x4F])
+diff --git a/src/ct_driver.h b/src/ct_driver.h
+index d8ce228..10a24d4 100644
+--- a/src/ct_driver.h
++++ b/src/ct_driver.h
+@@ -114,7 +114,6 @@ typedef struct {
+ /* Options flags for the C&T chipsets */
+ #define ChipsHWCursor 0x00001000
+ #define ChipsShadowFB 0x00002000
+-#define ChipsOverlay8plus16 0x00004000
+ #define ChipsUseNewFB 0x00008000
+
+ /* Architecture type flags */
+diff --git a/src/ct_video.c b/src/ct_video.c
+index a68acb9..c9e5bb4 100644
+--- a/src/ct_video.c
++++ b/src/ct_video.c
+@@ -56,8 +56,7 @@ CHIPSInitVideo(ScreenPtr pScreen)
+ CHIPSPtr cPtr = CHIPSPTR(pScrn);
+ int num_adaptors;
+
+- if (!(cPtr->Flags & ChipsOverlay8plus16) &&
+- (cPtr->Flags & ChipsVideoSupport)) {
++ if ((cPtr->Flags & ChipsVideoSupport)) {
+ newAdaptor = CHIPSSetupImageVideo(pScreen);
+ CHIPSInitOffscreenImages(pScreen);
+ }
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/extra/xf86-video-cirrus/PKGBUILD b/extra/xf86-video-cirrus/PKGBUILD
index b0043635d..a2b46e91e 100644
--- a/extra/xf86-video-cirrus/PKGBUILD
+++ b/extra/xf86-video-cirrus/PKGBUILD
@@ -1,22 +1,20 @@
-# $Id: PKGBUILD 115298 2011-03-17 17:18:57Z andyrtr $
+# $Id: PKGBUILD 140340 2011-10-11 21:29:29Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-cirrus
pkgver=1.3.2
-pkgrel=6
+pkgrel=7
pkgdesc="X.org Cirrus Logic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- LICENSE)
-md5sums=('8195d03ed0be0975c03441e66a9f53b3'
- 'b9b570ac5c03f1fbe3e0cee5fe884b82')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('8195d03ed0be0975c03441e66a9f53b3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -24,5 +22,5 @@ build() {
make
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-video-dummy/PKGBUILD b/extra/xf86-video-dummy/PKGBUILD
index 3b7a1e6d1..9e065565c 100644
--- a/extra/xf86-video-dummy/PKGBUILD
+++ b/extra/xf86-video-dummy/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115301 2011-03-17 17:21:06Z andyrtr $
+# $Id: PKGBUILD 140338 2011-10-11 21:29:27Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-dummy
pkgver=0.3.4
-pkgrel=4
+pkgrel=5
pkgdesc="X.org dummy video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-fbdev/PKGBUILD b/extra/xf86-video-fbdev/PKGBUILD
index 12edc4e6a..ebef4fe1c 100644
--- a/extra/xf86-video-fbdev/PKGBUILD
+++ b/extra/xf86-video-fbdev/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115309 2011-03-17 17:26:03Z andyrtr $
+# $Id: PKGBUILD 140336 2011-10-11 21:29:25Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-fbdev
pkgver=0.4.2
-pkgrel=4
+pkgrel=5
pkgdesc="X.org framebuffer video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-glint/PKGBUILD b/extra/xf86-video-glint/PKGBUILD
index 2a0e8dbb1..0566ff9b6 100644
--- a/extra/xf86-video-glint/PKGBUILD
+++ b/extra/xf86-video-glint/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 115314 2011-03-17 17:29:52Z andyrtr $
+# $Id: PKGBUILD 140334 2011-10-11 21:29:22Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-glint
-pkgver=1.2.5
-pkgrel=2
+pkgver=1.2.6
+pkgrel=1
pkgdesc="X.org GLINT/Permedia video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.11.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('28d54093c6485bf0055fa16be3d116f9107aaea7')
+sha256sums=('d43350ed3c149576db1dbcacf5e9a30a3268a3f49742724c9151b6f1e4bd21a7')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --disable-dri
+ ./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
diff --git a/extra/xf86-video-i128/PKGBUILD b/extra/xf86-video-i128/PKGBUILD
index c8f10156e..7c63f8002 100644
--- a/extra/xf86-video-i128/PKGBUILD
+++ b/extra/xf86-video-i128/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115322 2011-03-17 17:39:36Z andyrtr $
+# $Id: PKGBUILD 140332 2011-10-11 21:29:18Z jgc $
# Maintainer:Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-i128
pkgver=1.3.4
-pkgrel=3
+pkgrel=4
pkgdesc="X.org Number 9 I128 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-i740/PKGBUILD b/extra/xf86-video-i740/PKGBUILD
index 4316de76b..615e7106c 100644
--- a/extra/xf86-video-i740/PKGBUILD
+++ b/extra/xf86-video-i740/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115325 2011-03-17 17:41:18Z andyrtr $
+# $Id: PKGBUILD 140330 2011-10-11 21:29:14Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-i740
pkgver=1.3.2
-pkgrel=6
+pkgrel=7
pkgdesc="X.org Intel i740 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD
index 2f845c4d8..5ee2371a4 100644
--- a/extra/xf86-video-intel/PKGBUILD
+++ b/extra/xf86-video-intel/PKGBUILD
@@ -1,28 +1,24 @@
-# $Id: PKGBUILD 125851 2011-05-30 12:49:55Z jgc $
+# $Id: PKGBUILD 140328 2011-10-11 21:29:11Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
-pkgver=2.15.0
-pkgrel=2
+pkgver=2.16.0
+pkgrel=1
pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=(intel-dri libxvmc libpciaccess libdrm xcb-util libxfixes udev)
-makedepends=('xorg-server-devel' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'xcb-util')
-conflicts=('xorg-server<1.10.0' 'xf86-video-i810' 'xf86-video-intel-legacy')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'xcb-util' 'libxrender')
+conflicts=('xorg-server<1.10.99.902' 'xf86-video-i810' 'xf86-video-intel-legacy')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- git-fixes.patch)
-sha1sums=('78ec39a4470cfc0bf13d269fb915f6c5a498ee62'
- 'd7a9102e58c1d6c1bcb99ff6836146bd54a18161')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('53441ea4d4335b501d32809b6b92593cbb1f79cf')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/git-fixes.patch"
- autoreconf
./configure --prefix=/usr --enable-dri
make
}
diff --git a/extra/xf86-video-mach64/PKGBUILD b/extra/xf86-video-mach64/PKGBUILD
index 75c9792c5..2cbfb8b9f 100644
--- a/extra/xf86-video-mach64/PKGBUILD
+++ b/extra/xf86-video-mach64/PKGBUILD
@@ -1,26 +1,23 @@
-# $Id: PKGBUILD 130722 2011-07-07 22:12:01Z andyrtr $
+# $Id: PKGBUILD 140326 2011-10-11 21:29:07Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-mach64
pkgver=6.9.0
-pkgrel=1
+pkgrel=2
pkgdesc="X.org mach64 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'mach64-dri')
-makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- mach64-fix-pixmap.patch)
-sha1sums=('95a7ec9761fe11dadbcd9078c55148198a91b2f1'
- '9658d16b964c1c0a3f8aa68f6706bd643cef321e')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('95a7ec9761fe11dadbcd9078c55148198a91b2f1')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
-# patch -Np1 -i ${srcdir}/mach64-fix-pixmap.patch
./configure --prefix=/usr --enable-dri
make
}
diff --git a/extra/xf86-video-mga/PKGBUILD b/extra/xf86-video-mga/PKGBUILD
index c9793ef73..8b4289add 100644
--- a/extra/xf86-video-mga/PKGBUILD
+++ b/extra/xf86-video-mga/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 115334 2011-03-17 17:57:40Z andyrtr $
+# $Id: PKGBUILD 140324 2011-10-11 21:29:03Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-mga
pkgver=1.4.13
-pkgrel=3
+pkgrel=4
pkgdesc="X.org mga video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'mga-dri')
-makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('55aa185cf381def4b5905c8b93694b8dfbd5c378')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('55aa185cf381def4b5905c8b93694b8dfbd5c378'
+ '74782a39533ef475bd02b8b4645775879494e568')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
./configure --prefix=/usr --enable-dri
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-neomagic/PKGBUILD b/extra/xf86-video-neomagic/PKGBUILD
index 0b6469a69..b996da01c 100644
--- a/extra/xf86-video-neomagic/PKGBUILD
+++ b/extra/xf86-video-neomagic/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115337 2011-03-17 17:59:49Z andyrtr $
+# $Id: PKGBUILD 140322 2011-10-11 21:29:00Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-neomagic
pkgver=1.2.5
-pkgrel=4
+pkgrel=5
pkgdesc="X.org neomagic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.11.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-nouveau/PKGBUILD b/extra/xf86-video-nouveau/PKGBUILD
index 1f5a83097..2627c305c 100644
--- a/extra/xf86-video-nouveau/PKGBUILD
+++ b/extra/xf86-video-nouveau/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 132822 2011-07-26 12:31:08Z ibiru $
+# $Id: PKGBUILD 140320 2011-10-11 21:28:57Z jgc $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: buddabrod <buddabrod@gmail.com>
pkgname=xf86-video-nouveau
-_gitdate=20110726
+_gitdate=20110829
pkgver=0.0.16_git${_gitdate} # see configure.ac
pkgrel=1
pkgdesc="Open Source 3D acceleration driver for nVidia cards (experimental)"
@@ -13,11 +13,11 @@ license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop
depends=('libdrm' 'udev')
optdepends=('nouveau-dri: experimental gallium3d features')
makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto')
-conflicts=('xorg-server<1.10.0')
+conflicts=('xorg-server<1.11.0')
options=('!libtool')
install=${pkgname}.install
source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2)
-md5sums=('8af188f6c2c90dfca3427809cd8fb76f')
+md5sums=('8f484f6602a3711f4adfbce74fd886c1')
# source PKGBUILD && mksource
mksource() {
diff --git a/extra/xf86-video-nv/PKGBUILD b/extra/xf86-video-nv/PKGBUILD
index 0ec636081..7dab5a944 100644
--- a/extra/xf86-video-nv/PKGBUILD
+++ b/extra/xf86-video-nv/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115341 2011-03-17 18:01:19Z andyrtr $
+# $Id: PKGBUILD 140318 2011-10-11 21:28:55Z jgc $
# Maintainer:Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-nv
pkgver=2.1.18
-pkgrel=3
+pkgrel=4
pkgdesc="X.org nv video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-openchrome/PKGBUILD b/extra/xf86-video-openchrome/PKGBUILD
index c49885397..cb982ec8b 100644
--- a/extra/xf86-video-openchrome/PKGBUILD
+++ b/extra/xf86-video-openchrome/PKGBUILD
@@ -1,35 +1,28 @@
-# $Id: PKGBUILD 115345 2011-03-17 18:03:35Z andyrtr $
+# $Id: PKGBUILD 140316 2011-10-11 21:28:53Z jgc $
# Contributor: Paul Mattal <paul@mattal.com>
# Maintainer: Juergen Hoetzel <juergen@hoetzel.info>
pkgname=xf86-video-openchrome
pkgver=0.2.904
-pkgrel=5
+_svnver=r933
+pkgrel=6
pkgdesc="X.Org Openchrome drivers"
arch=(i686 x86_64)
license=('custom')
url="http://www.openchrome.org"
depends=('libdrm' 'libxvmc' 'unichrome-dri')
-makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc')
+makedepends=('xorg-server-devel>=1.11.0' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc' 'glproto')
replaces=('openchrome' 'xf86-video-via')
options=('!libtool' '!makeflags')
-conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.10.0')
-source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- drm_stdint.patch
- svn-r839.patch
- LICENSE.txt)
-md5sums=('f2481d98ef54febf5bffbb88a2a2426d'
- 'bc516400ffc3df5d0dfe604f6245dd32'
- '5aed4aa44dd5a6d3e2da9baad73ac0ab'
- 'addb3cf2671f4cf7e91156952de1627f')
+conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.11.0')
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}-${_svnver}.tar.bz2)
+md5sums=('d661460276a31d3d012d8cdb1a0a73c1')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/svn-r839.patch"
- patch -Np0 -i "${srcdir}/drm_stdint.patch"
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-video-r128/PKGBUILD b/extra/xf86-video-r128/PKGBUILD
index 44c710729..86b9f89e1 100644
--- a/extra/xf86-video-r128/PKGBUILD
+++ b/extra/xf86-video-r128/PKGBUILD
@@ -1,29 +1,32 @@
-# $Id: PKGBUILD 115348 2011-03-17 18:05:57Z andyrtr $
+# $Id: PKGBUILD 140314 2011-10-11 21:28:51Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-r128
pkgver=6.8.1
-pkgrel=6
+pkgrel=7
pkgdesc="X.org ati Rage128 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'r128-dri')
-makedepends=('xorg-server-devel' 'xf86driproto' 'libdrm' 'mesa')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86driproto' 'libdrm' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- LICENSE)
+ git-fixes.patch)
md5sums=('2b90854a62a4d45d652062f582dc8d13'
- '97ad034bea2a153f4418a6bb0c77acf4')
+ '3937776d4427861d0797e47119ac327d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+
+ autoreconf -fi
./configure --prefix=/usr --enable-dri
make
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-video-r128/git-fixes.patch b/extra/xf86-video-r128/git-fixes.patch
new file mode 100644
index 000000000..933e8fb2a
--- /dev/null
+++ b/extra/xf86-video-r128/git-fixes.patch
@@ -0,0 +1,842 @@
+diff --git a/COPYING b/COPYING
+index 7f33cbf..05bcb74 100644
+--- a/COPYING
++++ b/COPYING
+@@ -1,12 +1,91 @@
+-This is a stub file. This package has not yet had its complete licensing
+-information compiled. Please see the individual source files for details on
+-your rights to use and modify this software.
++Copyright 2007 George Sapountzis
+
+-Please submit updated COPYING files to the Xorg bugzilla:
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the "Software"),
++to deal in the Software without restriction, including without limitation
++the rights to use, copy, modify, merge, publish, distribute, sublicense,
++and/or sell copies of the Software, and to permit persons to whom the
++Software is furnished to do so, subject to the following conditions:
+
+-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
++The above copyright notice and this permission notice (including the next
++paragraph) shall be included in all copies or substantial portions of the
++Software.
+
+-All licensing questions regarding this software should be directed at the
+-Xorg mailing list:
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++SOFTWARE.
++
++Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
++ Precision Insight, Inc., Cedar Park, Texas, and
++ VA Linux Systems Inc., Fremont, California.
++
++All Rights Reserved.
++
++Permission is hereby granted, free of charge, to any person obtaining
++a copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation on the rights to use, copy, modify, merge,
++publish, distribute, sublicense, and/or sell copies of the Software,
++and to permit persons to whom the Software is furnished to do so,
++subject to the following conditions:
++
++The above copyright notice and this permission notice (including the
++next paragraph) shall be included in all copies or substantial
++portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
++SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
++OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++OTHER DEALINGS IN THE SOFTWARE.
++
++Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas.
++Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
++All Rights Reserved.
++
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the "Software"),
++to deal in the Software without restriction, including without limitation
++the rights to use, copy, modify, merge, publish, distribute, sublicense,
++and/or sell copies of the Software, and to permit persons to whom the
++Software is furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice (including the next
++paragraph) shall be included in all copies or substantial portions of the
++Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
++OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++DEALINGS IN THE SOFTWARE.
++
++Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
++
++Permission to use, copy, modify, distribute, and sell this software and its
++documentation for any purpose is hereby granted without fee, provided that
++the above copyright notice appear in all copies and that both that copyright
++notice and this permission notice appear in supporting documentation, and
++that the name of Marc Aurele La France not be used in advertising or
++publicity pertaining to distribution of the software without specific,
++written prior permission. Marc Aurele La France makes no representations
++about the suitability of this software for any purpose. It is provided
++"as-is" without express or implied warranty.
++
++MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
++EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++PERFORMANCE OF THIS SOFTWARE.
+
+-http://lists.freedesktop.org/mailman/listinfo/xorg
+diff --git a/Makefile.am b/Makefile.am
+index 1f4c3c4..4c278ba 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,21 +18,15 @@
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+-AUTOMAKE_OPTIONS = foreign
+ SUBDIRS = src man
++MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+-if BUILD_LINUXDOC
+-README.r128: README.r128.sgml
+- $(MAKE_TEXT) README.r128.sgml && mv README.r128.txt README.r128
++.PHONY: ChangeLog INSTALL
+
+-endif
+-
+-EXTRA_DIST = README.r128 README.r128.sgml ChangeLog
+-CLEANFILES = ChangeLog
+-
+-.PHONY: ChangeLog
++INSTALL:
++ $(INSTALL_CMD)
+
+ ChangeLog:
+ $(CHANGELOG_CMD)
+
+-dist-hook: ChangeLog
++dist-hook: ChangeLog INSTALL
+diff --git a/README b/README
+index cb61870..5c6f59d 100644
+--- a/README
++++ b/README
+@@ -1,4 +1,161 @@
+-xf86-video-r128 - ATI Rage 128 video driver for the Xorg X server
++ Information for ATI Rage 128 Users
++ Precision Insight, Inc., SuSE GmbH
++ 13 June 2000
++ ____________________________________________________________
++
++ Table of Contents
++
++
++ 1. Supported Hardware
++ 2. Features
++ 3. Technical Notes
++ 4. Reported Working Video Cards
++ 5. Configuration
++ 6. Driver Options
++ 7. Known Limitations
++ 8. Authors
++
++
++ ______________________________________________________________________
++
++ 1. Supported Hardware
++
++
++ o ATI Rage 128 based cards
++
++
++
++ 2. Features
++
++
++ o Full support (including hardware accelerated 2D drawing) for 8, 15,
++ 16, 24 bit pixel depths.
++
++ o Hardware cursor support to reduce sprite flicker.
++
++ o Support for high resolution video modes up to 1800x1440 @ 70Hz.
++
++ o Support for doublescan video modes (e.g., 320x200 and 320x240).
++
++ o Support for gamma correction at all pixel depths.
++
++ o Fully programmable clock supported.
++
++ o Robust text mode restore for VT switching.
++
++
++
++ 3. Technical Notes
++
++
++ o None
++
++
++
++ 4. Reported Working Video Cards
++
++
++ o Rage Fury AGP 32MB
++
++ o XPERT 128 AGP 16MB
++
++ o XPERT 99 AGP 8MB
++
++
++
++ 5. Configuration
++
++ The driver auto-detects all device information necessary to initialize
++ the card. The only lines you need in the "Device" section of your
++ xorg.conf file are:
++
++ Section "Device"
++ Identifier "Rage 128"
++ Driver "r128"
++ EndSection
++
++
++ or let xorgconfig do this for you.
++
++ However, if you have problems with auto-detection, you can specify:
++
++ o VideoRam - in kilobytes
++
++ o MemBase - physical address of the linear framebuffer
++
++ o IOBase - physical address of the memory mapped IO registers
++
++ o ChipID - PCI DEVICE ID
++
++
++
++ 6. Driver Options
++
++
++ o "hw_cursor" - request hardware cursor (default)
++
++ o "sw_cursor" - software cursor only
++
++ o "no_accel" - software rendering only
++
++ o "dac_8_bit" - use color weight 888 in 8 bpp mode (default)
++
++ o "dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation)
++
++
++
++ 7. Known Limitations
++
++
++ o None
++
++
++
++ 8. Authors
++
++ The X11R7.5 driver was originally part of XFree86 4.4 rc2.
++
++ The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by:
++
++ o Rickard E. (Rik) Faith <mailto:faith@precisioninsight.com>
++
++ o Kevin E. Martin <mailto:kevin@precisioninsight.com>
++
++ The XFree86 4 driver was funded by ATI and was donated to The XFree86
++ Project by:
++
++ Precision Insight, Inc.
++ Cedar Park, TX
++ USA
++
++
++ The XFree86 3.3.x driver used for the port was written by:
++
++ o Rickard E. (Rik) Faith <mailto:faith@precisioninsight.com>
++
++ o Kevin E. Martin <mailto:kevin@precisioninsight.com>
++
++ The XFree86 3.3.x driver was funded by ATI and was donated to The
++ XFree86 Project by Precision Insight, Inc. It was based in part on
++ an earlier driver that was written by:
++
++ o Alan Hourihane <mailto:alanh@fairlite.demon.co.uk>
++
++ o Dirk Hohndel <mailto:hohndel@suse.de>
++
++ This early driver was funded and donated to The XFree86 Project by:
++
++ SuSE GmbH
++ Schanzaekerstr. 10
++ 90443 Nuernberg
++ Germany
++
++
++
++ http://www.precisioninsight.com
++
++ http://www.suse.com
++
+
+ Please submit bugs & patches to the Xorg bugzilla:
+
+diff --git a/README.r128 b/README.r128
+deleted file mode 100644
+index dcc2715..0000000
+--- a/README.r128
++++ /dev/null
+@@ -1,160 +0,0 @@
+- Information for ATI Rage 128 Users
+- Precision Insight, Inc., SuSE GmbH
+- 13 June 2000
+- ____________________________________________________________
+-
+- Table of Contents
+-
+-
+- 1. Supported Hardware
+- 2. Features
+- 3. Technical Notes
+- 4. Reported Working Video Cards
+- 5. Configuration
+- 6. Driver Options
+- 7. Known Limitations
+- 8. Authors
+-
+-
+- ______________________________________________________________________
+-
+- 1. Supported Hardware
+-
+-
+- +o ATI Rage 128 based cards
+-
+-
+-
+- 2. Features
+-
+-
+- +o Full support (including hardware accelerated 2D drawing) for 8, 15,
+- 16, 24 bit pixel depths.
+-
+- +o Hardware cursor support to reduce sprite flicker.
+-
+- +o Support for high resolution video modes up to 1800x1440 @ 70Hz.
+-
+- +o Support for doublescan video modes (e.g., 320x200 and 320x240).
+-
+- +o Support for gamma correction at all pixel depths.
+-
+- +o Fully programmable clock supported.
+-
+- +o Robust text mode restore for VT switching.
+-
+-
+-
+- 3. Technical Notes
+-
+-
+- +o None
+-
+-
+-
+- 4. Reported Working Video Cards
+-
+-
+- +o Rage Fury AGP 32MB
+-
+- +o XPERT 128 AGP 16MB
+-
+- +o XPERT 99 AGP 8MB
+-
+-
+-
+- 5. Configuration
+-
+- The driver auto-detects all device information necessary to initialize
+- the card. The only lines you need in the "Device" section of your
+- xorg.conf file are:
+-
+- Section "Device"
+- Identifier "Rage 128"
+- Driver "r128"
+- EndSection
+-
+-
+- or let xorgconfig do this for you.
+-
+- However, if you have problems with auto-detection, you can specify:
+-
+- +o VideoRam - in kilobytes
+-
+- +o MemBase - physical address of the linear framebuffer
+-
+- +o IOBase - physical address of the memory mapped IO registers
+-
+- +o ChipID - PCI DEVICE ID
+-
+-
+-
+- 6. Driver Options
+-
+-
+- +o "hw_cursor" - request hardware cursor (default)
+-
+- +o "sw_cursor" - software cursor only
+-
+- +o "no_accel" - software rendering only
+-
+- +o "dac_8_bit" - use color weight 888 in 8 bpp mode (default)
+-
+- +o "dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation)
+-
+-
+-
+- 7. Known Limitations
+-
+-
+- +o None
+-
+-
+-
+- 8. Authors
+-
+- The X11R6.8 driver was originally part of XFree86 4.4 rc2.
+-
+- The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by:
+-
+- +o Rickard E. (Rik) Faith <faith@precisioninsight.com>
+-
+- +o Kevin E. Martin <kevin@precisioninsight.com>
+-
+- The XFree86 4 driver was funded by ATI and was donated to The XFree86
+- Project by:
+-
+- Precision Insight, Inc.
+- Cedar Park, TX
+- USA
+-
+-
+- The XFree86 3.3.x driver used for the port was written by:
+-
+- +o Rickard E. (Rik) Faith <faith@precisioninsight.com>
+-
+- +o Kevin E. Martin <kevin@precisioninsight.com>
+-
+- The XFree86 3.3.x driver was funded by ATI and was donated to The
+- XFree86 Project by Precision Insight, Inc. It was based in part on
+- an earlier driver that was written by:
+-
+- +o Alan Hourihane <alanh@fairlite.demon.co.uk>
+-
+- +o Dirk Hohndel <hohndel@suse.de>
+-
+- This early driver was funded and donated to The XFree86 Project by:
+-
+- SuSE GmbH
+- Schanzaekerstr. 10
+- 90443 Nuernberg
+- Germany
+-
+-
+-
+- http://www.precisioninsight.com
+-
+- http://www.suse.com
+-
+-
+-
+diff --git a/README.r128.sgml b/README.r128.sgml
+deleted file mode 100644
+index 8d7f448..0000000
+--- a/README.r128.sgml
++++ /dev/null
+@@ -1,138 +0,0 @@
+-<!DOCTYPE linuxdoc PUBLIC "-//Xorg//DTD linuxdoc//EN"[
+-<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+-]>
+-
+-<article>
+-<title>Information for ATI Rage 128 Users
+-<author>Precision Insight, Inc., SuSE GmbH
+-<date>13 June 2000
+-
+-<ident>
+-</ident>
+-
+-<toc>
+-
+-<sect>Supported Hardware
+-<p>
+-<itemize>
+- <item>ATI Rage 128 based cards
+-</itemize>
+-
+-
+-<sect>Features
+-<p>
+-<itemize>
+- <item>Full support (including hardware accelerated 2D drawing) for 8, 15,
+- 16, 24 bit pixel depths.
+- <item>Hardware cursor support to reduce sprite flicker.
+- <item>Support for high resolution video modes up to 1800x1440 @ 70Hz.
+- <item>Support for doublescan video modes (e.g., 320x200 and 320x240).
+- <item>Support for gamma correction at all pixel depths.
+- <item>Fully programmable clock supported.
+- <item>Robust text mode restore for VT switching.
+-</itemize>
+-
+-
+-<sect>Technical Notes
+-<p>
+-<itemize>
+- <item>None
+-</itemize>
+-
+-
+-<sect>Reported Working Video Cards
+-<p>
+-<itemize>
+- <item>Rage Fury AGP 32MB
+- <item>XPERT 128 AGP 16MB
+- <item>XPERT 99 AGP 8MB
+-</itemize>
+-
+-
+-<sect>Configuration
+-<p>
+-The driver auto-detects all device information necessary to
+-initialize the card. The only lines you need in the "Device"
+-section of your xorg.conf file are:
+-<verb>
+- Section "Device"
+- Identifier "Rage 128"
+- Driver "r128"
+- EndSection
+-</verb>
+-or let <tt>xorgconfig</tt> do this for you.
+-
+-However, if you have problems with auto-detection, you can specify:
+-<itemize>
+- <item>VideoRam - in kilobytes
+- <item>MemBase - physical address of the linear framebuffer
+- <item>IOBase - physical address of the memory mapped IO registers
+- <item>ChipID - PCI DEVICE ID
+-</itemize>
+-
+-
+-<sect>Driver Options
+-<p>
+-<itemize>
+- <item>"hw_cursor" - request hardware cursor (default)
+- <item>"sw_cursor" - software cursor only
+- <item>"no_accel" - software rendering only
+- <item>"dac_8_bit" - use color weight 888 in 8 bpp mode (default)
+- <item>"dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation)
+-</itemize>
+-
+-
+-<sect>Known Limitations
+-<p>
+-<itemize>
+- <item>None
+-</itemize>
+-
+-
+-<sect>Authors
+-<p>
+-The X11R&relvers; driver was originally part of XFree86 4.4 rc2.
+-
+-The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by:
+-<itemize>
+- <item>Rickard E. (Rik) Faith <email>faith@precisioninsight.com</email>
+- <item>Kevin E. Martin <email>kevin@precisioninsight.com</email>
+-</itemize>
+-<p>
+-The XFree86 4 driver was funded by ATI and was donated to The XFree86
+-Project by:
+-<verb>
+- Precision Insight, Inc.
+- Cedar Park, TX
+- USA
+-</verb>
+-<p>
+-The XFree86 3.3.x driver used for the port was written by:
+-<itemize>
+- <item>Rickard E. (Rik) Faith <email>faith@precisioninsight.com</email>
+- <item>Kevin E. Martin <email>kevin@precisioninsight.com</email>
+-</itemize>
+-The XFree86 3.3.x driver was funded by ATI and was donated to The XFree86
+-Project by Precision Insight, Inc. It was based in part on an earlier
+-driver that was written by:
+-<itemize>
+- <item>Alan Hourihane <email>alanh@fairlite.demon.co.uk</email>
+- <item>Dirk Hohndel <email>hohndel@suse.de</email>
+-</itemize>
+-<p>This early driver was funded and donated to The XFree86 Project by:
+-<verb>
+- SuSE GmbH
+- Schanzaekerstr. 10
+- 90443 Nuernberg
+- Germany
+-</verb>
+-
+-<p>
+-<htmlurl name="http://www.precisioninsight.com"
+- url="http://www.precisioninsight.com">
+-<p>
+-<htmlurl name="http://www.suse.com"
+- url="http://www.suse.com">
+-
+-
+-</article>
+diff --git a/configure.ac b/configure.ac
+index 4e0f463..d5a0821 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,28 +20,30 @@
+ #
+ # Process this file with autoconf to produce a configure script
+
+-AC_PREREQ(2.57)
++# Initialize Autoconf
++AC_PREREQ([2.60])
+ AC_INIT([xf86-video-r128],
+- 6.8.1,
++ [6.8.1],
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+- xf86-video-r128)
+-
++ [xf86-video-r128])
+ AC_CONFIG_SRCDIR([Makefile.am])
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_AUX_DIR(.)
+
+-AM_INIT_AUTOMAKE([dist-bzip2])
++# Initialize Automake
++AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+-# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG
+-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
+-XORG_MACROS_VERSION(1.2)
++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
++m4_ifndef([XORG_MACROS_VERSION],
++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
++XORG_MACROS_VERSION(1.8)
++XORG_DEFAULT_OPTIONS
+
+ AM_MAINTAINER_MODE
+
+-# Checks for programs.
++# Initialize libtool
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+-AC_PROG_CC
+
+ if test "x$GCC" = "xyes"; then
+ CPPFLAGS="$CPPFLAGS -Wall"
+@@ -49,38 +51,35 @@ fi
+
+ AH_TOP([#include "xorg-server.h"])
+
++# Define a configure option for an alternate module directory
+ AC_ARG_WITH(xorg-module-dir,
+- AC_HELP_STRING([--with-xorg-module-dir=DIR],
++ AS_HELP_STRING([--with-xorg-module-dir=DIR],
+ [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+ [moduledir="$withval"],
+ [moduledir="$libdir/xorg/modules"])
+
+-AC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri],
++AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri],
+ [Disable DRI support [[default=auto]]]),
+ [DRI="$enableval"],
+ [DRI=auto])
+
+-# Checks for extensions
+-XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)
++# Store the list of server defined optional extensions in REQUIRED_MODULES
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+ XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+ XORG_DRIVER_CHECK_EXT(XV, videoproto)
+ XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto)
+ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
+-# Checks for pkg-config packages
++# Obtain compiler/linker options for the driver dependencies
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES])
+ PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
+ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
+ HAVE_XEXTPROTO_71="no")
+ AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
+-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
++sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
+
+ # Checks for libraries.
+
+-# Checks for header files.
+-AC_HEADER_STDC
+-
+ if test "$DRI" != no; then
+ AC_CHECK_FILE([${sdkdir}/dri.h],
+ [have_dri_h="yes"], [have_dri_h="no"])
+@@ -126,26 +125,20 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ fi
+ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
+-AC_SUBST([XORG_CFLAGS])
+-AC_SUBST([DRI_CFLAGS])
+ AC_SUBST([moduledir])
+
+ DRIVER_NAME=r128
+ AC_SUBST([DRIVER_NAME])
+
+-XORG_MANPAGE_SECTIONS
+-XORG_RELEASE_VERSION
+-XORG_CHECK_LINUXDOC
+-XORG_CHANGELOG
+-
+ AC_MSG_NOTICE(
+ [Please change the Driver line in xorg.conf from "ati" to "r128" or install]
+ [the ati wrapper as well:]
+ [ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati]
+ )
+
+-AC_OUTPUT([
+- Makefile
+- src/Makefile
+- man/Makefile
++AC_CONFIG_FILES([
++ Makefile
++ src/Makefile
++ man/Makefile
+ ])
++AC_OUTPUT
+diff --git a/man/Makefile.am b/man/Makefile.am
+index 858ba62..4e22d61 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -1,27 +1,24 @@
+ #
+ # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+-#
+-# Permission to use, copy, modify, distribute, and sell this software and its
+-# documentation for any purpose is hereby granted without fee, provided that
+-# the above copyright notice appear in all copies and that both that
+-# copyright notice and this permission notice appear in supporting
+-# documentation.
+-#
+-# The above copyright notice and this permission notice shall be included
+-# in all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+-# OTHER DEALINGS IN THE SOFTWARE.
+-#
+-# Except as contained in this notice, the name of the copyright holders shall
+-# not be used in advertising or otherwise to promote the sale, use or
+-# other dealings in this Software without prior written authorization
+-# from the copyright holders.
++#
++# Permission is hereby granted, free of charge, to any person obtaining a
++# copy of this software and associated documentation files (the "Software"),
++# to deal in the Software without restriction, including without limitation
++# the rights to use, copy, modify, merge, publish, distribute, sublicense,
++# and/or sell copies of the Software, and to permit persons to whom the
++# Software is furnished to do so, subject to the following conditions:
++#
++# The above copyright notice and this permission notice (including the next
++# paragraph) shall be included in all copies or substantial portions of the
++# Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++# DEALINGS IN THE SOFTWARE.
+ #
+
+ drivermandir = $(DRIVER_MAN_DIR)
+@@ -34,25 +31,11 @@ EXTRA_DIST = r128.man
+
+ CLEANFILES = $(driverman_DATA)
+
+-SED = sed
+
+-# Strings to replace in man pages
+-XORGRELSTRING = @PACKAGE_STRING@
+- XORGMANNAME = X Version 11
++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+
+-MAN_SUBSTS = \
+- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xservername__|Xorg|g' \
+- -e 's|__xconfigfile__|xorg.conf|g' \
+- -e 's|__projectroot__|$(prefix)|g' \
+- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
+- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
+- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
+- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
+
+ SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
+
+ .man.$(DRIVER_MAN_SUFFIX):
+- sed $(MAN_SUBSTS) < $< > $@
++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+diff --git a/man/r128.man b/man/r128.man
+index 5c7c4fe..4ba933d 100644
+--- a/man/r128.man
++++ b/man/r128.man
+@@ -1,4 +1,3 @@
+-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128.man,v 1.3 2001/06/01 02:10:05 dawes Exp $
+ .\" shorthand for double quote that works everywhere.
+ .ds q \N'34'
+ .TH R128 __drivermansuffix__ __vendorversion__
+diff --git a/src/r128_driver.c b/src/r128_driver.c
+index d6448b6..9d08d77 100644
+--- a/src/r128_driver.c
++++ b/src/r128_driver.c
+@@ -938,14 +938,6 @@ static Bool R128PreInitConfig(ScrnInfoPtr pScrn)
+ /* BIOS */
+ from = X_PROBED;
+ info->BIOSAddr = info->PciInfo->biosBase & 0xfffe0000;
+- if (dev->BiosBase) {
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "BIOS address override, using 0x%08lx instead of 0x%08lx\n",
+- dev->BiosBase,
+- info->BIOSAddr);
+- info->BIOSAddr = dev->BiosBase;
+- from = X_CONFIG;
+- }
+ if (info->BIOSAddr) {
+ xf86DrvMsg(pScrn->scrnIndex, from,
+ "BIOS at 0x%08lx\n", info->BIOSAddr);
diff --git a/extra/xf86-video-rendition/PKGBUILD b/extra/xf86-video-rendition/PKGBUILD
index 7c664a61b..32ee7deba 100644
--- a/extra/xf86-video-rendition/PKGBUILD
+++ b/extra/xf86-video-rendition/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115356 2011-03-17 18:07:25Z andyrtr $
+# $Id: PKGBUILD 140312 2011-10-11 21:28:49Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-rendition
pkgver=4.2.4
-pkgrel=4
+pkgrel=5
pkgdesc="X.org Rendition video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
options=('!libtool' '!strip')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-s3/PKGBUILD b/extra/xf86-video-s3/PKGBUILD
index fb0233d05..54b255a01 100644
--- a/extra/xf86-video-s3/PKGBUILD
+++ b/extra/xf86-video-s3/PKGBUILD
@@ -1,29 +1,31 @@
-# $Id: PKGBUILD 115359 2011-03-17 18:08:59Z andyrtr $
+# $Id: PKGBUILD 140308 2011-10-11 21:28:45Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-s3
pkgver=0.6.3
-pkgrel=5
+pkgrel=6
pkgdesc="X.org S3 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0')
+conflicts=('xorg-server<1.11.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- LICENSE)
+ git-fixes.patch)
md5sums=('5eb06d88533fb327d067928faeb20860'
- '6b2bea29522da7cbb81cadde3235024d')
+ '77a455ce7e254c73b1cbd408c7f4ecf4')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ autoreconf -fi
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/extra/xf86-video-s3/git-fixes.patch b/extra/xf86-video-s3/git-fixes.patch
new file mode 100644
index 000000000..712b3c9c0
--- /dev/null
+++ b/extra/xf86-video-s3/git-fixes.patch
@@ -0,0 +1,458 @@
+diff --git a/COPYING b/COPYING
+index 7f33cbf..458ab5f 100644
+--- a/COPYING
++++ b/COPYING
+@@ -1,12 +1,70 @@
+-This is a stub file. This package has not yet had its complete licensing
+-information compiled. Please see the individual source files for details on
+-your rights to use and modify this software.
++ Copyright 2001 Ani Joshi <ajoshi@unixbox.com>
+
+-Please submit updated COPYING files to the Xorg bugzilla:
++ XFree86 4.x driver for S3 chipsets
+
+-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+-All licensing questions regarding this software should be directed at the
+-Xorg mailing list:
++Permission to use, copy, modify, distribute, and sell this software and its
++documentation for any purpose is hereby granted without fee, provided that
++the above copyright notice appear in all copies and that both that copyright
++notice and this permission notice appear in supporting documentation and
++that the name of Ani Joshi not be used in advertising or
++publicity pertaining to distribution of the software without specific,
++written prior permission. Ani Joshi makes no representations
++about the suitability of this software for any purpose. It is provided
++"as-is" without express or implied warranty.
++
++ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++EVENT SHALL ANI JOSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++PERFORMANCE OF THIS SOFTWARE.
++Copyright 2007 George Sapountzis
++
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the "Software"),
++to deal in the Software without restriction, including without limitation
++the rights to use, copy, modify, merge, publish, distribute, sublicense,
++and/or sell copies of the Software, and to permit persons to whom the
++Software is furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice (including the next
++paragraph) shall be included in all copies or substantial portions of the
++Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++SOFTWARE.
++
++Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
++
++Permission is hereby granted, free of charge, to any person obtaining a copy of
++this software and associated documentation files (the "Software"), to deal in
++the Software without restriction, including without limitation the rights to
++use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
++of the Software, and to permit persons to whom the Software is furnished to do
++so, subject to the following conditions:
++
++The above copyright notice and this permission notice shall be included in all
++copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
++NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name of the XFree86 Project shall not
++be used in advertising or otherwise to promote the sale, use or other dealings
++in this Software without prior written authorization from the XFree86 Project.
++
++
++Copyright 1995-1997 The XFree86 Project, Inc.
++Copyright (c) 1999,2000 The XFree86 Project Inc.
+
+-http://lists.freedesktop.org/mailman/listinfo/xorg
+diff --git a/ChangeLog b/ChangeLog
+deleted file mode 100644
+index ad0b227..0000000
+--- a/ChangeLog
++++ /dev/null
+@@ -1,133 +0,0 @@
+-2009-06-25 Evgeny M. zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_driver.c:
+- Revert the old behaviour when the BIOS settings are used for
+- intialization of DRAM/VRAM timings, i. e. we don't touch the
+- timings during initialization phase until any memory option (like
+- slow_edodram) is specified.
+-
+- Add manual page.
+-
+-2009-05-25 Evgeny M. Zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_driver.c:
+- * src/s3_video.c:
+-
+- Enable Xv extension for Trio64V+ (thanks to Egor Ivanov for
+- testing on real hardware) and Trio64UV+ (Tested only on Trio64V2 by
+- overriding Chipset with "Trio64UV+" but not on real hardware).
+-
+- S3 Trio64V+ now using NewMMIO. Trio64V+ chips have the same ChipId
+- as Trio32/64 but only with chip revision greater or eq 0x40. So if
+- you have problems with NewMMIO, you may override ChipRev in "Device"
+- section of your xorg.conf: "ChipRev" 0x00. Note: disabling the NewMMIO
+- also disables overlay video (Xv) because it isn't implemented for
+- Old MMIO yet.
+-
+-2009-05-04 Evgeny M. Zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_driver.c:
+- * src/s3_shadow.c:
+-
+- Add shadowFB option. It can be used to speedup drawing when
+- hardware acceleration is undesirable or unavailable (for colour depth
+- 24 with 24 bpp framebuffer, for example). shadowFB is disabled by
+- default. Enabling shadowFB option disables HW acceleration. Thanks
+- to Egor Ivanov for initial porting of shadowFB from s3virge.
+-
+- Interlace mode support.
+-
+- Close bug #14999.
+-
+-2008-07-06 Evgeny M. Zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_video.c:
+-
+- Streams Processor initialization.
+-
+- XVideo support for 16, 24 and 32 bpp (only for TRIO64V2).
+-
+- * src/s3_driver.c:
+-
+- Add XVideo option (enabled by default).
+-
+- Replace "swcursor" by "hwcursor" option (HW cursor
+- not implemented yet for all chipsets).
+-
+- Close bug #5527: 24-bit colour depth support (24bpp and
+- 32bpp framebuffer) for TRIOs. Acceleration doesn't work
+- with packed colour mode (24 bpp FB) but works with 32bpp
+- framebuffer mode (hardware limitation? -- need data).
+-
+- Fix system hang-up when switching between console and X session.
+-
+- Some minor changes of driver messages.
+-
+-2008-02-23 Evgeny M. Zubok <evgeny.zubok@tochka.ru>
+-
+- * src/s3_driver.c: Add DPMS support for S3 Trio64V2 and possibly
+- others (need testing): S3 Trio64UV+. S3 Aurora64V+ and S3 Trio32/64
+- * src/s3_Trio64DAC: Change clocks for S3 Trio64V2 to make
+- the 1024x768@16bpp mode work.
+- Thanks to Richard Driscoll for these patches.
+-
+-2006-04-07 Adam Jackson <ajax@freedesktop.org>
+-
+- * configure.ac:
+- * src/s3.h:
+- Bump to 0.4.1 for Xv changes.
+-
+-2006-04-07 Aaron Plattner <aplattner@nvidia.com>
+-
+- * src/s3_video.c: (S3PutImage):
+- Add a DrawablePtr argument to the XV functions to pave the way for
+- redirected video.
+-
+-2006-04-07 Adam Jackson <ajax@freedesktop.org>
+-
+- * configure.ac:
+- * src/s3.h:
+- * src/s3_IBMRGB.c:
+- * src/s3_Ti.c:
+- * src/s3_Trio64DAC.c:
+- * src/s3_bios.c:
+- * src/s3_cursor.c:
+- * src/s3_dga.c:
+- * src/s3_driver.c:
+- * src/s3_video.c:
+- Unlibcwrap. Bump server version requirement. Bump to 0.4.0.
+-
+-2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update package version for X11R7 release.
+-
+-2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update package version number for final X11R7 release candidate.
+-
+-2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update package version number for X11R7 RC3 release.
+-
+-2005-12-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Remove extraneous AC_MSG_RESULT.
+-
+-2005-11-29 Adam Jackson <ajax@freedesktop.org>
+-
+- * configure.ac:
+- Only build dlloader modules by default.
+-
+-2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update package version number for X11R7 RC2 release.
+-
+-2005-11-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+-
+- * configure.ac:
+- Update pkgcheck dependencies to work with separate build roots.
+diff --git a/Makefile.am b/Makefile.am
+index 7052905..4c278ba 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,5 +18,15 @@
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+-AUTOMAKE_OPTIONS = foreign
+ SUBDIRS = src man
++MAINTAINERCLEANFILES = ChangeLog INSTALL
++
++.PHONY: ChangeLog INSTALL
++
++INSTALL:
++ $(INSTALL_CMD)
++
++ChangeLog:
++ $(CHANGELOG_CMD)
++
++dist-hook: ChangeLog INSTALL
+diff --git a/configure.ac b/configure.ac
+index 0eecc87..0ac34f9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,42 +20,50 @@
+ #
+ # Process this file with autoconf to produce a configure script
+
+-AC_PREREQ(2.57)
++# Initialize Autoconf
++AC_PREREQ([2.60])
+ AC_INIT([xf86-video-s3],
+- 0.6.3,
++ [0.6.3],
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+- xf86-video-s3)
+-
++ [xf86-video-s3])
+ AC_CONFIG_SRCDIR([Makefile.am])
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_AUX_DIR(.)
+
+-AM_INIT_AUTOMAKE([dist-bzip2])
+-
++# Initialize Automake
++AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ AM_MAINTAINER_MODE
+
+-# Checks for programs.
++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
++m4_ifndef([XORG_MACROS_VERSION],
++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
++XORG_MACROS_VERSION(1.8)
++XORG_DEFAULT_OPTIONS
++
++# Initialize libtool
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+-AC_PROG_CC
++
++# Checks for programs.
++AM_PROG_CC_C_O
+
+ AH_TOP([#include "xorg-server.h"])
+
++# Define a configure option for an alternate module directory
+ AC_ARG_WITH(xorg-module-dir,
+- AC_HELP_STRING([--with-xorg-module-dir=DIR],
++ AS_HELP_STRING([--with-xorg-module-dir=DIR],
+ [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+ [moduledir="$withval"],
+ [moduledir="$libdir/xorg/modules"])
+
+-# Checks for extensions
++# Store the list of server defined optional extensions in REQUIRED_MODULES
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+ XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+ XORG_DRIVER_CHECK_EXT(XV, videoproto)
+ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
+-# Checks for pkg-config packages
++# Obtain compiler/linker options for the driver dependencies
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.4 xproto fontsproto $REQUIRED_MODULES])
+-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+
+ # Checks for libraries.
+ SAVE_CPPFLAGS="$CPPFLAGS"
+@@ -65,28 +73,20 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
+ [#include "xorg-server.h"])
+ CPPFLAGS="$SAVE_CPPFLAGS"
+
+-# Checks for header files.
+-AC_HEADER_STDC
+-
+ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
+ XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
+ fi
+ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
+-AC_SUBST([XORG_CFLAGS])
+ AC_SUBST([moduledir])
+
+ DRIVER_NAME=s3
+ AC_SUBST([DRIVER_NAME])
+
+-XORG_MANPAGE_SECTIONS
+-XORG_RELEASE_VERSION
+-
+-XORG_CHECK_LINUXDOC
+-
+-AC_OUTPUT([
+- Makefile
+- src/Makefile
+- man/Makefile
++AC_CONFIG_FILES([
++ Makefile
++ src/Makefile
++ man/Makefile
+ ])
++AC_OUTPUT
+diff --git a/man/Makefile.am b/man/Makefile.am
+index f0eb29b..b3688ce 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -1,27 +1,24 @@
+ #
+ # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+-#
+-# Permission to use, copy, modify, distribute, and sell this software and its
+-# documentation for any purpose is hereby granted without fee, provided that
+-# the above copyright notice appear in all copies and that both that
+-# copyright notice and this permission notice appear in supporting
+-# documentation.
+-#
+-# The above copyright notice and this permission notice shall be included
+-# in all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+-# OTHER DEALINGS IN THE SOFTWARE.
+-#
+-# Except as contained in this notice, the name of the copyright holders shall
+-# not be used in advertising or otherwise to promote the sale, use or
+-# other dealings in this Software without prior written authorization
+-# from the copyright holders.
++#
++# Permission is hereby granted, free of charge, to any person obtaining a
++# copy of this software and associated documentation files (the "Software"),
++# to deal in the Software without restriction, including without limitation
++# the rights to use, copy, modify, merge, publish, distribute, sublicense,
++# and/or sell copies of the Software, and to permit persons to whom the
++# Software is furnished to do so, subject to the following conditions:
++#
++# The above copyright notice and this permission notice (including the next
++# paragraph) shall be included in all copies or substantial portions of the
++# Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++# DEALINGS IN THE SOFTWARE.
+ #
+
+ drivermandir = $(DRIVER_MAN_DIR)
+@@ -34,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man
+
+ CLEANFILES = $(driverman_DATA)
+
+-SED = sed
+
+-# Strings to replace in man pages
+-XORGRELSTRING = @PACKAGE_STRING@
+- XORGMANNAME = X Version 11
++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+
+-MAN_SUBSTS = \
+- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xservername__|Xorg|g' \
+- -e 's|__xconfigfile__|xorg.conf|g' \
+- -e 's|__projectroot__|$(prefix)|g' \
+- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
+- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
+- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
+- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
+
+ SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
+
+ .man.$(DRIVER_MAN_SUFFIX):
+- sed $(MAN_SUBSTS) < $< > $@
++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+diff --git a/src/s3.h b/src/s3.h
+index 49b8a54..0875fc9 100644
+--- a/src/s3.h
++++ b/src/s3.h
+@@ -113,7 +113,6 @@ typedef struct _S3Rec {
+ XAAInfoRecPtr pXAA;
+ xf86CursorInfoPtr pCurs;
+ xf86Int10InfoPtr pInt10;
+- vbeInfoPtr pVBE;
+ XF86VideoAdaptorPtr adaptor;
+ S3PortPrivPtr portPrivate;
+
+diff --git a/src/s3_driver.c b/src/s3_driver.c
+index 29e343d..4519b33 100644
+--- a/src/s3_driver.c
++++ b/src/s3_driver.c
+@@ -309,6 +309,7 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
+ S3Ptr pS3;
+ vgaHWPtr hwp;
+ ClockRangePtr clockRanges;
++ vbeInfoPtr pVBE;
+ rgb zeros = {0, 0, 0};
+ Gamma gzeros = {0.0, 0.0, 0.0};
+ int i, vgaCRIndex, vgaCRReg;
+@@ -436,7 +437,8 @@ static Bool S3PreInit(ScrnInfoPtr pScrn, int flags)
+ }
+
+ if (xf86LoadSubModule(pScrn, "vbe")) {
+- pS3->pVBE = VBEInit(pS3->pInt10, pEnt->index);
++ pVBE = VBEInit(pS3->pInt10, pEnt->index);
++ vbeFree(pVBE);
+ }
+
+ if (pS3->shadowFB) {
diff --git a/extra/xf86-video-s3virge/PKGBUILD b/extra/xf86-video-s3virge/PKGBUILD
index 9e5e00ff6..650769602 100644
--- a/extra/xf86-video-s3virge/PKGBUILD
+++ b/extra/xf86-video-s3virge/PKGBUILD
@@ -1,29 +1,31 @@
-# $Id: PKGBUILD 115362 2011-03-17 18:10:25Z andyrtr $
+# $Id: PKGBUILD 140310 2011-10-11 21:28:47Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-s3virge
pkgver=1.10.4
-pkgrel=5
+pkgrel=6
pkgdesc="X.org S3 Virge video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
options=(!libtool)
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- LICENSE)
-md5sums=('6517bbbf808c700502d51acdc44662f8' 'c0a38dfcd6288eff39322f7c584b8d1e')
+ copyright.patch)
+md5sums=('6517bbbf808c700502d51acdc44662f8'
+ 'f91fb259e3632fb9130fcbe69ecd9d6a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/copyright.patch"
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-video-savage/PKGBUILD b/extra/xf86-video-savage/PKGBUILD
index 14c73b0a8..f305995f7 100644
--- a/extra/xf86-video-savage/PKGBUILD
+++ b/extra/xf86-video-savage/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 115365 2011-03-17 18:12:33Z andyrtr $
+# $Id: PKGBUILD 140306 2011-10-11 21:28:43Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-savage
-pkgver=2.3.2
-pkgrel=2
+pkgver=2.3.3
+pkgrel=1
pkgdesc="X.org savage video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'savage-dri')
-makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
+makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
conflicts=('xorg-server<1.10.0')
options=(!libtool !makeflags)
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('d675693d0b29cb24f624ef57c1fe2f271f6bf6c3')
+sha256sums=('d3854d375dbf7d83bf90e30d72837ce60d808119c6fa4bb98088e68e7cc7e7b2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/xf86-video-siliconmotion/PKGBUILD b/extra/xf86-video-siliconmotion/PKGBUILD
index fc72fd1c9..d77e30c1e 100644
--- a/extra/xf86-video-siliconmotion/PKGBUILD
+++ b/extra/xf86-video-siliconmotion/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 115368 2011-03-17 18:14:01Z andyrtr $
+# $Id: PKGBUILD 140304 2011-10-11 21:28:41Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-siliconmotion
pkgver=1.7.5
-pkgrel=2
+pkgrel=3
pkgdesc="X.org siliconmotion video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-sis/PKGBUILD b/extra/xf86-video-sis/PKGBUILD
index 04958c1c4..8f247c1d4 100644
--- a/extra/xf86-video-sis/PKGBUILD
+++ b/extra/xf86-video-sis/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115371 2011-03-17 18:16:09Z andyrtr $
+# $Id: PKGBUILD 140302 2011-10-11 21:28:39Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-sis
pkgver=0.10.3
-pkgrel=4
+pkgrel=5
pkgdesc="X.org SiS video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'sis-dri')
-makedepends=('xorg-server-devel' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch b/extra/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch
new file mode 100644
index 000000000..fd87b6c8c
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch
@@ -0,0 +1,25 @@
+From e4f6a2fcd5712d0f994d3719b9c6c13f5b02bc7c Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri, 9 Jan 2009 16:34:01 -0800
+Subject: [PATCH 01/10] Remove xorgconfig & xorgcfg from See Also list in man page
+
+---
+ man/sis.man | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/man/sis.man b/man/sis.man
+index d743fe6..c321808 100644
+--- a/man/sis.man
++++ b/man/sis.man
+@@ -429,7 +429,7 @@ The amount is to be specified in megabyte, the default is 8.
+ none.
+ .SH "SEE ALSO"
+ #ifdef __xservername__
+-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
++__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
+ #else
+ XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__)
+ #endif
+--
+1.6.5.4
+
diff --git a/extra/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch b/extra/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch
new file mode 100644
index 000000000..860e593c6
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch
@@ -0,0 +1,91 @@
+diff -p -up xf86-video-sis-0.9.1/configure.ac.orig xf86-video-sis-0.9.1/configure.ac
+--- xf86-video-sis-0.9.1/configure.ac.orig 2010-01-27 15:34:26.000000000 -0500
++++ xf86-video-sis-0.9.1/configure.ac 2010-01-27 15:34:43.000000000 -0500
+@@ -58,7 +58,6 @@ XORG_DRIVER_CHECK_EXT(XINERAMA, xinerama
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+ XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+ XORG_DRIVER_CHECK_EXT(XV, videoproto)
+-XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto)
+ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
+ # Checks for pkg-config packages
+diff -p -up xf86-video-sis-0.9.1/src/sis_driver.c.orig xf86-video-sis-0.9.1/src/sis_driver.c
+--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2010-01-27 15:35:05.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-27 15:35:39.000000000 -0500
+@@ -86,8 +86,6 @@
+ #include "mibank.h"
+ #include "mipointer.h"
+ #include "mibstore.h"
+-#define _XF86MISC_SERVER_
+-#include <X11/extensions/xf86misc.h>
+ #include "edid.h"
+
+ #define SIS_NEED_inSISREG
+@@ -506,11 +504,6 @@ xf86DrvMsg(0, X_INFO, "
+ pScrn->FreeScreen = SISFreeScreen;
+ pScrn->ValidMode = SISValidMode;
+ pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/
+-#ifdef X_XF86MiscPassMessage
+-// if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
+-// pScrn->HandleMessage = SISHandleMessage;
+-// }
+-#endif
+ foundScreen = TRUE;
+ }
+ #ifdef SISDUALHEAD
+diff -p -up xf86-video-sis-0.9.1/src/sis_driver.h.orig xf86-video-sis-0.9.1/src/sis_driver.h
+--- xf86-video-sis-0.9.1/src/sis_driver.h.orig 2010-01-27 15:35:49.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_driver.h 2010-01-27 15:36:04.000000000 -0500
+@@ -791,10 +791,6 @@ static Bool SISHotkeySwitchMode(ScrnInfo
+ #ifdef SISDUALHEAD
+ static Bool SISSaveScreenDH(ScreenPtr pScreen, int mode);
+ #endif
+-#ifdef X_XF86MiscPassMessage
+-extern int SISHandleMessage(int scrnIndex, const char *msgtype,
+- const char *msgval, char **retmsg);
+-#endif
+ static void SISFreeScreen(int scrnIndex, int flags);
+ static ModeStatus SISValidMode(int scrnIndex, DisplayModePtr mode,
+ Bool verbose, int flags);
+diff -p -up xf86-video-sis-0.9.1/src/sis_utility.c.orig xf86-video-sis-0.9.1/src/sis_utility.c
+--- xf86-video-sis-0.9.1/src/sis_utility.c.orig 2010-01-27 15:36:23.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_utility.c 2010-01-27 15:36:59.000000000 -0500
+@@ -40,8 +40,6 @@
+ #define NEED_EVENTS
+ #include <X11/X.h>
+ #include "dixstruct.h"
+-#define _XF86MISC_SERVER_
+-#include <X11/extensions/xf86misc.h>
+
+ #include "sis_videostr.h"
+
+@@ -262,9 +260,6 @@ typedef struct {
+ int (*HandleSiSDirectCommand[SISCTRL_MAX_SCREENS])(xSiSCtrlCommandReply *);
+ } xSiSCtrlScreenTable;
+
+-#ifdef X_XF86MiscPassMessage
+-int SISHandleMessage(int scrnIndex, const char *msgtype, const char *msgval, char **retmsg);
+-#endif
+ void SiSCtrlExtInit(ScrnInfoPtr pScrn);
+ void SiSCtrlExtUnregister(SISPtr pSiS, int index);
+
+@@ -975,19 +970,6 @@ unsigned int SISVGADetected(ScrnInfoPtr
+ }
+
+ /***********************************
+- * MessageHandler interface *
+- * (unused now; use extension) *
+- ***********************************/
+-
+-#ifdef X_XF86MiscPassMessage
+-int
+-SISHandleMessage(int scrnIndex, const char *msgtype, const char *msgval, char **retmsg)
+-{
+- return BadMatch;
+-}
+-#endif
+-
+-/***********************************
+ * SiSCtrl extension interface *
+ ***********************************/
+
diff --git a/extra/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch b/extra/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch
new file mode 100644
index 000000000..4fc355bbb
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch
@@ -0,0 +1,65 @@
+From 9b010b7db7f0c6730c1a1b3cd473d49b01ed5b5f Mon Sep 17 00:00:00 2001
+From: Ander Conselvan de Oliveira <ander@mandriva.com.br>
+Date: Mon, 22 Jun 2009 16:07:26 -0400
+Subject: [PATCH] Fix build with -Werror=format-security
+
+---
+ src/sis_driver.c | 4 ++--
+ src/sis_mergedfb.c | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 5b91004..0a154db 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -831,14 +831,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const char *format, ...)
+ static const char *str = "**************************************************\n";
+
+ va_start(ap, format);
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ " ERROR:\n");
+ xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap);
+ va_end(ap);
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ " END OF MESSAGE\n");
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+ }
+
+ static void
+diff --git a/src/sis_mergedfb.c b/src/sis_mergedfb.c
+index 61b4255..feca024 100644
+--- a/src/sis_mergedfb.c
++++ b/src/sis_mergedfb.c
+@@ -357,7 +357,7 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
+
+ strcat(printbuffer, namebuf1);
+
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO, printbuffer);
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s", printbuffer);
+ }
+
+ mode->next = mode;
+@@ -2137,7 +2137,7 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
+ if(infochanged && !usenonrect) {
+ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb,
+ "Current screen size does not match maximum display modes...\n");
+- xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, rectxine);
++ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, "%s", rectxine);
+ }
+
+ } else if(infochanged && usenonrect) {
+@@ -2145,7 +2145,7 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
+ usenonrect = FALSE;
+ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb,
+ "Only clone modes available for this screen size...\n");
+- xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, rectxine);
++ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, "%s", rectxine);
+
+ }
+
+--
+1.6.2.4
+
diff --git a/extra/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch b/extra/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch
new file mode 100644
index 000000000..68ec63138
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch
@@ -0,0 +1,32 @@
+From 49c641b638ac36d2a559555c04a3bd2777c8d071 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri, 1 May 2009 16:52:10 -0700
+Subject: [PATCH 04/10] Make sisRegs3D4 big enough to hold all values written to it
+
+Increase size from 0xff to 0x100 since SiS315Save (sis_dac.c line 752)
+writes values into sisRegs3D4[0x00..0xff] if ChipType >= XGI_20
+
+[This bug was found by the Parfait bug checking tool.
+ For more information see http://research.sun.com/projects/parfait ]
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+---
+ src/sis.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/sis.h b/src/sis.h
+index 9bafd4b..773f709 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -747,7 +747,7 @@ typedef struct {
+ UChar sisRegsGR[10];
+ UChar sisDAC[768];
+ UChar sisRegs3C4[0x80];
+- UChar sisRegs3D4[0xff];
++ UChar sisRegs3D4[0x100];
+ UChar sisRegs3C2;
+ UChar sisCapt[0x60];
+ UChar sisVid[0x50];
+--
+1.6.5.4
+
diff --git a/extra/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch b/extra/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch
new file mode 100644
index 000000000..038322bf6
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch
@@ -0,0 +1,38 @@
+From 933dd8f860883c613acb5bcdf6b66100dbdfa952 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri, 1 May 2009 16:57:22 -0700
+Subject: [PATCH 05/10] Correct bounds check of blitClip array access
+
+Array is defined as blitClip[NUM_BLIT_PORTS], so invalid indexes
+are >= NUM_BLIT_PORTS, not just > NUM_BLIT_PORTS
+
+[This bug was found by the Parfait bug checking tool.
+ For more information see http://research.sun.com/projects/parfait ]
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+---
+ src/sis_video.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: xf86-video-sis-0.9.1/src/sis_video.c
+===================================================================
+--- xf86-video-sis-0.9.1.orig/src/sis_video.c
++++ xf86-video-sis-0.9.1/src/sis_video.c
+@@ -4656,7 +4656,7 @@ SISStopVideoBlit(ScrnInfoPtr pScrn, ULon
+ * adapt->flags but we provide it anyway.
+ */
+
+- if(index > NUM_BLIT_PORTS) return;
++ if(index >= NUM_BLIT_PORTS) return;
+
+ REGION_EMPTY(pScrn->pScreen, &pPriv->blitClip[index]);
+
+@@ -4698,7 +4698,7 @@ SISPutImageBlit_671(
+ int xoffset = 0, yoffset = 0;
+ Bool first;
+
+- if(index > NUM_BLIT_PORTS)
++ if(index >= NUM_BLIT_PORTS)
+ return BadMatch;
+
+ if(!height || !width)
diff --git a/extra/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch b/extra/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch
new file mode 100644
index 000000000..f023c774e
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch
@@ -0,0 +1,25 @@
+From 910073e0ab3a7bf9e5c9d97437a879d97edc2714 Mon Sep 17 00:00:00 2001
+From: root <root@greentea.conectiva>
+Date: Wed, 1 Jul 2009 09:59:39 -0400
+Subject: [PATCH] Fix backlight off on SiS30x. video bridges.
+
+---
+ src/init301.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/init301.c b/src/init301.c
+index c179ae8..70a6aab 100644
+--- a/src/init301.c
++++ b/src/init301.c
+@@ -9261,7 +9261,7 @@ void
+ SiS_SiS30xBLOff(struct SiS_Private *SiS_Pr)
+ {
+ /* Switch off LCD backlight on SiS30xLV */
+- SiS_SetRegAND(SiS_Pr->SiS_Part4Port,0x26,0xFE);
++ SiS_SetRegAND(SiS_Pr->SiS_Part4Port,0x26,0xFC);
+ SiS_DDC2Delay(SiS_Pr,0xff00);
+ }
+
+--
+1.5.4.3
+
diff --git a/extra/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch b/extra/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch
new file mode 100644
index 000000000..8ebc799a7
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch
@@ -0,0 +1,89 @@
+From 072af02d180c1965f30246ea269d208292ed6f05 Mon Sep 17 00:00:00 2001
+From: root <root@greentea.conectiva>
+Date: Wed, 1 Jul 2009 14:13:52 -0400
+Subject: [PATCH] Add IgnoreHotkeyFlag driver option.
+
+Some BIOSes do not set the hotkey flag correctly. Without this option
+set, the driver won't change the mirroring state of LCD and VGA
+connections if the BIOS did not set this flag.
+---
+ src/sis.h | 3 +++
+ src/sis_driver.c | 2 +-
+ src/sis_opt.c | 13 ++++++++++++-
+ 3 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/src/sis.h b/src/sis.h
+index c50690b..c82c302 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -1565,6 +1565,9 @@ typedef struct {
+
+ /* Enable special 1366x768x60hz mode of LVDS panel. Ivans@090109 */
+ Bool EnablePanel_1366x768;
++
++ /* Ignore hotkey flag on capability changed APM events */
++ Bool IgnoreHotkeyFlag;
+
+ } SISRec, *SISPtr;
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index c935c11..2a5001c 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -11370,7 +11370,7 @@ SISPMEvent(int scrnIndex, pmEvent event, Bool undo)
+ inSISIDXREG(SISCR,0x3d,hotkeyflag);/*check device switch flag from BIOS CR 0x3d bit[2].*/
+
+
+- if(hotkeyflag & 0x04)
++ if(pSiS->IgnoreHotkeyFlag || (hotkeyflag & 0x04))
+ {
+
+ SISCRT1PreInit(pScrn); /*redetecting CRT1, pSiS->CRT1detected will update.*/
+diff --git a/src/sis_opt.c b/src/sis_opt.c
+index 4b79f7f..7f726ea 100644
+--- a/src/sis_opt.c
++++ b/src/sis_opt.c
+@@ -159,7 +159,8 @@ typedef enum {
+ OPTION_PSEUDO,
+ OPTION_FUTRO_TIMING, /*chaoyu's modified: for Fuji-Siemans specail timing*/
+ OPTION_TRACEVGAMISCW,
+- OPTION_USETIMING1366 /*option of enable 1366x768 timing for LVDS panel. Ivans@090109*/
++ OPTION_USETIMING1366, /*option of enable 1366x768 timing for LVDS panel. Ivans@090109*/
++ OPTION_IGNOREHOTKEYFLAG
+ } SISOpts;
+
+ static const OptionInfoRec SISOptions[] = {
+@@ -305,6 +306,7 @@ static const OptionInfoRec SISOptions[] = {
+ { OPTION_FUTRO_TIMING, "FutroTiming", OPTV_BOOLEAN, {0}, FALSE },/*chaoyu's modified: for Fuji-seimans special timing*/
+ { OPTION_TRACEVGAMISCW, "TraceVgaMISCW", OPTV_BOOLEAN, {0}, FALSE },/*Ivans added for helping detected CRT1 using BIOS setting.*/
+ { OPTION_USETIMING1366, "UseTiming1366", OPTV_BOOLEAN, {0}, FALSE },/*enable 1366 timing on LVDS, Ivans@090109*/
++ { OPTION_IGNOREHOTKEYFLAG, "IgnoreHotkeyFlag", OPTV_BOOLEAN, {0}, FALSE },
+ { -1, NULL, OPTV_NONE, {0}, FALSE }
+ };
+
+@@ -624,6 +626,7 @@ SiSOptions(ScrnInfoPtr pScrn)
+ pSiS->CRT2IsScrn0 = FALSE;
+ #endif
+ #endif
++ pSiS->IgnoreHotkeyFlag = FALSE;
+
+ /* Chipset dependent defaults */
+
+@@ -2419,6 +2422,14 @@ SiSOptions(ScrnInfoPtr pScrn)
+ pSiS->EnablePanel_1366x768 = TRUE;
+ }
+ }
++ /* Ignore hotkey flag for video switch, switch on every
++ * XF86_APM_CAPABILITY_CHANGED event */
++ if(xf86GetOptValBool(pSiS->Options, OPTION_IGNOREHOTKEYFLAG, &val)){
++ if(val){
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,"Ignoring hotkey flag\n");
++ pSiS->IgnoreHotkeyFlag = TRUE;
++ }
++ }
+
+ }
+
+--
+1.5.4.3
+
diff --git a/extra/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch b/extra/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch
new file mode 100644
index 000000000..395213375
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch
@@ -0,0 +1,249 @@
+From ae1a7dcebdac904c8068cc38fb77648c548f5075 Mon Sep 17 00:00:00 2001
+From: Paulo Ricardo Zanoni <pzanoni@mandriva.com>
+Date: Thu, 22 Apr 2010 11:19:29 -0300
+Subject: [PATCH] Remove useless loader symbol lists
+
+Adaption of xf86-video-sis patch 74553b5ee476a0dd28e136f5a33a546ea0c3ef28
+---
+ src/sis_driver.c | 150 +-----------------------------------------------------
+ 1 files changed, 1 insertions(+), 149 deletions(-)
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index d56182f..96255d3 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -227,126 +227,6 @@ static PciChipsets XGIPciChipsets[] = {
+ { -1, -1, RES_UNDEFINED }
+ };
+
+-#ifdef SIS_USE_XAA
+-static const char *xaaSymbols[] = {
+- "XAACreateInfoRec",
+- "XAADestroyInfoRec",
+- "XAAHelpPatternROP",
+- "XAAInit",
+- NULL
+-};
+-#endif
+-
+-#ifdef SIS_USE_EXA
+-static const char *exaSymbols[] = {
+- "exaGetVersion",
+- "exaDriverInit",
+- "exaDriverFini",
+- "exaOffscreenAlloc",
+- "exaOffscreenFree",
+- NULL
+-};
+-#endif
+-
+-static const char *fbSymbols[] = {
+- "fbPictureInit",
+- "fbScreenInit",
+- NULL
+-};
+-
+-static const char *shadowSymbols[] = {
+- "ShadowFBInit",
+- NULL
+-};
+-
+-static const char *ramdacSymbols[] = {
+- "xf86CreateCursorInfoRec",
+- "xf86DestroyCursorInfoRec",
+- "xf86InitCursor",
+- NULL
+-};
+-
+-static const char *ddcSymbols[] = {
+- "xf86PrintEDID",
+- "xf86InterpretEDID",
+- NULL
+-};
+-
+-static const char *int10Symbols[] = {
+- "xf86FreeInt10",
+- "xf86InitInt10",
+- NULL
+-};
+-
+-static const char *vbeSymbols[] = {
+-#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
+- "VBEInit",
+-#else
+- "VBEExtendedInit",
+-#endif
+- "vbeDoEDID",
+- "vbeFree",
+- "VBEGetVBEInfo",
+- "VBEFreeVBEInfo",
+- "VBEGetModeInfo",
+- "VBEFreeModeInfo",
+- "VBESaveRestore",
+- "VBESetVBEMode",
+- "VBEGetVBEMode",
+- "VBESetDisplayStart",
+- "VBESetGetLogicalScanlineLength",
+- NULL
+-};
+-
+-#ifdef XF86DRI
+-static const char *drmSymbols[] = {
+- "drmAddMap",
+- "drmAgpAcquire",
+- "drmAgpRelease",
+- "drmAgpAlloc",
+- "drmAgpFree",
+- "drmAgpBase",
+- "drmAgpBind",
+- "drmAgpUnbind",
+- "drmAgpEnable",
+- "drmAgpGetMode",
+- "drmCtlInstHandler",
+- "drmCtlUninstHandler",
+- "drmGetInterruptFromBusID",
+-#ifndef SISHAVEDRMWRITE
+- "drmSiSAgpInit",
+-#else
+- "drmCommandWrite",
+-#endif
+-#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,3,0,0,0)
+- "drmGetVersion",
+- "drmFreeVersion",
+-#endif
+- NULL
+-};
+-
+-static const char *driSymbols[] = {
+- "DRICreateInfoRec",
+- "DRIScreenInit",
+- "DRIFinishScreenInit",
+- "DRIDestroyInfoRec",
+- "DRICloseScreen",
+- "DRIGetSAREAPrivate",
+- "DRILock",
+- "DRIUnlock",
+- "DRIQueryVersion",
+- "GlxSetVisualConfigs",
+- NULL
+-};
+-
+-#ifdef XFree86LOADER
+-static const char *driRefSymbols[] = {
+- "DRICreatePCIBusID", /* not REQUIRED, but eventually referenced */
+- NULL
+-};
+-#endif
+-#endif /* XF86DRI */
+-
+ #ifdef XFree86LOADER
+
+ static MODULESETUPPROTO(sisSetup);
+@@ -382,19 +262,6 @@ sisSetup(pointer module, pointer opts, int *errmaj, int *errmin)
+ if(!setupDone) {
+ setupDone = TRUE;
+ xf86AddDriver(&SIS, module, SIS_HaveDriverFuncs);
+- LoaderRefSymLists(fbSymbols,
+-#ifdef SIS_USE_XAA
+- xaaSymbols,
+-#endif
+-#ifdef SIS_USE_EXA
+- exaSymbols,
+-#endif
+- shadowSymbols, ramdacSymbols,
+- vbeSymbols, int10Symbols,
+-#ifdef XF86DRI
+- drmSymbols, driSymbols, driRefSymbols,
+-#endif
+- NULL);
+ return (pointer)TRUE;
+ }
+
+@@ -1068,7 +935,6 @@ SiS_LoadInitVBE(ScrnInfoPtr pScrn)
+ return;
+
+ if(xf86LoadSubModule(pScrn, "vbe")) {
+- xf86LoaderReqSymLists(vbeSymbols, NULL);
+ #if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
+ pSiS->pVbe = VBEInit(pSiS->pInt, pSiS->pEnt->index);
+ #else
+@@ -1092,7 +958,6 @@ SiSLoadInitDDCModule(ScrnInfoPtr pScrn)
+ return TRUE;
+
+ if(xf86LoadSubModule(pScrn, "ddc")) {
+- xf86LoaderReqSymLists(ddcSymbols, NULL);
+ pSiS->haveDDC = TRUE;
+ return TRUE;
+ }
+@@ -3586,7 +3451,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Initializing adapter through int10\n");
+ if(xf86LoadSubModule(pScrn, "int10")) {
+- xf86LoaderReqSymLists(int10Symbols, NULL);
+ pSiS->pInt = xf86InitInt10(pSiS->pEnt->index);
+ } else {
+ SISErrorLog(pScrn, "Failed to load int10 module\n");
+@@ -3683,7 +3547,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ SISErrorLog(pScrn, "Could not load ramdac module\n");
+ goto my_error_1;
+ }
+- xf86LoaderReqSymLists(ramdacSymbols, NULL);
+
+ /* Set pScrn->monitor */
+ pScrn->monitor = pScrn->confScreen->monitor;
+@@ -5868,22 +5731,18 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ SISErrorLog(pScrn, "Unsupported framebuffer bpp (%d)\n", pScrn->bitsPerPixel);
+ goto my_error_1;
+ }
+- xf86LoaderReqSymLists(fbSymbols, NULL);
+
+ /* Load XAA/EXA (if needed) */
+ if(!pSiS->NoAccel) {
+ char *modName = NULL;
+- const char **symNames = NULL;
+ #ifdef SIS_USE_XAA
+ if(!pSiS->useEXA) {
+ modName = "xaa";
+- symNames = xaaSymbols;
+ }
+ #endif
+ #ifdef SIS_USE_EXA
+ if(pSiS->useEXA) {
+ modName = "exa";
+- symNames = exaSymbols;
+ }
+ #endif
+ if(modName && (!xf86LoadSubModule(pScrn, modName))) {
+@@ -5894,9 +5753,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pSiS->NoXvideo = TRUE;
+ }
+ #endif
+- } else if(symNames) {
+- xf86LoaderReqSymLists(symNames, NULL);
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "2D acceleration enabled, modename %s\n",modName);
+ }
+ }
+
+@@ -5909,8 +5765,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pSiS->ShadowFB = FALSE;
+ pSiS->Rotate = pSiS->Reflect = 0;
+ }
+- } else {
+- xf86LoaderReqSymLists(shadowSymbols, NULL);
+ }
+ }
+
+@@ -5920,9 +5774,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ if(!xf86LoaderCheckSymbol("DRIScreenInit")) {
+ if(xf86LoadSubModule(pScrn, "dri")) {
+ if(!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) {
+- if(xf86LoadSubModule(pScrn, "glx")) {
+- xf86LoaderReqSymLists(driSymbols, drmSymbols, NULL);
+- } else {
++ if(! xf86LoadSubModule(pScrn, "glx")) {
+ SISErrorLog(pScrn, "Failed to load glx module\n");
+ }
+ }
+--
+1.6.4.4
+
diff --git a/extra/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch b/extra/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch
new file mode 100644
index 000000000..1dcbdf05c
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch
@@ -0,0 +1,45 @@
+From 59ea80738d22c69a2850fd7ff89bd75330cc310b Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 16 Jul 2009 01:55:25 +0000
+Subject: Update to xextproto 7.1 support.
+
+DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers
+need to include dpmsconst.h if xextproto 7.1 is available.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+diff --git a/configure.ac b/configure.ac
+index 089c5fa..f19c1b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,6 +62,10 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+
+ # Checks for pkg-config packages
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto $REQUIRED_MODULES])
++PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
++ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
++ HAVE_XEXTPROTO_71="no")
++AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
+ sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+
+ # Checks for libraries.
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index ef7b522..a1ced97 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -78,8 +78,13 @@
+
+ #include "globals.h"
+
++#ifdef HAVE_XEXTPROTO_71
++#include <X11/extensions/dpmsconst.h>
++#else
+ #define DPMS_SERVER
+ #include <X11/extensions/dpms.h>
++#endif
++
+
+ #ifdef XF86DRI
+ #include "dri.h"
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/xf86-video-sisimedia/0009-update-for-rac-removal.patch b/extra/xf86-video-sisimedia/0009-update-for-rac-removal.patch
new file mode 100644
index 000000000..df1421798
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0009-update-for-rac-removal.patch
@@ -0,0 +1,69 @@
+From 9e1ebb9530bbb71be7fcab9e6f8f9a475be72efe Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 28 Jul 2009 03:32:37 +0000
+Subject: sis: update for resources/RAC API removal
+
+---
+diff --git a/src/sis.h b/src/sis.h
+index 773f709..e859c78 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -77,7 +77,9 @@
+ #include "xf86Pci.h"
+ #include "xf86Priv.h"
+ #include "xf86_OSproc.h"
++#ifndef XSERVER_LIBPCIACCESS
+ #include "xf86Resources.h"
++#endif
+ #include "xf86.h"
+ #include "xf86PciInfo.h"
+ #include "xf86Cursor.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index a1ced97..bb11cbb 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -49,7 +49,9 @@
+
+ #include "sis.h"
+
++#ifndef XSERVER_LIBPCIACCESS
+ #include "xf86RAC.h"
++#endif
+ #include "dixstruct.h"
+ #include "shadowfb.h"
+ #include "fb.h"
+@@ -3552,6 +3554,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ SiS_MapVGAMem(pScrn);
+ #endif
+
++#ifndef XSERVER_LIBPCIACCESS
+ /* Set operating state */
+
+ /* 1. memory */
+@@ -3581,6 +3584,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ /* Operations for which I/O access is required */
+ pScrn->racIoFlags = RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
+
++#endif
++
+ /* Load ramdac module */
+ if(!xf86LoadSubModule(pScrn, "ramdac")) {
+ SISErrorLog(pScrn, "Could not load ramdac module\n");
+@@ -4424,6 +4429,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ xf86DrvMsg(pScrn->scrnIndex, from, "MMIO registers at 0x%lX (size %ldK)\n",
+ (ULong)pSiS->IOAddress, pSiS->mmioSize);
+
++#ifndef XSERVER_LIBPCIACCESS
+ /* Register the PCI-assigned resources */
+ if(xf86RegisterResources(pSiS->pEnt->index, NULL, ResExclusive)) {
+ SISErrorLog(pScrn, "PCI resource conflicts detected\n");
+@@ -4435,6 +4441,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ SISFreeRec(pScrn);
+ return FALSE;
+ }
++#endif
+
+ from = X_PROBED;
+ if(pSiS->pEnt->device->videoRam != 0) {
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch b/extra/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch
new file mode 100644
index 000000000..cb9fd7ea5
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch
@@ -0,0 +1,34 @@
+From 8c3eca873717e877048c2bde345c02b1e9099e50 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 28 Jul 2009 05:22:41 +0000
+Subject: sis: change to using ABI version check
+
+---
+diff --git a/src/sis.h b/src/sis.h
+index e859c78..400b83f 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -77,7 +77,7 @@
+ #include "xf86Pci.h"
+ #include "xf86Priv.h"
+ #include "xf86_OSproc.h"
+-#ifndef XSERVER_LIBPCIACCESS
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+ #endif
+ #include "xf86.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index bb11cbb..994b02d 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -49,7 +49,7 @@
+
+ #include "sis.h"
+
+-#ifndef XSERVER_LIBPCIACCESS
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86RAC.h"
+ #endif
+ #include "dixstruct.h"
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/xf86-video-sisimedia/0011-more-rac-removal.patch b/extra/xf86-video-sisimedia/0011-more-rac-removal.patch
new file mode 100644
index 000000000..8175dea98
--- /dev/null
+++ b/extra/xf86-video-sisimedia/0011-more-rac-removal.patch
@@ -0,0 +1,13 @@
+diff -Nrup xf86-video-sis-0.9.1/src/sis_hwmc.c patched/src/sis_hwmc.c
+--- xf86-video-sis-0.9.1/src/sis_hwmc.c 2008-03-04 14:31:10.000000000 -0300
++++ patched/src/sis_hwmc.c 2010-04-20 17:10:21.073690167 -0300
+@@ -43,7 +43,9 @@ THE USE OR OTHER DEALINGS IN THE SOFTWAR
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
++#ifndef GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
++#endif
+ #include "compiler.h"
+ #include "xf86PciInfo.h"
+ #include "xf86Pci.h"
diff --git a/extra/xf86-video-sisimedia/COPYING b/extra/xf86-video-sisimedia/COPYING
new file mode 100644
index 000000000..d643012d7
--- /dev/null
+++ b/extra/xf86-video-sisimedia/COPYING
@@ -0,0 +1,139 @@
+Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3) The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Copyright (C) 1998, 1999 by Alan Hourihane, Wigan, England.
+Parts Copyright (C) 2001-2005 Thomas Winischhofer, Vienna, Austria.
+
+Licensed under the following terms:
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appears in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+and that the name of the copyright holder not be used in advertising
+or publicity pertaining to distribution of the software without specific,
+written prior permission. The copyright holder makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without expressed or implied warranty.
+
+THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (C) 2003 Eric Anholt
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appears in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+and that the name of the copyright holder not be used in advertising
+or publicity pertaining to distribution of the software without specific,
+written prior permission. The copyright holder makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without expressed or implied warranty.
+
+THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (C) 2000 by Alan Hourihane, Sychdyn, North Wales, UK.
+Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria
+
+Portions from radeon_dga.c which is
+ Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
+ VA Linux Systems Inc., Fremont, California.
+
+Licensed under the following terms:
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the providers not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. The providers make no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+THE PROVIDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE PROVIDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 2007 George Sapountzis
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Copyright (C) 1999-2004 by The XFree86 Project, Inc.
+based on code written by Mark Vojkovich
+Copyright (C) 2003-2005 Thomas Winischhofer
+
+Licensed under the following terms:
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appears in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+and that the name of the copyright holder not be used in advertising
+or publicity pertaining to distribution of the software without specific,
+written prior permission. The copyright holder makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without expressed or implied warranty.
+
+THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/extra/xf86-video-sisimedia/PKGBUILD b/extra/xf86-video-sisimedia/PKGBUILD
new file mode 100644
index 000000000..edf4ef0bb
--- /dev/null
+++ b/extra/xf86-video-sisimedia/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 140378 2011-10-11 21:33:02Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-sisimedia
+pkgver=0.9.1
+pkgrel=1
+pkgdesc="X.org SiS 671 video driver"
+arch=(i686 x86_64)
+url="http://www.linuxconsulting.ro/xorg-drivers/"
+license=('custom')
+depends=('glibc' 'sis-dri')
+makedepends=('xorg-server-devel>=1.11.0' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.0')
+options=('!libtool')
+source=(ftp://ftp.archlinux.org/other/xf86-video-sisimedia/xf86-video-sisimedia-0.9.1_20091203.tar.bz2
+ xf86-video-sis-0.9.1-20102701.patch
+ 0002-Remove-XFree86-Misc-PassMessage-support.patch
+ 0003-Fix-build-with-Werror-format-security.patch
+ 0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch
+ 0006-Add-IgnoreHotkeyFlag-driver-option.patch
+ xf86-video-sis-0.9.1-dump-regs-after-video-init.patch
+ 0007-Remove-useless-loader-symbol-lists.patch
+ 0008-update-to-xextproto-7-1-support.patch
+ 0009-update-for-rac-removal.patch
+ 0010-change-to-use-abi-version-check.patch
+ 0011-more-rac-removal.patch
+ 0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch
+ 0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch
+ 0005-Correct-bounds-check-of-blitClip-array-access.patch
+ xserver19.patch
+ COPYING)
+sha1sums=('22e6616df49ec82755daae08043a29aaf92fa430'
+ '61715bb86180decde55a56fad9a12d841c89fbb2'
+ '33fdea57187a2758802bcb9572d3a864aaab4d59'
+ '6f05eae535b099b01c2819e63c68d4489b940267'
+ 'a6cb5da9312d32d729ad2619d8ae50cb26ba7d4d'
+ 'df728052a89c4152abbe89826756040dac23b624'
+ '4bed1c2455ed447f7053cb0729e99cbe598b3274'
+ 'd7802db5c49540ab136e71450cc846cfccd8b8d1'
+ 'e2236d2d00338f1658c66d9b972919af39897071'
+ '0c6b9322e6cb22c67e04d50a0b818a2dd4585cf2'
+ '802829a8ebd2b7e35fcc86665d842b1594a8ba30'
+ 'c26afe7508183735b7568b435be9c270ceeb62f1'
+ 'd2fa2a21454f3a161bcd8ae4d349657561049edd'
+ '5e288526bfa2c534f1feabdb571da16da8a1c7a6'
+ 'e86d702cb0b5e9bf43ff732696229965e176db7c'
+ 'b5f260bed7e705808ec05620316e503ed5d52ee5'
+ 'a64e244f274bcb155f892d0488a1a4b1b2f7d70d')
+
+build() {
+ cd "${srcdir}/xf86-video-sis-${pkgver}"
+ patch -Np1 -i "${srcdir}/xf86-video-sis-0.9.1-20102701.patch"
+ patch -Np1 -i "${srcdir}/0002-Remove-XFree86-Misc-PassMessage-support.patch"
+ patch -Np1 -i "${srcdir}/0003-Fix-build-with-Werror-format-security.patch"
+ patch -Np1 -i "${srcdir}/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch"
+ patch -Np1 -i "${srcdir}/0006-Add-IgnoreHotkeyFlag-driver-option.patch"
+ patch -Np1 -i "${srcdir}/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch"
+ patch -Np1 -i "${srcdir}/0007-Remove-useless-loader-symbol-lists.patch"
+ patch -Np1 -i "${srcdir}/0008-update-to-xextproto-7-1-support.patch"
+ patch -Np1 -i "${srcdir}/0009-update-for-rac-removal.patch"
+ patch -Np1 -i "${srcdir}/0010-change-to-use-abi-version-check.patch"
+ patch -Np1 -i "${srcdir}/0011-more-rac-removal.patch"
+ patch -Np1 -i "${srcdir}/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch"
+ patch -Np1 -i "${srcdir}/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch"
+ patch -Np1 -i "${srcdir}/0005-Correct-bounds-check-of-blitClip-array-access.patch"
+ patch -Np1 -i "${srcdir}/xserver19.patch"
+
+ sed -i -e 's,sis_drv,sisimedia_drv,g' src/Makefile.am
+ sed -i -e 's,\"sis\",\"sisimedia\",g' src/sis.h
+ sed -i -e 's,sisModuleData,sisimediaModuleData,g' src/sis_driver.c
+
+ autoreconf -fi
+
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}/usr/share/man"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch b/extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch
new file mode 100644
index 000000000..944eceb12
--- /dev/null
+++ b/extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch
@@ -0,0 +1,1376 @@
+diff -p -up xf86-video-sis-0.9.1/src/sis.h.orig xf86-video-sis-0.9.1/src/sis.h
+--- xf86-video-sis-0.9.1/src/sis.h.orig 2010-01-27 15:27:11.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis.h 2010-01-27 15:22:42.000000000 -0500
+@@ -98,6 +98,7 @@
+ #define XF86_VERSION_CURRENT XF86_VERSION_NUMERIC(4,3,99,902,0)
+ #endif
+
++#if 0
+ /*** Xorg Version Path <= X-Server 2.0 ***/
+ /* K.T for xorg 1.3 */
+ #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(2,0,0,0,0)
+@@ -109,33 +110,36 @@
+ #define NEW_XORG_VERSION 1
+ #endif
+ #endif
++#endif
++#define NEW_XORG_VERSION 1
+
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,0,0,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,0,0,0)
+ #define SIS_HAVE_RR_FUNC
+ #ifdef HaveDriverFuncs
+ #undef SIS_HaveDriverFuncs
+ #define SIS_HaveDriverFuncs HaveDriverFuncs
+ #define SIS_HAVE_DRIVER_FUNC
+ #endif /* HaveDriverFuncs */
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,900,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,900,0)
+ #define SISISXORG6899900
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,901,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,901,0)
+ #define SISISXORG6899901
+ #ifdef RANDR
+ #define SIS_HAVE_RR_GET_MODE_MM
+ #define SIS_HAVE_RANDR_SIZE_PATCH
+ #endif /* RANDR */
+-#endif /* >= 6.8.99.901 */
+-#endif /* >= 6.8.99.900 */
+-#endif /* >= 6.8.0.0 */
+-#else /* XORG_VERSION_CURRENT */
+-#include "xf86Version.h"
+-#define SISMYSERVERNAME "XFree86"
++//#endif /* >= 6.8.99.901 */
++//#endif /* >= 6.8.99.900 */
++//#endif /* >= 6.8.0.0 */
++//#else /* XORG_VERSION_CURRENT */
++//#include "xf86Version.h"
++//#define SISMYSERVERNAME "XFree86"
+ #endif
+
+ /*I.L. modified*/
+ //#define NEC_CASE /*It used the old Xorg_Version with new PCI structure.*/
+
++#if 0
+ #ifdef XSERVER_LIBPCIACCESS
+ #ifdef NEC_CASE
+ #define XORG_VERSION_CURRENT (((7) * 10000000) + ((1) * 100000) + ((0) * 1000) + 0)
+@@ -143,6 +147,7 @@
+ #define XORG_VERSION_CURRENT (((7) * 10000000) + ((4) * 100000) + ((0) * 1000) + 0)
+ #endif
+ #endif
++#endif
+
+
+ #define SIS_NAME "SIS"
+@@ -268,16 +273,16 @@
+
+ #undef SISCHECKOSSSE
+ #ifdef XORG_VERSION_CURRENT
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
+ #define SISCHECKOSSSE /* Automatic check OS for SSE; requires SigIll facility */
+-#endif
++//#endif
+ #endif
+
+ #undef SISGAMMARAMP
+ #ifdef XORG_VERSION_CURRENT
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
++//#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0)
+ #define SISGAMMARAMP /* Driver can set gamma ramp; requires additional symbols in xf86sym.h */
+-#endif
++//#endif
+ #endif
+
+ #if 0 /* Perhaps for future use */
+@@ -1031,6 +1036,7 @@ typedef struct {
+ #endif
+
+ PCITAG PciTag;
++
+ int PciBus, PciDevice, PciFunc;
+ EntityInfoPtr pEnt;
+ int Chipset;
+diff -p -up xf86-video-sis-0.9.1/src/sis300_accel.c.orig xf86-video-sis-0.9.1/src/sis300_accel.c
+--- xf86-video-sis-0.9.1/src/sis300_accel.c.orig 2007-05-29 22:12:02.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis300_accel.c 2010-01-27 15:21:54.000000000 -0500
+@@ -1231,8 +1231,8 @@ SiS300AccelInit(ScreenPtr pScreen)
+
+ #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */
+ if(pSiS->useEXA) {
+-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+-
++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++#if 0
+ if(pSiS->scrnOffset < 8192) {
+ int obase = 0;
+ /* data */
+@@ -1430,7 +1430,8 @@ SiS300AccelInit(ScreenPtr pScreen)
+ pSiS->exa_scratch = exaOffscreenAlloc(pScreen, 128 * 1024, 16, TRUE,
+ SiSScratchSave, pSiS);
+
+- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++// #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++ #if 0
+ if(pSiS->exa_scratch) {
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+ pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
+diff -p -up xf86-video-sis-0.9.1/src/sis310_accel.c.orig xf86-video-sis-0.9.1/src/sis310_accel.c
+--- xf86-video-sis-0.9.1/src/sis310_accel.c.orig 2007-09-29 05:13:12.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis310_accel.c 2010-01-27 15:21:54.000000000 -0500
+@@ -65,9 +65,9 @@
+ # define SIS_NEED_ARRAY
+ # undef SISNEWRENDER
+ # ifdef XORG_VERSION_CURRENT
+-# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0)
++//# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0)
+ # define SISNEWRENDER
+-# endif
++//# endif
+ # endif
+ # endif
+ #endif
+@@ -1463,7 +1463,7 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma
+ int dst_pitch, size, w, h, bytes;
+
+ w = pSrc->drawable.width;
+-
++/*
+ #if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0)
+ dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) +
+ pSiS->EXADriverPtr->card.offscreenPitch - 1) &
+@@ -1472,17 +1472,17 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma
+ dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) +
+ pSiS->EXADriverPtr->card.pixmapPitchAlign - 1) &
+ ~(pSiS->EXADriverPtr->card.pixmapPitchAlign - 1);
+-#else
++#else*/
+ dst_pitch = ((w * (pSrc->drawable.bitsPerPixel >> 3)) +
+ pSiS->EXADriverPtr->pixmapPitchAlign - 1) &
+ ~(pSiS->EXADriverPtr->pixmapPitchAlign - 1);
+
+-#endif
++//#endif
+ size = dst_pitch * pSrc->drawable.height;
+
+ if(size > pSiS->exa_scratch->size)
+ return FALSE;
+-
++/*
+ #if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0)
+ pSiS->exa_scratch_next = (pSiS->exa_scratch_next +
+ pSiS->EXADriverPtr->card.offscreenByteAlign - 1) &
+@@ -1491,34 +1491,34 @@ SiSUploadToScratch(PixmapPtr pSrc, Pixma
+ pSiS->exa_scratch_next = (pSiS->exa_scratch_next +
+ pSiS->EXADriverPtr->card.pixmapOffsetAlign - 1) &
+ ~(pSiS->EXADriverPtr->card.pixmapOffsetAlign - 1);
+-#else
++#else*/
+ pSiS->exa_scratch_next = (pSiS->exa_scratch_next +
+ pSiS->EXADriverPtr->pixmapOffsetAlign - 1) &
+ ~(pSiS->EXADriverPtr->pixmapOffsetAlign - 1);
+-#endif
+-
++//#endif
++/*
+ #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+ if(pSiS->exa_scratch_next + size >
+ pSiS->exa_scratch->offset + pSiS->exa_scratch->size) {
+ (pSiS->EXADriverPtr->accel.WaitMarker)(pSrc->drawable.pScreen, 0);
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+ }
+-#else
++#else*/
+ if(pSiS->exa_scratch_next + size >
+ pSiS->exa_scratch->offset + pSiS->exa_scratch->size) {
+ (pSiS->EXADriverPtr->WaitMarker)(pSrc->drawable.pScreen, 0);
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+ }
+-#endif
++//#endif
+
+ memcpy(pDst, pSrc, sizeof(*pDst));
+ pDst->devKind = dst_pitch;
+
+-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+- pDst->devPrivate.ptr = pSiS->EXADriverPtr->card.memoryBase + pSiS->exa_scratch_next;
+-#else
++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++// pDst->devPrivate.ptr = pSiS->EXADriverPtr->card.memoryBase + pSiS->exa_scratch_next;
++//#else
+ pDst->devPrivate.ptr = pSiS->EXADriverPtr->memoryBase + pSiS->exa_scratch_next;
+-#endif
++//#endif
+
+ pSiS->exa_scratch_next += size;
+
+@@ -1762,7 +1762,8 @@ SiS315AccelInit(ScreenPtr pScreen)
+
+ #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */
+ if(pSiS->useEXA) {
+-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++#if 0
++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+
+ int obase = 0;
+
+@@ -1952,11 +1953,11 @@ SiS315AccelInit(ScreenPtr pScreen)
+ SiSScratchSave, pSiS);
+ if(pSiS->exa_scratch) {
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+- pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
+- #else
++ //#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++ // pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
++ //#else
+ pSiS->EXADriverPtr->UploadToScratch = SiSUploadToScratch;
+- #endif
++ //#endif
+ }
+
+ } else {
+diff -p -up xf86-video-sis-0.9.1/src/sis_3daccel.c.orig xf86-video-sis-0.9.1/src/sis_3daccel.c
+--- xf86-video-sis-0.9.1/src/sis_3daccel.c.orig 2007-08-10 04:22:16.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis_3daccel.c 2010-01-27 15:21:54.000000000 -0500
+@@ -64,9 +64,9 @@
+ # define SIS_NEED_ARRAY
+ # undef SISNEWRENDER
+ # ifdef XORG_VERSION_CURRENT
+-# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0)
++//# if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(6,7,0,0,0)
+ # define SISNEWRENDER
+-# endif
++//# endif
+ # endif
+ # endif
+ #endif
+diff -p -up xf86-video-sis-0.9.1/src/sis_accel.c.orig xf86-video-sis-0.9.1/src/sis_accel.c
+--- xf86-video-sis-0.9.1/src/sis_accel.c.orig 2007-05-29 22:12:02.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis_accel.c 2010-01-27 15:21:54.000000000 -0500
+@@ -781,50 +781,50 @@ SiSAccelInit(ScreenPtr pScreen)
+
+ #ifdef SIS_USE_EXA /* ----------------------- EXA ----------------------- */
+ if(pSiS->useEXA) {
+-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++//#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+
+ /* data */
+- pSiS->EXADriverPtr->card.memoryBase = pSiS->FbBase;
+- pSiS->EXADriverPtr->card.memorySize = pSiS->maxxfbmem;
+- pSiS->EXADriverPtr->card.offScreenBase = pScrn->displayWidth * pScrn->virtualY
+- * (pScrn->bitsPerPixel >> 3);
+- if(pSiS->EXADriverPtr->card.memorySize > pSiS->EXADriverPtr->card.offScreenBase) {
+- pSiS->EXADriverPtr->card.flags = EXA_OFFSCREEN_PIXMAPS;
+- } else {
+- pSiS->NoXvideo = TRUE;
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+- "Not enough video RAM for offscreen memory manager. Xv disabled\n");
+- }
+-#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0)
+- pSiS->EXADriverPtr->card.offscreenByteAlign = 8; /* src/dst: double quad word boundary */
+- pSiS->EXADriverPtr->card.offscreenPitch = 1;
+-#else
+- pSiS->EXADriverPtr->card.pixmapOffsetAlign = 8; /* src/dst: double quad word boundary */
+- pSiS->EXADriverPtr->card.pixmapPitchAlign = 8; /* could possibly be 1, but who knows for sure */
+-#endif
+- pSiS->EXADriverPtr->card.maxX = 2047;
+- pSiS->EXADriverPtr->card.maxY = 2047;
++// pSiS->EXADriverPtr->card.memoryBase = pSiS->FbBase;
++// pSiS->EXADriverPtr->card.memorySize = pSiS->maxxfbmem;
++// pSiS->EXADriverPtr->card.offScreenBase = pScrn->displayWidth * pScrn->virtualY
++// * (pScrn->bitsPerPixel >> 3);
++// if(pSiS->EXADriverPtr->card.memorySize > pSiS->EXADriverPtr->card.offScreenBase) {
++// pSiS->EXADriverPtr->card.flags = EXA_OFFSCREEN_PIXMAPS;
++// } else {
++// pSiS->NoXvideo = TRUE;
++// xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++// "Not enough video RAM for offscreen memory manager. Xv disabled\n");
++// }
++//#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,8,2,0,0)
++// pSiS->EXADriverPtr->card.offscreenByteAlign = 8; /* src/dst: double quad word boundary */
++// pSiS->EXADriverPtr->card.offscreenPitch = 1;
++//#else
++// pSiS->EXADriverPtr->card.pixmapOffsetAlign = 8; /* src/dst: double quad word boundary */
++// pSiS->EXADriverPtr->card.pixmapPitchAlign = 8; /* could possibly be 1, but who knows for sure */
++//#endif
++// pSiS->EXADriverPtr->card.maxX = 2047;
++// pSiS->EXADriverPtr->card.maxY = 2047;
+
+ /* Sync */
+- pSiS->EXADriverPtr->accel.WaitMarker = SiSEXASync;
++// pSiS->EXADriverPtr->accel.WaitMarker = SiSEXASync;
+
+ /* Solid fill */
+- pSiS->EXADriverPtr->accel.PrepareSolid = SiSPrepareSolid;
+- pSiS->EXADriverPtr->accel.Solid = SiSSolid;
+- pSiS->EXADriverPtr->accel.DoneSolid = SiSDoneSolid;
++// pSiS->EXADriverPtr->accel.PrepareSolid = SiSPrepareSolid;
++// pSiS->EXADriverPtr->accel.Solid = SiSSolid;
++// pSiS->EXADriverPtr->accel.DoneSolid = SiSDoneSolid;
+
+ /* Copy */
+- pSiS->EXADriverPtr->accel.PrepareCopy = SiSPrepareCopy;
+- pSiS->EXADriverPtr->accel.Copy = SiSCopy;
+- pSiS->EXADriverPtr->accel.DoneCopy = SiSDoneCopy;
++// pSiS->EXADriverPtr->accel.PrepareCopy = SiSPrepareCopy;
++// pSiS->EXADriverPtr->accel.Copy = SiSCopy;
++// pSiS->EXADriverPtr->accel.DoneCopy = SiSDoneCopy;
+
+ /* Composite not supported */
+
+ /* Upload, download to/from Screen */
+- pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen;
+- pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen;
++// pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen;
++// pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen;
+
+-#else /*xorg>=7.0*/
++//#else /*xorg>=7.0*/
+
+ pSiS->EXADriverPtr->exa_major = 2;
+ pSiS->EXADriverPtr->exa_minor = 0;
+@@ -867,7 +867,7 @@ SiSAccelInit(ScreenPtr pScreen)
+
+ #endif /*end of Xorg>=7.0 EXA Setting*/
+ }
+-#endif /* EXA */
++//#endif /* EXA */
+
+ } /* NoAccel */
+
+@@ -946,11 +946,11 @@ SiSAccelInit(ScreenPtr pScreen)
+ SiSScratchSave, pSiS);
+ if(pSiS->exa_scratch) {
+ pSiS->exa_scratch_next = pSiS->exa_scratch->offset;
+- #if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
+- pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
+- #else
++ //#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,0,0,0,0)
++ // pSiS->EXADriverPtr->accel.UploadToScratch = SiSUploadToScratch;
++ //#else
+ pSiS->EXADriverPtr->UploadToScratch = SiSUploadToScratch;
+- #endif
++ //#endif
+ }
+
+ } else {
+diff -p -up xf86-video-sis-0.9.1/src/sis_dri.c.orig xf86-video-sis-0.9.1/src/sis_dri.c
+--- xf86-video-sis-0.9.1/src/sis_dri.c.orig 2008-11-04 08:27:14.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_dri.c 2010-01-27 15:21:54.000000000 -0500
+@@ -56,7 +56,8 @@ extern Bool drmSiSAgpInit(int driSubFD,
+
+ #ifdef XORG_VERSION_CURRENT
+ #define SISHAVECREATEBUSID
+-#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,7,99,1,0)
++#if 0
++//#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(6,7,99,1,0)
+ /*I.L. modified*/
+ #ifndef XSERVER_LIBPCIACCESS
+ extern char *DRICreatePCIBusID(pciVideoPtr PciInfo);
+diff -p -up xf86-video-sis-0.9.1/src/sis_driver.c.orig xf86-video-sis-0.9.1/src/sis_driver.c
+--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2009-06-22 08:15:54.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-27 15:21:54.000000000 -0500
+@@ -140,6 +140,17 @@ static int pix24bpp = 0;
+ * an upper-case version of the driver name.
+ */
+
++#if XSERVER_LIBPCIACCESS
++#define SIS_DEVICE_MATCH(d, i)\
++ {PCI_VENDOR_SIS, (d), PCI_MATCH_ANY, PCI_MATCH_ANY, 0, 0, (i) }
++
++static const struct pci_id_match SIS_device_match[] = {
++ SIS_DEVICE_MATCH (PCI_CHIP_SIS670, 0),
++ SIS_DEVICE_MATCH (PCI_CHIP_SIS671, 0),
++ {0, 0, 0 },
++ };
++#endif
++
+ #ifdef _X_EXPORT
+ _X_EXPORT
+ #endif
+@@ -147,7 +158,11 @@ DriverRec SIS = {
+ SIS_CURRENT_VERSION,
+ SIS_DRIVER_NAME,
+ SISIdentify,
++#if XSERVER_LIBPCIACCESS
++ NULL,
++#else
+ SISProbe,
++#endif
+ SISAvailableOptions,
+ NULL,
+ 0
+@@ -155,6 +170,11 @@ DriverRec SIS = {
+ ,
+ SISDriverFunc
+ #endif
++#if XSERVER_LIBPCIACCESS
++ ,
++ SIS_device_match,
++ SIS_pci_probe
++#endif
+ };
+
+ static SymTabRec SISChipsets[] = {
+@@ -453,7 +473,94 @@ SISDriverFunc(ScrnInfoPtr pScrn, SISDRIV
+ /****************************************************/
+ /* Probe() */
+ /****************************************************/
++static Bool SIS_pci_probe (DriverPtr driver, int entity_num, struct pci_device *device, intptr_t match_data)
++{
++ ScrnInfoPtr pScrn;
++#ifdef SISDUALHEAD
++ EntityInfoPtr pEnt;
++ Bool foundScreen = FALSE;
++#endif
++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - begin, entity_num=%d\n", entity_num);
++xf86DrvMsg(0, X_INFO, " vendor_id=0x%x\n", device->vendor_id);
++xf86DrvMsg(0, X_INFO, " device_id=0x%x\n", device->device_id);
++xf86DrvMsg(0, X_INFO, " bus=%d\n", device->bus);
++xf86DrvMsg(0, X_INFO, " dev=%d\n", device->dev);
++xf86DrvMsg(0, X_INFO, " func=%d\n", device->func);
++ pScrn = NULL;
++ if((pScrn = xf86ConfigPciEntity(pScrn, 0,
++ entity_num,
++ SISPciChipsets,
++ NULL, NULL, NULL, NULL, NULL))) {
++ xf86DrvMsg(0, X_INFO, "SIS_pci_probe - ConfigPciEntity found\n");
++ /* Fill in what we can of the ScrnInfoRec */
++ pScrn->driverVersion = SIS_CURRENT_VERSION;
++ pScrn->driverName = SIS_DRIVER_NAME;
++ pScrn->name = SIS_NAME;
++ pScrn->Probe = NULL;//SISProbe;
++ pScrn->PreInit = SISPreInit;
++ pScrn->ScreenInit = SISScreenInit;
++ pScrn->SwitchMode = SISSwitchMode;
++ pScrn->AdjustFrame = SISAdjustFrame;
++ pScrn->EnterVT = SISEnterVT;
++ pScrn->LeaveVT = SISLeaveVT;
++ pScrn->FreeScreen = SISFreeScreen;
++ pScrn->ValidMode = SISValidMode;
++ pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/
++#ifdef X_XF86MiscPassMessage
++// if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
++// pScrn->HandleMessage = SISHandleMessage;
++// }
++#endif
++ foundScreen = TRUE;
++ }
++ #ifdef SISDUALHEAD
++ pEnt = xf86GetEntityInfo(entity_num);
++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - GetEntityInfo chipset is 0x%x\n",pEnt->chipset);
++ switch(pEnt->chipset) {
++ case PCI_CHIP_SIS300:
++ case PCI_CHIP_SIS540:
++ case PCI_CHIP_SIS630:
++ case PCI_CHIP_SIS550:
++ case PCI_CHIP_SIS315:
++ case PCI_CHIP_SIS315H:
++ case PCI_CHIP_SIS315PRO:
++ case PCI_CHIP_SIS650:
++ case PCI_CHIP_SIS330:
++ case PCI_CHIP_SIS660:
++ case PCI_CHIP_SIS340:
++ case PCI_CHIP_SIS670:
++ case PCI_CHIP_SIS671:
++ case PCI_CHIP_XGIXG40:
++ {
++ SISEntPtr pSiSEnt = NULL;
++ DevUnion *pPriv;
++
++ xf86SetEntitySharable(entity_num);
++ if(SISEntityIndex < 0) {
++ SISEntityIndex = xf86AllocateEntityPrivateIndex();
++ }
++ pPriv = xf86GetEntityPrivate(pScrn->entityList[0], SISEntityIndex);
++ if(!pPriv->ptr) {
++ pPriv->ptr = xnfcalloc(sizeof(SISEntRec), 1);
++ pSiSEnt = pPriv->ptr;
++ memset(pSiSEnt, 0, sizeof(SISEntRec));
++ pSiSEnt->lastInstance = -1;
++ } else {
++ pSiSEnt = pPriv->ptr;
++ }
++ pSiSEnt->lastInstance++;
++ xf86SetEntityInstanceForScreen(pScrn, pScrn->entityList[0],
++ pSiSEnt->lastInstance);
++ }
++ break;
+
++ default:
++ break;
++ }
++#endif /* DUALHEAD */
++xf86DrvMsg(0, X_INFO, "SIS_pci_probe - end\n");
++ return foundScreen;
++}
+
+ static Bool
+ SISProbe(DriverPtr drv, int flags)
+@@ -464,7 +571,7 @@ SISProbe(DriverPtr drv, int flags)
+ int numDevSections;
+ int numUsed, numUsedSiS, numUsedXGI;
+ Bool foundScreen = FALSE;
+-
++xf86DrvMsg(0, X_INFO, "SISPRobe() begin, flags=%d\n", flags);
+ /*
+ * The aim here is to find all cards that this driver can handle,
+ * and for the ones not already claimed by another driver, claim
+@@ -490,6 +597,7 @@ SISProbe(DriverPtr drv, int flags)
+ * There's no matching device section in the config file, so quit
+ * now.
+ */
++ xf86DrvMsg(0, X_INFO, "SISProbe - MatchDevice fail\n");
+ return FALSE;
+ }
+
+@@ -526,14 +634,16 @@ SISProbe(DriverPtr drv, int flags)
+ xfree(devSections);
+
+ numUsed = numUsedSiS + numUsedXGI;
+-
+- if(numUsed <= 0)
++xf86DrvMsg(0, X_INFO, "SISPRobe - test1\n");
++ if(numUsed <= 0) {
++ xf86DrvMsg(0, X_INFO, "SISProbe - MatchPciInstances fail\n");
+ return FALSE;
++ }
+
+ if(flags & PROBE_DETECT) {
+
+ foundScreen = TRUE;
+-
++ xf86DrvMsg(0, X_INFO, "SISProbe - flags already probe");
+ } else for(i = 0; i < numUsed; i++) {
+
+ ScrnInfoPtr pScrn;
+@@ -548,6 +658,7 @@ SISProbe(DriverPtr drv, int flags)
+ (i < numUsedSiS) ? usedChipsSiS[i] : usedChipsXGI[i-numUsedSiS],
+ (i < numUsedSiS) ? SISPciChipsets : XGIPciChipsets,
+ NULL, NULL, NULL, NULL, NULL))) {
++ xf86DrvMsg(0, X_INFO, "SISProbe - ConfigPciEntity found\n");
+ /* Fill in what we can of the ScrnInfoRec */
+ pScrn->driverVersion = SIS_CURRENT_VERSION;
+ pScrn->driverName = SIS_DRIVER_NAME;
+@@ -563,16 +674,16 @@ SISProbe(DriverPtr drv, int flags)
+ pScrn->ValidMode = SISValidMode;
+ pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/
+ #ifdef X_XF86MiscPassMessage
+- if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
+- pScrn->HandleMessage = SISHandleMessage;
++ if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
++// pScrn->HandleMessage = SISHandleMessage;
+ }
+ #endif
+ foundScreen = TRUE;
+ }
+-
++xf86DrvMsg(0, X_INFO, "SISProbe - test2\n");
+ #ifdef SISDUALHEAD
+ pEnt = xf86GetEntityInfo((i < numUsedSiS) ? usedChipsSiS[i] : usedChipsXGI[i-numUsedSiS]);
+-
++ xf86DrvMsg(0, X_INFO, "SISProbe - GetEntityInfo done\n");
+ switch(pEnt->chipset) {
+ case PCI_CHIP_SIS300:
+ case PCI_CHIP_SIS540:
+@@ -620,7 +731,7 @@ SISProbe(DriverPtr drv, int flags)
+
+ if(usedChipsSiS) xfree(usedChipsSiS);
+ if(usedChipsXGI) xfree(usedChipsXGI);
+-
++xf86DrvMsg(0, X_INFO, "SISProbe end\n");
+ return foundScreen;
+ }
+
+@@ -1306,7 +1417,11 @@ SiSReadROM(ScrnInfoPtr pScrn)
+ }
+
+ if(readpci) {
++#ifndef XSERVER_LIBPCIACCESS
+ xf86ReadPciBIOS(0, pSiS->PciTag, 0, pSiS->BIOS, biossize);
++#else
++ pci_device_read_rom(pSiS->PciInfo, pSiS->BIOS);
++#endif
+ if(SISCheckBIOS(pSiS, mypciid, mypcivendor, biossize)) {
+ found = TRUE;
+ }
+@@ -2224,8 +2339,7 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr
+ { 2, 0x04, 56.6 },
+ { 2, 0x02, 60.1 },
+ { 2, 0x01, 80.1 }
+- };
+-
++ };
+ const myvddctiming myvtiming[11] = {
+ { 1, 0x02, 56 },
+ { 1, 0x01, 60 },
+@@ -2240,11 +2354,6 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr
+ { 2, 0x01, 75 }
+ };
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSSetSyncRangeFromEdid\n");
+-#endif
+-
+ if(flag) { /* HSync */
+
+ for(i = 0; i < 4; i++) {
+@@ -2350,12 +2459,6 @@ SiSSetSyncRangeFromEdid(ScrnInfoPtr pScr
+ static Bool
+ SiSAllowSyncOverride(SISPtr pSiS, Bool fromDDC, int mfbcrt)
+ {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSAllowSyncOverride\n");
+-#endif
+-// return TRUE;
+-
+ if(!(pSiS->VBFlags2 & VB2_VIDEOBRIDGE)) return FALSE;
+
+ #ifdef SISDUALHEAD
+@@ -2382,11 +2485,10 @@ SiSAllowSyncOverride(SISPtr pSiS, Bool f
+ }
+ #endif
+
+-// PCF
+-// if(!(pSiS->VBFlags & DISPTYPE_CRT1)) {
++ if(!(pSiS->VBFlags & DISPTYPE_CRT1)) {
+ if( (pSiS->VBFlags & CRT2_TV) ||
+ ((pSiS->VBFlags & CRT2_LCD) && (!fromDDC)) ) return TRUE;
+-// } else if((pSiS->VBFlags & CRT1_LCDA) && (!fromDDC)) return TRUE;
++ } else if((pSiS->VBFlags & CRT1_LCDA) && (!fromDDC)) return TRUE;
+
+ return FALSE;
+ }
+@@ -2394,8 +2496,6 @@ SiSAllowSyncOverride(SISPtr pSiS, Bool f
+ static Bool
+ SiSCheckForH(float hsync, MonPtr monitor)
+ {
+-
+-
+ int i;
+ for(i = 0; i < monitor->nHsync; i++) {
+ if((hsync > monitor->hsync[i].lo * (1.0 - SYNC_TOLERANCE)) &&
+@@ -2409,7 +2509,6 @@ SiSCheckForH(float hsync, MonPtr monitor
+ static Bool
+ SiSCheckForV(float vrefresh, MonPtr monitor)
+ {
+-
+ int i;
+ for(i = 0; i < monitor->nVrefresh; i++) {
+ if((vrefresh > monitor->vrefresh[i].lo * (1.0 - SYNC_TOLERANCE)) &&
+@@ -2424,21 +2523,11 @@ static Bool
+ SiSCheckAndOverruleH(ScrnInfoPtr pScrn, MonPtr monitor)
+ {
+ DisplayModePtr mode = monitor->Modes;
+-// PCF
+ float mymin = 30.0, mymax = 80.0, hsync;
+-
+ Bool doit = FALSE;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSCheckAndOverruleH\n");
+-#endif
+-
+ for(hsync = mymin; hsync <= mymax; hsync += .5) {
+- if(!SiSCheckForH(hsync, monitor))
+- {
+- doit = TRUE;
+- }
++ if(!SiSCheckForH(hsync, monitor)) doit = TRUE;
+ }
+
+ if(mode) {
+@@ -2461,7 +2550,6 @@ SiSCheckAndOverruleH(ScrnInfoPtr pScrn,
+ return TRUE;
+ }
+
+-
+ return FALSE;
+ }
+
+@@ -2469,20 +2557,11 @@ static Bool
+ SiSCheckAndOverruleV(ScrnInfoPtr pScrn, MonPtr monitor)
+ {
+ DisplayModePtr mode = monitor->Modes;
+-// PCF
+- float mymin = 57.0, mymax = 63.0, vrefresh;
++ float mymin = 59.0, mymax = 61.0, vrefresh;
+ Bool doit = FALSE, ret = FALSE;
+-
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSCheckAndOverruleV\n");
+-#endif
+
+ for(vrefresh = mymin; vrefresh <= mymax; vrefresh += 1.0) {
+- if(!SiSCheckForV(vrefresh, monitor))
+- {
+- doit = TRUE;
+- }
++ if(!SiSCheckForV(vrefresh, monitor)) doit = TRUE;
+ }
+
+ if(mode) {
+@@ -2515,7 +2594,6 @@ SiSCheckAndOverruleV(ScrnInfoPtr pScrn,
+ monitor->nVrefresh++;
+ ret = TRUE;
+ }
+-
+ return ret;
+ }
+
+@@ -2529,11 +2607,6 @@ SiSFixupHVRanges(ScrnInfoPtr pScrn, int
+ static const char *saneh = "Correcting %s CRT%d monitor HSync range\n";
+ static const char *sanev = "Correcting %s CRT%d monitor VRefresh range\n";
+ int crtnum;
+-
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSFixupHVRanges\n");
+-#endif
+
+ #ifdef SISDUALHEAD
+ if(pSiS->DualHeadMode) {
+@@ -2610,8 +2683,7 @@ SiSFixupHVRanges(ScrnInfoPtr pScrn, int
+ }
+ }
+ }
+-// PCF
+-// return TRUE;
++
+ return freqoverruled;
+ }
+
+@@ -2623,11 +2695,6 @@ SiSMakeOwnModeList(ScrnInfoPtr pScrn, Bo
+ Bool isfordvi, Bool *havecustommodes, Bool fakecrt2modes, Bool IsForCRT2)
+ {
+ DisplayModePtr tempmode, delmode, mymodes;
+-
+- // PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSMakeOwnModeList\n");
+-#endif
+
+ if((mymodes = SiSBuildBuiltInModeList(pScrn, includelcdmodes, isfordvi, fakecrt2modes, IsForCRT2))) {
+ if(!acceptcustommodes) {
+@@ -2676,11 +2743,6 @@ SiSSetupModeListParmsCRT1(SISPtr pSiS, u
+ Bool *acceptcustommodes, Bool *includelcdmodes, Bool *isfordvi,
+ Bool *fakecrt2modes, Bool *IsForCRT2, Bool *AllowInterlace)
+ {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSSetupModeListParmsCRT1\n");
+-#endif
+-
+ (*acceptcustommodes) = TRUE; /* Accept user modelines */
+ (*includelcdmodes) = TRUE; /* Include modes reported by DDC */
+ (*isfordvi) = FALSE; /* Is for digital DVI output */
+@@ -2815,11 +2877,6 @@ SiSReplaceModeList(ScrnInfoPtr pScrn, Cl
+ * -) crt2 device is not TV, and
+ * -) crt1 is not LCDA, unless bridge is TMDS/LCDA capable (301C)
+ */
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSReplaceModeList\n");
+-#endif
+-
+
+ if((pSiS->VGAEngine == SIS_300_VGA) || (pSiS->VGAEngine == SIS_315_VGA)) {
+
+@@ -2881,11 +2938,6 @@ SiSClearModesPrivate(DisplayModePtr mode
+ {
+ DisplayModePtr tempmode;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSClearModesPrivate\n");
+-#endif
+-
+ /* Make sure that the Private field is NULL */
+ /* (This way we don't have to care for MergedFB
+ * when freeing the mode; just check the Private
+@@ -2904,11 +2956,6 @@ SiSDuplicateMode(DisplayModePtr source)
+ {
+ DisplayModePtr dest = NULL;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSDuplicateMode\n");
+-#endif
+-
+ if(source) {
+ if((dest = xalloc(sizeof(DisplayModeRec)))) {
+ memcpy(dest, source, sizeof(DisplayModeRec));
+@@ -2972,11 +3019,6 @@ SiSBuildVesaModeList(ScrnInfoPtr pScrn,
+ SISPtr pSiS = SISPTR(pScrn);
+ int i = 0;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSBuildVesaModeList\n");
+-#endif
+-
+ while(vbe->VideoModePtr[i] != 0xffff) {
+ sisModeInfoPtr m;
+ VbeModeInfoBlock *mode;
+@@ -3014,7 +3056,7 @@ SiSSetMinMaxPixelClock(ScrnInfoPtr pScrn
+ {
+ SISPtr pSiS = SISPTR(pScrn);
+ MessageType from;
+-
++
+ /* Set the min pixel clock */
+ pSiS->MinClock = 5000;
+ if((pSiS->VGAEngine == SIS_300_VGA) || (pSiS->VGAEngine == SIS_315_VGA)) {
+@@ -3061,11 +3103,6 @@ SiSRemoveUnsuitableModes(ScrnInfoPtr pSc
+ int maxUsedClock = 0;
+ static const char *notsuitablestr = "Not using mode \"%s\" (not suitable for %s mode)\n";
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiSRemoveUnsuitableModes\n");
+-#endif
+-
+ if((p = first = initial)) {
+
+ do {
+@@ -3222,11 +3259,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ static const char *crtsetupstr = "*************************** CRT%d setup ***************************\n";
+ #endif
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SISPreInit Start\n");
+-#endif
+-
+ if(flags & PROBE_DETECT) {
+
+ vbeInfoPtr pVbe;
+@@ -4716,10 +4748,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ mymax = 8192 * 1024;
+ else if(total <= 32768) /* <= 32MB: Use 16MB for X */
+ mymax = 16384 * 1024;
+- else
+-// PCF /* Otherwise: Use 20MB for X */
+-// mymax = 20 * 1024 * 1024;
+- mymax = 20 * 1024 *1024;
++ else /* Otherwise: Use 20MB for X */
++ mymax = 20 * 1024 * 1024;
+ /* availMem is right now adjusted to not use the UMA
+ * area. Make sure that our default doesn't reach
+ * into the UMA area either.
+@@ -4758,9 +4788,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ if(pScrn->videoRam <= 65536)
+ pSiS->maxxfbmem = 16384 * 1024; /* On >=315 series and <=64MB, use 16MB */
+ else
+-// PCF
+-// pSiS->maxxfbmem = 20 * 1024 * 1024; /* On >=315 series and > 64MB, use 20MB */
+- pSiS->maxxfbmem = 20 * 1024 * 1024;
++ pSiS->maxxfbmem = 20 * 1024 * 1024; /* On >=315 series and > 64MB, use 20MB */
+ } else
+ pSiS->maxxfbmem = 12288 * 1024; /* On <315 series, use 12MB */
+
+@@ -4980,7 +5008,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ * via CRT2.)
+ * (TODO: This might need some modification for the
+ * 307 bridges, if these are capable of driving
+- * LCDs > via channel B)
++ * LCDs > 1600 via channel B)
+ */
+ if((pSiS->SiS_SD_Flags & SiS_SD_SUPPORTLCDA) &&
+ (pSiS->VBFlags & CRT2_LCD) &&
+@@ -4995,10 +5023,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ */
+ if(pSiS->ChipType < SIS_662 || pSiS->ChipType >= XGI_20) pSiS->ForceCRT1Type = CRT1_LCDA;
+ pSiS->ForceCRT2Type = CRT2_TV;
+-// PCF
+-// } else if(pSiS->LCDwidth > 1600) {
+- } else if(pSiS->LCDwidth > 1920) {
+-
++ } else if(pSiS->LCDwidth > 1600) {
+ /* If LCD is > 1600, default to LCDA if we don't need CRT1/VGA for other head */
+ Bool NeedCRT1VGA = FALSE;
+ #ifdef SISDUALHEAD
+@@ -5591,11 +5616,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ clockRanges->minClock = pSiS->MinClock;
+ clockRanges->maxClock = pSiS->MaxClock;
+ clockRanges->clockIndex = -1; /* programmable */
+-// PCF
+-// clockRanges->interlaceAllowed = TRUE;
+-// clockRanges->doubleScanAllowed = TRUE;
+- clockRanges->interlaceAllowed = FALSE;
+- clockRanges->doubleScanAllowed = FALSE;
++ clockRanges->interlaceAllowed = TRUE;
++ clockRanges->doubleScanAllowed = TRUE;
+
+ /* Replace default mode list */
+ SiSReplaceModeList(pScrn, clockRanges, FALSE);
+@@ -5623,11 +5645,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ break;
+ case SIS_300_VGA:
+ case SIS_315_VGA:
+-// PCF
+ maxpitch = 4088;
+- maxheight = 4096;
+-// maxpitch = 1600;
+-// maxheight = 1200;
++ maxheight = 4096;
+ break;
+ default:
+ maxpitch = 2048;
+@@ -5688,12 +5707,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pScrn->monitor->DDC = NULL;
+ }
+ #endif
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"xf86ValidateModes Start\n");
+- xf86DrvMsg(0, X_INFO,"virtualX = %d, virtualY = %d, maxpitch = %d, maxheight = %d, maxxfbmem = %ld \n",
+- pScrn->display->virtualX,pScrn->display->virtualY,maxpitch,maxheight,pSiS->maxxfbmem/1024);
+-#endif
++
+ i = xf86ValidateModes(pScrn,
+ pScrn->monitor->Modes,
+ pScrn->display->modes,
+@@ -5703,13 +5717,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pScrn->bitsPerPixel * 8,
+ minheight, maxheight,
+ pScrn->display->virtualX,
+- pScrn->display->virtualY,
++ pScrn->display->virtualY,
+ pSiS->maxxfbmem,
+ LOOKUP_BEST_REFRESH);
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"xf86ValidateModes End\n");
+-#endif
+
+ pScrn->monitor->DDC = backupddc;
+ }
+@@ -5745,28 +5755,17 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ #endif
+
+ /* Prune the modes marked as invalid */
+-// PCF
+-// xf86DrvMsg(0, X_INFO,"xf86PruneDriverModes Start\n");
+ xf86PruneDriverModes(pScrn);
+-// xf86DrvMsg(0, X_INFO,"xf86PruneDriverModes End\n");
+-
+
+ if(i == 0 || pScrn->modes == NULL) {
+ SISErrorLog(pScrn, "No valid modes found - check VertRefresh/HorizSync\n");
+ goto my_error_1;
+ }
+
+-// PCF
+-// xf86DrvMsg(0, X_INFO,"xf86SetCrtcForModes Start\n");
+ xf86SetCrtcForModes(pScrn, INTERLACE_HALVE_V);
+-// xf86DrvMsg(0, X_INFO,"xf86SetCrtcForModes End\n");
+-
+
+ /* Clear the modes' Private field */
+-// PCF
+-// xf86DrvMsg(0, X_INFO,"SiSClearModesPrivate Start\n");
+ SiSClearModesPrivate(pScrn->modes);
+-// xf86DrvMsg(0, X_INFO,"SiSClearModesPrivate End\n");
+
+ /* Save virtualX/Y calculated by ValidateModes
+ * and overwrite them with our values assumed to
+@@ -5823,23 +5822,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ }
+
+ if(usemyprint) {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SiSPrintModes Start\n");
+-#endif
+ SiSPrintModes(pScrn, printfreq);
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SiSPrintModes End\n");
+-#endif
+ } else {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"xf86PrintModes Start\n");
+-#endif
+ xf86PrintModes(pScrn);
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"xf86PrintModes End\n");
+-#endif
+ }
+ }
+
+@@ -6072,10 +6057,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+
+ /*xf86DrvMsg(0,X_INFO,"CurrentMode=%d. \n",pSiS->Hkey_Device_Switch_State);
+ xf86DrvMsg(0,X_INFO,"Init_VBFlags=0X%x. \n",pSiS->VBFlags);*/
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0,X_INFO,"SISPreInit End\n");
+-#endif
++
+ return TRUE;
+
+ /* ---- */
+@@ -7523,9 +7505,7 @@ SiSPreSetMode(ScrnInfoPtr pScrn, Display
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, SISVERBLEVEL, "VBFlags=0x%x\n", pSiS->VBFlags);
+
+ CR30 = 0x00;
+-// PCF
+-// CR31 &= ~0x60; /* Clear VB_Drivermode & VB_OutputDisable */
+- CR31 &= ~0x20; /* Clear VB_Drivermode & VB_OutputDisable */
++ CR31 &= ~0x60; /* Clear VB_Drivermode & VB_OutputDisable */
+ CR31 |= 0x04; /* Set VB_NotSimuMode (not for 30xB/1400x1050?) */
+ CR35 = 0x00;
+
+@@ -8633,11 +8613,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISEntPtr pSiSEnt = NULL;
+ #endif
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit\n");
+-#endif
+-
+ andSISIDXREG(SISCR,0x11,0x7f); /* Unlock CRTC registers */
+
+ SISModifyModeInfo(mode); /* Quick check of the mode parameters */
+@@ -8647,14 +8622,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ }
+
+ if(pSiS->UseVESA) { /* With VESA: */
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit UseVESA\n");
+-#endif
+
+ #ifdef SISDUALHEAD
+ /* No dual head mode when using VESA */
+@@ -8679,7 +8646,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSSetVESAMode() failed\n");
+ return FALSE;
+ }
+-
+ sisSaveUnlockExtRegisterLock(pSiS, NULL, NULL);
+ if(pSiS->VGAEngine == SIS_300_VGA || pSiS->VGAEngine == SIS_315_VGA) {
+ SiSPreSetMode(pScrn, mode, SIS_MODE_SIMU);
+@@ -8697,21 +8663,11 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SiSVGAProtect(pScrn, TRUE);
+ (*pSiS->SiSRestore)(pScrn, &pSiS->ModeReg);
+ SiSVGAProtect(pScrn, FALSE);
+-// xf86DrvMsg(0, X_INFO,"VESA DualHeadMode SetMode\n");
++
+ } else { /* Without VESA: */
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Without VESA\n");
+-#endif
+
+ #ifdef SISDUALHEAD
+ if(pSiS->DualHeadMode) {
+-
+- xf86DrvMsg(0, X_INFO,"SISModeInit DualHeadMode\n");
+
+ if(!(*pSiS->ModeInit)(pScrn, mode)) {
+ SISErrorLog(pScrn, "ModeInit() failed\n");
+@@ -8730,10 +8686,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"DualHeadMode SetCRT2\n");
+-#endif
+ SiSPostSetMode(pScrn, &pSiS->ModeReg);
+ if(pSiSEnt->pScrn_2) {
+ /* No need to go through pScrn->AdjustFrame; the coords
+@@ -8752,11 +8704,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"DualHeadMode SetCRT1\n");
+-#endif
+-
+ SiS_SiSLVDSBackLight(pSiS, TRUE);
+ SiSPostSetMode(pScrn, &pSiS->ModeReg);
+ if(pSiSEnt->pScrn_1) {
+@@ -8771,20 +8718,8 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+
+ } else {
+ #endif
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+- xf86DrvMsg(0, X_INFO,"SISModeInit Other\n");
+-#endif
+
+ if(pSiS->VGAEngine == SIS_300_VGA || pSiS->VGAEngine == SIS_315_VGA) {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit SIS_315_VGA\n");
+-#endif
+
+ if(!(*pSiS->ModeInit)(pScrn, mode)) {
+ SISErrorLog(pScrn, "ModeInit() failed\n");
+@@ -8795,10 +8730,7 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+
+ #ifdef SISMERGED
+ if(pSiS->MergedFB) {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit SISMERGED\n");
+-#endif
++
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting MergedFB mode %dx%d\n",
+ mode->HDisplay, mode->VDisplay);
+
+@@ -8813,10 +8745,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISMERGED SetCRT1\n");
+-#endif
+
+ SiSPreSetMode(pScrn, mode, SIS_MODE_CRT2);
+
+@@ -8827,10 +8755,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISMERGED SetCRT2\n");
+-#endif
+
+ SiS_SiSLVDSBackLight(pSiS, TRUE);
+
+@@ -8838,25 +8762,9 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+
+ } else {
+ #endif
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit Not SISMERGED\n");
+-#endif
+
+ if((pSiS->VBFlags & CRT1_LCDA) || (!(mode->type & M_T_DEFAULT))) {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit #1\n");
+- if(pSiS->VBFlags & CRT1_LCDA)
+- {
+- xf86DrvMsg(0, X_INFO,"SISModeInit #1 LCDA\n");
+-
+- }
+- else
+- {
+- xf86DrvMsg(0, X_INFO,"SISModeInit #1 LCDB\n");
+- }
+-#endif
++
+ pSiS->SiS_Pr->SiS_EnableBackLight = FALSE;
+
+ SiSPreSetMode(pScrn, mode, SIS_MODE_CRT1);
+@@ -8867,10 +8775,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT1() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"NoVESA SetCRT1\n");
+-#endif
+
+ SiSPreSetMode(pScrn, mode, SIS_MODE_CRT2);
+
+@@ -8880,28 +8784,10 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ SISErrorLog(pScrn, "SiSBIOSSetModeCRT2() failed\n");
+ return FALSE;
+ }
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"NoVESA SetCRT2\n");
+-#endif
+-
+
+ SiS_SiSLVDSBackLight(pSiS, TRUE);
+
+ } else {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit #2\n");
+-
+- if(pSiS->VBFlags & CRT1_LCDA)
+- {
+- xf86DrvMsg(0, X_INFO,"SISModeInit #2 LCDA\n");
+- }
+- else
+- {
+- xf86DrvMsg(0, X_INFO,"SISModeInit #2 LCDB\n");
+- }
+-#endif
+
+ pSiS->SiS_Pr->SiS_EnableBackLight = TRUE;
+
+@@ -8918,11 +8804,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ #ifdef SISMERGED
+ }
+ #endif
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit #3\n");
+-#endif
+-
+ SiSPostSetMode(pScrn, &pSiS->ModeReg);
+ #ifdef TWDEBUG
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VBFlags %lx\n", pSiS->VBFlags);
+@@ -8932,10 +8813,6 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayMo
+ #endif
+
+ } else {
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO,"SISModeInit Old method\n");
+-#endif
+
+ /* For other chipsets, use the old method */
+
+@@ -9147,7 +9024,7 @@ SISSaveScreenDH(ScreenPtr pScreen, int m
+ static void
+ SISDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags)
+ {
+- SISPtr pSiS = SISPTR(pScrn);
++ SISPtr pSiS = SISPTR(pScrn);
+ Bool docrt1 = TRUE, docrt2 = TRUE, backlight = TRUE;
+ UChar sr1=0, cr17=0, cr63=0, pmreg=0, sr7=0;
+ UChar p1_13=0, p2_0=0, oldpmreg=0;
+@@ -10237,7 +10114,6 @@ SISScreenInit(int scrnIndex, ScreenPtr p
+ static Bool
+ SiSValidLCDUserMode(SISPtr pSiS, unsigned int VBFlags, DisplayModePtr mode, Bool isforlcda)
+ {
+-
+ if(mode->Flags & V_INTERLACE) return FALSE;
+
+ if(mode->HDisplay > 2048) return FALSE;
+@@ -10352,7 +10228,7 @@ SiS_CheckModeCRT1(ScrnInfoPtr pScrn, Dis
+ }
+
+ }
+-
++
+ return(SiS_GetModeID(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay,
+ i, pSiS->FSTN, pSiS->LCDwidth, pSiS->LCDheight));
+ }
+@@ -10370,12 +10246,8 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis
+ xf86DrvMsg(0, X_INFO, "Inside CheckCalcModeIndex (VBFlags %lx, mode %dx%d)\n",
+ VBFlags,mode->HDisplay, mode->VDisplay);
+ #endif
++
+ if(VBFlags & CRT2_LCD) { /* CRT2 is LCD */
+-
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0, X_INFO, "SiS_CheckModeCRT2 LCDwidth= %d, LCDheight= %d\n",pSiS->LCDwidth,pSiS->LCDheight);
+-#endif
+
+ if((pSiS->VBFlags2 & VB2_SISTMDSBRIDGE) && (!(pSiS->VBFlags2 & VB2_30xBDH))) {
+
+@@ -10403,7 +10275,6 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis
+ return 0xfe;
+
+ }
+-// PCF
+
+ if( ((mode->HDisplay <= pSiS->LCDwidth) &&
+ (mode->VDisplay <= pSiS->LCDheight)) ||
+@@ -10415,15 +10286,11 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis
+ (((mode->HDisplay == 1024) && (mode->HDisplay == 768)) ||
+ ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) ||
+ ((pSiS->EnablePanel_1366x768)&&(pSiS->LCDwidth==1366)&&(mode->HDisplay==1368))) {/*let 1366x768 mode valid. Ivans@090109*/
+-/*
+- if( (mode->HDisplay <= pSiS->LCDwidth) &&
+- (mode->VDisplay <= pSiS->LCDheight)) {
+-*/
++
+ ModeIndex = SiS_GetModeID_LCD(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, i,
+ pSiS->FSTN, pSiS->SiS_Pr->SiS_CustomT, pSiS->LCDwidth, pSiS->LCDheight,
+ pSiS->VBFlags2);
+-// PCF
+-// xf86DrvMsg(0, X_INFO, "SiS_CheckModeCRT2 LCDwidth= %d, LCDheight= %d, ModeID= %x\n",pSiS->LCDwidth,pSiS->LCDheight,ModeIndex);
++
+ }
+
+ } else if(VBFlags & CRT2_TV) { /* CRT2 is TV */
+@@ -10514,7 +10381,7 @@ SISValidMode(int scrnIndex, DisplayModeP
+ if(SiS_CheckModeCRT2(pScrn, mode, pSiS->VBFlags,
+ pSiS->VBFlags3, pSiS->HaveCustomModes) < 0x14){
+ #ifdef TWDEBUG
+- xf86DrvMsg(0,X_INFO,"[SISValidMode()]: else condition. passing CheckModeCRT2 and MODE_Fail.\n");
++ xf86DrvMsg(0,X_INFO,"[SISValidMode()]: else condition. passing CheckModeCRT2 and MODE_OK.\n");
+ #endif
+ return MODE_BAD;
+ }
+@@ -10629,18 +10496,12 @@ SISSwitchMode(int scrnIndex, DisplayMode
+ * (In non-MergedFB mode this is also here in order
+ * to get a cheap update of the HWCursor image)
+ */
+-
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0,X_INFO,"SISSwitchMode\n");
+-#endif
+
+ if(!pSiS->skipswitchcheck) {
+ if(SISValidMode(scrnIndex, mode, TRUE, flags) != MODE_OK) {
+ return FALSE;
+ }
+ }
+-
+ /* Mark for 3D full-screen bug */
+ /*
+ #ifdef XF86DRI
+@@ -11510,12 +11371,6 @@ SISHotkeySwitchMode(ScrnInfoPtr pScrn, B
+ int dotclock=65146;
+ int hdisplay=1024;
+
+-// PCF
+-#ifdef TWDEBUG
+- xf86DrvMsg(0,X_INFO,"SISHotkeySwitchMode\n");
+-#endif
+-
+-
+ if(!VidModeGetCurrentModeline(pScrn->scrnIndex,&hkeymode,&dotClock))
+ return FALSE;
+
+diff -p -up xf86-video-sis-0.9.1/src/sis_driver.h.orig xf86-video-sis-0.9.1/src/sis_driver.h
+--- xf86-video-sis-0.9.1/src/sis_driver.h.orig 2008-09-02 10:19:02.000000000 -0400
++++ xf86-video-sis-0.9.1/src/sis_driver.h 2010-01-27 15:21:54.000000000 -0500
+@@ -779,6 +779,9 @@ static Bool SISSwitchMode(int scrnIndex,
+ static void SISNewAdjustFrame(int scrnIndex, int x, int y, int flags);
+ static Bool SISPMEvent(int scrnIndex, pmEvent event, Bool undo);/*APM-ACPI, adding by Ivans.*/
+
++#if XSERVER_LIBPCIACCESS
++static Bool SIS_pci_probe(DriverPtr driver, int entity_num, struct pci_device *device, intptr_t match_data);
++#endif
+ /* ACPI Device Switch functions */
+ static Bool SISHotkeySwitchCRT1Status(ScrnInfoPtr pScrn,int onoff);/*hotkey pressing: switch CRT1 on/off*/
+ static Bool SISHotkeySwitchCRT2Status(ScrnInfoPtr pScrn,ULong newvbflags ,ULong newvbflags3);/*LCD on/off*/
diff --git a/extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch b/extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch
new file mode 100644
index 000000000..415985921
--- /dev/null
+++ b/extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch
@@ -0,0 +1,89 @@
+--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2010-01-18 13:17:56.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-25 16:35:40.000000000 -0500
+@@ -11677,7 +11677,64 @@ SISPMEvent(int scrnIndex, pmEvent event,
+ return 1;/*TRUE*/
+ }
+
++void
++sis_print_registers(SISPtr pSiS)
++{
++#define print(...) xf86ErrorFVerb(1, __VA_ARGS__)
++ auto void print_range(char *name, int base, int first, int last) {
++ int i, j;
++ unsigned char c;
++ char buffer[9];
++ print("%s:\n", name);
++ buffer[8] = 0;
++ for (i = first; i <= last; i++) {
++ inSISIDXREG(base, i, c);
++ for (j = 0; j < 8; j++)
++ buffer[7 - j] = c & (1 << j) ? '1' : '0';
++ print("\t%02x: %02x:%s\n", i, c, buffer);
++ }
++ }
+
++ auto void print_range_int(char *name, int base, int first, int last) {
++ int i, j;
++ unsigned int l;
++ char buffer[33];
++ print("%s:\n", name);
++ buffer[32] = 0;
++ for (i = first; i <= last; i += 4) {
++ l = inSISREGL(base + i);
++ for (j = 0; j < 32; j++)
++ buffer[31 - j] = l & (1 << j) ? '1' : '0';
++ print("\t%02x: %08x:%s\n", i, l, buffer);
++ }
++ }
+
+-
+-
++ print_range_int ("PCI: CNF00 - CNF1B", pSiS->RelIO, 0x00, 0x1b);
++ print_range_int ("PCI: CNF2C - CNF47", pSiS->RelIO, 0x2C, 0x47);
++ print_range_int ("AGP: CNF50 - CNF5B", pSiS->RelIO, 0x50, 0x5B);
++ print_range ("CRT1: SR05 - SR12", SISSR, 0x05, 0x12);
++ print_range ("CRT1: SR13 - SR16 (reserved)", SISSR, 0x13, 0x16);
++ print ("CRT1: SR19 - SR1A (reserved)\n");
++ print_range ("CRT1: SR1B - SR3A", SISSR, 0x1b, 0x3a);
++ print ("CRT1: SR3B (reserved)\n");
++ print_range ("CRT1: SR3C - SR3F", SISSR, 0x3c, 0x3f);
++ print_range ("CRT1: CR19 - CR1A", SISCR, 0x19, 0x1a);
++ print ("CRT1: CR1B - CR27 (undocumented?)\n");
++ print_range ("CRT1: CR28 - CR2E", SISCR, 0x28, 0x2e);
++ print ("CRT1: CR2F (reserved)\n");
++ print_range ("VGA BIOS: CR30 - CR3F", SISCR, 0x30, 0x3f);
++ print_range ("CRT1: CR40 - CR43", SISCR, 0x40, 0x43);
++ print ("CRT1: CR44 - CR45 (reserved)\n");
++ print_range ("CRT1: CR46 - CR67", SISCR, 0x46, 0x67);
++ print ("CRT1: CR68 - CR6F (DRAM registers reserved for backward compatibility with 760)\n");
++ print ("CRT1: CR70 - CR77 (undocumented?)\n");
++ print_range ("SMA BIOS: CR78 - CR7F", SISCR, 0x78, 0x7f);
++ print_range_int ("CRT1: CR80 - CR9B", SISCR, 0x80, 0xb3);
++ print_range_int ("CRT1: CRC0 - CRF3", SISCR, 0xc0, 0xf3);
++ print_range ("CRT2: SIGNAL REGISTERS, PART1 00 - 45", SISPART1, 0x00, 0x45);
++ print_range ("CRT2: TV SIGNAL REGISTERS, PART2 00 - 4d", SISPART2, 0x00, 0x4d);
++ print_range ("CRT2: TV COPY PROTECTION, PART3 00 - 40", SISPART3, 0x00, 0x40);
++ print_range ("CRT2: SIGNAL REGISTERS, PART4 00 - 3A", SISPART4, 0x00, 0x3a);
++ print_range ("CRT2: PALETTE SIGNAL REGISTERS, PART5 00 - 00 (?)", SISPART5, 0x00, 0x00);
++#undef print
++}
+--- xf86-video-sis-0.9.1/src/sis_video.c.orig 2010-01-18 13:17:56.000000000 -0500
++++ xf86-video-sis-0.9.1/src/sis_video.c 2010-01-26 13:38:13.000000000 -0500
+@@ -129,6 +129,8 @@
+
+ #include "sis_video.h"
+
++extern void sis_print_registers(SISPtr pSiS);
++
+ void SiSInitMC(ScreenPtr pScreen);
+
+ /*********************************
+@@ -712,6 +714,8 @@ SISResetVideo(ScrnInfoPtr pScrn)
+ #ifdef SISMERGED
+ pPriv->mustresettap2 = TRUE;
+ #endif
++
++ sis_print_registers(pSiS);
+ }
+
+
diff --git a/extra/xf86-video-sisimedia/xserver19.patch b/extra/xf86-video-sisimedia/xserver19.patch
new file mode 100644
index 000000000..67ef6f585
--- /dev/null
+++ b/extra/xf86-video-sisimedia/xserver19.patch
@@ -0,0 +1,30 @@
+Index: xf86-video-sis-0.9.1/src/sis_driver.c
+===================================================================
+--- xf86-video-sis-0.9.1.orig/src/sis_driver.c
++++ xf86-video-sis-0.9.1/src/sis_driver.c
+@@ -85,7 +85,6 @@
+ #include "shadowfb.h"
+ #include "fb.h"
+ #include "micmap.h"
+-#include "mibank.h"
+ #include "mipointer.h"
+ #include "mibstore.h"
+ #include "edid.h"
+Index: xf86-video-sis-0.9.1/src/sis_mergedfb.c
+===================================================================
+--- xf86-video-sis-0.9.1.orig/src/sis_mergedfb.c
++++ xf86-video-sis-0.9.1/src/sis_mergedfb.c
+@@ -2948,11 +2948,11 @@ SiSXineramaExtensionInit(ScrnInfoPtr pSc
+
+ while(SiSXineramaGeneration != serverGeneration) {
+
+- ClientType = CreateNewResourceType(SiSXineramaFreeClient);
++ ClientType = CreateNewResourceType(SiSXineramaFreeClient, "XineramaClient");
+ if(!ClientType)
+ break;
+
+- EventType = CreateNewResourceType(SiSXineramaFreeEvents);
++ EventType = CreateNewResourceType(SiSXineramaFreeEvents, "XineramaEvents");
+ if(!EventType)
+ break;
+
diff --git a/extra/xf86-video-sisusb/PKGBUILD b/extra/xf86-video-sisusb/PKGBUILD
index 1a425a0c5..aad955f07 100644
--- a/extra/xf86-video-sisusb/PKGBUILD
+++ b/extra/xf86-video-sisusb/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115377 2011-03-17 18:17:47Z andyrtr $
+# $Id: PKGBUILD 140300 2011-10-11 21:28:37Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-sisusb
pkgver=0.9.4
-pkgrel=4
+pkgrel=5
pkgdesc="X.org SiS USB video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-tdfx/PKGBUILD b/extra/xf86-video-tdfx/PKGBUILD
index d164f8f49..1d8a6948b 100644
--- a/extra/xf86-video-tdfx/PKGBUILD
+++ b/extra/xf86-video-tdfx/PKGBUILD
@@ -1,29 +1,30 @@
-# $Id: PKGBUILD 115382 2011-03-17 18:19:40Z andyrtr $
+# $Id: PKGBUILD 140298 2011-10-11 21:28:35Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-tdfx
pkgver=1.4.3
-pkgrel=6
+pkgrel=7
pkgdesc="X.org tdfx video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'tdfx-dri')
-makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.99.902')
options=(!libtool)
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- LICENSE)
+ copyright.patch)
md5sums=('8161bbf2b100c21b609163f0010766b3'
- '978e9486ffd4e4164c12dc68c84186e1')
+ 'a3be7ac534ceb846d3f155ddbe14378f')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/copyright.patch"
./configure --prefix=/usr --enable-dri
make
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-video-trident/PKGBUILD b/extra/xf86-video-trident/PKGBUILD
index 07e2475b0..f7d60ed27 100644
--- a/extra/xf86-video-trident/PKGBUILD
+++ b/extra/xf86-video-trident/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115385 2011-03-17 18:21:11Z andyrtr $
+# $Id: PKGBUILD 140296 2011-10-11 21:28:33Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-trident
pkgver=1.3.4
-pkgrel=4
+pkgrel=5
pkgdesc="X.org Trident video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=(!libtool)
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
@@ -23,5 +23,5 @@ build() {
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-video-tseng/PKGBUILD b/extra/xf86-video-tseng/PKGBUILD
index f252044c5..ce88b5e0b 100644
--- a/extra/xf86-video-tseng/PKGBUILD
+++ b/extra/xf86-video-tseng/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 115388 2011-03-17 18:22:47Z andyrtr $
+# $Id: PKGBUILD 140294 2011-10-11 21:28:31Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-tseng
pkgver=1.2.4
-pkgrel=4
+pkgrel=5
pkgdesc="X.org tseng video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('1b45f55657b2c92f30abb0769cae57fca98d93b7')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ fix-regression-from-pciaccess-conversion.patch)
+sha1sums=('1b45f55657b2c92f30abb0769cae57fca98d93b7'
+ 'df7660ec18cce3e9f04a7c70f72c75daa947e4a9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/fix-regression-from-pciaccess-conversion.patch"
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-unichrome/PKGBUILD b/extra/xf86-video-unichrome/PKGBUILD
index 71172840e..ca012bc28 100644
--- a/extra/xf86-video-unichrome/PKGBUILD
+++ b/extra/xf86-video-unichrome/PKGBUILD
@@ -1,31 +1,26 @@
-# $Id: PKGBUILD 115391 2011-03-17 18:24:27Z andyrtr $
+# $Id: PKGBUILD 140292 2011-10-11 21:28:27Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-unichrome
pkgver=0.2.7
-pkgrel=5
-_gitversion=cd12cce88ff886031c23c743569fba97eccace4e
+pkgrel=6
+_gitversion=b917bee87db8a65b8e8da0ca12c24a176c9e9fb2
pkgdesc="Unichrome video drivers for X.Org"
arch=(i686 x86_64)
url="http://unichrome.sf.net/"
license=('custom')
depends=('glibc' 'unichrome-dri')
-makedepends=('xorg-server-devel' 'libx11' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libx11' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc' 'glproto')
options=('!libtool')
-conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.10.0')
-source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2
- drm-include.patch
- LICENSE)
-md5sums=('c64332e6c386ed9a580116e131f288f4'
- '4a9bf2e3ef338c170a2f58988ebb97dc'
- '6ea7d64c87c5c32201a1e38e3336e44a')
+conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.10.99.902')
+source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2)
+md5sums=('f7adef052de08a01af86e245d1932239')
build() {
cd "${srcdir}/${pkgname}-${_gitversion}"
- patch -Np0 -i "${srcdir}/drm-include.patch"
./autogen.sh --prefix=/usr --enable-dri
make
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/"
+ install -m644 debian/copyright "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}
diff --git a/extra/xf86-video-v4l/PKGBUILD b/extra/xf86-video-v4l/PKGBUILD
index 28d1c8c05..bc3f36b95 100644
--- a/extra/xf86-video-v4l/PKGBUILD
+++ b/extra/xf86-video-v4l/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 115394 2011-03-17 18:25:56Z andyrtr $
+# $Id: PKGBUILD 140290 2011-10-11 21:28:21Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-v4l
pkgver=0.2.0
-pkgrel=8
+pkgrel=9
pkgdesc="X.org v4l video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
@@ -13,12 +13,17 @@ makedepends=('xorg-server-devel')
conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch
+ LICENSE)
md5sums=('2251ae2a0a905764941cd7b098e85ad1'
+ 'cdb7113a9564ea9202e847de88440540'
'7d4d018f6bbff7e42672d1aabc75c5cf')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ autoreconf -fi
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-vesa/PKGBUILD b/extra/xf86-video-vesa/PKGBUILD
index d5778d23f..480cdcaa7 100644
--- a/extra/xf86-video-vesa/PKGBUILD
+++ b/extra/xf86-video-vesa/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 115397 2011-03-17 18:27:20Z andyrtr $
+# $Id: PKGBUILD 140288 2011-10-11 21:28:18Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-vesa
pkgver=2.3.0
-pkgrel=5
+pkgrel=6
pkgdesc="X.org vesa video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server-devel')
-conflicts=('xorg-server<1.10.0')
+makedepends=('pkgconfig' 'xorg-server-devel>=1.10.99.902')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('4689b7c295d7a8d7326302dafecb812739617134')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('4689b7c295d7a8d7326302dafecb812739617134'
+ '1e54ae50daa796ab0c29c8088f25e522dc6faa4a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+ autoreconf -fi
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-voodoo/PKGBUILD b/extra/xf86-video-voodoo/PKGBUILD
index ea146879f..2ee2775ef 100644
--- a/extra/xf86-video-voodoo/PKGBUILD
+++ b/extra/xf86-video-voodoo/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 115403 2011-03-17 18:35:27Z andyrtr $
+# $Id: PKGBUILD 140284 2011-10-11 21:28:14Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-voodoo
pkgver=1.2.4
-pkgrel=4
+pkgrel=5
pkgdesc="X.org 3dfx Voodoo1/Voodoo2 2D video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.10.0')
+makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto')
+conflicts=('xorg-server<1.10.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-xgi/PKGBUILD b/extra/xf86-video-xgi/PKGBUILD
index 0c06d0615..48f22a0b0 100644
--- a/extra/xf86-video-xgi/PKGBUILD
+++ b/extra/xf86-video-xgi/PKGBUILD
@@ -1,22 +1,26 @@
-# $Id: PKGBUILD 115406 2011-03-17 18:37:02Z andyrtr $
+# $Id: PKGBUILD 140280 2011-10-11 21:28:09Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-xgi
pkgver=1.6.0
-pkgrel=3
+pkgrel=4
pkgdesc="X.org XGI video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'xf86dgaproto')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'xf86dgaproto')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('826f14d6ba799cd2aae9f0c818f84cf8b75f1ddb')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.patch)
+sha1sums=('826f14d6ba799cd2aae9f0c818f84cf8b75f1ddb'
+ '61ce13325c69befaa710c3389a85a8aa9d1cf28d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-xgi/git-fixes.patch b/extra/xf86-video-xgi/git-fixes.patch
new file mode 100644
index 000000000..f15fea88a
--- /dev/null
+++ b/extra/xf86-video-xgi/git-fixes.patch
@@ -0,0 +1,451 @@
+diff --git a/man/xgi.man b/man/xgi.man
+index 19880f2..5699ae4 100644
+--- a/man/xgi.man
++++ b/man/xgi.man
+@@ -1,4 +1,3 @@
+-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/xgi/xgi.man,v 1.14 2003/11/12 16:50:36 twini Exp $
+ .\" shorthand for double quote that works everywhere.
+ .ds q \N'34'
+ .TH XGI __drivermansuffix__ __vendorversion__
+diff --git a/src/vb_init.c b/src/vb_init.c
+index 8338410..50980c4 100755
+--- a/src/vb_init.c
++++ b/src/vb_init.c
+@@ -131,6 +131,8 @@ static void XGINew_SetDRAMDefaultRegister340(PXGI_HW_DEVICE_INFO, USHORT,
+ static void XGINew_SetDRAMDefaultRegisterXG45(PXGI_HW_DEVICE_INFO, USHORT,
+ PVB_DEVICE_INFO);
+ static UCHAR XGINew_Get340DRAMType(PXGI_HW_DEVICE_INFO, PVB_DEVICE_INFO);
++/* horrible */
++#define XGINew_GetXG20DRAMType XGINew_Get340DRAMType
+
+ static int XGINew_SetDDRChannel(int index, UCHAR ChannelNo,
+ UCHAR XGINew_ChannelAB, const USHORT DRAMTYPE_TABLE[][5],
+@@ -1451,7 +1453,7 @@ void XGINew_SetDRAMDefaultRegister340( PXGI_HW_DEVICE_INFO HwDeviceExtension ,
+ }
+
+ temp3 = 0 ;
+- for( k = 0 ; k < 4 ; k++ )
++ for( k = 1 ; k < 4 ; k++ )
+ {
+ XGI_SetRegANDOR((XGIIOADDRESS) P3d4 , 0x6E , 0xFC , temp3 ) ; /* CR6E_D[1:0] select channel */
+ temp2 = 0 ;
+diff --git a/src/vgatypes.h b/src/vgatypes.h
+index 8a60927..7484661 100755
+--- a/src/vgatypes.h
++++ b/src/vgatypes.h
+@@ -1,5 +1,3 @@
+-/* $XFree86$ */
+-/* $XdotOrg$ */
+ /*
+ * General type definitions for universal mode switching modules
+ *
+diff --git a/src/xgi.h b/src/xgi.h
+index 715502f..e818631 100755
+--- a/src/xgi.h
++++ b/src/xgi.h
+@@ -981,6 +981,7 @@ int compute_vclk(int Clock, int *out_n, int *out_dn, int *out_div,
+ void XGI_WaitBeginRetrace(XGIIOADDRESS RelIO);
+ void XGI_WaitEndRetrace(XGIIOADDRESS RelIO);
+
++#include <unistd.h>
+ /* 2005/11/21 added by jjtseng */
+ #define DelayS(sec) usleep((sec)*1000000)
+ #define DelayMS(millisec) usleep((millisec)*1000)
+diff --git a/src/xgi_accel.c b/src/xgi_accel.c
+index c072691..4c298ed 100755
+--- a/src/xgi_accel.c
++++ b/src/xgi_accel.c
+@@ -200,20 +200,7 @@ extern int FbDevExist;
+ #endif
+
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+-static CARD32 BE_SWAP32 (CARD32 val)
+-{
+- PDEBUG(ErrorF("X_BIG_ENDIAN...\n"));
+- if (CurrentColorDepth == 8)
+- return ((((val) & 0x000000ff) << 24) | \
+- (((val) & 0x0000ff00) << 8) | \
+- (((val) & 0x00ff0000) >> 8) | \
+- (((val) & 0xff000000) >> 24));
+- if (CurrentColorDepth == 24)
+- return val;
+- if (CurrentColorDepth == 16)
+- return ((((val) & 0x0000ffff) << 16) | \
+- (((val) & 0xffff0000) >> 16));
+-}
++#define BE_SWAP32(x) lswapl(x)
+ #else
+ static CARD32 BE_SWAP32 (CARD32 val)
+ {
+diff --git a/src/xgi_dga.c b/src/xgi_dga.c
+index 04f90aa..8bd84bc 100755
+--- a/src/xgi_dga.c
++++ b/src/xgi_dga.c
+@@ -103,18 +103,18 @@ XGISetupDGAMode(
+
+ if(pMode->HDisplay != otherPitch) {
+
+- newmodes = xrealloc(modes, (*num + 2) * sizeof(DGAModeRec));
++ newmodes = realloc(modes, (*num + 2) * sizeof(DGAModeRec));
+ oneMore = TRUE;
+
+ } else {
+
+- newmodes = xrealloc(modes, (*num + 1) * sizeof(DGAModeRec));
++ newmodes = realloc(modes, (*num + 1) * sizeof(DGAModeRec));
+ oneMore = FALSE;
+
+ }
+
+ if(!newmodes) {
+- xfree(modes);
++ free(modes);
+ return NULL;
+ }
+ modes = newmodes;
+diff --git a/src/xgi_dri.c b/src/xgi_dri.c
+index 93687e1..e575c19 100755
+--- a/src/xgi_dri.c
++++ b/src/xgi_dri.c
+@@ -46,7 +46,6 @@
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86Priv.h"
+
+ #include "xf86PciInfo.h"
+ #include "xf86Pci.h"
+@@ -145,13 +144,13 @@ XGIInitVisualConfigs(ScreenPtr pScreen)
+ }
+ if (!(pXGIConfigs = (XGIConfigPrivPtr)xnfcalloc(sizeof(XGIConfigPrivRec),
+ numConfigs))) {
+- xfree(pConfigs);
++ free(pConfigs);
+ return FALSE;
+ }
+ if (!(pXGIConfigPtrs = (XGIConfigPrivPtr*)xnfcalloc(sizeof(XGIConfigPrivPtr),
+ numConfigs))) {
+- xfree(pConfigs);
+- xfree(pXGIConfigs);
++ free(pConfigs);
++ free(pXGIConfigs);
+ return FALSE;
+ }
+ for (i=0; i<numConfigs; i++)
+@@ -333,7 +332,7 @@ Bool XGIDRIScreenInit(ScreenPtr pScreen)
+ pDRIInfo->bufferRequests = DRI_ALL_WINDOWS;
+
+ if (!DRIScreenInit(pScreen, pDRIInfo, &pXGI->drmSubFD)) {
+- xfree(pDRIInfo->devPrivate);
++ free(pDRIInfo->devPrivate);
+ pDRIInfo->devPrivate=0;
+ DRIDestroyInfoRec(pXGI->pDRIInfo);
+ pXGI->pDRIInfo=0;
+@@ -537,14 +536,14 @@ XGIDRICloseScreen(ScreenPtr pScreen)
+
+ if (pXGI->pDRIInfo) {
+ if (pXGI->pDRIInfo->devPrivate) {
+- xfree(pXGI->pDRIInfo->devPrivate);
++ free(pXGI->pDRIInfo->devPrivate);
+ pXGI->pDRIInfo->devPrivate=0;
+ }
+ DRIDestroyInfoRec(pXGI->pDRIInfo);
+ pXGI->pDRIInfo=0;
+ }
+- if (pXGI->pVisualConfigs) xfree(pXGI->pVisualConfigs);
+- if (pXGI->pVisualConfigsPriv) xfree(pXGI->pVisualConfigsPriv);
++ if (pXGI->pVisualConfigs) free(pXGI->pVisualConfigs);
++ if (pXGI->pVisualConfigsPriv) free(pXGI->pVisualConfigsPriv);
+
+ if(pXGI->agpSize){
+ /* ErrorF("Freeing agp memory\n"); */
+diff --git a/src/xgi_driver.c b/src/xgi_driver.c
+index b4f83b8..b8b8679 100755
+--- a/src/xgi_driver.c
++++ b/src/xgi_driver.c
+@@ -54,7 +54,7 @@
+ #include "fb.h"
+ #include "micmap.h"
+ #include "xf86.h"
+-#include "xf86Priv.h"
++#include "xf86Module.h"
+ #include "xf86_OSproc.h"
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+@@ -106,6 +106,10 @@
+ #include <unistd.h>
+ #endif
+
++#ifndef DEFAULT_DPI
++#define DEFAULT_DPI 96
++#endif
++
+ /* Jong 01/22/2009; compiler error; type conflict */
+ /*
+ #include <fcntl.h>
+@@ -556,13 +560,13 @@ XGIFreeRec(ScrnInfoPtr pScrn)
+ * head.
+ */
+ if (pXGIEnt->BIOS)
+- xfree(pXGIEnt->BIOS);
++ free(pXGIEnt->BIOS);
+ pXGIEnt->BIOS = pXGI->BIOS = NULL;
+ if (pXGIEnt->XGI_Pr)
+- xfree(pXGIEnt->XGI_Pr);
++ free(pXGIEnt->XGI_Pr);
+ pXGIEnt->XGI_Pr = pXGI->XGI_Pr = NULL;
+ if (pXGIEnt->RenderAccelArray)
+- xfree(pXGIEnt->RenderAccelArray);
++ free(pXGIEnt->RenderAccelArray);
+ pXGIEnt->RenderAccelArray = pXGI->RenderAccelArray = NULL;
+ }
+ else {
+@@ -573,19 +577,19 @@ XGIFreeRec(ScrnInfoPtr pScrn)
+ }
+ else {
+ if (pXGI->BIOS)
+- xfree(pXGI->BIOS);
++ free(pXGI->BIOS);
+ pXGI->BIOS = NULL;
+ if (pXGI->XGI_Pr)
+- xfree(pXGI->XGI_Pr);
++ free(pXGI->XGI_Pr);
+ pXGI->XGI_Pr = NULL;
+ if (pXGI->RenderAccelArray)
+- xfree(pXGI->RenderAccelArray);
++ free(pXGI->RenderAccelArray);
+ pXGI->RenderAccelArray = NULL;
+ }
+
+ #ifdef XGIMERGED
+ if (pXGI->MetaModes)
+- xfree(pXGI->MetaModes);
++ free(pXGI->MetaModes);
+ pXGI->MetaModes = NULL;
+
+ if (pXGI->CRT1Modes) {
+@@ -595,8 +599,8 @@ XGIFreeRec(ScrnInfoPtr pScrn)
+ do {
+ DisplayModePtr p = pScrn->currentMode->next;
+ if (pScrn->currentMode->Private)
+- xfree(pScrn->currentMode->Private);
+- xfree(pScrn->currentMode);
++ free(pScrn->currentMode->Private);
++ free(pScrn->currentMode);
+ pScrn->currentMode = p;
+ } while (pScrn->currentMode != pScrn->modes);
+ }
+@@ -612,7 +616,7 @@ XGIFreeRec(ScrnInfoPtr pScrn)
+ pXGI->pVbe = NULL;
+ if (pScrn->driverPrivate == NULL)
+ return;
+- xfree(pScrn->driverPrivate);
++ free(pScrn->driverPrivate);
+ pScrn->driverPrivate = NULL;
+ }
+
+@@ -975,7 +979,7 @@ XGIProbe(DriverPtr drv, int flags)
+ numDevSections, drv, &usedChips);
+
+ /* Free it since we don't need that list after this */
+- xfree(devSections);
++ free(devSections);
+ if (numUsed <= 0)
+ return FALSE;
+
+@@ -1015,7 +1019,7 @@ XGIProbe(DriverPtr drv, int flags)
+
+ #endif
+ }
+- xfree(usedChips);
++ free(usedChips);
+
+ return foundScreen;
+ }
+@@ -1044,11 +1048,11 @@ XGICopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
+
+ ErrorF("XGICopyModeNLink()...Use Virtual Size-1\n");
+
+- if (!((mode = xalloc(sizeof(DisplayModeRec)))))
++ if (!((mode = malloc(sizeof(DisplayModeRec)))))
+ return dest;
+ memcpy(mode, i, sizeof(DisplayModeRec));
+- if (!((mode->Private = xalloc(sizeof(XGIMergedDisplayModeRec))))) {
+- xfree(mode);
++ if (!((mode->Private = malloc(sizeof(XGIMergedDisplayModeRec))))) {
++ free(mode);
+ return dest;
+ }
+ ((XGIMergedDisplayModePtr) mode->Private)->CRT1 = i;
+@@ -1125,8 +1129,8 @@ XGICopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Skipped %dx%d, not enough video RAM or beyond hardware specs\n",
+ mode->HDisplay, mode->VDisplay);
+- xfree(mode->Private);
+- xfree(mode);
++ free(mode->Private);
++ free(mode);
+
+ return dest;
+ }
+@@ -1559,10 +1563,10 @@ XGIFreeCRT2Structs(XGIPtr pXGI)
+ pXGI->CRT2pScrn->monitor->Modes);
+ }
+ if (pXGI->CRT2pScrn->monitor->DDC)
+- xfree(pXGI->CRT2pScrn->monitor->DDC);
+- xfree(pXGI->CRT2pScrn->monitor);
++ free(pXGI->CRT2pScrn->monitor->DDC);
++ free(pXGI->CRT2pScrn->monitor);
+ }
+- xfree(pXGI->CRT2pScrn);
++ free(pXGI->CRT2pScrn);
+ pXGI->CRT2pScrn = NULL;
+ }
+ }
+@@ -2438,7 +2442,7 @@ XGIDDCPreInit(ScrnInfoPtr pScrn)
+
+ #ifdef XGIMERGED
+ if (pXGI->MergedFB) {
+- pXGI->CRT2pScrn->monitor = xalloc(sizeof(MonRec));
++ pXGI->CRT2pScrn->monitor = malloc(sizeof(MonRec));
+ if (pXGI->CRT2pScrn->monitor) {
+ DisplayModePtr tempm = NULL, currentm = NULL, newm = NULL;
+ memcpy(pXGI->CRT2pScrn->monitor, pScrn->monitor, sizeof(MonRec));
+@@ -2446,11 +2450,11 @@ XGIDDCPreInit(ScrnInfoPtr pScrn)
+ pXGI->CRT2pScrn->monitor->Modes = NULL;
+ tempm = pScrn->monitor->Modes;
+ while (tempm) {
+- if (!(newm = xalloc(sizeof(DisplayModeRec))))
++ if (!(newm = malloc(sizeof(DisplayModeRec))))
+ break;
+ memcpy(newm, tempm, sizeof(DisplayModeRec));
+- if (!(newm->name = xalloc(strlen(tempm->name) + 1))) {
+- xfree(newm);
++ if (!(newm->name = malloc(strlen(tempm->name) + 1))) {
++ free(newm);
+ break;
+ }
+ strcpy(newm->name, tempm->name);
+@@ -2490,7 +2494,7 @@ XGIDDCPreInit(ScrnInfoPtr pScrn)
+ "Failed to allocate memory for CRT2 monitor, %s.\n",
+ mergeddisstr);
+ if (pXGI->CRT2pScrn)
+- xfree(pXGI->CRT2pScrn);
++ free(pXGI->CRT2pScrn);
+ pXGI->CRT2pScrn = NULL;
+ pXGI->MergedFB = FALSE;
+ }
+@@ -3540,7 +3544,7 @@ XGIPreInit(ScrnInfoPtr pScrn, int flags)
+ /* Do some MergedFB mode initialisation */
+ #ifdef XGIMERGED
+ if (pXGI->MergedFB) {
+- pXGI->CRT2pScrn = xalloc(sizeof(ScrnInfoRec));
++ pXGI->CRT2pScrn = malloc(sizeof(ScrnInfoRec));
+ if (!pXGI->CRT2pScrn) {
+ XGIErrorLog(pScrn,
+ "Failed to allocate memory for 2nd pScrn, %s\n",
+@@ -3586,7 +3590,7 @@ XGIPreInit(ScrnInfoPtr pScrn, int flags)
+ XGIErrorLog(pScrn, mergednocrt1, mergeddisstr);
+ }
+ if (pXGI->CRT2pScrn)
+- xfree(pXGI->CRT2pScrn);
++ free(pXGI->CRT2pScrn);
+ pXGI->CRT2pScrn = NULL;
+ pXGI->MergedFB = FALSE;
+ }
+@@ -3627,7 +3631,7 @@ XGIPreInit(ScrnInfoPtr pScrn, int flags)
+ XGIErrorLog(pScrn, mergednocrt2, mergeddisstr);
+ }
+ if (pXGI->CRT2pScrn)
+- xfree(pXGI->CRT2pScrn);
++ free(pXGI->CRT2pScrn);
+ pXGI->CRT2pScrn = NULL;
+ pXGI->MergedFB = FALSE;
+ }
+@@ -4901,7 +4905,7 @@ XGIScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+
+ if (pXGI->ShadowFB) {
+ pXGI->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
+- pXGI->ShadowPtr = xalloc(pXGI->ShadowPitch * height);
++ pXGI->ShadowPtr = malloc(pXGI->ShadowPitch * height);
+ displayWidth = pXGI->ShadowPitch / (pScrn->bitsPerPixel >> 3);
+ FBStart = pXGI->ShadowPtr;
+ }
+@@ -5777,17 +5781,17 @@ XGICloseScreen(int scrnIndex, ScreenPtr pScreen)
+ }
+
+ if (pXGI->ShadowPtr) {
+- xfree(pXGI->ShadowPtr);
++ free(pXGI->ShadowPtr);
+ pXGI->ShadowPtr = NULL;
+ }
+
+ if (pXGI->DGAModes) {
+- xfree(pXGI->DGAModes);
++ free(pXGI->DGAModes);
+ pXGI->DGAModes = NULL;
+ }
+
+ if (pXGI->adaptor) {
+- xfree(pXGI->adaptor);
++ free(pXGI->adaptor);
+ pXGI->adaptor = NULL;
+ pXGI->ResetXv = pXGI->ResetXvGamma = NULL;
+ }
+diff --git a/src/xgi_opt.c b/src/xgi_opt.c
+index 09346e4..c0608d5 100755
+--- a/src/xgi_opt.c
++++ b/src/xgi_opt.c
+@@ -195,7 +195,7 @@ xgiOptions(ScrnInfoPtr pScrn)
+ xf86CollectOptions(pScrn, NULL);
+
+ /* Process the options */
+- if(!(pXGI->Options = xalloc(sizeof(XGIOptions)))) return;
++ if(!(pXGI->Options = malloc(sizeof(XGIOptions)))) return;
+
+ memcpy(pXGI->Options, XGIOptions, sizeof(XGIOptions));
+
+diff --git a/src/xgi_setup.c b/src/xgi_setup.c
+index c1d2cdc..6641b09 100755
+--- a/src/xgi_setup.c
++++ b/src/xgi_setup.c
+@@ -678,7 +678,7 @@ bAccessVGAPCIInfo(PXGI_HW_DEVICE_INFO pHwDevInfo, ULONG ulOffset, ULONG ulSet, U
+ err = pci_device_cfg_write_u32(pXGI->PciInfo, *pulValue,
+ ulOffset & ~3);
+ } else {
+- err = pci_device_cfg_write_u32(pXGI->PciInfo, pulValue,
++ err = pci_device_cfg_read_u32(pXGI->PciInfo, pulValue,
+ ulOffset & ~3);
+ }
+
+diff --git a/src/xgi_video.c b/src/xgi_video.c
+index 31cffd5..df76d14 100755
+--- a/src/xgi_video.c
++++ b/src/xgi_video.c
+@@ -142,7 +142,7 @@ void XGIInitVideo(ScreenPtr pScreen)
+ adaptors = &newAdaptor;
+ } else {
+ newAdaptors = /* need to free this someplace */
+- xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*));
++ malloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*));
+ if(newAdaptors) {
+ memcpy(newAdaptors, adaptors, num_adaptors *
+ sizeof(XF86VideoAdaptorPtr));
+@@ -157,7 +157,7 @@ void XGIInitVideo(ScreenPtr pScreen)
+ xf86XVScreenInit(pScreen, adaptors, num_adaptors);
+
+ if(newAdaptors)
+- xfree(newAdaptors);
++ free(newAdaptors);
+
+ }
+
+@@ -395,7 +395,7 @@ XGISetupImageVideo(ScreenPtr pScreen)
+ struct v4l2_standard standard;
+ # endif//VC
+
+- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) +
++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) +
+ sizeof(XGIPortPrivRec) +
+ sizeof(DevUnion))))
+ return NULL;
diff --git a/extra/xf86-video-xgixp/PKGBUILD b/extra/xf86-video-xgixp/PKGBUILD
index 30d34d3a5..c3dd3e706 100644
--- a/extra/xf86-video-xgixp/PKGBUILD
+++ b/extra/xf86-video-xgixp/PKGBUILD
@@ -1,22 +1,26 @@
-# $Id: PKGBUILD 115409 2011-03-17 18:38:51Z andyrtr $
+# $Id: PKGBUILD 140282 2011-10-11 21:28:12Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-xgixp
pkgver=1.8.0
-pkgrel=3
+pkgrel=4
pkgdesc="X.org XGIXP video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
+makedepends=('xorg-server-devel>=1.10.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.10.99.902')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('67caeaa4c746572160208fe23c7257f62cb442a3')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ api-compat-fix-for-DRAWABLE_BUFFER.patch)
+sha1sums=('67caeaa4c746572160208fe23c7257f62cb442a3'
+ 'ea140a13963bbf33cdff1ad75789d765867ec53b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/api-compat-fix-for-DRAWABLE_BUFFER.patch"
./configure --prefix=/usr
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch b/extra/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch
new file mode 100644
index 000000000..f8cb64673
--- /dev/null
+++ b/extra/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch
@@ -0,0 +1,23 @@
+From 86258a6fd8fc8bb09a52ee446b37abe6bd0843ef Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Fri, 25 Mar 2011 22:46:55 +0000
+Subject: API compat fix for DRAWABLE_BUFFER
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/xgi_driver.c b/src/xgi_driver.c
+index e54d8c7..189b84a 100644
+--- a/src/xgi_driver.c
++++ b/src/xgi_driver.c
+@@ -2708,7 +2708,9 @@ xg47_setup_fb_wrap(ReadMemoryProcPtr *read_ptr,
+ {
+ switch (pDraw->type) {
+ case DRAWABLE_WINDOW:
++#ifdef DRAWABLE_BUFFER
+ case DRAWABLE_BUFFER:
++#endif
+ *read_ptr = xg47_read_memory_swap_func;
+ *write_ptr = xg47_write_memory_swap_func;
+ break;
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD
index 09b6430e4..ca5f1f4f8 100644
--- a/extra/xorg-server/PKGBUILD
+++ b/extra/xorg-server/PKGBUILD
@@ -1,43 +1,47 @@
-# $Id: PKGBUILD 138136 2011-09-17 08:05:32Z ibiru $
+# $Id: PKGBUILD 140277 2011-10-11 21:28:03Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=xorg-server
pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
-pkgver=1.10.4
-pkgrel=1
+pkgver=1.11.1
+pkgrel=2
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org"
makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto')
options=('!libtool')
source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
- randr-compare-all-the-bytes-in-rrpostpendingproperties.patch
- bg-none-revert.patch
- xserver-1.10-pointer-barriers.patch
autoconfig-nvidia.patch
+ autoconfig-sis.patch
+ revert-trapezoids.patch
+ git-fixes.patch
xvfb-run
xvfb-run.1
10-quirks.conf)
-sha1sums=('857d6377025c77851a3cc5f8ec2ce84164a2fdc6'
- '571f2925f2f3d1b5cdbb2e5a676205fcea256198'
- '629c6d8d52126eab81ee1b72a9e4209535f8cb81'
- '1b95e91384a57d966428c7db98ed06f4cc562f91'
- 'f9328fd7bc931bb02c8909ecfcef35403de33782'
+sha1sums=('ed0358b61294f1283aad42cf1e609752ceeffafd'
+ '0249b892f27243d8fe6fe6d226bf4c2391cedf49'
+ '962fecc159c128728f14e8ba231c5b00391ff4ac'
+ 'd9f7d9553e772c2682c15079019d30c658a4f83b'
+ 'd73125bf93aea09b0beb55e75c510b9f72f5d21a'
'c94f742d3f9cabf958ae58e4015d9dd185aabedc'
'6838fc00ef4618c924a77e0fb03c05346080908a'
'993798f3d22ad672d769dae5f48d1fa068d5578f')
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
- # Add pointer barrier support, patch from Fedora
- patch -Np1 -i "${srcdir}/xserver-1.10-pointer-barriers.patch"
-
- # Patches from ~ajax/xserver xserver-next branch
- patch -Np1 -i "${srcdir}/bg-none-revert.patch"
# Use nouveau/nv/nvidia drivers for nvidia devices
patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch"
+ # Use unofficial imedia SiS driver for supported SiS devices
+ patch -Np0 -i "${srcdir}/autoconfig-sis.patch"
+
+ # Revert commit that causes huge slowdowns with binary nVidia driver
+ patch -Np1 -i "${srcdir}/revert-trapezoids.patch"
+
+ # Add post-release patches from 1.11 branch
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+
autoreconf
./configure --prefix=/usr \
--enable-ipv6 \
@@ -84,7 +88,7 @@ package_xorg-server-common() {
make -C xkb DESTDIR="${pkgdir}" install-data
install -m755 -d "${pkgdir}/usr/share/man/man1"
- install -m644 doc/man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
+ install -m644 man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
install -m755 -d "${pkgdir}/usr/lib/xorg"
install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
diff --git a/extra/xorg-server/autoconfig-nvidia.patch b/extra/xorg-server/autoconfig-nvidia.patch
index c56586d54..baa2eb601 100644
--- a/extra/xorg-server/autoconfig-nvidia.patch
+++ b/extra/xorg-server/autoconfig-nvidia.patch
@@ -1,78 +1,3 @@
-From a685b5cf34532cef96fc9b05f735088ac0c0c7ad Mon Sep 17 00:00:00 2001
-From: Fedora X Ninjas <x@fedoraproject.org>
-Date: Tue, 16 Feb 2010 11:38:17 +1000
-Subject: [PATCH 08/17] autoconfig: select nouveau by default for NVIDIA GPUs
-
-Also, don't treat DRI setup failure as an error for nouveau.
-
-Modified by Archlinux:
-Append nvidia driver to the list of prefered drivers
----
- glx/glxdri.c | 7 +++++--
- glx/glxdri2.c | 7 +++++--
- hw/xfree86/common/xf86AutoConfig.c | 19 ++++++++++++++++++-
- 3 files changed, 28 insertions(+), 5 deletions(-)
-
---- a/glx/glxdri.c
-+++ b/glx/glxdri.c
-@@ -978,6 +978,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
- const __DRIconfig **driConfigs;
- const __DRIextension **extensions;
- int i;
-+ int from = X_ERROR;
-
- if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
- !DRIQueryDirectRenderingCapable(pScreen, &isCapable) ||
-@@ -1057,7 +1058,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
-
- screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
- if (screen->driver == NULL) {
-- LogMessage(X_ERROR, "AIGLX error: dlopen of %s failed (%s)\n",
-+ if (!strcmp(driverName, "nouveau"))
-+ from = X_INFO;
-+ LogMessage(from, "AIGLX error: dlopen of %s failed (%s)\n",
- filename, dlerror());
- goto handle_error;
- }
-@@ -1193,7 +1196,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
-
- free(screen);
-
-- LogMessage(X_ERROR, "AIGLX: reverting to software rendering\n");
-+ LogMessage(from, "AIGLX: reverting to software rendering\n");
-
- return NULL;
- }
---- a/glx/glxdri2.c
-+++ b/glx/glxdri2.c
-@@ -708,6 +708,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
- const __DRIextension **extensions;
- const __DRIconfig **driConfigs;
- int i;
-+ int from = X_ERROR;
-
- screen = calloc(1, sizeof *screen);
- if (screen == NULL)
-@@ -734,7 +735,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
-
- screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
- if (screen->driver == NULL) {
-- LogMessage(X_ERROR, "AIGLX error: dlopen of %s failed (%s)\n",
-+ if (!strcmp(driverName, "nouveau"))
-+ from = X_INFO;
-+ LogMessage(from, "AIGLX error: dlopen of %s failed (%s)\n",
- filename, dlerror());
- goto handle_error;
- }
-@@ -826,7 +829,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
-
- free(screen);
-
-- LogMessage(X_ERROR, "AIGLX: reverting to software rendering\n");
-+ LogMessage(from, "AIGLX: reverting to software rendering\n");
-
- return NULL;
- }
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -1123,7 +1123,25 @@ videoPtrToDriverList(struct pci_device *
diff --git a/extra/xorg-server/autoconfig-sis.patch b/extra/xorg-server/autoconfig-sis.patch
new file mode 100644
index 000000000..d936efaaa
--- /dev/null
+++ b/extra/xorg-server/autoconfig-sis.patch
@@ -0,0 +1,19 @@
+--- hw/xfree86/common/xf86pciBus.c.orig 2011-09-24 10:53:45.421697668 +0000
++++ hw/xfree86/common/xf86pciBus.c 2011-09-24 10:55:56.416250708 +0000
+@@ -1140,7 +1140,15 @@
+ driverList[0] = "savage"; break;
+ }
+ break;
+- case 0x1039: driverList[0] = "sis"; break;
++ case 0x1039:
++ switch (dev->device_id)
++ {
++ case 0x6350: case 0x6351:
++ driverList[0] = "sisimedia"; driverList[1] = "sis"; break;
++ default:
++ driverList[0] = "sis"; break;
++ }
++ break;
+ case 0x126f: driverList[0] = "siliconmotion"; break;
+ case 0x121a:
+ if (dev->device_id < 0x0003)
diff --git a/extra/xorg-server/git-fixes.patch b/extra/xorg-server/git-fixes.patch
new file mode 100644
index 000000000..3c59c27c9
--- /dev/null
+++ b/extra/xorg-server/git-fixes.patch
@@ -0,0 +1,288 @@
+From bd6ea85209e5ab80375d4ec9994d10a89fd1374a Mon Sep 17 00:00:00 2001
+From: Jamey Sharp <jamey@minilop.net>
+Date: Wed, 15 Sep 2010 01:35:21 +0000
+Subject: Fix pixmap double-frees on error paths.
+
+If AddResource fails, it will automatically free the object that was
+passed to it by calling the appropriate deleteFunc; and of course
+FreeResource also calls the deleteFunc. In both cases it's wrong to call
+the destroy hook manually.
+
+Commit by Jamey Sharp and Josh Triplett.
+
+Signed-off-by: Jamey Sharp <jamey@minilop.net>
+Signed-off-by: Josh Triplett <josh@joshtriplett.org>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
+(cherry picked from commit 0f380a5005f800572773cd4667ce43c7459cc467)
+---
+diff --git a/Xext/shm.c b/Xext/shm.c
+index b08af82..4141a8f 100644
+--- a/Xext/shm.c
++++ b/Xext/shm.c
+@@ -991,7 +991,6 @@ CreatePmap:
+ pMap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
+ pMap->drawable.id = newPix->info[j].id;
+ if (!AddResource(newPix->info[j].id, RT_PIXMAP, (pointer)pMap)) {
+- (*pScreen->DestroyPixmap)(pMap);
+ result = BadAlloc;
+ break;
+ }
+@@ -1002,10 +1001,8 @@ CreatePmap:
+ }
+
+ if(result == BadAlloc) {
+- while(j--) {
+- (*pScreen->DestroyPixmap)(pMap);
++ while(j--)
+ FreeResource(newPix->info[j].id, RT_NONE);
+- }
+ free(newPix);
+ } else
+ AddResource(stuff->pid, XRT_PIXMAP, newPix);
+@@ -1110,7 +1107,6 @@ CreatePmap:
+ {
+ return Success;
+ }
+- pDraw->pScreen->DestroyPixmap(pMap);
+ }
+ return BadAlloc;
+ }
+diff --git a/dix/dispatch.c b/dix/dispatch.c
+index 192c8c3..f8200b1 100644
+--- a/dix/dispatch.c
++++ b/dix/dispatch.c
+@@ -1419,7 +1419,6 @@ CreatePmap:
+ }
+ if (AddResource(stuff->pid, RT_PIXMAP, (pointer)pMap))
+ return Success;
+- (*pDraw->pScreen->DestroyPixmap)(pMap);
+ }
+ return BadAlloc;
+ }
+--
+cgit v0.9.0.2-2-gbebe
+From 347f5610ca023fb31485aa19c20607af8bf9c834 Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Tue, 30 Aug 2011 22:46:52 +0000
+Subject: Xi: Fix passive XI2 ungrabs on XIAll[Master]Devices
+
+The corresponding DeviceIntPtr wasn't being gotten properly,
+resulting in BadDevice from dixLookupDevice().
+
+Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+(cherry picked from commit f52d5cd374563544dafe29587411f345e31bbdf8)
+---
+diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
+index ae43433..5cdd8ac 100644
+--- a/Xi/xipassivegrab.c
++++ b/Xi/xipassivegrab.c
+@@ -261,9 +261,16 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
+ REQUEST(xXIPassiveUngrabDeviceReq);
+ REQUEST_AT_LEAST_SIZE(xXIPassiveUngrabDeviceReq);
+
+- rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess);
+- if (rc != Success)
+- return rc;
++ if (stuff->deviceid == XIAllDevices)
++ dev = inputInfo.all_devices;
++ else if (stuff->deviceid == XIAllMasterDevices)
++ dev = inputInfo.all_master_devices;
++ else
++ {
++ rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess);
++ if (rc != Success)
++ return rc;
++ }
+
+ if (stuff->grab_type != XIGrabtypeButton &&
+ stuff->grab_type != XIGrabtypeKeycode &&
+--
+cgit v0.9.0.2-2-gbebe
+From e9ae33316012ffe9acfeeb7303ab3392c2ca2a2b Mon Sep 17 00:00:00 2001
+From: Sam Spilsbury <sam.spilsbury@canonical.com>
+Date: Wed, 14 Sep 2011 01:58:34 +0000
+Subject: Remove the SendEvent bit (0x80) before doing range checks on event type.
+
+Some extension libraries may set this bit before converting the event to
+wire protocol and as such range checking the event will cause an invalid
+BadValue error to result. As the documentation suggests the the bit
+should be "forced on", remove it before doing range checks and continue
+to force it on in the server.
+
+Reviewed-by: Jamey Sharp <jamey@minilop.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+(cherry picked from commit 2d2dce558d24eeea0eb011ec9ebaa6c5c2273c39)
+---
+diff --git a/dix/events.c b/dix/events.c
+index 8a4c6b9..9e58edb 100644
+--- a/dix/events.c
++++ b/dix/events.c
+@@ -5224,6 +5224,8 @@ CloseDownEvents(void)
+ InputEventList = NULL;
+ }
+
++#define SEND_EVENT_BIT 0x80
++
+ /**
+ * Server-side protocol handling for SendEvent request.
+ *
+@@ -5241,6 +5243,16 @@ ProcSendEvent(ClientPtr client)
+
+ REQUEST_SIZE_MATCH(xSendEventReq);
+
++ /* libXext and other extension libraries may set the bit indicating
++ * that this event came from a SendEvent request so remove it
++ * since otherwise the event type may fail the range checks
++ * and cause an invalid BadValue error to be returned.
++ *
++ * This is safe to do since we later add the SendEvent bit (0x80)
++ * back in once we send the event to the client */
++
++ stuff->event.u.u.type &= ~(SEND_EVENT_BIT);
++
+ /* The client's event type must be a core event type or one defined by an
+ extension. */
+
+@@ -5298,7 +5310,7 @@ ProcSendEvent(ClientPtr client)
+ client->errorValue = stuff->propagate;
+ return BadValue;
+ }
+- stuff->event.u.u.type |= 0x80;
++ stuff->event.u.u.type |= SEND_EVENT_BIT;
+ if (stuff->propagate)
+ {
+ for (;pWin; pWin = pWin->parent)
+--
+cgit v0.9.0.2-2-gbebe
+From b45e22675364915c32560c26404cf30d77ab68aa Mon Sep 17 00:00:00 2001
+From: Alan Hourihane <alanh@vmware.com>
+Date: Wed, 05 Oct 2011 02:42:46 +0000
+Subject: dixfonts: Don't overwrite local c variable until new_closure is safely initialized.
+
+Signed-off-by: Alan Hourihane <alanh@vmware.com>
+Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+(cherry picked from commit 7a33c5b934382b5554f41ab1502514e91c9bc52e)
+---
+diff --git a/dix/dixfonts.c b/dix/dixfonts.c
+index fbac124..d2bcb84 100644
+--- a/dix/dixfonts.c
++++ b/dix/dixfonts.c
+@@ -1302,31 +1302,30 @@ doPolyText(ClientPtr client, PTclosurePtr c)
+ goto bail;
+ }
+ *new_closure = *c;
+- c = new_closure;
+
+- len = c->endReq - c->pElt;
+- c->data = malloc(len);
+- if (!c->data)
++ len = new_closure->endReq - new_closure->pElt;
++ new_closure->data = malloc(len);
++ if (!new_closure->data)
+ {
+- free(c);
++ free(new_closure);
+ err = BadAlloc;
+ goto bail;
+ }
+- memmove(c->data, c->pElt, len);
+- c->pElt = c->data;
+- c->endReq = c->pElt + len;
++ memmove(new_closure->data, new_closure->pElt, len);
++ new_closure->pElt = new_closure->data;
++ new_closure->endReq = new_closure->pElt + len;
+
+ /* Step 2 */
+
+- pGC = GetScratchGC(c->pGC->depth, c->pGC->pScreen);
++ pGC = GetScratchGC(new_closure->pGC->depth, new_closure->pGC->pScreen);
+ if (!pGC)
+ {
+- free(c->data);
+- free(c);
++ free(new_closure->data);
++ free(new_closure);
+ err = BadAlloc;
+ goto bail;
+ }
+- if ((err = CopyGC(c->pGC, pGC, GCFunction |
++ if ((err = CopyGC(new_closure->pGC, pGC, GCFunction |
+ GCPlaneMask | GCForeground |
+ GCBackground | GCFillStyle |
+ GCTile | GCStipple |
+@@ -1337,15 +1336,16 @@ doPolyText(ClientPtr client, PTclosurePtr c)
+ Success)
+ {
+ FreeScratchGC(pGC);
+- free(c->data);
+- free(c);
++ free(new_closure->data);
++ free(new_closure);
+ err = BadAlloc;
+ goto bail;
+ }
++ c = new_closure;
+ origGC = c->pGC;
+ c->pGC = pGC;
+ ValidateGC(c->pDraw, c->pGC);
+-
++
+ ClientSleep(client, (ClientSleepProcPtr)doPolyText, c);
+
+ /* Set up to perform steps 3 and 4 */
+--
+cgit v0.9.0.2-2-gbebe
+From bec15eb73a17fb47963ff6b747ea504f7dc05deb Mon Sep 17 00:00:00 2001
+From: Kirill Elagin <kirelagin@gmail.com>
+Date: Tue, 04 Oct 2011 19:02:20 +0000
+Subject: Fix server crash due to invalid images
+
+See https://bugs.freedesktop.org/show_bug.cgi?id=39383
+
+Signed-off-by: Kirill Elagin <kirelagin@gmail.com>
+Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+(cherry picked from commit 53611213396479abfdce0f7752681572e0d26d78)
+---
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index d1fd0cb..57c93fd 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -163,7 +163,9 @@ create_bits_picture (PicturePtr pict,
+ (pixman_format_code_t)pict->format,
+ pixmap->drawable.width, pixmap->drawable.height,
+ (uint32_t *)bits, stride * sizeof (FbStride));
+-
++
++ if (!image)
++ return NULL;
+
+ #ifdef FB_ACCESS_WRAPPER
+ #if FB_SHIFT==5
+--
+cgit v0.9.0.2-2-gbebe
+From 65469f5ea98074ab27ce0a2d482157b9d5c2cbc7 Mon Sep 17 00:00:00 2001
+From: vdb@picaros.org <vdb@picaros.org>
+Date: Sat, 17 Sep 2011 16:55:47 +0000
+Subject: Fix a rare memory leak
+
+Signed-off-by: Servaas Vandenberghe <vdb@picaros.org>
+Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+(cherry picked from commit e4cddf509e1729e8ff40354275b65455111ad2bd)
+---
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index c2814d4..3fae039 100644
+--- a/hw/xfree86/modes/xf86Crtc.c
++++ b/hw/xfree86/modes/xf86Crtc.c
+@@ -133,6 +133,7 @@ xf86CrtcCreate (ScrnInfoPtr scrn,
+ crtcs = malloc((xf86_config->num_crtc + 1) * sizeof (xf86CrtcPtr));
+ if (!crtcs)
+ {
++ free(crtc->gamma_red);
+ free(crtc);
+ return NULL;
+ }
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/extra/xorg-server/revert-trapezoids.patch b/extra/xorg-server/revert-trapezoids.patch
new file mode 100644
index 000000000..b9046c5cb
--- /dev/null
+++ b/extra/xorg-server/revert-trapezoids.patch
@@ -0,0 +1,179 @@
+diff -ru a/fb/fbpict.c b/fb/fbpict.c
+--- a/fb/fbpict.c 2011-08-01 01:44:24.000000000 +0200
++++ b/fb/fbpict.c 2011-10-05 22:45:29.000000000 +0200
+@@ -364,7 +364,7 @@
+ ps->Glyphs = miGlyphs;
+ ps->CompositeRects = miCompositeRects;
+ ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
+- ps->Trapezoids = fbTrapezoids;
++ ps->Trapezoids = miTrapezoids;
+ ps->AddTraps = fbAddTraps;
+ ps->AddTriangles = fbAddTriangles;
+ ps->Triangles = fbTriangles;
+diff -ru a/render/mipict.c b/render/mipict.c
+--- a/render/mipict.c 2011-04-04 05:19:50.000000000 +0200
++++ b/render/mipict.c 2011-10-05 22:02:53.000000000 +0200
+@@ -573,6 +573,67 @@
+ }
+ }
+
++void
++miTrapezoids (CARD8 op,
++ PicturePtr pSrc,
++ PicturePtr pDst,
++ PictFormatPtr maskFormat,
++ INT16 xSrc,
++ INT16 ySrc,
++ int ntrap,
++ xTrapezoid *traps)
++{
++ ScreenPtr pScreen = pDst->pDrawable->pScreen;
++ PictureScreenPtr ps = GetPictureScreen(pScreen);
++
++ /*
++ * Check for solid alpha add
++ */
++ if (op == PictOpAdd && miIsSolidAlpha (pSrc))
++ {
++ for (; ntrap; ntrap--, traps++)
++ (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0);
++ }
++ else if (maskFormat)
++ {
++ PicturePtr pPicture;
++ BoxRec bounds;
++ INT16 xDst, yDst;
++ INT16 xRel, yRel;
++
++ xDst = traps[0].left.p1.x >> 16;
++ yDst = traps[0].left.p1.y >> 16;
++
++ miTrapezoidBounds (ntrap, traps, &bounds);
++ if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
++ return;
++ pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
++ bounds.x2 - bounds.x1,
++ bounds.y2 - bounds.y1);
++ if (!pPicture)
++ return;
++ for (; ntrap; ntrap--, traps++)
++ (*ps->RasterizeTrapezoid) (pPicture, traps,
++ -bounds.x1, -bounds.y1);
++ xRel = bounds.x1 + xSrc - xDst;
++ yRel = bounds.y1 + ySrc - yDst;
++ CompositePicture (op, pSrc, pPicture, pDst,
++ xRel, yRel, 0, 0, bounds.x1, bounds.y1,
++ bounds.x2 - bounds.x1,
++ bounds.y2 - bounds.y1);
++ FreePicture (pPicture, 0);
++ }
++ else
++ {
++ if (pDst->polyEdge == PolyEdgeSharp)
++ maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++ else
++ maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++ for (; ntrap; ntrap--, traps++)
++ miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps);
++ }
++}
++
+ Bool
+ miPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+ {
+@@ -599,7 +660,7 @@
+ ps->Composite = 0; /* requires DDX support */
+ ps->Glyphs = miGlyphs;
+ ps->CompositeRects = miCompositeRects;
+- ps->Trapezoids = 0;
++ ps->Trapezoids = miTrapezoids;
+ ps->Triangles = 0;
+
+ ps->RasterizeTrapezoid = 0; /* requires DDX support */
+diff -ru a/render/mipict.h b/render/mipict.h
+--- a/render/mipict.h 2011-04-04 05:19:50.000000000 +0200
++++ b/render/mipict.h 2011-10-05 22:06:19.000000000 +0200
+@@ -129,6 +129,23 @@
+ CARD32 pixel,
+ xRenderColor *color);
+
++extern _X_EXPORT PicturePtr
++miCreateAlphaPicture (ScreenPtr pScreen,
++ PicturePtr pDst,
++ PictFormatPtr pPictFormat,
++ CARD16 width,
++ CARD16 height);
++
++extern _X_EXPORT void
++miTrapezoids (CARD8 op,
++ PicturePtr pSrc,
++ PicturePtr pDst,
++ PictFormatPtr maskFormat,
++ INT16 xSrc,
++ INT16 ySrc,
++ int ntrap,
++ xTrapezoid *traps);
++
+ extern _X_EXPORT Bool
+ miIsSolidAlpha (PicturePtr pSrc);
+
+diff -ru a/render/mitrap.c b/render/mitrap.c
+--- a/render/mitrap.c 2011-04-04 05:19:50.000000000 +0200
++++ b/render/mitrap.c 2011-10-05 22:05:29.000000000 +0200
+@@ -34,6 +34,55 @@
+ #include "picturestr.h"
+ #include "mipict.h"
+
++PicturePtr
++miCreateAlphaPicture (ScreenPtr pScreen,
++ PicturePtr pDst,
++ PictFormatPtr pPictFormat,
++ CARD16 width,
++ CARD16 height)
++{
++ PixmapPtr pPixmap;
++ PicturePtr pPicture;
++ GCPtr pGC;
++ int error;
++ xRectangle rect;
++
++ if (width > 32767 || height > 32767)
++ return 0;
++
++ if (!pPictFormat)
++ {
++ if (pDst->polyEdge == PolyEdgeSharp)
++ pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++ else
++ pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++ if (!pPictFormat)
++ return 0;
++ }
++
++ pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
++ pPictFormat->depth, 0);
++ if (!pPixmap)
++ return 0;
++ pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
++ if (!pGC)
++ {
++ (*pScreen->DestroyPixmap) (pPixmap);
++ return 0;
++ }
++ ValidateGC (&pPixmap->drawable, pGC);
++ rect.x = 0;
++ rect.y = 0;
++ rect.width = width;
++ rect.height = height;
++ (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect);
++ FreeScratchGC (pGC);
++ pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
++ 0, 0, serverClient, &error);
++ (*pScreen->DestroyPixmap) (pPixmap);
++ return pPicture;
++}
++
+ static xFixed
+ miLineFixedX (xLineFixed *l, xFixed y, Bool ceil)
+ {
+
diff --git a/extra/xorg-xdm/PKGBUILD b/extra/xorg-xdm/PKGBUILD
index 66f376ed2..1edcddd16 100644
--- a/extra/xorg-xdm/PKGBUILD
+++ b/extra/xorg-xdm/PKGBUILD
@@ -1,30 +1,40 @@
-# $Id: PKGBUILD 105533 2011-01-10 11:03:46Z jgc $
+# $Id: PKGBUILD 140275 2011-10-11 21:28:00Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-xdm
-pkgver=1.1.10
-pkgrel=2
+pkgver=1.1.11
+pkgrel=1
pkgdesc="X Display Manager"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft')
-makedepends=('pkgconfig')
+depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'consolekit')
+makedepends=('pkgconfig' 'xorg-util-macros')
backup=(etc/X11/xdm/Xaccess etc/X11/xdm/Xresources etc/X11/xdm/Xservers etc/X11/xdm/xdm-config etc/pam.d/xdm etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xsession)
options=('!libtool')
source=(${url}/releases/individual/app/xdm-${pkgver}.tar.bz2
Xsession-loginshell.patch
Xsession-xsm.patch
+ xdm-consolekit.patch
xdm.pam)
-md5sums=('329383040cdbda5b5c8ce6c7e1120c97'
+md5sums=('64a1af1f7eb69feae12e75d4cc3aaf19'
'234ae568e7b22cbc09433bb396ff3d80'
'2c30078c50bc653d72eb5114506eb313'
+ '46b11173b58e2241577d5ffd48ab8f8d'
'419d6289ba6f851135f5c70c0e3cbec4')
+sha256sums=('d4da426ddea0124279a3f2e00a26db61944690628ee818a64df9d27352081c47'
+ 'fd3e7c20837b42a8ab111369fd6dc9612f9edb91c1f6904cca1d6a1fa3cfa0ff'
+ '77a1ce9bdf363591b72798db08b4df3589bd4e64737fd32cf9028f9245450edb'
+ '47190f311c97c0d85b1fcab47ee5a8575013db1200a5e30a57a7ea4ef3e0c23a'
+ '36cf924a893ef851855ebcdc5468523a9d182c3620698e01dffc35d05d74764b')
build() {
cd "${srcdir}/xdm-${pkgver}"
patch -Np0 -i "${srcdir}/Xsession-loginshell.patch"
patch -Np1 -i "${srcdir}/Xsession-xsm.patch"
+ patch -Np1 -i "${srcdir}/xdm-consolekit.patch"
+
+ autoreconf -fi
./configure --prefix=/usr \
--disable-xdm-auth \
--disable-static \
diff --git a/extra/xorg-xdm/xdm-consolekit.patch b/extra/xorg-xdm/xdm-consolekit.patch
new file mode 100644
index 000000000..7d85b97e0
--- /dev/null
+++ b/extra/xorg-xdm/xdm-consolekit.patch
@@ -0,0 +1,225 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -362,6 +362,20 @@
+
+ AM_CONDITIONAL(DYNAMIC_GREETER, test x$DYNAMIC_GREETER = xyes)
+
++# ConsoleKit support
++AC_ARG_WITH(consolekit, AC_HELP_STRING([--with-consolekit], [Use ConsoleKit]),
++ [USE_CONSOLEKIT=$withval], [USE_CONSOLEKIT=yes])
++if test x"$USE_CONSOLEKIT" != xno; then
++ PKG_CHECK_MODULES(CK_CONNECTOR, ck-connector,
++ [USE_CONSOLEKIT=yes], [USE_CONSOLEKIT=no])
++ if test x"$USE_CONSOLEKIT" = xyes; then
++ AC_DEFINE([USE_CONSOLEKIT], 1, [Define to 1 to use ConsoleKit])
++ XDM_CFLAGS="$XDM_CFLAGS $CK_CONNECTOR_CFLAGS -DUSE_CONSOLEKIT"
++ XDM_LIBS="$XDM_LIBS $CK_CONNECTOR_LIBS"
++ fi
++fi
++dnl AM_CONDITIONAL(USE_CONSOLEKIT, test$USE_CONSOLEKIT = xyes)
++
+ #
+ # XDM
+ #
+--- a/xdm/session.c
++++ b/xdm/session.c
+@@ -66,6 +66,11 @@
+ #endif
+ #endif /* USE_PAM */
+
++#ifdef USE_CONSOLEKIT
++#include <ck-connector.h>
++#include <dbus/dbus.h>
++#endif
++
+ #ifdef __SCO__
+ #include <prot.h>
+ #endif
+@@ -472,6 +477,97 @@
+ }
+ }
+
++#ifdef USE_CONSOLEKIT
++
++static CkConnector *connector;
++
++static int openCKSession(struct verify_info *verify, struct display *d)
++{
++ int ret;
++ DBusError error;
++ char *remote_host_name = "";
++ dbus_bool_t is_local;
++ char *display_name = "";
++ char *display_device = "";
++ char devtmp[16];
++
++ if (!use_consolekit)
++ return 1;
++
++ is_local = d->displayType.location == Local;
++ if (d->peerlen > 0 && d->peer)
++ remote_host_name = d->peer;
++ if (d->name)
++ display_name = d->name;
++ /* how can we get the corresponding tty at best...? */
++ if (d->windowPath) {
++ display_device = strchr(d->windowPath, ':');
++ if (display_device && display_device[1])
++ display_device++;
++ else
++ display_device = d->windowPath;
++ snprintf(devtmp, sizeof(devtmp), "/dev/tty%s", display_device);
++ display_device = devtmp;
++ }
++
++ connector = ck_connector_new();
++ if (!connector) {
++ LogOutOfMem("ck_connector");
++ return 0;
++ }
++
++ dbus_error_init(&error);
++ ret = ck_connector_open_session_with_parameters(
++ connector, &error,
++ "unix-user", &verify->uid,
++ "x11-display", &display_name,
++ "x11-display-device", &display_device,
++ "remote-host-name", &remote_host_name,
++ "is-local", &is_local,
++ NULL);
++ if (!ret) {
++ if (dbus_error_is_set(&error)) {
++ LogError("Dbus error: %s\n", error.message);
++ dbus_error_free(&error);
++ } else {
++ LogError("ConsoleKit error\n");
++ }
++ LogError("console-kit-daemon not running?\n");
++ ck_connector_unref(connector);
++ connector = NULL;
++ return 0;
++ }
++
++ verify->userEnviron = setEnv(verify->userEnviron,
++ "XDG_SESSION_COOKIE", ck_connector_get_cookie(connector));
++ return 1;
++}
++
++static void closeCKSession(void)
++{
++ DBusError error;
++
++ if (!connector)
++ return;
++
++ dbus_error_init(&error);
++ if (!ck_connector_close_session(connector, &error)) {
++ if (dbus_error_is_set(&error)) {
++ LogError("Dbus error: %s\n", error.message);
++ dbus_error_free(&error);
++ } else {
++ LogError("ConsoleKit close error\n");
++ }
++ LogError("console-kit-daemon not running?\n");
++ }
++ ck_connector_unref(connector);
++ connector = NULL;
++}
++#else
++#define openCKSession(v,d) 1
++#define closeCKSession()
++#endif
++
+ void
+ SessionExit (struct display *d, int status, int removeAuth)
+ {
+@@ -486,6 +580,8 @@
+ }
+ #endif
+
++ closeCKSession();
++
+ /* make sure the server gets reset after the session is over */
+ if (d->serverPid >= 2 && d->resetSignal)
+ kill (d->serverPid, d->resetSignal);
+@@ -568,6 +664,10 @@
+ #ifdef USE_PAM
+ if (pamh) pam_open_session(pamh, 0);
+ #endif
++
++ if (!openCKSession(verify, d))
++ return 0;
++
+ switch (pid = fork ()) {
+ case 0:
+ CleanUpChild ();
+--- a/include/dm.h
++++ b/include/dm.h
+@@ -325,6 +325,9 @@
+ extern char *prngdSocket;
+ extern int prngdPort;
+ # endif
++#ifdef USE_CONSOLEKIT
++extern int use_consolekit;
++#endif
+
+ extern char *greeterLib;
+ extern char *willing;
+--- a/xdm/resource.c
++++ b/xdm/resource.c
+@@ -68,6 +68,9 @@
+ char *prngdSocket;
+ int prngdPort;
+ #endif
++#ifdef USE_CONSOLEKIT
++int use_consolekit;
++#endif
+
+ char *greeterLib;
+ char *willing;
+@@ -258,6 +261,10 @@
+ "false"} ,
+ { "willing", "Willing", DM_STRING, &willing,
+ ""} ,
++#ifdef USE_CONSOLEKIT
++{ "consoleKit", "ConsoleKit", DM_BOOL, (char **) &use_consolekit,
++ "true"} ,
++#endif
+ };
+
+ # define NUM_DM_RESOURCES (sizeof DmResources / sizeof DmResources[0])
+@@ -440,7 +447,11 @@
+ {"-debug", "*debugLevel", XrmoptionSepArg, (caddr_t) NULL },
+ {"-xrm", NULL, XrmoptionResArg, (caddr_t) NULL },
+ {"-daemon", ".daemonMode", XrmoptionNoArg, "true" },
+-{"-nodaemon", ".daemonMode", XrmoptionNoArg, "false" }
++{"-nodaemon", ".daemonMode", XrmoptionNoArg, "false" },
++#ifdef USE_CONSOLEKIT
++{"-consolekit", ".consoleKit", XrmoptionNoArg, "true" },
++{"-noconsolekit", ".consoleKit", XrmoptionNoArg, "false" }
++#endif
+ };
+
+ static int originalArgc;
+--- a/man/xdm.man
++++ b/man/xdm.man
+@@ -51,6 +51,8 @@
+ ] [
+ .B \-session
+ .I session_program
++] [
++.B \-noconsolekit
+ ]
+ .SH DESCRIPTION
+ .I Xdm
+@@ -218,6 +220,10 @@
+ .IP "\fB\-xrm\fP \fIresource_specification\fP"
+ Allows an arbitrary resource to be specified, as in most
+ X Toolkit applications.
++.IP "\fB\-noconsolekit\fP"
++Specifies ``false'' as the value for the \fBDisplayManager.consoleKit\fP
++resource.
++This suppresses the session management using ConsoleKit.
+ .SH RESOURCES
+ At many stages the actions of
+ .I xdm
diff --git a/extra/xorg-xinit/PKGBUILD b/extra/xorg-xinit/PKGBUILD
index e7df3f67e..a65ace85e 100644
--- a/extra/xorg-xinit/PKGBUILD
+++ b/extra/xorg-xinit/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 113891 2011-03-10 19:11:37Z jgc $
+# $Id: PKGBUILD 140273 2011-10-11 21:27:57Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xorg-xinit
-pkgver=1.3.0
-pkgrel=3
+pkgver=1.3.1
+pkgrel=1
pkgdesc="X.Org initialisation program "
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('libx11' 'xorg-xauth')
@@ -22,7 +22,7 @@ source=(${url}/releases/individual/app/xinit-${pkgver}.tar.bz2
xsession
xserverrc)
options=(!emptydirs)
-md5sums=('bc4e8b7d1919597cc37a0d24aa149dda'
+md5sums=('ee234056d8a3dbf37b61b4bcb35b88e4'
'abd072ec435ce084cf4e89c58f83d45c'
'c7b406c3c5c1e8011b3ac7d6b29c1a2c'
'7873d97db30d6c279ed37e3559e7c59d'