summaryrefslogtreecommitdiff
path: root/staging
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-02-11 23:14:54 +0000
committerroot <root@rshg054.dnsready.net>2012-02-11 23:14:54 +0000
commitcfceb92e73d7f6a32494f0ba258b98748af43f34 (patch)
tree56f71bc4b93aa78486f4e0e0b0c5250ea977f114 /staging
parent9d1489b877a1fa7c2674cf1f744804db42d93bfc (diff)
Sat Feb 11 23:14:53 UTC 2012
Diffstat (limited to 'staging')
-rw-r--r--staging/kismet/PKGBUILD57
-rw-r--r--staging/kismet/kismet.changelog29
-rw-r--r--staging/kismet/kismet.install34
-rw-r--r--staging/libxi/PKGBUILD6
-rw-r--r--staging/mesa/PKGBUILD13
-rw-r--r--staging/xf86-video-ast/PKGBUILD33
-rw-r--r--staging/xf86-video-ast/ast-0.93.9-vga.patch38
-rw-r--r--staging/xf86-video-ati/PKGBUILD31
-rw-r--r--staging/xf86-video-chips/PKGBUILD35
-rw-r--r--staging/xf86-video-chips/chips-1.2.4-git.patch912
-rw-r--r--staging/xf86-video-nouveau/PKGBUILD41
-rw-r--r--staging/xf86-video-nouveau/xf86-video-nouveau.install16
-rw-r--r--staging/xf86-video-openchrome/PKGBUILD31
-rw-r--r--staging/xorg-server/PKGBUILD13
-rw-r--r--staging/xorg-server/autoconfig-nvidia.patch55
15 files changed, 1298 insertions, 46 deletions
diff --git a/staging/kismet/PKGBUILD b/staging/kismet/PKGBUILD
new file mode 100644
index 000000000..0357b6294
--- /dev/null
+++ b/staging/kismet/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 149761 2012-02-10 10:39:40Z eric $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+# Contributor: Juergen Hoetzel <jason@archlinux.org>
+
+pkgname=kismet
+pkgver=2011_03_R2
+_realver="${pkgver//_/-}"
+pkgrel=4
+pkgdesc="802.11 layer2 wireless network detector, sniffer, and intrusion detection system"
+arch=('i686' 'x86_64')
+url="http://www.kismetwireless.net/"
+license=('GPL')
+depends=('libcap' 'libnl1' 'pcre' 'ncurses' 'libpcap>=1.0.0' 'bluez' 'openssl') # already in core: ('linux-api-headers' 'glibc' 'libusb' 'libusb-compat')
+makedepends=() # already in core: ('grep' 'gcc-libs')
+optdepends=('gpsd: log coordinates of detected networks'
+ 'wireshark-cli: provide OUI files used to determine device manufacturer'
+ 'wireshark-cli: mergecap, to merge multiple capture files'
+ 'sox: provide the default kismet sound playback binary'
+ 'festival: text-to-speech support'
+ 'flite: alternative/lightweight text-to-speech support'
+ 'mac80211-driver: full rfmon support'
+ 'ruby: ruby interface')
+backup=('etc/kismet.conf' 'etc/kismet_drone.conf')
+install=kismet.install
+changelog=kismet.changelog
+source=("http://www.kismetwireless.net/code/${pkgname}-${_realver}.tar.gz")
+md5sums=('8bf077e8111e6dc8c12cadefdf40aadd')
+
+build() {
+ cd "${srcdir}/${pkgname}-${_realver}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make dep
+ make
+
+ # Include plugins bundled with kismet
+ make plugins
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${_realver}"
+
+ # Install kismet
+ make DESTDIR="$pkgdir" install
+
+ # Install plugins
+ make plugins-install DESTDIR="$pkgdir"
+
+ # the README is very comprehensive, a good idea to include it
+ install -D -m 644 "${srcdir}/kismet-${_realver}/README" "${pkgdir}/usr/share/kismet/README"
+
+ # Our own suid-install, first half (see kismet.install)
+ install -o "root" -g "root" -m 4550 kismet_capture "${pkgdir}/usr/bin/"
+}
diff --git a/staging/kismet/kismet.changelog b/staging/kismet/kismet.changelog
new file mode 100644
index 000000000..3078d0625
--- /dev/null
+++ b/staging/kismet/kismet.changelog
@@ -0,0 +1,29 @@
+2012-02-10 Eric BĂ©langer <eric@archlinux.org>
+ * Change libnl depends to libnl1
+
+2010-05-07 Angel Velasquez <angvp@archlinux.org>
+ * ChangeLog added
+
+ * Removed old patches from SVN
+
+ * Applied changes from FS#15746 thanks to people who worked on it.
+
+ * Files that are no longer shipped and so should not be backed up:
+ backup=('etc/ap_manuf' 'etc/client_manuf' 'etc/kismet_ui.conf')
+
+ * No longer needed; gpsmap is deprecated and being replaced with a tile-based
+ mapper, as of yet incomplete
+ optdepends=('perl-libwww: fetch maps for gpsmap')
+
+ * Configuration has completely changed, no longer containing
+ references to either prism2 or wlanng
+ sed -i 's/prism2/wlanng/g' conf/kismet.conf
+
+ * Ownership of man pages now defaults to "root" if the group "man" does not exist
+ chown root:root "$pkgdir"/usr/share/man/man{1,5}/*
+
+ * Dependencies no longer needed
+ depends=('gmp' 'imagemagick' 'dbus' 'libjpeg>=7')
+
+ * Options no longer needed
+ options=('!makeflags')
diff --git a/staging/kismet/kismet.install b/staging/kismet/kismet.install
new file mode 100644
index 000000000..0bc806034
--- /dev/null
+++ b/staging/kismet/kismet.install
@@ -0,0 +1,34 @@
+## arg 1: the new package version
+post_install() {
+ post_upgrade
+
+ cat << EOP
+ If you have not done so already, read the README file and the FAQ file.
+ You MUST edit /etc/kismet.conf and configure Kismet for your system, or
+ it will NOT run properly!"
+
+ Kismet has been installed with a SUID ROOT CAPTURE HELPER executeable by
+ users in the group ' kismet '. This WILL ALLOW USERS IN THIS GROUP
+ TO ALTER YOUR NETWORK INTERACE STATES, but is more secure than running
+ all of Kismet as root. ONLY users in this group will be able to
+ run Kismet and capture from physical network devices.
+EOP
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ # Add the group needed to use the limited-functionality binary "kismet_capture"
+ # Change group ownership of "kismet_capture" to this new group
+ # Preserve the file mode bits of "kismet_capture"
+ getent group "kismet" &>/dev/null || /usr/sbin/groupadd -r -g 315 kismet &>/dev/null
+ chown root:kismet "/usr/bin/kismet_capture"
+ chmod 4550 "/usr/bin/kismet_capture"
+}
+
+## arg 1: the old package version
+post_remove() {
+ getent group "kismet" &>/dev/null && /usr/sbin/groupdel kismet &>/dev/null
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/staging/libxi/PKGBUILD b/staging/libxi/PKGBUILD
index d0da35276..693a559c9 100644
--- a/staging/libxi/PKGBUILD
+++ b/staging/libxi/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 149439 2012-02-07 18:06:11Z andyrtr $
+# $Id: PKGBUILD 149782 2012-02-10 20:18:57Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxi
-pkgver=1.5.99.2
+pkgver=1.5.99.3
pkgrel=1
pkgdesc="X11 Input extension library"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ makedepends=('pkgconfig' 'xorg-util-macros')
options=(!libtool)
license=('custom')
source=(${url}/releases/individual/lib/libXi-${pkgver}.tar.bz2)
-sha1sums=('7c1be5426297889daac91c0d669200ea3ec93582')
+sha1sums=('55de70d18b20341f307b80da035400ed0467c920')
build() {
cd "${srcdir}/libXi-${pkgver}"
diff --git a/staging/mesa/PKGBUILD b/staging/mesa/PKGBUILD
index 9f3d5d830..b19a25a48 100644
--- a/staging/mesa/PKGBUILD
+++ b/staging/mesa/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 148567 2012-02-03 17:43:53Z andyrtr $
+# $Id: PKGBUILD 149788 2012-02-10 21:07:50Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
@@ -15,7 +15,7 @@ if [ "${_git}" = "true" ]; then
pkgver=7.10.99.git20110709
#pkgver=7.11
else
- pkgver=8.0rc2
+ pkgver=8.0
fi
pkgrel=1
arch=('i686' 'x86_64')
@@ -29,13 +29,13 @@ if [ "${_git}" = "true" ]; then
#source=(${source[@]} 'ftp://ftp.archlinux.org/other/mesa/mesa-1ae00c5960af83bea9545a18a1754bad83d5cbd0.tar.bz2')
source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-ef9f16f6322a89fb699fbe3da868b10f9acaef98.tar.bz2")
else
- #source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2"
- source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/8.0/MesaLib-8.0-rc2.tar.bz2"
+ source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2"
+ #source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/8.0/MesaLib-8.0-rc2.tar.bz2"
#source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-4464ee1a9aa3745109cee23531e3fb2323234d07.tar.bz2"
)
fi
md5sums=('5c65a0fe315dd347e09b1f2826a1df5a'
- '8fd3c3315b7b394b1225aaab5301f8dd')
+ '1a5668fe72651a670611164cefc703b2')
build() {
cd ${srcdir}/?esa-*
@@ -77,8 +77,9 @@ fi
}
package_libgl() {
- depends=('libdrm>=2.4.26' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libglapi' 'gcc-libs')
+ depends=('libdrm>=2.4.31' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libglapi' 'gcc-libs')
pkgdesc="Mesa 3-D graphics library and DRI software rasterizer"
+ replaces=('unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri')
cd ${srcdir}/?esa-*
install -m755 -d "${pkgdir}/usr/lib"
diff --git a/staging/xf86-video-ast/PKGBUILD b/staging/xf86-video-ast/PKGBUILD
new file mode 100644
index 000000000..ace558327
--- /dev/null
+++ b/staging/xf86-video-ast/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 149790 2012-02-10 21:24:59Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-ast
+pkgver=0.93.9
+pkgrel=2
+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>=1.11.99.902')
+conflicts=('xorg-server<1.11.99.902')
+options=('!libtool')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ ast-0.93.9-vga.patch)
+md5sums=('e25c6a55e9d07cc6054d6affc1231296'
+ '9aa9ea4c568b6563389fa634cb0f7cf0')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i ${srcdir}/ast-0.93.9-vga.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/staging/xf86-video-ast/ast-0.93.9-vga.patch b/staging/xf86-video-ast/ast-0.93.9-vga.patch
new file mode 100644
index 000000000..e05a78f56
--- /dev/null
+++ b/staging/xf86-video-ast/ast-0.93.9-vga.patch
@@ -0,0 +1,38 @@
+From 4a7eda24050b42072c77d527257609e743e8dc78 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 16 Nov 2011 20:09:40 +0000
+Subject: Adapt to domain changes in videoabi 12
+
+This is a blind change, I don't have this hardware handy to test with.
+It probably wants the same new API that tdfx wants.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/ast_driver.c b/src/ast_driver.c
+index bd3d338..128538f 100644
+--- a/src/ast_driver.c
++++ b/src/ast_driver.c
+@@ -498,11 +498,20 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
+ (pScrn->chipset != NULL) ? pScrn->chipset : "Unknown ast");
+
+ /* Resource Allocation */
++#if ABI_VIDEODRV_VERSION < 12
+ pAST->IODBase = pScrn->domainIOBase;
++#else
++ pAST->IODBase = 0;
++#endif
+ /* "Patch" the PIOOffset inside vgaHW in order to force
+ * the vgaHW module to use our relocated i/o ports.
+ */
+- VGAHWPTR(pScrn)->PIOOffset = pAST->PIOOffset = pAST->IODBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 0x380;
++
++#if ABI_VIDEODRV_VERSION < 12
++ VGAHWPTR(pScrn)->PIOOffset = /* ... */
++#endif
++ pAST->PIOOffset =
++ pAST->IODBase + PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) - 0x380;
+
+ pAST->RelocateIO = (IOADDRESS)(PCI_REGION_BASE(pAST->PciInfo, 2, REGION_IO) + pAST->IODBase);
+
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/staging/xf86-video-ati/PKGBUILD b/staging/xf86-video-ati/PKGBUILD
new file mode 100644
index 000000000..028b977ac
--- /dev/null
+++ b/staging/xf86-video-ati/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 149792 2012-02-10 21:29:58Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xf86-video-ati
+pkgver=6.14.3
+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>=1.11.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+conflicts=('xorg-server<1.11.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('db635e2e2858d5db90362f546ac0adad85474bad')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-dri
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make "DESTDIR=${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/staging/xf86-video-chips/PKGBUILD b/staging/xf86-video-chips/PKGBUILD
new file mode 100644
index 000000000..971900114
--- /dev/null
+++ b/staging/xf86-video-chips/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 149794 2012-02-10 21:39:35Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xf86-video-chips
+pkgver=1.2.4
+pkgrel=4
+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>=1.11.99.902')
+conflicts=('xorg-server<1.11.99.902')
+groups=('xorg-drivers' 'xorg')
+options=('!libtool')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ chips-1.2.4-git.patch)
+sha1sums=('71f474335d05f93b2451a7a0750c4409669641a4'
+ 'b13ff000e3f6f06c1a7fd55e9e0ad6078f1b4e5b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i ${srcdir}/chips-1.2.4-git.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/staging/xf86-video-chips/chips-1.2.4-git.patch b/staging/xf86-video-chips/chips-1.2.4-git.patch
new file mode 100644
index 000000000..9d8e856a3
--- /dev/null
+++ b/staging/xf86-video-chips/chips-1.2.4-git.patch
@@ -0,0 +1,912 @@
+diff --git a/configure.ac b/configure.ac
+index 225e516..c0ed508 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -44,9 +44,6 @@ XORG_DEFAULT_OPTIONS
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+
+-# Checks for programs.
+-AM_PROG_CC_C_O
+-
+ AH_TOP([#include "xorg-server.h"])
+
+ # Define a configure option for an alternate module directory
+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..a2e5c94 100644
+--- a/src/ct_driver.c
++++ b/src/ct_driver.c
+@@ -949,7 +949,7 @@ CHIPSProbe(DriverPtr drv, int flags)
+ }
+
+ }
+- xfree(usedChips);
++ free(usedChips);
+ }
+ }
+
+@@ -981,12 +981,12 @@ CHIPSProbe(DriverPtr drv, int flags)
+ pScrn->ValidMode = CHIPSValidMode;
+ foundScreen = TRUE;
+ }
+- xfree(usedChips);
++ free(usedChips);
+ }
+ }
+ #endif
+
+- xfree(devSections);
++ free(devSections);
+ return foundScreen;
+ }
+ #endif
+@@ -1446,7 +1446,12 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
+
+ hwp = VGAHWPTR(pScrn);
+ vgaHWGetIOBase(hwp);
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
+ cPtr->PIOBase = hwp->PIOOffset;
++#else
++ cPtr->PIOBase = 0;
++#endif
++
+ /*
+ * Must allow ensure that storage for the 2nd set of vga registers is
+ * allocated for dual channel cards
+@@ -1639,55 +1644,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 +2300,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 +3689,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 +3740,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 +3846,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 +3886,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 +3958,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 +4005,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,
+@@ -4223,7 +4131,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ }
+ if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY,
+ pScrn->displayWidth, pBankInfo)) {
+- xfree(pBankInfo);
++ free(pBankInfo);
+ pBankInfo = NULL;
+ return FALSE;
+ }
+@@ -4244,9 +4152,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 +4274,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 +4328,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 +4345,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 +4418,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 +4474,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 +4537,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 +5422,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 +5431,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 +5560,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 +5580,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 +5593,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 +5631,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 +5784,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 +6693,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..9033867 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 */
+@@ -272,11 +271,13 @@ typedef struct {
+
+ typedef struct _CHIPSRec {
+ pciVideoPtr PciInfo;
++#ifndef XSERVER_LIBPCIACCESS
+ PCITAG PciTag;
++#endif
+ int Chipset;
+ EntityInfoPtr pEnt;
+- IOADDRESS PIOBase;
+- CARD32 IOAddress;
++ unsigned long PIOBase;
++ unsigned long IOAddress;
+ unsigned long FbAddress;
+ unsigned int IOBase;
+ unsigned char * FbBase;
+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);
+ }
+diff --git a/util/dRegs.c b/util/dRegs.c
+index b7edc8f..0d2f0cb 100644
+--- a/util/dRegs.c
++++ b/util/dRegs.c
+@@ -1,63 +1,8 @@
+-
+-
+-
+-
+-
+-
+-#ifdef __NetBSD__
+-# include <sys/types.h>
+-# include <machine/pio.h>
+-# include <machine/sysarch.h>
+-#else
+-# if defined(SVR4) && defined(i386)
+-# include <sys/types.h>
+-# ifdef NCR
+- /* broken NCR <sys/sysi86.h> */
+-# define __STDC
+-# include <sys/sysi86.h>
+-# undef __STDC
+-# else
+-# include <sys/sysi86.h>
+-# endif
+-# ifdef SVR4
+-# if !defined(sun)
+-# include <sys/seg.h>
+-# endif
+-# endif
+-# include <sys/v86.h>
+-# if defined(sun)
+-# include <sys/psw.h>
+-# endif
+-# endif
+-# include "AsmMacros.h"
+-#endif /* NetBSD */
+-
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+
+-#ifdef __NetBSD__
+-# define SET_IOPL() i386_iopl(3)
+-# define RESET_IOPL() i386_iopl(0)
+-#else
+-# if defined(SVR4) && defined(i386)
+-# ifndef SI86IOPL
+-# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
+-# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
+-# else
+-# define SET_IOPL() sysi86(SI86IOPL,3)
+-# define RESET_IOPL() sysi86(SI86IOPL,0)
+-# endif
+-# else
+-# ifdef linux
+-# define SET_IOPL() iopl(3)
+-# define RESET_IOPL() iopl(0)
+-# else
+-# define SET_IOPL() (void)0
+-# define RESET_IOPL() (void)0
+-# endif
+-# endif
+-#endif
++#include "iopl.h"
+
+ int main(void)
+ {
+diff --git a/util/iopl.h b/util/iopl.h
+new file mode 100644
+index 0000000..e08207c
+--- /dev/null
++++ b/util/iopl.h
+@@ -0,0 +1,60 @@
++#ifdef __NetBSD__
++# include <sys/types.h>
++# include <machine/pio.h>
++# include <machine/sysarch.h>
++#else
++# if defined(__linux__)
++/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc
++ * # include <sys/io.h>
++ */
++int iopl(int level);
++# endif
++# if defined(SVR4) && defined(i386)
++# include <sys/types.h>
++# ifdef NCR
++ /* broken NCR <sys/sysi86.h> */
++# define __STDC
++# include <sys/sysi86.h>
++# undef __STDC
++# else
++# include <sys/sysi86.h>
++# endif
++# ifdef SVR4
++# if !defined(sun)
++# include <sys/seg.h>
++# endif
++# endif
++# include <sys/v86.h>
++# if defined(sun)
++# include <sys/psw.h>
++# endif
++# endif
++# include "AsmMacros.h"
++#endif /* NetBSD */
++
++#include <unistd.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++#ifdef __NetBSD__
++# define SET_IOPL() i386_iopl(3)
++# define RESET_IOPL() i386_iopl(0)
++#else
++# if defined(SVR4) && defined(i386)
++# ifndef SI86IOPL
++# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
++# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
++# else
++# define SET_IOPL() sysi86(SI86IOPL,3)
++# define RESET_IOPL() sysi86(SI86IOPL,0)
++# endif
++# else
++# ifdef linux
++# define SET_IOPL() iopl(3)
++# define RESET_IOPL() iopl(0)
++# else
++# define SET_IOPL() (void)0
++# define RESET_IOPL() (void)0
++# endif
++# endif
++#endif
+diff --git a/util/mRegs.c b/util/mRegs.c
+index f359738..843d01d 100644
+--- a/util/mRegs.c
++++ b/util/mRegs.c
+@@ -1,63 +1,8 @@
+-
+-
+-
+-
+-
+-
+-#ifdef __NetBSD__
+-# include <sys/types.h>
+-# include <machine/pio.h>
+-# include <machine/sysarch.h>
+-#else
+-# if defined(SVR4) && defined(i386)
+-# include <sys/types.h>
+-# ifdef NCR
+- /* broken NCR <sys/sysi86.h> */
+-# define __STDC
+-# include <sys/sysi86.h>
+-# undef __STDC
+-# else
+-# include <sys/sysi86.h>
+-# endif
+-# ifdef SVR4
+-# if !defined(sun)
+-# include <sys/seg.h>
+-# endif
+-# endif
+-# include <sys/v86.h>
+-# if defined(sun)
+-# include <sys/psw.h>
+-# endif
+-# endif
+-# include "AsmMacros.h"
+-#endif /* NetBSD */
+-
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+
+-#ifdef __NetBSD__
+-# define SET_IOPL() i386_iopl(3)
+-# define RESET_IOPL() i386_iopl(0)
+-#else
+-# if defined(SVR4) && defined(i386)
+-# ifndef SI86IOPL
+-# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
+-# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
+-# else
+-# define SET_IOPL() sysi86(SI86IOPL,3)
+-# define RESET_IOPL() sysi86(SI86IOPL,0)
+-# endif
+-# else
+-# ifdef linux
+-# define SET_IOPL() iopl(3)
+-# define RESET_IOPL() iopl(0)
+-# else
+-# define SET_IOPL() (void)0
+-# define RESET_IOPL() (void)0
+-# endif
+-# endif
+-#endif
++#include "iopl.h"
+
+ int hex2int(char* str);
+
+diff --git a/util/modClock.c b/util/modClock.c
+index 89a291a..45af19b 100644
+--- a/util/modClock.c
++++ b/util/modClock.c
+@@ -1,61 +1,12 @@
+-
+-#ifdef __NetBSD__
+-# include <sys/types.h>
+-# include <machine/pio.h>
+-# include <machine/sysarch.h>
+-#else
+-# if defined(SVR4) && defined(i386)
+-# include <sys/types.h>
+-# ifdef NCR
+- /* broken NCR <sys/sysi86.h> */
+-# define __STDC
+-# include <sys/sysi86.h>
+-# undef __STDC
+-# else
+-# include <sys/sysi86.h>
+-# endif
+-# ifdef SVR4
+-# if !defined(sun)
+-# include <sys/seg.h>
+-# endif
+-# endif
+-# include <sys/v86.h>
+-# if defined(sun)
+-# include <sys/psw.h>
+-# endif
+-# endif
+-# include "AsmMacros.h"
+-#endif /* NetBSD */
+-
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++
+ #ifndef Lynx
+ #include <fnmatch.h>
+ #endif
+
+-#ifdef __NetBSD__
+-# define SET_IOPL() i386_iopl(3)
+-# define RESET_IOPL() i386_iopl(0)
+-#else
+-# if defined(SVR4) && defined(i386)
+-# ifndef SI86IOPL
+-# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
+-# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
+-# else
+-# define SET_IOPL() sysi86(SI86IOPL,3)
+-# define RESET_IOPL() sysi86(SI86IOPL,0)
+-# endif
+-# else
+-# ifdef linux
+-# define SET_IOPL() iopl(3)
+-# define RESET_IOPL() iopl(0)
+-# else
+-# define SET_IOPL() (void)0
+-# define RESET_IOPL() (void)0
+-# endif
+-# endif
+-#endif
++#include "iopl.h"
+
+ #define tolerance 0.01 /* +/- 1% */
+
diff --git a/staging/xf86-video-nouveau/PKGBUILD b/staging/xf86-video-nouveau/PKGBUILD
new file mode 100644
index 000000000..256dd69fd
--- /dev/null
+++ b/staging/xf86-video-nouveau/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 149767 2012-02-10 14:54:11Z ibiru $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: buddabrod <buddabrod@gmail.com>
+
+pkgname=xf86-video-nouveau
+_gitdate=20120210
+pkgver=0.0.16_git${_gitdate} # see configure.ac
+pkgrel=1
+pkgdesc="Open Source 3D acceleration driver for nVidia cards (experimental)"
+arch=('i686' 'x86_64')
+url="http://nouveau.freedesktop.org/wiki/"
+license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop.org/wiki/FAQ#head-09f75d03eb30011c754038a3893119a70745de4e
+depends=('libdrm' 'udev')
+optdepends=('nouveau-dri: experimental gallium3d features')
+makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto')
+conflicts=('xorg-server<1.11.99.902')
+options=('!libtool')
+install=$pkgname.install
+source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2)
+md5sums=('f35c12d64542d0ea792a9e5af63a2e5a')
+
+# source PKGBUILD && mksource
+mksource() {
+ mkdir /tmp/$pkgname-${_gitdate}
+ pushd /tmp/$pkgname-${_gitdate}
+ git clone -v --depth 1 git://anongit.freedesktop.org/nouveau/xf86-video-nouveau
+ cd xf86-video-nouveau
+ git archive --prefix=xf86-video-nouveau-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/$pkgname-${_gitdate}/$pkgname-${_gitdate}.tar.bz2
+ popd
+}
+
+build() {
+ cd $srcdir/xf86-video-nouveau-${_gitdate}
+ ./autogen.sh --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/xf86-video-nouveau-${_gitdate}
+ make DESTDIR=$pkgdir install
+}
diff --git a/staging/xf86-video-nouveau/xf86-video-nouveau.install b/staging/xf86-video-nouveau/xf86-video-nouveau.install
new file mode 100644
index 000000000..027154ff3
--- /dev/null
+++ b/staging/xf86-video-nouveau/xf86-video-nouveau.install
@@ -0,0 +1,16 @@
+post_install () {
+ cat << _EOF
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+}
+
+post_upgrade() {
+ if [ "`vercmp $2 0.0.15_git20100117-1`" -lt 0 ]; then
+ cat << _EOF
+ ==> ATTENTION: Usermode support has been dropped
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+ fi
+}
diff --git a/staging/xf86-video-openchrome/PKGBUILD b/staging/xf86-video-openchrome/PKGBUILD
new file mode 100644
index 000000000..ae49965b8
--- /dev/null
+++ b/staging/xf86-video-openchrome/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 149786 2012-02-10 20:52:27Z andyrtr $
+# Contributor: Paul Mattal <paul@mattal.com>
+# Maintainer: Juergen Hoetzel <juergen@hoetzel.info>
+
+pkgname=xf86-video-openchrome
+pkgver=0.2.905
+pkgrel=1
+pkgdesc="X.Org Openchrome drivers"
+arch=(i686 x86_64)
+license=('custom')
+url="http://www.openchrome.org"
+depends=('libdrm' 'libxvmc')
+makedepends=('xorg-server-devel>=1.11.99.902' 'libx11' 'xf86driproto' 'mesa') #'glproto' 'libgl')
+replaces=('openchrome' 'xf86-video-via')
+options=('!libtool' '!emptydirs' '!makeflags')
+conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.11.99.902' 'unichrome-dri')
+source=(http://xorg.freedesktop.org/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('51871431a4a9204ab8ec79335c0cc041')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr # --disable-dri
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/staging/xorg-server/PKGBUILD b/staging/xorg-server/PKGBUILD
index 1c5366035..2c8f0cd3c 100644
--- a/staging/xorg-server/PKGBUILD
+++ b/staging/xorg-server/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 148569 2012-02-03 18:09:18Z andyrtr $
+# $Id: PKGBUILD 149765 2012-02-10 14:43:55Z ibiru $
# 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.11.99.902
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org"
@@ -16,15 +16,13 @@ options=('!libtool')
source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
autoconfig-nvidia.patch
autoconfig-sis.patch
- revert-trapezoids.patch
#git-fixes.patch
xvfb-run
xvfb-run.1
10-quirks.conf)
md5sums=('c1535e351dc73836a9000b7c9bc13112'
- '6c7e87d63ac4b535e19a80c89d0cf091'
+ '7adcd74aebad71af7cc7b68c35aaaf35'
'f8194638ca4872c2b0a67862a70bcebf'
- 'f6c84f4936f8e00abdfbd9fb4eda83fb'
'52fd3effd80d7bc6c1660d4ecf23d31c'
'376c70308715cd2643f7bff936d9934b'
'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
@@ -33,14 +31,11 @@ build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
# Use nouveau/nv/nvidia drivers for nvidia devices
-# patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch"
+ 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"
diff --git a/staging/xorg-server/autoconfig-nvidia.patch b/staging/xorg-server/autoconfig-nvidia.patch
index baa2eb601..9ed9b7aee 100644
--- a/staging/xorg-server/autoconfig-nvidia.patch
+++ b/staging/xorg-server/autoconfig-nvidia.patch
@@ -1,29 +1,28 @@
---- a/hw/xfree86/common/xf86pciBus.c
-+++ b/hw/xfree86/common/xf86pciBus.c
-@@ -1123,7 +1123,25 @@ videoPtrToDriverList(struct pci_device *
+diff -Nur xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c
+--- xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c 2012-02-10 10:10:37.583014924 +0000
++++ xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c 2012-02-10 11:16:07.148971317 +0000
+@@ -1111,7 +1111,23 @@
+ {
+ int idx = 0;
+ #ifdef __linux__
+- driverList[idx++] = "nouveau";
++ switch (dev->device_id)
++ {
++ /* NV1 */
++ case 0x0008:
++ case 0x0009:
++ driverList[idx++] = "vesa";
++ break;
++ /* NV3 */
++ case 0x0018:
++ case 0x0019:
++ driverList[idx++] = "nouveau";
++ break;
++ default:
++ driverList[idx++] = "nouveau";
++ driverList[idx++] = "nvidia";
++ break;
++ }
+ #endif
+ driverList[idx++] = "nv";
break;
- case 0x102b: driverList[0] = "mga"; break;
- case 0x10c8: driverList[0] = "neomagic"; break;
-- case 0x10de: case 0x12d2: driverList[0] = "nv"; break;
-+ case 0x10de: case 0x12d2:
-+ switch (dev->device_id) {
-+ /* NV1 */
-+ case 0x0008:
-+ case 0x0009:
-+ driverList[0] = "vesa";
-+ break;
-+ /* NV3 */
-+ case 0x0018:
-+ case 0x0019:
-+ driverList[0] = "nv";
-+ break;
-+ default:
-+ driverList[0] = "nouveau";
-+ driverList[1] = "nv";
-+ driverList[2] = "nvidia";
-+ break;
-+ }
-+ break;
- case 0x1106: driverList[0] = "openchrome"; break;
- case 0x1b36: driverList[0] = "qxl"; break;
- case 0x1163: driverList[0] = "rendition"; break;