From b79408ae7429f4e5c99582cb55127b6e86b7fdac Mon Sep 17 00:00:00 2001 From: root Date: Wed, 12 Oct 2011 23:14:40 +0000 Subject: Wed Oct 12 23:14:40 UTC 2011 --- extra/cyrus-sasl/PKGBUILD | 5 +- extra/farsight2/PKGBUILD | 6 +- extra/imagemagick/PKGBUILD | 8 +- extra/pycups/PKGBUILD | 8 +- extra/rox/PKGBUILD | 28 +- extra/rox/rox.desktop | 5 +- extra/xf86-input-acecad/PKGBUILD | 15 +- .../assign-local-private-after-allocating.patch | 24 + extra/xf86-input-aiptek/PKGBUILD | 8 +- extra/xf86-input-evdev/PKGBUILD | 8 +- extra/xf86-input-joystick/PKGBUILD | 16 +- extra/xf86-input-keyboard/PKGBUILD | 8 +- extra/xf86-input-mouse/PKGBUILD | 8 +- extra/xf86-input-synaptics/PKGBUILD | 13 +- extra/xf86-input-void/PKGBUILD | 8 +- extra/xf86-input-wacom/PKGBUILD | 8 +- extra/xf86-video-apm/PKGBUILD | 8 +- extra/xf86-video-ark/PKGBUILD | 15 +- extra/xf86-video-ark/git-fixes.patch | 118 ++ extra/xf86-video-ast/PKGBUILD | 11 +- extra/xf86-video-ati/PKGBUILD | 10 +- extra/xf86-video-chips/PKGBUILD | 15 +- .../gut-overlay-8-16-support-from-driver.patch | 580 +++++++++ extra/xf86-video-cirrus/PKGBUILD | 16 +- extra/xf86-video-dummy/PKGBUILD | 8 +- extra/xf86-video-fbdev/PKGBUILD | 8 +- extra/xf86-video-glint/PKGBUILD | 14 +- extra/xf86-video-i128/PKGBUILD | 8 +- extra/xf86-video-i740/PKGBUILD | 8 +- extra/xf86-video-intel/PKGBUILD | 18 +- extra/xf86-video-mach64/PKGBUILD | 15 +- extra/xf86-video-mga/PKGBUILD | 15 +- extra/xf86-video-neomagic/PKGBUILD | 8 +- extra/xf86-video-nouveau/PKGBUILD | 8 +- extra/xf86-video-nv/PKGBUILD | 8 +- extra/xf86-video-openchrome/PKGBUILD | 23 +- extra/xf86-video-r128/PKGBUILD | 17 +- extra/xf86-video-r128/git-fixes.patch | 842 ++++++++++++ extra/xf86-video-rendition/PKGBUILD | 8 +- extra/xf86-video-s3/PKGBUILD | 16 +- extra/xf86-video-s3/git-fixes.patch | 458 +++++++ extra/xf86-video-s3virge/PKGBUILD | 16 +- extra/xf86-video-savage/PKGBUILD | 10 +- extra/xf86-video-siliconmotion/PKGBUILD | 8 +- extra/xf86-video-sis/PKGBUILD | 8 +- ...config-xorgcfg-from-See-Also-list-in-man-.patch | 25 + ...2-Remove-XFree86-Misc-PassMessage-support.patch | 91 ++ ...003-Fix-build-with-Werror-format-security.patch | 65 + ...s3D4-big-enough-to-hold-all-values-writte.patch | 32 + ...ect-bounds-check-of-blitClip-array-access.patch | 38 + ...ix-backlight-off-on-SiS30x.-video-bridges.patch | 25 + .../0006-Add-IgnoreHotkeyFlag-driver-option.patch | 89 ++ .../0007-Remove-useless-loader-symbol-lists.patch | 249 ++++ .../0008-update-to-xextproto-7-1-support.patch | 45 + .../0009-update-for-rac-removal.patch | 69 + .../0010-change-to-use-abi-version-check.patch | 34 + .../0011-more-rac-removal.patch | 13 + extra/xf86-video-sisimedia/COPYING | 139 ++ extra/xf86-video-sisimedia/PKGBUILD | 82 ++ .../xf86-video-sis-0.9.1-20102701.patch | 1376 ++++++++++++++++++++ ...ideo-sis-0.9.1-dump-regs-after-video-init.patch | 89 ++ extra/xf86-video-sisimedia/xserver19.patch | 30 + extra/xf86-video-sisusb/PKGBUILD | 8 +- extra/xf86-video-tdfx/PKGBUILD | 15 +- extra/xf86-video-trident/PKGBUILD | 10 +- extra/xf86-video-tseng/PKGBUILD | 15 +- extra/xf86-video-unichrome/PKGBUILD | 21 +- extra/xf86-video-v4l/PKGBUILD | 11 +- extra/xf86-video-vesa/PKGBUILD | 16 +- extra/xf86-video-voodoo/PKGBUILD | 8 +- extra/xf86-video-xgi/PKGBUILD | 14 +- extra/xf86-video-xgi/git-fixes.patch | 451 +++++++ extra/xf86-video-xgixp/PKGBUILD | 14 +- .../api-compat-fix-for-DRAWABLE_BUFFER.patch | 23 + extra/xorg-server/PKGBUILD | 38 +- extra/xorg-server/autoconfig-nvidia.patch | 75 -- extra/xorg-server/autoconfig-sis.patch | 19 + extra/xorg-server/git-fixes.patch | 288 ++++ extra/xorg-server/revert-trapezoids.patch | 179 +++ extra/xorg-xdm/PKGBUILD | 22 +- extra/xorg-xdm/xdm-consolekit.patch | 225 ++++ extra/xorg-xinit/PKGBUILD | 10 +- 82 files changed, 6038 insertions(+), 388 deletions(-) create mode 100644 extra/xf86-input-acecad/assign-local-private-after-allocating.patch create mode 100644 extra/xf86-video-ark/git-fixes.patch create mode 100644 extra/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch create mode 100644 extra/xf86-video-r128/git-fixes.patch create mode 100644 extra/xf86-video-s3/git-fixes.patch create mode 100644 extra/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch create mode 100644 extra/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch create mode 100644 extra/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch create mode 100644 extra/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch create mode 100644 extra/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch create mode 100644 extra/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch create mode 100644 extra/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch create mode 100644 extra/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch create mode 100644 extra/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch create mode 100644 extra/xf86-video-sisimedia/0009-update-for-rac-removal.patch create mode 100644 extra/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch create mode 100644 extra/xf86-video-sisimedia/0011-more-rac-removal.patch create mode 100644 extra/xf86-video-sisimedia/COPYING create mode 100644 extra/xf86-video-sisimedia/PKGBUILD create mode 100644 extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch create mode 100644 extra/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch create mode 100644 extra/xf86-video-sisimedia/xserver19.patch create mode 100644 extra/xf86-video-xgi/git-fixes.patch create mode 100644 extra/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch create mode 100644 extra/xorg-server/autoconfig-sis.patch create mode 100644 extra/xorg-server/git-fixes.patch create mode 100644 extra/xorg-server/revert-trapezoids.patch create mode 100644 extra/xorg-xdm/xdm-consolekit.patch (limited to 'extra') 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 # 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 # Contributor: William Díaz 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 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 # Contributor: nesl247 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 # Contributor: Jochem Kossen 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 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 +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 +--- +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 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 # Contributor: Alexander Baldeck =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 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 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 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 # Contributor: Tobias Powalowski # Contributor: Thomas Bächler # Contributor: Alexander Baldeck 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 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 # Contributor: Jan de Groot # Contributor: M Rawash 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 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 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 +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 +--- +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 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 # Contributor: Alexander Baldeck 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 # Contributor: Alexander Baldeck 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 +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 +Reviewed-by: Adam Jackson +--- +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 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 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 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 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 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 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 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 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 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 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 # Contributor: buddabrod 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 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 # Maintainer: Juergen Hoetzel 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 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 ++ ++ o Kevin E. Martin ++ ++ 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 ++ ++ o Kevin E. Martin ++ ++ 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 ++ ++ o Dirk Hohndel ++ ++ 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 +- +- +o Kevin E. Martin +- +- 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 +- +- +o Kevin E. Martin +- +- 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 +- +- +o Dirk Hohndel +- +- 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 @@ +- %defs; +-]> +- +-
+-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' -- cgit v1.2.3-54-g00ecf