diff options
Diffstat (limited to 'testing')
79 files changed, 7849 insertions, 4 deletions
diff --git a/testing/xf86-input-acecad/PKGBUILD b/testing/xf86-input-acecad/PKGBUILD new file mode 100644 index 000000000..18eae0060 --- /dev/null +++ b/testing/xf86-input-acecad/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 136573 2011-08-30 08:46:11Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-input-acecad +pkgver=1.5.0 +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>=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 + 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 +} + +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/testing/xf86-input-acecad/assign-local-private-after-allocating.patch b/testing/xf86-input-acecad/assign-local-private-after-allocating.patch new file mode 100644 index 000000000..e3e635a6f --- /dev/null +++ b/testing/xf86-input-acecad/assign-local-private-after-allocating.patch @@ -0,0 +1,24 @@ +From ec2c4ead497133ef20d5ef5a9b481b38e1e0f7a2 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +Date: Mon, 27 Jun 2011 03:13:54 +0000 +Subject: Assign local->private after allocating. + +It is detrimental to the user experience when the driver tries to derefernce +null pointers. + +Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> +--- +diff --git a/src/acecad.c b/src/acecad.c +index ad6d793..604fe91 100644 +--- a/src/acecad.c ++++ b/src/acecad.c +@@ -343,6 +343,7 @@ AceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags) + return BadAlloc; + + memset(priv, 0, sizeof(AceCadPrivateRec)); ++ local->private = priv; + + local->device_control = DeviceControl; + +-- +cgit v0.8.3-6-g21f6 diff --git a/testing/xf86-input-aiptek/PKGBUILD b/testing/xf86-input-aiptek/PKGBUILD new file mode 100644 index 000000000..26880ea73 --- /dev/null +++ b/testing/xf86-input-aiptek/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 136571 2011-08-30 08:46:10Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-input-aiptek +pkgver=1.4.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>=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=('55ea7d12d3e24fd72eacc966a59262864dce7769') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./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/testing/xf86-input-evdev/PKGBUILD b/testing/xf86-input-evdev/PKGBUILD new file mode 100644 index 000000000..b9426643c --- /dev/null +++ b/testing/xf86-input-evdev/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136569 2011-08-30 08:46:08Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Alexander Baldeck <Alexander@archlinux.org + +pkgname=xf86-input-evdev +pkgver=2.6.0 +pkgrel=4 +pkgdesc="X.org evdev input driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc') +makedepends=('xorg-server-devel>=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) +sha1sums=('fb6f7a6f5168ae07efe890e4ace9fb8af1d4e1e0') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./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/testing/xf86-input-joystick/50-joystick.conf b/testing/xf86-input-joystick/50-joystick.conf new file mode 100644 index 000000000..95a295ab0 --- /dev/null +++ b/testing/xf86-input-joystick/50-joystick.conf @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "joystick catchall" + MatchIsJoystick "on" + MatchDevicePath "/dev/input/event*" + Driver "joystick" +EndSection diff --git a/testing/xf86-input-joystick/PKGBUILD b/testing/xf86-input-joystick/PKGBUILD new file mode 100644 index 000000000..d76d3a310 --- /dev/null +++ b/testing/xf86-input-joystick/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 136567 2011-08-30 08:46:06Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-input-joystick +pkgver=1.6.0 +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>=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) +sha1sums=('3b9aed1b8128e1fbd947fdcdd5e16efccad1c780' + 'e1ff3699a0470c6bb78a53f718df9d8521621e11') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d" + install -m644 "${srcdir}/50-joystick.conf" "${pkgdir}/etc/X11/xorg.conf.d/" + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-input-keyboard/PKGBUILD b/testing/xf86-input-keyboard/PKGBUILD new file mode 100644 index 000000000..9db48647e --- /dev/null +++ b/testing/xf86-input-keyboard/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136565 2011-08-30 08:46:04Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-input-keyboard +pkgver=1.6.0 +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>=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=('8e845086749f8c4b64fdfa852b4b26cf7bb62dc9') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-input-mouse/PKGBUILD b/testing/xf86-input-mouse/PKGBUILD new file mode 100644 index 000000000..ff74c1f26 --- /dev/null +++ b/testing/xf86-input-mouse/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136563 2011-08-30 08:46:02Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-input-mouse +pkgver=1.7.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>=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=('11a6402e82d65bda5fb559c5e9bc72f3fd7af2ed') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-input-synaptics/10-synaptics.conf b/testing/xf86-input-synaptics/10-synaptics.conf new file mode 100644 index 000000000..81a90fb81 --- /dev/null +++ b/testing/xf86-input-synaptics/10-synaptics.conf @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "touchpad catchall" + Driver "synaptics" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + Option "TapButton1" "1" + Option "TapButton2" "2" + Option "TapButton3" "3" +EndSection diff --git a/testing/xf86-input-synaptics/PKGBUILD b/testing/xf86-input-synaptics/PKGBUILD new file mode 100644 index 000000000..f0a8ad31c --- /dev/null +++ b/testing/xf86-input-synaptics/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 136561 2011-08-30 08:46:01Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Thomas Bächler <thomas@archlinux.org> +# Contributor: Alexander Baldeck <alexander@archlinux.org> + +pkgname=xf86-input-synaptics +pkgver=1.4.1 +pkgrel=2 +pkgdesc="Synaptics driver for notebook touchpads" +arch=(i686 x86_64) +license=('custom') +url="http://xorg.freedesktop.org/" +depends=('libxtst') +makedepends=('xorg-server-devel>=1.10.99.902' 'libxi' 'libx11') +conflicts=('xorg-server<1.10.99.902') +replaces=('synaptics') +provides=('synaptics') +conflicts=('synaptics') +groups=('xorg-drivers' 'xorg') +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' + '68e1f4ef5e1038231d210eb422fa4d18c5922f0f') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d" + install -m644 "${srcdir}/10-synaptics.conf" "${pkgdir}/etc/X11/xorg.conf.d/" + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" + + rm -rf "${pkgdir}/usr/share/X11" +} diff --git a/testing/xf86-input-void/PKGBUILD b/testing/xf86-input-void/PKGBUILD new file mode 100644 index 000000000..cef1f525d --- /dev/null +++ b/testing/xf86-input-void/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 136557 2011-08-30 08:45:57Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-input-void +pkgver=1.4.0 +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>=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=('49b462d3acb16337eaf78202d4074f19d5e20b29') + + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./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/testing/xf86-input-wacom/PKGBUILD b/testing/xf86-input-wacom/PKGBUILD index 5eee08b5b..502f0f09c 100644 --- a/testing/xf86-input-wacom/PKGBUILD +++ b/testing/xf86-input-wacom/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 134510 2011-08-04 18:20:04Z heftig $ +# $Id: PKGBUILD 136555 2011-08-30 08:45:56Z jgc $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: M Rawash <mrawash@gmail.com> pkgname=xf86-input-wacom pkgver=0.11.1 -pkgrel=2 +pkgrel=3 pkgdesc="X.Org Wacom tablet driver" arch=('i686' 'x86_64') url="http://linuxwacom.sourceforge.net/" license=('GPL') backup=('etc/X11/xorg.conf.d/50-wacom.conf') depends=('libxi' 'libxrandr') -makedepends=('xorg-server-devel' 'libxext' 'libxi') -conflicts=('xorg-server<1.10.0') +makedepends=('xorg-server-devel>=1.10.99.902' 'libxext' 'libxi') +conflicts=('xorg-server<1.10.99.902') options=(!libtool) source=(http://downloads.sourceforge.net/project/linuxwacom/${pkgname}/${pkgname}-${pkgver}.tar.bz2 70-wacom.rules) diff --git a/testing/xf86-video-apm/PKGBUILD b/testing/xf86-video-apm/PKGBUILD new file mode 100644 index 000000000..01e414018 --- /dev/null +++ b/testing/xf86-video-apm/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136553 2011-08-30 08:45:52Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-apm +pkgver=1.2.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>=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=('1fa7180cf985a74132f8d5b39a0bf9df08713fac') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-ark/PKGBUILD b/testing/xf86-video-ark/PKGBUILD new file mode 100644 index 000000000..117c18eda --- /dev/null +++ b/testing/xf86-video-ark/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136551 2011-08-30 08:45:48Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-ark +pkgver=0.7.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>=1.11.0') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +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 + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-ark/git-fixes.patch b/testing/xf86-video-ark/git-fixes.patch new file mode 100644 index 000000000..2de0f64be --- /dev/null +++ b/testing/xf86-video-ark/git-fixes.patch @@ -0,0 +1,118 @@ +From 9d3769bed020e9796e51411c63de337da5073bb4 Mon Sep 17 00:00:00 2001 +From: Ondrej Zary <linux@rainbow-software.org> +Date: Sat, 04 Dec 2010 00:23:51 +0000 +Subject: Don't assume that FB address registers are initialized properly + +https://bugs.freedesktop.org/show_bug.cgi?id=28249 + +ark driver does not work with Hercules Stingray 64 card (ark2000pv). +X fails to start with: + +[...] +(II) ark(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is +0x0000 +(II) ark(0): Creating default Display subsection in Screen section + "Default Screen Section" for depth/fbbpp 24/32 +(==) ark(0): Depth 24, (--) framebuffer bpp 32 +(==) ark(0): RGB weight 888 +(==) ark(0): Default visual is TrueColor +(**) ark(0): Chipset: "ark2000pv" +(--) ark(0): Framebuffer @ 0xe5e50000 +(==) ark(0): Using gamma correction (1.0, 1.0, 1.0) +(--) ark(0): Detected 2048 bytes video ram +[...] +Fatal server error: +AddScreen/ScreenInit failed for driver 0 + +Comparing with lspci, the framebuffer address is wrong: +00:0f.0 VGA compatible controller: ARK Logic Inc 2000PV [Stingray] (prog-if 00 [VGA controller]) + Flags: medium devsel + Memory at e5000000 (32-bit, prefetchable) [size=4M] + [virtual] Expansion ROM at 1c000000 [disabled] [size=64K] + +Reviewed-by: Adam Jackson <ajax@redhat.com> +--- +diff --git a/src/ark.h b/src/ark.h +index de301dc..077f93b 100644 +--- a/src/ark.h ++++ b/src/ark.h +@@ -34,7 +34,6 @@ typedef struct _ARKRec { + #endif + EntityInfoPtr pEnt; + CARD32 IOAddress; +- CARD32 FBAddress; + unsigned char * FBBase; + unsigned char * MMIOBase; + unsigned long videoRam; +diff --git a/src/ark_driver.c b/src/ark_driver.c +index 5de3b9a..fec3e1a 100644 +--- a/src/ark_driver.c ++++ b/src/ark_driver.c +@@ -363,14 +363,14 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags) + outb(hwp->PIOOffset + hwp->IOBase + 5, tmp & 0x7f); + modinx(hwp->PIOOffset + 0x3c4, 0x1d, 0x01, 0x01); + +- /* use membase's later on ??? */ +- pARK->FBAddress = (rdinx(hwp->PIOOffset + 0x3c4, 0x13) << 16) + +- (rdinx(hwp->PIOOffset + 0x3c4, 0x14) << 24); +- +- pScrn->memPhysBase = pARK->FBAddress; ++#ifndef XSERVER_LIBPCIACCESS ++ pScrn->memPhysBase = pARK->PciInfo->memBase[0]; ++#else ++ pScrn->memPhysBase = pARK->PciInfo->regions[0].base_addr; ++#endif + + xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%lx\n", +- (unsigned long)pARK->FBAddress); ++ (unsigned long)pScrn->memPhysBase); + + if (!xf86SetGamma(pScrn, gzeros)) + return FALSE; +@@ -748,8 +748,13 @@ static Bool ARKModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) + new->sr10 = rdinx(isaIOBase + 0x3c4, 0x10) & ~0x1f; + new->sr10 |= 0x1f; + +- new->sr13 = pARK->FBAddress >> 16; +- new->sr14 = pARK->FBAddress >> 24; ++#ifndef XSERVER_LIBPCIACCESS ++ new->sr13 = pARK->PciInfo->memBase[0] >> 16; ++ new->sr14 = pARK->PciInfo->memBase[0] >> 24; ++#else ++ new->sr13 = pARK->PciInfo->regions[0].base_addr >> 16; ++ new->sr14 = pARK->PciInfo->regions[0].base_addr >> 24; ++#endif + + new->sr12 = rdinx(isaIOBase + 0x3c4, 0x12) & ~0x03; + switch (pScrn->videoRam) { +@@ -1022,7 +1027,7 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn) + pARK->PciTag, 0xb8000, 0x8000); + + pARK->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER, +- pARK->PciTag, pARK->FBAddress, ++ pARK->PciTag, pARK->PciInfo->memBase[0], + pScrn->videoRam * 1024); + #else + +@@ -1032,14 +1037,17 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn) + { + void** result = (void**)&pARK->FBBase; + int err = pci_device_map_range(pARK->PciInfo, +- pARK->FBAddress, ++ pARK->PciInfo->regions[0].base_addr, + pScrn->videoRam * 1024, + PCI_DEV_MAP_FLAG_WRITABLE | + PCI_DEV_MAP_FLAG_WRITE_COMBINE, + result); + +- if (err) ++ if (err) { ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, ++ "Cound not map framebuffer: %d\n", err); + return FALSE; ++ } + } + #endif + +-- +cgit v0.9.0.2-2-gbebe diff --git a/testing/xf86-video-ast/PKGBUILD b/testing/xf86-video-ast/PKGBUILD new file mode 100644 index 000000000..77ab42d9a --- /dev/null +++ b/testing/xf86-video-ast/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136549 2011-08-30 08:45:45Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-ast +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>=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=('424cc93d0300e49a882199c0546425f223b3b4bd') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-ati/PKGBUILD b/testing/xf86-video-ati/PKGBUILD new file mode 100644 index 000000000..129bf57ee --- /dev/null +++ b/testing/xf86-video-ati/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136547 2011-08-30 08:45:41Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Alexander Baldeck <alexander@archlinux.org> + +pkgname=xf86-video-ati +pkgver=6.14.2 +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.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) +sha1sums=('2733b3c126ad9e082ea18b7e7663d6d87fce4d49') + +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/testing/xf86-video-chips/PKGBUILD b/testing/xf86-video-chips/PKGBUILD new file mode 100644 index 000000000..2195eb57b --- /dev/null +++ b/testing/xf86-video-chips/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136545 2011-08-30 08:45:37Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Alexander Baldeck <alexander@archlinux.org> + +pkgname=xf86-video-chips +pkgver=1.2.4 +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>=1.11.0') +conflicts=('xorg-server<1.11.0') +groups=('xorg-drivers' 'xorg') +options=('!libtool') +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 + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch b/testing/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch new file mode 100644 index 000000000..b9c832238 --- /dev/null +++ b/testing/xf86-video-chips/gut-overlay-8-16-support-from-driver.patch @@ -0,0 +1,580 @@ +From e4bd864898fd276a62dac05cdfff394e98434f02 Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Tue, 29 Mar 2011 03:53:31 +0000 +Subject: chips: gut the overlay 8/16 support from driver. + +This driver is for chips that were bought by Intel in 1997, +this feature means maintaining a lot of code in the X server +for little gain. + +Drop it like its hot. + +Signed-off-by: Dave Airlie <airlied@redhat.com> +Reviewed-by: Adam Jackson <ajax@redhat.com> +--- +diff --git a/man/chips.man b/man/chips.man +index 740af38..0c022ee 100644 +--- a/man/chips.man ++++ b/man/chips.man +@@ -165,9 +165,6 @@ Force the use of memory mapped IO where it can be used. Default: off + Force driver to leave centering and stretching registers alone. This + can fix some laptop suspend/resume problems. Default: off + .TP +-.BI "Option \*qOverlay\*q" +-Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off. +-.TP + .BI "Option \*qColorKey\*q \*q" integer \*q + Set the colormap index used for the transparency key for the depth 8 plane + when operating in 8+16 overlay mode. The value must be in the range +diff --git a/src/ct_accel.c b/src/ct_accel.c +index 3920b0a..4b5776a 100644 +--- a/src/ct_accel.c ++++ b/src/ct_accel.c +@@ -428,19 +428,7 @@ chips_imagewrite: + infoPtr->ImageWriteFlags |= NO_PLANEMASK; + #endif + +- +-#ifdef CHIPS_HIQV +- if (XAAInit(pScreen, infoPtr)) { +- if (cPtr->Flags & ChipsOverlay8plus16) +- return(XAAInitDualFramebufferOverlay(pScreen, +- CTNAME(DepthChange))); +- else +- return TRUE; +- } else +- return FALSE; +-#else + return(XAAInit(pScreen, infoPtr)); +-#endif + } + + #ifdef CHIPS_HIQV +@@ -1243,11 +1231,6 @@ CTNAME(SubsequentScreenToScreenColorExpandFill)(ScrnInfoPtr pScrn, + #endif + w *= cAcl->BytesPerPixel; + ctBLTWAIT; +-#ifdef CHIPS_HIQV +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16) && +- (pScrn->depth == 8)) +- ctSETPITCH(cAcl->PitchInBytes << 1, cAcl->PitchInBytes); +-#endif + ctSETSRCADDR(srcaddr); + ctSETDSTADDR(destaddr); + #ifdef CHIPS_HIQV +@@ -1271,10 +1254,6 @@ CTNAME(SetupForColor8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, + patternaddr = (paty * pScrn->displayWidth + + (patx & ~0x3F)) * cAcl->BytesPerPixel; + cAcl->patternyrot = (patx & 0x3F) >> 3; +-#ifdef CHIPS_HIQV +- if (cPtr->Flags & ChipsOverlay8plus16) +- patternaddr += cPtr->FbOffset16; +-#endif + + ctBLTWAIT; + ctSETPATSRCADDR(patternaddr); +@@ -1338,10 +1317,7 @@ CTNAME(SetupForMono8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, + + #ifdef CHIPS_HIQV + patternaddr = paty * pScrn->displayWidth + patx; +- if (cPtr->Flags & ChipsOverlay8plus16) +- patternaddr = patternaddr * 2 + cPtr->FbOffset16; +- else +- patternaddr *= cAcl->BytesPerPixel; ++ patternaddr *= cAcl->BytesPerPixel; + #else + patternaddr = (paty * pScrn->displayWidth + patx) * cAcl->BytesPerPixel; + #endif +@@ -1593,10 +1569,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dwords = (((skipleft + bytesPerLine + 0x7) & ~0x7)) >> 2; + destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); + destpitch = pScrn->displayWidth * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- destaddr += cPtr->FbOffset16; +- else +- destaddr += cAcl->FbOffset; ++ destaddr += cAcl->FbOffset; + + ctBLTWAIT; + +@@ -1681,10 +1654,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + y++; + + destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- destaddr += cPtr->FbOffset16; +- else +- destaddr += cAcl->FbOffset; ++ destaddr += cAcl->FbOffset; + + ctBLTWAIT; + ctSETDSTADDR(destaddr); +@@ -1717,10 +1687,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dwords = (((bytesPerLine + 0x7) & ~0x7)) >> 2; + srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); + srcpitch = pScrn->displayWidth * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- srcaddr += cPtr->FbOffset16; +- else +- srcaddr += cAcl->FbOffset; ++ srcaddr += cAcl->FbOffset; + + ctBLTWAIT; + ctSETROP( ctDSTSYSTEM | ctLEFT2RIGHT | ctTOP2BOTTOM | +@@ -1755,10 +1722,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, + dst += dstwidth; + y++; + srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); +- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) +- srcaddr += cPtr->FbOffset16; +- else +- srcaddr += cAcl->FbOffset; ++ srcaddr += cAcl->FbOffset; + ctBLTWAIT; + ctSETSRCADDR(srcaddr); + ctSETHEIGHTWIDTHGO(h, bytesPerLine); +diff --git a/src/ct_driver.c b/src/ct_driver.c +index 6624b79..08df050 100644 +--- a/src/ct_driver.c ++++ b/src/ct_driver.c +@@ -1639,55 +1639,15 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) + } + } + +- if ((s = xf86GetOptValString(cPtr->Options, OPTION_OVERLAY))) { +- if (!*s || !xf86NameCmp(s, "8,16") || !xf86NameCmp(s, "16,8")) { +- if (pScrn->bitsPerPixel == 16) { +- if (cPtr->Flags & ChipsLinearSupport) { +- cPtr->Flags |= ChipsOverlay8plus16; +- if(!xf86GetOptValInteger( +- cPtr->Options, OPTION_COLOR_KEY, &(pScrn->colorKey))) +- pScrn->colorKey = TRANSPARENCY_KEY; +- pScrn->overlayFlags = OVERLAY_8_16_DUALFB; +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "PseudoColor overlay enabled.\n"); +- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_STRETCH)) +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Forcing option \"Stretch\" \"ON\".\n"); +- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_CENTER)) +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Forcing option \"LcdCenter\" \"OFF\".\n"); +- if (cPtr->Flags & ChipsShadowFB) { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " - Disabling \"Shadow Framebuffer\".\n"); +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- " Not support with option \"8Plus16\".\n"); +- cPtr->Flags &= ~ChipsShadowFB; +- cPtr->Rotate = 0; +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Option \"Overlay\" ignored. Not supported without linear addressing\n"); +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- "Option \"Overlay\" is not supported in this configuration\n"); +- } +- } else { +- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +- "\"%s\" is not a valid value for Option \"Overlay\"\n", s); +- } +- } +- +- if (!(cPtr->Flags & ChipsOverlay8plus16)) { +- if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, +- &(cPtr->videoKey))) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", ++ if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, ++ &(cPtr->videoKey))) { ++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", + cPtr->videoKey); +- } else { +- cPtr->videoKey = (1 << pScrn->offset.red) | ++ } else { ++ cPtr->videoKey = (1 << pScrn->offset.red) | + (1 << pScrn->offset.green) | + (((pScrn->mask.blue >> pScrn->offset.blue) - 1) + << pScrn->offset.blue); +- } + } + + if (cPtr->Flags & ChipsShadowFB) { +@@ -2335,28 +2295,16 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) + /* and 32bits on the others. Thus multiply by a suitable factor */ + if (cPtr->Flags & Chips64BitMemory) { + if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) +- if (cPtr->Flags & ChipsOverlay8plus16 ) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 8 * 0.7 / (bytesPerPixel + 1)); + else +- if (cPtr->Flags & ChipsOverlay8plus16) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 3); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 8 * 0.7 / bytesPerPixel); + } else { + if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) +- if (cPtr->Flags & ChipsOverlay8plus16 ) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 4); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 4 * 0.7 / (bytesPerPixel + 1)); + else +- if (cPtr->Flags & ChipsOverlay8plus16) +- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 3); +- else + cPtr->MaxClock = min(cPtr->MaxClock, + MemClk->Clk * 4 * 0.7 / bytesPerPixel); + } +@@ -3736,8 +3684,7 @@ CHIPSEnterVT(int scrnIndex, int flags) + /* Should we re-save the text mode on each VT enter? */ + if(!chipsModeInit(pScrn, pScrn->currentMode)) + return FALSE; +- if ((!(cPtr->Flags & ChipsOverlay8plus16)) +- && (cPtr->Flags & ChipsVideoSupport) ++ if ((cPtr->Flags & ChipsVideoSupport) + && (cPtr->Flags & ChipsLinearSupport)) + CHIPSResetVideo(pScrn); + +@@ -3788,8 +3735,7 @@ chipsLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, + int i, index, shift ; + CHIPSEntPtr cPtrEnt; + +- shift = ((pScrn->depth == 15) && +- (!(cPtr->Flags & ChipsOverlay8plus16))) ? 3 : 0; ++ shift = (pScrn->depth == 15) ? 3 : 0; + + if (cPtr->UseDualChannel) { + cPtrEnt = xf86GetEntityPrivate(pScrn->entityList[0], +@@ -3895,18 +3841,6 @@ chipsLoadPalette16(ScrnInfoPtr pScrn, int numColors, int *indices, + hwp->disablePalette(hwp); + } + +-static Bool +-cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8, +- int xsize, int ysize, int dpix, int dpiy, +- int width16, int width8) +-{ +- return +- (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize, +- dpix, dpiy, width16, width8, 16, 8) && +- fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize, +- dpix, dpiy, width16, width8, 16, 8, 16, 8)); +-} +- + /* Mandatory */ + static Bool + CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) +@@ -3947,22 +3881,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (!chipsMapMem(pScrn)) + return FALSE; + +- /* Setup a pointer to the overlay if needed */ +- if (cPtr->Flags & ChipsOverlay8plus16) { +- cPtr->FbOffset16 = pScrn->displayWidth * pScrn->virtualY; +- cPtr->FbSize16 = (pScrn->displayWidth << 1) * pScrn->virtualY; +- if (cPtr->FbSize16 > (cPtr->FbMapSize - cPtr->FrameBufferSize)) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "Too little memory for overlay. Disabling.\n"); +- cPtr->Flags &= ~ChipsOverlay8plus16; +- } +- if ((pScrn->displayWidth > 1024) || (pScrn->virtualY > 1024)) { +- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, +- "Max overlay Width/Height 1024 pixels. Disabling.\n"); +- cPtr->Flags &= ~ChipsOverlay8plus16; +- } +- } +- + /* Setup the MMIO register access functions if need */ + if (cPtr->UseFullMMIO && cPtr->MMIOBaseVGA) { + CHIPSSetMmioExtFuncs(cPtr); +@@ -4035,18 +3953,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + miClearVisualTypes(); + + /* Setup the visuals we support. */ +- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)){ +- if (!miSetVisualTypes(8, PseudoColorMask | GrayScaleMask, +- pScrn->rgbBits, PseudoColor)) +- return FALSE; +- if (!miSetVisualTypes(16, TrueColorMask, pScrn->rgbBits, TrueColor)) +- return FALSE; +- } else { +- if (!miSetVisualTypes(pScrn->depth, ++ if (!miSetVisualTypes(pScrn->depth, + miGetDefaultVisualMask(pScrn->depth), + pScrn->rgbBits, pScrn->defaultVisual)) +- return FALSE; +- } ++ return FALSE; + miSetPixmapDepths (); + + /* +@@ -4090,13 +4000,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + break; + #endif + case 16: +- if (cPtr->Flags & ChipsOverlay8plus16) { +- ret = cfb8_16ScreenInit(pScreen, (unsigned char *)FBStart + +- cPtr->FbOffset16, FBStart, width, +- height, pScrn->xDpi, pScrn->yDpi, +- displayWidth, displayWidth); +- break; +- } + default: + ret = fbScreenInit(pScreen, FBStart, + width,height, +@@ -4244,9 +4147,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (pScrn->bitsPerPixel < 8) + freespace = allocatebase - pScrn->displayWidth * + pScrn->virtualY / 2; +- else if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) +- freespace = allocatebase - pScrn->displayWidth * +- pScrn->virtualY - cPtr->FbSize16; + else + freespace = allocatebase - pScrn->displayWidth * + pScrn->virtualY * (pScrn->bitsPerPixel >> 3); +@@ -4369,9 +4269,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + AvailFBArea.y2 = cAcl->CacheEnd / + (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)); + +- if (!(cPtr->Flags & ChipsOverlay8plus16)) { +- xf86InitFBManager(pScreen, &AvailFBArea); +- } ++ xf86InitFBManager(pScreen, &AvailFBArea); + } + if (cPtr->Flags & ChipsAccelSupport) { + if (IS_HiQV(cPtr)) { +@@ -4425,16 +4323,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + if (!miCreateDefColormap(pScreen)) + return FALSE; + +- if ((cPtr->Flags & ChipsOverlay8plus16) && (pScrn->bitsPerPixel == 16)) { +- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, chipsLoadPalette, +- NULL, CMAP_RELOAD_ON_MODE_SWITCH)) +- return FALSE; +- } else { +- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, ++ if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, + (pScrn->depth == 16 ? chipsLoadPalette16 : chipsLoadPalette), + NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR)) +- return FALSE; +- } ++ return FALSE; + + #ifndef XSERVER_LIBPCIACCESS + racflag = RAC_COLORMAP; +@@ -4448,8 +4340,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + xf86SetSilkenMouse(pScreen); + #endif + +- if ((!(cPtr->Flags & ChipsOverlay8plus16)) +- && (cPtr->Flags & ChipsVideoSupport) ++ if ((cPtr->Flags & ChipsVideoSupport) + && (cPtr->Flags & ChipsLinearSupport)) { + CHIPSInitVideo(pScreen); + } +@@ -4522,10 +4413,7 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) + Base >>= 3; + break; + case 16: +- if (!(cPtr->Flags & ChipsOverlay8plus16)) +- Base >>= 1; +- else +- Base >>= 2; ++ Base >>= 1; + break; + case 24: + if (!IS_HiQV(cPtr)) +@@ -4581,14 +4469,6 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) + cPtr->writeMSS(cPtr, hwp, MSS); + } + +- if (cPtr->Flags & ChipsOverlay8plus16) { +- Base = (Base << 3) & ~(unsigned long)0xF; +- +- cPtr->writeMR(cPtr, 0x22, (cPtr->FbOffset16 + Base) & 0xF8); +- cPtr->writeMR(cPtr, 0x23, ((cPtr->FbOffset16 + Base) >> 8) & 0xFF); +- cPtr->writeMR(cPtr, 0x24, ((cPtr->FbOffset16 + Base) >> 16) & 0xFF); +- } +- + } + + /* Mandatory */ +@@ -4652,13 +4532,6 @@ CHIPSValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) + ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + CHIPSPtr cPtr = CHIPSPTR(pScrn); + +- if (flags & MODECHECK_FINAL) { +- /* Don't subtract FrambufferSize here as it should be subtracted already */ +- if ((cPtr->Flags & ChipsOverlay8plus16) +- && ((pScrn->videoRam<<10) - pScrn->displayWidth * 3 * pScrn->virtualY +- < 0)) +- return MODE_MEM; +- } + /* The tests here need to be expanded */ + if ((mode->Flags & V_INTERLACE) && (cPtr->PanelType & ChipsLCD)) + return MODE_NO_INTERLACE; +@@ -5544,12 +5417,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } else { + ChipsStd->Attribute[0x10] = 0x01; /* mode */ + } +- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) { +- /* Make sure that the overlay isn't visible in the overscan region */ +- if (ChipsStd->Attribute[0x11] == pScrn->colorKey) +- ChipsStd->Attribute[0x11] = pScrn->colorKey - 1; +- } else +- ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ ++ ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ + ChipsStd->Attribute[0x12] = 0x0F; /* enable all color planes */ + ChipsStd->Attribute[0x13] = 0x00; /* horiz pixel panning 0 */ + +@@ -5558,8 +5426,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + /* set virtual screen width */ + tmp = pScrn->displayWidth >> 3; + if (pScrn->bitsPerPixel == 16) { +- if (!(cPtr->Flags & ChipsOverlay8plus16)) +- tmp <<= 1; /* double the width of the buffer */ ++ tmp <<= 1; /* double the width of the buffer */ + } else if (pScrn->bitsPerPixel == 24) { + tmp += tmp << 1; + } else if (pScrn->bitsPerPixel == 32) { +@@ -5688,8 +5555,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + + /* centering/stretching */ + if (!xf86ReturnOptValBool(cPtr->Options, OPTION_SUSPEND_HACK, FALSE)) { +- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE) || +- (cPtr->Flags & ChipsOverlay8plus16)) { ++ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE)) { + ChipsNew->FR[0x40] &= 0xDF; /* Disable Horizontal stretching */ + ChipsNew->FR[0x48] &= 0xFB; /* Disable vertical stretching */ + ChipsNew->XR[0xA0] = 0x10; /* Disable cursor stretching */ +@@ -5709,8 +5575,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } + } + +- if ((xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) +- || (cPtr->Flags & ChipsOverlay8plus16)) { ++ if (xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) { + ChipsNew->FR[0x40] |= 0x3; /* Enable Horizontal centering */ + ChipsNew->FR[0x48] |= 0x3; /* Enable Vertical centering */ + } else { +@@ -5723,8 +5588,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + ChipsNew->XR[0x82] |=0x02; + + /* software mode flag */ +- ChipsNew->XR[0xE2] = chipsVideoMode(((cPtr->Flags & ChipsOverlay8plus16) ? +- 8 : pScrn->depth), (cPtr->PanelType & ChipsLCD) ? ++ ChipsNew->XR[0xE2] = chipsVideoMode((pScrn->depth), (cPtr->PanelType & ChipsLCD) ? + min(mode->CrtcHDisplay, cPtr->PanelSize.HDisplay) : + mode->CrtcHDisplay, mode->CrtcVDisplay); + #ifdef DEBUG +@@ -5762,7 +5626,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + } + } + /* bpp depend */ +- if ((pScrn->bitsPerPixel == 16) && (!(cPtr->Flags & ChipsOverlay8plus16))) { ++ if (pScrn->bitsPerPixel == 16) { + ChipsNew->XR[0x81] = (ChipsNew->XR[0x81] & 0xF0) | 0x4; + if (cPtr->Flags & ChipsGammaSupport) + ChipsNew->XR[0x82] |= 0x0C; +@@ -5915,60 +5779,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) + /* Turn off multimedia by default as it degrades performance */ + ChipsNew->XR[0xD0] &= 0x0f; + +- /* Setup the video/overlay */ +- if (cPtr->Flags & ChipsOverlay8plus16) { +- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ +-#ifdef SAR04 +- ChipsNew->XR[0x4F] = 0x2A; /* SAR04 >352 pixel overlay width */ +-#endif +- ChipsNew->MR[0x1E] &= 0xE0; /* Set Zoom and Direction */ +- if ((!(cPtr->PanelType & ChipsLCD)) && (mode->Flags & V_INTERLACE)) +- ChipsNew->MR[0x1E] |= 0x10; /* Interlace */ +- ChipsNew->MR[0x1F] &= 0x14; /* Mask reserved bits */ +- ChipsNew->MR[0x1F] |= 0x08; /* RGB 16bpp */ +- if (pScrn->weight.green == 5) +- ChipsNew->MR[0x1F] |= 0x01; /* RGB 15bpp */ +- +- ChipsNew->MR[0x20] &= 0x03; /* Mask reserved bits */ +- ChipsNew->MR[0x20] |= 0x80; /* Auto Centre, Use mem ptr1 */ +- ChipsNew->MR[0x22] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 1 */ +- ChipsNew->MR[0x23] = (cPtr->FbOffset16 >> 8) & 0xFF; +- ChipsNew->MR[0x24] = (cPtr->FbOffset16 >> 16) & 0xFF; +- ChipsNew->MR[0x25] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 2 */ +- ChipsNew->MR[0x26] = (cPtr->FbOffset16 >> 8) & 0xFF; +- ChipsNew->MR[0x27] = (cPtr->FbOffset16 >> 16) & 0xFF; +- ChipsNew->MR[0x28] = (pScrn->displayWidth >> 2) - 1; /* Width */ +- ChipsNew->MR[0x34] = (pScrn->displayWidth >> 2) - 1; +- +- /* Left Edge of Overlay */ +- ChipsNew->MR[0x2A] = cPtr->OverlaySkewX; +- ChipsNew->MR[0x2B] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x2B] |= ((cPtr->OverlaySkewX >> 8) & 0x7); +- /* Right Edge of Overlay */ +- ChipsNew->MR[0x2C] = (cPtr->OverlaySkewX + pScrn->displayWidth - +- 1) & 0xFF; +- ChipsNew->MR[0x2D] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x2D] |= ((cPtr->OverlaySkewX + pScrn->displayWidth - +- 1) >> 8) & 0x07; +- /* Top Edge of Overlay */ +- ChipsNew->MR[0x2E] = cPtr->OverlaySkewY; +- ChipsNew->MR[0x2F] &= 0xF8; +- ChipsNew->MR[0x2F] |= ((cPtr->OverlaySkewY >> 8) & 0x7); +- /* Bottom Edge of Overlay*/ +- ChipsNew->MR[0x30] = (cPtr->OverlaySkewY + pScrn->virtualY - 1 )& 0xFF; +- ChipsNew->MR[0x31] &= 0xF8; /* Mask reserved bits */ +- ChipsNew->MR[0x31] |= ((cPtr->OverlaySkewY + pScrn->virtualY - +- 1 ) >> 8) & 0x07; +- +- ChipsNew->MR[0x3C] &= 0x18; /* Mask reserved bits */ +- ChipsNew->MR[0x3C] |= 0x07; /* Enable keyed overlay window */ +- ChipsNew->MR[0x3D] = 0x00; +- ChipsNew->MR[0x3E] = 0x00; +- ChipsNew->MR[0x3F] = pScrn->colorKey; /* 8bpp transparency key */ +- ChipsNew->MR[0x40] = 0xFF; +- ChipsNew->MR[0x41] = 0xFF; +- ChipsNew->MR[0x42] = 0x00; +- } else if (cPtr->Flags & ChipsVideoSupport) { ++ if (cPtr->Flags & ChipsVideoSupport) { + #if 0 /* if we do this even though video isn't playing we kill performance */ + ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ + #endif +@@ -6877,8 +6688,7 @@ chipsRestoreExtendedRegs(ScrnInfoPtr pScrn, CHIPSRegPtr Regs) + } + + /* Set SAR04 multimedia register correctly */ +- if ((cPtr->Flags & ChipsOverlay8plus16) +- || (cPtr->Flags & ChipsVideoSupport)) { ++ if ((cPtr->Flags & ChipsVideoSupport)) { + #ifdef SAR04 + cPtr->writeXR(cPtr, 0x4E, 0x04); + if (cPtr->readXR(cPtr, 0x4F) != Regs->XR[0x4F]) +diff --git a/src/ct_driver.h b/src/ct_driver.h +index d8ce228..10a24d4 100644 +--- a/src/ct_driver.h ++++ b/src/ct_driver.h +@@ -114,7 +114,6 @@ typedef struct { + /* Options flags for the C&T chipsets */ + #define ChipsHWCursor 0x00001000 + #define ChipsShadowFB 0x00002000 +-#define ChipsOverlay8plus16 0x00004000 + #define ChipsUseNewFB 0x00008000 + + /* Architecture type flags */ +diff --git a/src/ct_video.c b/src/ct_video.c +index a68acb9..c9e5bb4 100644 +--- a/src/ct_video.c ++++ b/src/ct_video.c +@@ -56,8 +56,7 @@ CHIPSInitVideo(ScreenPtr pScreen) + CHIPSPtr cPtr = CHIPSPTR(pScrn); + int num_adaptors; + +- if (!(cPtr->Flags & ChipsOverlay8plus16) && +- (cPtr->Flags & ChipsVideoSupport)) { ++ if ((cPtr->Flags & ChipsVideoSupport)) { + newAdaptor = CHIPSSetupImageVideo(pScreen); + CHIPSInitOffscreenImages(pScreen); + } +-- +cgit v0.9.0.2-2-gbebe diff --git a/testing/xf86-video-cirrus/PKGBUILD b/testing/xf86-video-cirrus/PKGBUILD new file mode 100644 index 000000000..07d5b5cd6 --- /dev/null +++ b/testing/xf86-video-cirrus/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136543 2011-08-30 08:45:35Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-cirrus +pkgver=1.3.2 +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>=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) +md5sums=('8195d03ed0be0975c03441e66a9f53b3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-dummy/PKGBUILD b/testing/xf86-video-dummy/PKGBUILD new file mode 100644 index 000000000..419630bee --- /dev/null +++ b/testing/xf86-video-dummy/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136541 2011-08-30 08:45:33Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-dummy +pkgver=0.3.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>=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) +sha1sums=('876ed7165ea2821bbddd73232a1ce0b79c1f14ff') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-fbdev/PKGBUILD b/testing/xf86-video-fbdev/PKGBUILD new file mode 100644 index 000000000..ff6be497a --- /dev/null +++ b/testing/xf86-video-fbdev/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136539 2011-08-30 08:45:31Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-fbdev +pkgver=0.4.2 +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>=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=('c8562f997d56c9fec50df6ca9892f39f43ff4c2c') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-glint/PKGBUILD b/testing/xf86-video-glint/PKGBUILD new file mode 100644 index 000000000..e12edef36 --- /dev/null +++ b/testing/xf86-video-glint/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136537 2011-08-30 08:45:30Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-glint +pkgver=1.2.5 +pkgrel=3 +pkgdesc="X.org GLINT/Permedia video driver" +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('glibc') +makedepends=('xorg-server-devel>=1.10.99.902' 'xf86dgaproto') +conflicts=('xorg-server<1.10.99.902') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + git-fixes.patch) +sha1sums=('28d54093c6485bf0055fa16be3d116f9107aaea7' + 'cc3a7b76e33755e8c9889ae1182ec468956dbc9c') + +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 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-i128/PKGBUILD b/testing/xf86-video-i128/PKGBUILD new file mode 100644 index 000000000..1cb3e70cb --- /dev/null +++ b/testing/xf86-video-i128/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136535 2011-08-30 08:45:28Z jgc $ +# Maintainer:Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-i128 +pkgver=1.3.4 +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>=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=('d5f755dc964eaa067b4efcafafd00814a60df775') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-i740/PKGBUILD b/testing/xf86-video-i740/PKGBUILD new file mode 100644 index 000000000..e734e2a71 --- /dev/null +++ b/testing/xf86-video-i740/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136533 2011-08-30 08:45:27Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-i740 +pkgver=1.3.2 +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>=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=('aadd2168153f780c487778e5fdda5473ed4b243d') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-intel/PKGBUILD b/testing/xf86-video-intel/PKGBUILD new file mode 100644 index 000000000..d9c31f26e --- /dev/null +++ b/testing/xf86-video-intel/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136531 2011-08-30 08:45:25Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-intel +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>=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) +sha1sums=('53441ea4d4335b501d32809b6b92593cbb1f79cf') + +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/testing/xf86-video-mach64/PKGBUILD b/testing/xf86-video-mach64/PKGBUILD new file mode 100644 index 000000000..a43bf7851 --- /dev/null +++ b/testing/xf86-video-mach64/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136529 2011-08-30 08:45:23Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-mach64 +pkgver=6.9.0 +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>=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) +sha1sums=('95a7ec9761fe11dadbcd9078c55148198a91b2f1') + +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/testing/xf86-video-mga/PKGBUILD b/testing/xf86-video-mga/PKGBUILD new file mode 100644 index 000000000..ac39c320a --- /dev/null +++ b/testing/xf86-video-mga/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136527 2011-08-30 08:45:22Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-mga +pkgver=1.4.13 +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>=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 + 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 + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-neomagic/PKGBUILD b/testing/xf86-video-neomagic/PKGBUILD new file mode 100644 index 000000000..be44b54fb --- /dev/null +++ b/testing/xf86-video-neomagic/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136525 2011-08-30 08:45:20Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-neomagic +pkgver=1.2.5 +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>=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) +sha1sums=('02c994e2eae191b50a8cd556e5b52d82725073b3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-nouveau/PKGBUILD b/testing/xf86-video-nouveau/PKGBUILD new file mode 100644 index 000000000..064334ea2 --- /dev/null +++ b/testing/xf86-video-nouveau/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 136523 2011-08-30 08:45:18Z jgc $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: buddabrod <buddabrod@gmail.com> + +pkgname=xf86-video-nouveau +_gitdate=20110829 +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.0') +options=('!libtool') +install=${pkgname}.install +source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2) +md5sums=('8f484f6602a3711f4adfbce74fd886c1') + +# 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/testing/xf86-video-nouveau/xf86-video-nouveau.install b/testing/xf86-video-nouveau/xf86-video-nouveau.install new file mode 100644 index 000000000..027154ff3 --- /dev/null +++ b/testing/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/testing/xf86-video-nv/PKGBUILD b/testing/xf86-video-nv/PKGBUILD new file mode 100644 index 000000000..33edd1b69 --- /dev/null +++ b/testing/xf86-video-nv/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 136521 2011-08-30 08:45:17Z jgc $ +# Maintainer:Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-nv +pkgver=2.1.18 +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>=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=('d35b2fa5a26a507a9cc95b69243d9fd0c0f32aa2') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-openchrome/PKGBUILD b/testing/xf86-video-openchrome/PKGBUILD new file mode 100644 index 000000000..9adff65cf --- /dev/null +++ b/testing/xf86-video-openchrome/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 136519 2011-08-30 08:45:15Z jgc $ +# Contributor: Paul Mattal <paul@mattal.com> +# Maintainer: Juergen Hoetzel <juergen@hoetzel.info> + +pkgname=xf86-video-openchrome +pkgver=0.2.904 +_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>=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.11.0') +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}-${_svnver}.tar.bz2) +md5sums=('d661460276a31d3d012d8cdb1a0a73c1') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-r128/PKGBUILD b/testing/xf86-video-r128/PKGBUILD new file mode 100644 index 000000000..5f2b6d0da --- /dev/null +++ b/testing/xf86-video-r128/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 136517 2011-08-30 08:45:13Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-r128 +pkgver=6.8.1 +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>=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 + git-fixes.patch) +md5sums=('2b90854a62a4d45d652062f582dc8d13' + '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 -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-r128/git-fixes.patch b/testing/xf86-video-r128/git-fixes.patch new file mode 100644 index 000000000..933e8fb2a --- /dev/null +++ b/testing/xf86-video-r128/git-fixes.patch @@ -0,0 +1,842 @@ +diff --git a/COPYING b/COPYING +index 7f33cbf..05bcb74 100644 +--- a/COPYING ++++ b/COPYING +@@ -1,12 +1,91 @@ +-This is a stub file. This package has not yet had its complete licensing +-information compiled. Please see the individual source files for details on +-your rights to use and modify this software. ++Copyright 2007 George Sapountzis + +-Please submit updated COPYING files to the Xorg bugzilla: ++Permission is hereby granted, free of charge, to any person obtaining a ++copy of this software and associated documentation files (the "Software"), ++to deal in the Software without restriction, including without limitation ++the rights to use, copy, modify, merge, publish, distribute, sublicense, ++and/or sell copies of the Software, and to permit persons to whom the ++Software is furnished to do so, subject to the following conditions: + +-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg ++The above copyright notice and this permission notice (including the next ++paragraph) shall be included in all copies or substantial portions of the ++Software. + +-All licensing questions regarding this software should be directed at the +-Xorg mailing list: ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++SOFTWARE. ++ ++Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, ++ Precision Insight, Inc., Cedar Park, Texas, and ++ VA Linux Systems Inc., Fremont, California. ++ ++All Rights Reserved. ++ ++Permission is hereby granted, free of charge, to any person obtaining ++a copy of this software and associated documentation files (the ++"Software"), to deal in the Software without restriction, including ++without limitation on the rights to use, copy, modify, merge, ++publish, distribute, sublicense, and/or sell copies of the Software, ++and to permit persons to whom the Software is furnished to do so, ++subject to the following conditions: ++ ++The above copyright notice and this permission notice (including the ++next paragraph) shall be included in all copies or substantial ++portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX ++SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR ++OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++OTHER DEALINGS IN THE SOFTWARE. ++ ++Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. ++Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas. ++All Rights Reserved. ++ ++Permission is hereby granted, free of charge, to any person obtaining a ++copy of this software and associated documentation files (the "Software"), ++to deal in the Software without restriction, including without limitation ++the rights to use, copy, modify, merge, publish, distribute, sublicense, ++and/or sell copies of the Software, and to permit persons to whom the ++Software is furnished to do so, subject to the following conditions: ++ ++The above copyright notice and this permission notice (including the next ++paragraph) shall be included in all copies or substantial portions of the ++Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR ++OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++DEALINGS IN THE SOFTWARE. ++ ++Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org ++ ++Permission to use, copy, modify, distribute, and sell this software and its ++documentation for any purpose is hereby granted without fee, provided that ++the above copyright notice appear in all copies and that both that copyright ++notice and this permission notice appear in supporting documentation, and ++that the name of Marc Aurele La France not be used in advertising or ++publicity pertaining to distribution of the software without specific, ++written prior permission. Marc Aurele La France makes no representations ++about the suitability of this software for any purpose. It is provided ++"as-is" without express or implied warranty. ++ ++MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO ++EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++PERFORMANCE OF THIS SOFTWARE. + +-http://lists.freedesktop.org/mailman/listinfo/xorg +diff --git a/Makefile.am b/Makefile.am +index 1f4c3c4..4c278ba 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,21 +18,15 @@ + # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-AUTOMAKE_OPTIONS = foreign + SUBDIRS = src man ++MAINTAINERCLEANFILES = ChangeLog INSTALL + +-if BUILD_LINUXDOC +-README.r128: README.r128.sgml +- $(MAKE_TEXT) README.r128.sgml && mv README.r128.txt README.r128 ++.PHONY: ChangeLog INSTALL + +-endif +- +-EXTRA_DIST = README.r128 README.r128.sgml ChangeLog +-CLEANFILES = ChangeLog +- +-.PHONY: ChangeLog ++INSTALL: ++ $(INSTALL_CMD) + + ChangeLog: + $(CHANGELOG_CMD) + +-dist-hook: ChangeLog ++dist-hook: ChangeLog INSTALL +diff --git a/README b/README +index cb61870..5c6f59d 100644 +--- a/README ++++ b/README +@@ -1,4 +1,161 @@ +-xf86-video-r128 - ATI Rage 128 video driver for the Xorg X server ++ Information for ATI Rage 128 Users ++ Precision Insight, Inc., SuSE GmbH ++ 13 June 2000 ++ ____________________________________________________________ ++ ++ Table of Contents ++ ++ ++ 1. Supported Hardware ++ 2. Features ++ 3. Technical Notes ++ 4. Reported Working Video Cards ++ 5. Configuration ++ 6. Driver Options ++ 7. Known Limitations ++ 8. Authors ++ ++ ++ ______________________________________________________________________ ++ ++ 1. Supported Hardware ++ ++ ++ o ATI Rage 128 based cards ++ ++ ++ ++ 2. Features ++ ++ ++ o Full support (including hardware accelerated 2D drawing) for 8, 15, ++ 16, 24 bit pixel depths. ++ ++ o Hardware cursor support to reduce sprite flicker. ++ ++ o Support for high resolution video modes up to 1800x1440 @ 70Hz. ++ ++ o Support for doublescan video modes (e.g., 320x200 and 320x240). ++ ++ o Support for gamma correction at all pixel depths. ++ ++ o Fully programmable clock supported. ++ ++ o Robust text mode restore for VT switching. ++ ++ ++ ++ 3. Technical Notes ++ ++ ++ o None ++ ++ ++ ++ 4. Reported Working Video Cards ++ ++ ++ o Rage Fury AGP 32MB ++ ++ o XPERT 128 AGP 16MB ++ ++ o XPERT 99 AGP 8MB ++ ++ ++ ++ 5. Configuration ++ ++ The driver auto-detects all device information necessary to initialize ++ the card. The only lines you need in the "Device" section of your ++ xorg.conf file are: ++ ++ Section "Device" ++ Identifier "Rage 128" ++ Driver "r128" ++ EndSection ++ ++ ++ or let xorgconfig do this for you. ++ ++ However, if you have problems with auto-detection, you can specify: ++ ++ o VideoRam - in kilobytes ++ ++ o MemBase - physical address of the linear framebuffer ++ ++ o IOBase - physical address of the memory mapped IO registers ++ ++ o ChipID - PCI DEVICE ID ++ ++ ++ ++ 6. Driver Options ++ ++ ++ o "hw_cursor" - request hardware cursor (default) ++ ++ o "sw_cursor" - software cursor only ++ ++ o "no_accel" - software rendering only ++ ++ o "dac_8_bit" - use color weight 888 in 8 bpp mode (default) ++ ++ o "dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation) ++ ++ ++ ++ 7. Known Limitations ++ ++ ++ o None ++ ++ ++ ++ 8. Authors ++ ++ The X11R7.5 driver was originally part of XFree86 4.4 rc2. ++ ++ The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by: ++ ++ o Rickard E. (Rik) Faith <mailto:faith@precisioninsight.com> ++ ++ o Kevin E. Martin <mailto:kevin@precisioninsight.com> ++ ++ The XFree86 4 driver was funded by ATI and was donated to The XFree86 ++ Project by: ++ ++ Precision Insight, Inc. ++ Cedar Park, TX ++ USA ++ ++ ++ The XFree86 3.3.x driver used for the port was written by: ++ ++ o Rickard E. (Rik) Faith <mailto:faith@precisioninsight.com> ++ ++ o Kevin E. Martin <mailto:kevin@precisioninsight.com> ++ ++ The XFree86 3.3.x driver was funded by ATI and was donated to The ++ XFree86 Project by Precision Insight, Inc. It was based in part on ++ an earlier driver that was written by: ++ ++ o Alan Hourihane <mailto:alanh@fairlite.demon.co.uk> ++ ++ o Dirk Hohndel <mailto:hohndel@suse.de> ++ ++ This early driver was funded and donated to The XFree86 Project by: ++ ++ SuSE GmbH ++ Schanzaekerstr. 10 ++ 90443 Nuernberg ++ Germany ++ ++ ++ ++ http://www.precisioninsight.com ++ ++ http://www.suse.com ++ + + Please submit bugs & patches to the Xorg bugzilla: + +diff --git a/README.r128 b/README.r128 +deleted file mode 100644 +index dcc2715..0000000 +--- a/README.r128 ++++ /dev/null +@@ -1,160 +0,0 @@ +- Information for ATI Rage 128 Users +- Precision Insight, Inc., SuSE GmbH +- 13 June 2000 +- ____________________________________________________________ +- +- Table of Contents +- +- +- 1. Supported Hardware +- 2. Features +- 3. Technical Notes +- 4. Reported Working Video Cards +- 5. Configuration +- 6. Driver Options +- 7. Known Limitations +- 8. Authors +- +- +- ______________________________________________________________________ +- +- [1m1. Supported Hardware[0m +- +- +- +o ATI Rage 128 based cards +- +- +- +- [1m2. Features[0m +- +- +- +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. +- +- +- +- [1m3. Technical Notes[0m +- +- +- +o None +- +- +- +- [1m4. Reported Working Video Cards[0m +- +- +- +o Rage Fury AGP 32MB +- +- +o XPERT 128 AGP 16MB +- +- +o XPERT 99 AGP 8MB +- +- +- +- [1m5. Configuration[0m +- +- 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 +- +- +- +- [1m6. Driver Options[0m +- +- +- +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) +- +- +- +- [1m7. Known Limitations[0m +- +- +- +o None +- +- +- +- [1m8. Authors[0m +- +- The X11R6.8 driver was originally part of XFree86 4.4 rc2. +- +- The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by: +- +- +o Rickard E. (Rik) Faith <faith@precisioninsight.com> +- +- +o Kevin E. Martin <kevin@precisioninsight.com> +- +- The XFree86 4 driver was funded by ATI and was donated to The XFree86 +- Project by: +- +- Precision Insight, Inc. +- Cedar Park, TX +- USA +- +- +- The XFree86 3.3.x driver used for the port was written by: +- +- +o Rickard E. (Rik) Faith <faith@precisioninsight.com> +- +- +o Kevin E. Martin <kevin@precisioninsight.com> +- +- The XFree86 3.3.x driver was funded by ATI and was donated to The +- XFree86 Project by Precision Insight, Inc. It was based in part on +- an earlier driver that was written by: +- +- +o Alan Hourihane <alanh@fairlite.demon.co.uk> +- +- +o Dirk Hohndel <hohndel@suse.de> +- +- This early driver was funded and donated to The XFree86 Project by: +- +- SuSE GmbH +- Schanzaekerstr. 10 +- 90443 Nuernberg +- Germany +- +- +- +- http://www.precisioninsight.com +- +- http://www.suse.com +- +- +- +diff --git a/README.r128.sgml b/README.r128.sgml +deleted file mode 100644 +index 8d7f448..0000000 +--- a/README.r128.sgml ++++ /dev/null +@@ -1,138 +0,0 @@ +-<!DOCTYPE linuxdoc PUBLIC "-//Xorg//DTD linuxdoc//EN"[ +-<!ENTITY % defs SYSTEM "defs.ent"> %defs; +-]> +- +-<article> +-<title>Information for ATI Rage 128 Users +-<author>Precision Insight, Inc., SuSE GmbH +-<date>13 June 2000 +- +-<ident> +-</ident> +- +-<toc> +- +-<sect>Supported Hardware +-<p> +-<itemize> +- <item>ATI Rage 128 based cards +-</itemize> +- +- +-<sect>Features +-<p> +-<itemize> +- <item>Full support (including hardware accelerated 2D drawing) for 8, 15, +- 16, 24 bit pixel depths. +- <item>Hardware cursor support to reduce sprite flicker. +- <item>Support for high resolution video modes up to 1800x1440 @ 70Hz. +- <item>Support for doublescan video modes (e.g., 320x200 and 320x240). +- <item>Support for gamma correction at all pixel depths. +- <item>Fully programmable clock supported. +- <item>Robust text mode restore for VT switching. +-</itemize> +- +- +-<sect>Technical Notes +-<p> +-<itemize> +- <item>None +-</itemize> +- +- +-<sect>Reported Working Video Cards +-<p> +-<itemize> +- <item>Rage Fury AGP 32MB +- <item>XPERT 128 AGP 16MB +- <item>XPERT 99 AGP 8MB +-</itemize> +- +- +-<sect>Configuration +-<p> +-The driver auto-detects all device information necessary to +-initialize the card. The only lines you need in the "Device" +-section of your xorg.conf file are: +-<verb> +- Section "Device" +- Identifier "Rage 128" +- Driver "r128" +- EndSection +-</verb> +-or let <tt>xorgconfig</tt> do this for you. +- +-However, if you have problems with auto-detection, you can specify: +-<itemize> +- <item>VideoRam - in kilobytes +- <item>MemBase - physical address of the linear framebuffer +- <item>IOBase - physical address of the memory mapped IO registers +- <item>ChipID - PCI DEVICE ID +-</itemize> +- +- +-<sect>Driver Options +-<p> +-<itemize> +- <item>"hw_cursor" - request hardware cursor (default) +- <item>"sw_cursor" - software cursor only +- <item>"no_accel" - software rendering only +- <item>"dac_8_bit" - use color weight 888 in 8 bpp mode (default) +- <item>"dac_6_bit" - use color weight 666 in 8 bpp mode (VGA emulation) +-</itemize> +- +- +-<sect>Known Limitations +-<p> +-<itemize> +- <item>None +-</itemize> +- +- +-<sect>Authors +-<p> +-The X11R&relvers; driver was originally part of XFree86 4.4 rc2. +- +-The XFree86 4 driver was ported from XFree86 3.3.x and enhanced by: +-<itemize> +- <item>Rickard E. (Rik) Faith <email>faith@precisioninsight.com</email> +- <item>Kevin E. Martin <email>kevin@precisioninsight.com</email> +-</itemize> +-<p> +-The XFree86 4 driver was funded by ATI and was donated to The XFree86 +-Project by: +-<verb> +- Precision Insight, Inc. +- Cedar Park, TX +- USA +-</verb> +-<p> +-The XFree86 3.3.x driver used for the port was written by: +-<itemize> +- <item>Rickard E. (Rik) Faith <email>faith@precisioninsight.com</email> +- <item>Kevin E. Martin <email>kevin@precisioninsight.com</email> +-</itemize> +-The XFree86 3.3.x driver was funded by ATI and was donated to The XFree86 +-Project by Precision Insight, Inc. It was based in part on an earlier +-driver that was written by: +-<itemize> +- <item>Alan Hourihane <email>alanh@fairlite.demon.co.uk</email> +- <item>Dirk Hohndel <email>hohndel@suse.de</email> +-</itemize> +-<p>This early driver was funded and donated to The XFree86 Project by: +-<verb> +- SuSE GmbH +- Schanzaekerstr. 10 +- 90443 Nuernberg +- Germany +-</verb> +- +-<p> +-<htmlurl name="http://www.precisioninsight.com" +- url="http://www.precisioninsight.com"> +-<p> +-<htmlurl name="http://www.suse.com" +- url="http://www.suse.com"> +- +- +-</article> +diff --git a/configure.ac b/configure.ac +index 4e0f463..d5a0821 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,28 +20,30 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-r128], +- 6.8.1, ++ [6.8.1], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-r128) +- ++ [xf86-video-r128]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + +-AM_INIT_AUTOMAKE([dist-bzip2]) ++# Initialize Automake ++AM_INIT_AUTOMAKE([foreign dist-bzip2]) + +-# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG +-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.2) ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS ++m4_ifndef([XORG_MACROS_VERSION], ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) ++XORG_DEFAULT_OPTIONS + + AM_MAINTAINER_MODE + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC + + if test "x$GCC" = "xyes"; then + CPPFLAGS="$CPPFLAGS -Wall" +@@ -49,38 +51,35 @@ fi + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, +- AC_HELP_STRING([--with-xorg-module-dir=DIR], ++ AS_HELP_STRING([--with-xorg-module-dir=DIR], + [Default xorg module directory [[default=$libdir/xorg/modules]]]), + [moduledir="$withval"], + [moduledir="$libdir/xorg/modules"]) + +-AC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri], ++AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri], + [Disable DRI support [[default=auto]]]), + [DRI="$enableval"], + [DRI=auto]) + +-# Checks for extensions +-XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto) ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.2 xproto fontsproto $REQUIRED_MODULES]) + PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], + HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), + HAVE_XEXTPROTO_71="no") + AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ]) +-sdkdir=$(pkg-config --variable=sdkdir xorg-server) ++sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server` + + # Checks for libraries. + +-# Checks for header files. +-AC_HEADER_STDC +- + if test "$DRI" != no; then + AC_CHECK_FILE([${sdkdir}/dri.h], + [have_dri_h="yes"], [have_dri_h="no"]) +@@ -126,26 +125,20 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then + fi + AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + +-AC_SUBST([XORG_CFLAGS]) +-AC_SUBST([DRI_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=r128 + AC_SUBST([DRIVER_NAME]) + +-XORG_MANPAGE_SECTIONS +-XORG_RELEASE_VERSION +-XORG_CHECK_LINUXDOC +-XORG_CHANGELOG +- + AC_MSG_NOTICE( + [Please change the Driver line in xorg.conf from "ati" to "r128" or install] + [the ati wrapper as well:] + [ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati] + ) + +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index 858ba62..4e22d61 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,27 +1,24 @@ + # + # Copyright 2005 Sun Microsystems, Inc. All rights reserved. +-# +-# Permission to use, copy, modify, distribute, and sell this software and its +-# documentation for any purpose is hereby granted without fee, provided that +-# the above copyright notice appear in all copies and that both that +-# copyright notice and this permission notice appear in supporting +-# documentation. +-# +-# The above copyright notice and this permission notice shall be included +-# in all copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +-# OTHER DEALINGS IN THE SOFTWARE. +-# +-# Except as contained in this notice, the name of the copyright holders shall +-# not be used in advertising or otherwise to promote the sale, use or +-# other dealings in this Software without prior written authorization +-# from the copyright holders. ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice (including the next ++# paragraph) shall be included in all copies or substantial portions of the ++# Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. + # + + drivermandir = $(DRIVER_MAN_DIR) +@@ -34,25 +31,11 @@ EXTRA_DIST = r128.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed + +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/man/r128.man b/man/r128.man +index 5c7c4fe..4ba933d 100644 +--- a/man/r128.man ++++ b/man/r128.man +@@ -1,4 +1,3 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128.man,v 1.3 2001/06/01 02:10:05 dawes Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH R128 __drivermansuffix__ __vendorversion__ +diff --git a/src/r128_driver.c b/src/r128_driver.c +index d6448b6..9d08d77 100644 +--- a/src/r128_driver.c ++++ b/src/r128_driver.c +@@ -938,14 +938,6 @@ static Bool R128PreInitConfig(ScrnInfoPtr pScrn) + /* BIOS */ + from = X_PROBED; + info->BIOSAddr = info->PciInfo->biosBase & 0xfffe0000; +- if (dev->BiosBase) { +- xf86DrvMsg(pScrn->scrnIndex, X_INFO, +- "BIOS address override, using 0x%08lx instead of 0x%08lx\n", +- dev->BiosBase, +- info->BIOSAddr); +- info->BIOSAddr = dev->BiosBase; +- from = X_CONFIG; +- } + if (info->BIOSAddr) { + xf86DrvMsg(pScrn->scrnIndex, from, + "BIOS at 0x%08lx\n", info->BIOSAddr); diff --git a/testing/xf86-video-rendition/PKGBUILD b/testing/xf86-video-rendition/PKGBUILD new file mode 100644 index 000000000..3924c7354 --- /dev/null +++ b/testing/xf86-video-rendition/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 136515 2011-08-30 08:45:11Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-rendition +pkgver=4.2.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>=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) +sha1sums=('16148c25183f7829c22bc9dfdb588c1a16bf4565') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" + + strip --strip-unneeded "${pkgdir}/usr/lib/xorg/modules/drivers/rendition_drv.so" +} diff --git a/testing/xf86-video-s3/LICENSE b/testing/xf86-video-s3/LICENSE new file mode 100644 index 000000000..a4c8d5dd4 --- /dev/null +++ b/testing/xf86-video-s3/LICENSE @@ -0,0 +1,25 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/driver/ + + Copyright 2001 Ani Joshi <ajoshi@unixbox.com> + + XFree86 4.x driver for S3 chipsets + + +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. diff --git a/testing/xf86-video-s3/PKGBUILD b/testing/xf86-video-s3/PKGBUILD new file mode 100644 index 000000000..892f52e0a --- /dev/null +++ b/testing/xf86-video-s3/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136513 2011-08-30 08:45:08Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-s3 +pkgver=0.6.3 +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>=1.11.0') +conflicts=('xorg-server<1.11.0') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + git-fixes.patch) +md5sums=('5eb06d88533fb327d067928faeb20860' + '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 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/xf86-video-s3/git-fixes.patch b/testing/xf86-video-s3/git-fixes.patch new file mode 100644 index 000000000..712b3c9c0 --- /dev/null +++ b/testing/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/testing/xf86-video-s3virge/PKGBUILD b/testing/xf86-video-s3virge/PKGBUILD new file mode 100644 index 000000000..3532b09a6 --- /dev/null +++ b/testing/xf86-video-s3virge/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 136511 2011-08-30 08:45:06Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Alexander Baldeck <alexander@archlinux.org> + +pkgname=xf86-video-s3virge +pkgver=1.10.4 +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>=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 + 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 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-savage/PKGBUILD b/testing/xf86-video-savage/PKGBUILD new file mode 100644 index 000000000..4fa3ce4ee --- /dev/null +++ b/testing/xf86-video-savage/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136509 2011-08-30 08:45:04Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-savage +pkgver=2.3.2 +pkgrel=3 +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' 'glproto') +conflicts=('xorg-server<1.10.0') +options=(!libtool !makeflags) +groups=('xorg-drivers' 'xorg') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + git-fixes.patch) +sha1sums=('d675693d0b29cb24f624ef57c1fe2f271f6bf6c3' + '0ee1dd57cd48dad4d46ebcfe914b88027e44c3f1') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/git-fixes.patch" + ./configure --prefix=/usr --enable-dri + make + make DESTDIR="${pkgdir}" install + + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-siliconmotion/PKGBUILD b/testing/xf86-video-siliconmotion/PKGBUILD new file mode 100644 index 000000000..54481e5eb --- /dev/null +++ b/testing/xf86-video-siliconmotion/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 136507 2011-08-30 08:45:01Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Alexander Baldeck <alexander@archlinux.org> + +pkgname=xf86-video-siliconmotion +pkgver=1.7.5 +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>=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=('946acae0822d51da57abe8b7ed049691bd731589') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-sis/PKGBUILD b/testing/xf86-video-sis/PKGBUILD new file mode 100644 index 000000000..2e21cca87 --- /dev/null +++ b/testing/xf86-video-sis/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 136505 2011-08-30 08:44:59Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-sis +pkgver=0.10.3 +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>=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) +sha1sums=('158673747e240b0c33499685a32d46bdaead7cd5') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --enable-dri + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch b/testing/xf86-video-sisimedia/0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch new file mode 100644 index 000000000..fd87b6c8c --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch b/testing/xf86-video-sisimedia/0002-Remove-XFree86-Misc-PassMessage-support.patch new file mode 100644 index 000000000..860e593c6 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch b/testing/xf86-video-sisimedia/0003-Fix-build-with-Werror-format-security.patch new file mode 100644 index 000000000..4fc355bbb --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch b/testing/xf86-video-sisimedia/0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch new file mode 100644 index 000000000..68ec63138 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch b/testing/xf86-video-sisimedia/0005-Correct-bounds-check-of-blitClip-array-access.patch new file mode 100644 index 000000000..038322bf6 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch b/testing/xf86-video-sisimedia/0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch new file mode 100644 index 000000000..f023c774e --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch b/testing/xf86-video-sisimedia/0006-Add-IgnoreHotkeyFlag-driver-option.patch new file mode 100644 index 000000000..8ebc799a7 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch b/testing/xf86-video-sisimedia/0007-Remove-useless-loader-symbol-lists.patch new file mode 100644 index 000000000..395213375 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch b/testing/xf86-video-sisimedia/0008-update-to-xextproto-7-1-support.patch new file mode 100644 index 000000000..1dcbdf05c --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0009-update-for-rac-removal.patch b/testing/xf86-video-sisimedia/0009-update-for-rac-removal.patch new file mode 100644 index 000000000..df1421798 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch b/testing/xf86-video-sisimedia/0010-change-to-use-abi-version-check.patch new file mode 100644 index 000000000..cb9fd7ea5 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/0011-more-rac-removal.patch b/testing/xf86-video-sisimedia/0011-more-rac-removal.patch new file mode 100644 index 000000000..8175dea98 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/COPYING b/testing/xf86-video-sisimedia/COPYING new file mode 100644 index 000000000..d643012d7 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/PKGBUILD b/testing/xf86-video-sisimedia/PKGBUILD new file mode 100644 index 000000000..e33c5962d --- /dev/null +++ b/testing/xf86-video-sisimedia/PKGBUILD @@ -0,0 +1,82 @@ +# $Id: PKGBUILD 136503 2011-08-30 08:44:57Z 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/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch b/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-20102701.patch new file mode 100644 index 000000000..944eceb12 --- /dev/null +++ b/testing/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/testing/xf86-video-sisimedia/xf86-video-sis-0.9.1-dump-regs-after-video-init.patch b/testing/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/testing/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/testing/xf86-video-sisimedia/xserver19.patch b/testing/xf86-video-sisimedia/xserver19.patch new file mode 100644 index 000000000..67ef6f585 --- /dev/null +++ b/testing/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/testing/xf86-video-sisusb/PKGBUILD b/testing/xf86-video-sisusb/PKGBUILD new file mode 100644 index 000000000..c4248402d --- /dev/null +++ b/testing/xf86-video-sisusb/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136501 2011-08-30 08:44:54Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-sisusb +pkgver=0.9.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>=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=('600fd49dffe00121f9042555fea55948653d1a7e') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-tdfx/PKGBUILD b/testing/xf86-video-tdfx/PKGBUILD new file mode 100644 index 000000000..87f315e4a --- /dev/null +++ b/testing/xf86-video-tdfx/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136499 2011-08-30 08:44:52Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-tdfx +pkgver=1.4.3 +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>=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 + copyright.patch) +md5sums=('8161bbf2b100c21b609163f0010766b3' + '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 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-trident/PKGBUILD b/testing/xf86-video-trident/PKGBUILD new file mode 100644 index 000000000..cc2faf4a9 --- /dev/null +++ b/testing/xf86-video-trident/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 136497 2011-08-30 08:44:51Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-trident +pkgver=1.3.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>=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) +sha1sums=('7c40f5c02bddf399862782b708941e79302318af') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-tseng/PKGBUILD b/testing/xf86-video-tseng/PKGBUILD new file mode 100644 index 000000000..ab3606545 --- /dev/null +++ b/testing/xf86-video-tseng/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 136495 2011-08-30 08:44:49Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-tseng +pkgver=1.2.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>=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 + 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 + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-unichrome/LICENSE b/testing/xf86-video-unichrome/LICENSE new file mode 100644 index 000000000..f4007667b --- /dev/null +++ b/testing/xf86-video-unichrome/LICENSE @@ -0,0 +1,23 @@ +Copyright (c) 2004-2007 Luc Verhaegen. All Rights Reserved. +Copyright (c) 2004-2005 The Unichrome Project. All Rights Reserved. +Copyright (c) 1998-2003 VIA Technologies, Inc. All Rights Reserved. +Copyright (c) 2001-2003 S3 Graphics, 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, sub license, +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 +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. diff --git a/testing/xf86-video-unichrome/PKGBUILD b/testing/xf86-video-unichrome/PKGBUILD new file mode 100644 index 000000000..f596b71ec --- /dev/null +++ b/testing/xf86-video-unichrome/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136493 2011-08-30 08:44:47Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-unichrome +pkgver=0.2.7 +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>=1.10.99.902' 'libx11' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc' 'glproto') +options=('!libtool') +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}" + ./autogen.sh --prefix=/usr --enable-dri + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 debian/copyright "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/testing/xf86-video-v4l/LICENSE b/testing/xf86-video-v4l/LICENSE new file mode 100644 index 000000000..535595b88 --- /dev/null +++ b/testing/xf86-video-v4l/LICENSE @@ -0,0 +1,826 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/driver/ + + Licenses + + The X.Org Foundation + + March 2004 + +1. Introduction + +The X.org Foundation X Window System distribution is a compilation of code +and documentation from many sources. This document is intended primarily as +a guide to the licenses used in the distribution: you must check each file +and/or package for precise redistribution terms. None-the-less, this summary +may be useful to many users. No software incorporating the XFree86 1.1 +license has been incorporated. + +This document is based on the compilation from XFree86. + +2. XFree86 License + +XFree86 code without an explicit copyright is covered by the following copy- +right/license: + +Copyright (C) 1994-2003 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 fur- +nished 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 CON- +NECTION 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 deal- +ings in this Software without prior written authorization from the XFree86 +Project. + +3. Other Licenses + +Portions of code are covered by the following licenses/copyrights. See indi- +vidual files for the copyright dates. + +3.1 X/MIT Copyrights + +3.1.1 X Consortium + +Copyright (C) <date> X Consortium + +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 fur- +nished 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 X +CONSORTIUM 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 X Consortium 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 X Consortium. + +X Window System is a trademark of X Consortium, Inc. + +3.1.2 The Open Group + +Copyright <date> The Open Group + +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, FIT- +NESS 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 Open Group 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 Open Group. + +3.2 Berkeley-based copyrights: + +o + +3.2.1 General + +Redistribution and use in source and binary forms, with or without modifica- +tion, 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 MER- +CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- +CIAL, 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 OTH- +ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +3.2.2 UCB/LBL + +Copyright (c) 1993 The Regents of the University of California. All rights +reserved. + +This software was developed by the Computer Systems Engineering group at +Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and contributed to +Berkeley. + +All advertising materials mentioning features or use of this software must +display the following acknowledgement: This product includes software devel- +oped by the University of California, Lawrence Berkeley Laboratory. + +Redistribution and use in source and binary forms, with or without modifica- +tion, 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. All advertising materials mentioning features or use of this software + must display the following acknowledgement: This product includes soft- + ware developed by the University of California, Berkeley and its con- + tributors. + + 4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 DIS- +CLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS 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. + +3.2.3 The NetBSD Foundation, Inc. + +Copyright (c) 2003 The NetBSD Foundation, Inc. All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation by +Ben Collver <collver1@attbi.com> + +Redistribution and use in source and binary forms, with or without modifica- +tion, 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. All advertising materials mentioning features or use of this software + must display the following acknowledgement: This product includes soft- + ware developed by the NetBSD Foundation, Inc. and its contributors. + + 4. Neither the name of The NetBSD Foundation nor the names of its con- + tributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +``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 FOUNDATION OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSE- +QUENTIAL 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 DAM- +AGE. + +3.2.4 Theodore Ts'o. + +Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All rights +reserved. + +Redistribution and use in source and binary forms, with or without modifica- +tion, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + and the entire permission notice in its entirety, including the dis- + claimer of warranties. + + 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. he 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 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH ARE HEREBY DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- +CIAL, 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 OTH- +ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF NOT +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +3.2.5 Theo de Raadt and Damien Miller + +Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. Copyright (c) +2001-2002 Damien Miller. All rights reserved. + +Redistribution and use in source and binary forms, with or without modifica- +tion, 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- +CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- +CIAL, 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 OTH- +ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +3.2.6 Todd C. Miller + +Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright +notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MER- +CHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CON- +TRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +3.2.7 Thomas Winischhofer + +Copyright (C) 2001-2004 Thomas Winischhofer + +Redistribution and use in source and binary forms, with or without modifica- +tion, 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 EXPRESSED 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, SPE- +CIAL, 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 OTH- +ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +3.3 NVIDIA Corp + +Copyright (c) 1996 NVIDIA, Corp. All rights reserved. + +NOTICE TO USER: The source code is copyrighted under U.S. and international +laws. NVIDIA, Corp. of Sunnyvale, California owns the copyright and as +design patents pending on the design and interface of the NV chips. Users +and possessors of this source code are hereby granted a nonexclusive, roy- +alty-free copyright and design patent license to use this code in individual +and commercial software. + +Any use of this source code must include, in the user documentation and +internal comments to the code, notices to the end user as follows: + +Copyright (c) 1996 NVIDIA, Corp. NVIDIA design patents pending in the U.S. +and foreign countries. + +NVIDIA, CORP. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE +CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WAR- +RANTY OF ANY KIND. NVIDIA, CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA, CORP. BE LIABLE +FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAM- +AGES 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 SOURCE CODE. + +3.4 GLX Public License + +GLX PUBLIC LICENSE (Version 1.0 (2/11/99)) ("License") + +Subject to any third party claims, Silicon Graphics, Inc. ("SGI") hereby +grants permission to Recipient (defined below), under Recipient's copyrights +in the Original Software (defined below), to use, copy, modify, merge, pub- +lish, distribute, sublicense and/or sell copies of Subject Software (defined +below), and to permit persons to whom the Subject Software is furnished in +accordance with this License to do the same, subject to all of the following +terms and conditions, which Recipient accepts by engaging in any such use, +copying, modifying, merging, publishing, distributing, sublicensing or sell- +ing: + +1. Definitions. + + (a) "Original Software" means source code of computer software code + which is described in Exhibit A as Original Software. + + (b) "Modifications" means any addition to or deletion from the sub- + stance or structure of either the Original Software or any previous + Modifications. When Subject Software is released as a series of + files, a Modification means (i) any addition to or deletion from + the contents of a file containing Original Software or previous + Modifications and (ii) any new file that contains any part of the + Original Code or previous Modifications. + + (c) "Subject Software" means the Original Software or Modifications + or the combination of the Original Software and Modifications, or + portions of any of the foregoing. + + (d) "Recipient" means an individual or a legal entity exercising + rights under, and complying with all of the terms of, this License. + For legal entities, "Recipient" includes any entity which controls, + is controlled by, or is under common control with Recipient. For + purposes of this definition, "control" of an entity means (a) the + power, direct or indirect, to direct or manage such entity, or (b) + ownership of fifty percent (50%) or more of the outstanding shares + or beneficial ownership of such entity. + +2. Redistribution of Source Code Subject to These Terms. Redistributions of +Subject Software in source code form must retain the notice set forth in +Exhibit A, below, in every file. A copy of this License must be included in +any documentation for such Subject Software where the recipients' rights +relating to Subject Software are described. Recipient may distribute the +source code version of Subject Software under a license of Recipient's +choice, which may contain terms different from this License, provided that +(i) Recipient is in compliance with the terms of this License, and (ii) the +license terms include this Section 2 and Sections 3, 4, 7, 8, 10, 12 and 13 +of this License, which terms may not be modified or superseded by any other +terms of such license. If Recipient distributes the source code version under +a different license Recipient must make it absolutely clear that any terms +which differ from this License are offered by Recipient alone, not by SGI. +Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as +a result of any such terms Recipient offers. + +3. Redistribution in Executable Form. The notice set forth in Exhibit A must +be conspicuously included in any notice in an executable version of Subject +Software, related documentation or collateral in which Recipient describes +the user's rights relating to the Subject Software. Recipient may distribute +the executable version of Subject Software under a license of Recipient's +choice, which may contain terms different from this License, provided that +(i) Recipient is in compliance with the terms of this License, and (ii) the +license terms include this Section 3 and Sections 4, 7, 8, 10, 12 and 13 of +this License, which terms may not be modified or superseded by any other +terms of such license. If Recipient distributes the executable version under +a different license Recipient must make it absolutely clear that any terms +which differ from this License are offered by Recipient alone, not by SGI. +Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as +a result of any such terms Recipient offers. + +4. Termination. This License and the rights granted hereunder will terminate +automatically if Recipient fails to comply with terms herein and fails to +cure such breach within 30 days of the breach. Any sublicense to the Subject +Software which is properly granted shall survive any termination of this +License absent termination by the terms of such sublicense. Provisions which, +by their nature, must remain in effect beyond the termination of this License +shall survive. + +5. No Trademark Rights. This License does not grant any rights to use any +trade name, trademark or service mark whatsoever. No trade name, trademark or +service mark of SGI may be used to endorse or promote products derived from +the Subject Software without prior written permission of SGI. + +6. No Other Rights. This License does not grant any rights with respect to +the OpenGL API or to any software or hardware implementation thereof or to +any other software whatsoever, nor shall any other rights or licenses not +expressly granted hereunder arise by implication, estoppel or otherwise with +respect to the Subject Software. Title to and ownership of the Original Soft- +ware at all times remains with SGI. All rights in the Original Software not +expressly granted under this License are reserved. + +7. Compliance with Laws; Non-Infringement. Recipient shall comply with all +applicable laws and regulations in connection with use and distribution of +the Subject Software, including but not limited to, all export and import +control laws and regulations of the U.S. government and other countries. +Recipient may not distribute Subject Software that (i) in any way infringes +(directly or contributorily) the rights (including patent, copyright, trade +secret, trademark or other intellectual property rights of any kind) of any +other person or entity or (ii) breaches any representation or warranty, +express, implied or statutory, which under any applicable law it might be +deemed to have been distributed. + +8. Claims of Infringement. If Recipient at any time has knowledge of any one +or more third party claims that reproduction, modification, use, distribu- +tion, import or sale of Subject Software (including particular functionality +or code incorporated in Subject Software) infringes the third party's intel- +lectual property rights, Recipient must place in a well-identified web page +bearing the title "LEGAL" a description of each such claim and a description +of the party making each such claim in sufficient detail that a user of the +Subject Software will know whom to contact regarding the claim. Also, upon +gaining such knowledge of any such claim, Recipient must conspicuously +include the URL for such web page in the Exhibit A notice required under Sec- +tions 2 and 3, above, and in the text of any related documentation, license +agreement or collateral in which Recipient describes end user's rights relat- +ing to the Subject Software. If Recipient obtains such knowledge after it +makes Subject Software available to any other person or entity, Recipient +shall take other steps (such as notifying appropriate mailing lists or news- +groups) reasonably calculated to inform those who received the Subject Soft- +ware that new knowledge has been obtained. + +9. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, +WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT +LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MER- +CHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON- INFRINGING. SGI ASSUMES NO +RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE +PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY SER- +VICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN +ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED +HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THE- +ORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIA- +BILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR +ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY +CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK +STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER +COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF +THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY +TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO +THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO +NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, +SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT. + +11. Indemnity. Recipient shall be solely responsible for damages arising, +directly or indirectly, out of its utilization of rights under this License. +Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. +from and against any loss, liability, damages, costs or expenses (including +the payment of reasonable attorneys fees) arising out of Recipient's use, +modification, reproduction and distribution of the Subject Software or out of +any representation or warranty made by Recipient. + +12. U.S. Government End Users. The Subject Software is a "commercial item" +consisting of "commercial computer software" as such terms are defined in +title 48 of the Code of Federal Regulations and all U.S. Government End +Users acquire only the rights set forth in this License and are subject to +the terms of this License. + +13. Miscellaneous. This License represents the complete agreement concerning +subject matter hereof. If any provision of this License is held to be unen- +forceable, such provision shall be reformed so as to achieve as nearly as +possible the same economic effect as the original provision and the remainder +of this License will remain in effect. This License shall be governed by and +construed in accordance with the laws of the United States and the State of +California as applied to agreements entered into and to be performed entirely +within California between California residents. Any litigation relating to +this License shall be subject to the exclusive jurisdiction of the Federal +Courts of the Northern District of California (or, absent subject matter +jurisdiction in such courts, the courts of the State of California), with +venue lying exclusively in Santa Clara County, California, with the losing +party responsible for costs, including without limitation, court costs and +reasonable attorneys fees and expenses. The application of the United Nations +Convention on Contracts for the International Sale of Goods is expressly +excluded. Any law or regulation which provides that the language of a con- +tract shall be construed against the drafter shall not apply to this License. + +Exhibit A + +The contents of this file are subject to Sections 2, 3, 4, 7, 8, 10, 12 and +13 of the GLX Public License Version 1.0 (the "License"). You may not use +this file except in compliance with those sections of the License. You may +obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services, +2011 N. Shoreline Blvd., Mountain View, CA 94043 or at +http://www.sgi.com/software/opensource/glx/license.html. + +Software distributed under the License is distributed on an "AS IS" basis. +ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED +WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON- +INFRINGEMENT. See the License for the specific language governing rights and +limitations under the License. + +The Original Software is GLX version 1.2 source code, released February, +1999. The developer of the Original Software is Silicon Graphics, Inc. Those +portions of the Subject Software created by Silicon Graphics, Inc. are Copy- +right (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved. + +3.5 CID Font Code Public License + +CID FONT CODE PUBLIC LICENSE (Version 1.0 (3/31/99))("License") + +Subject to any applicable third party claims, Silicon Graphics, Inc. ("SGI") +hereby grants permission to Recipient (defined below), under SGI's copyrights +in the Original Software (defined below), to use, copy, modify, merge, pub- +lish, distribute, sublicense and/or sell copies of Subject Software (defined +below) in both source code and executable form, and to permit persons to whom +the Subject Software is furnished in accordance with this License to do the +same, subject to all of the following terms and conditions, which Recipient +accepts by engaging in any such use, copying, modifying, merging, publica- +tion, distributing, sublicensing or selling: + +1. Definitions. + + a. "Original Software" means source code of computer software code + that is described in Exhibit A as Original Software. + + b. "Modifications" means any addition to or deletion from the sub- + stance or structure of either the Original Software or any previous + Modifications. When Subject Software is released as a series of + files, a Modification means (i) any addition to or deletion from + the contents of a file containing Original Software or previous + Modifications and (ii) any new file that contains any part of the + Original Code or previous Modifications. + + c. "Subject Software" means the Original Software or Modifications + or the combination of the Original Software and Modifications, or + portions of any of the foregoing. + + d. "Recipient" means an individual or a legal entity exercising + rights under the terms of this License. For legal entities, "Recip- + ient" includes any entity that controls, is controlled by, or is + under common control with Recipient. For purposes of this defini- + tion, "control" of an entity means (i) the power, direct or indi- + rect, to direct or manage such entity, or (ii) ownership of fifty + percent (50%) or more of the outstanding shares or beneficial own- + ership of such entity. + + e. "Required Notice" means the notice set forth in Exhibit A to + this License. + + f. "Accompanying Technology" means any software or other technology + that is not a Modification and that is distributed or made publicly + available by Recipient with the Subject Software. Separate soft- + ware files that do not contain any Original Software or any previ- + ous Modification shall not be deemed a Modification, even if such + software files are aggregated as part of a product, or in any + medium of storage, with any file that does contain Original Soft- + ware or any previous Modification. + +2. License Terms. All distribution of the Subject Software must be made sub- +ject to the terms of this License. A copy of this License and the Required +Notice must be included in any documentation for Subject Software where +Recipient's rights relating to Subject Software and/or any Accompanying Tech- +nology are described. Distributions of Subject Software in source code form +must also include the Required Notice in every file distributed. In addition, +a ReadMe file entitled "Important Legal Notice" must be distributed with each +distribution of one or more files that incorporate Subject Software. That +file must be included with distributions made in both source code and exe- +cutable form. A copy of the License and the Required Notice must be included +in that file. Recipient may distribute Accompanying Technology under a +license of Recipient's choice, which may contain terms different from this +License, provided that (i) Recipient is in compliance with the terms of this +License, (ii) such other license terms do not modify or supersede the terms +of this License as applicable to the Subject Software, (iii) Recipient hereby +indemnifies SGI for any liability incurred by SGI as a result of the distri- +bution of Accompanying Technology or the use of other license terms. + +3. Termination. This License and the rights granted hereunder will terminate +automatically if Recipient fails to comply with terms herein and fails to +cure such breach within 30 days of the breach. Any sublicense to the Subject +Software that is properly granted shall survive any termination of this +License absent termination by the terms of such sublicense. Provisions which, +by their nature, must remain in effect beyond the termination of this License +shall survive. + +4. Trademark Rights. This License does not grant any rights to use any trade +name, trademark or service mark whatsoever. No trade name, trademark or ser- +vice mark of SGI may be used to endorse or promote products derived from or +incorporating any Subject Software without prior written permission of SGI. + +5. No Other Rights. No rights or licenses not expressly granted hereunder +shall arise by implication, estoppel or otherwise. Title to and ownership of +the Original Software at all times remains with SGI. All rights in the Origi- +nal Software not expressly granted under this License are reserved. + +6. Compliance with Laws; Non-Infringement. Recipient shall comply with all +applicable laws and regulations in connection with use and distribution of +the Subject Software, including but not limited to, all export and import +control laws and regulations of the U.S. government and other countries. +Recipient may not distribute Subject Software that (i) in any way infringes +(directly or contributorily) the rights (including patent, copyright, trade +secret, trademark or other intellectual property rights of any kind) of any +other person or entity, or (ii) breaches any representation or warranty, +express, implied or statutory, which under any applicable law it might be +deemed to have been distributed. + +7. Claims of Infringement. If Recipient at any time has knowledge of any one +or more third party claims that reproduction, modification, use, distribu- +tion, import or sale of Subject Software (including particular functionality +or code incorporated in Subject Software) infringes the third party's intel- +lectual property rights, Recipient must place in a well-identified web page +bearing the title "LEGAL" a description of each such claim and a description +of the party making each such claim in sufficient detail that a user of the +Subject Software will know whom to contact regarding the claim. Also, upon +gaining such knowledge of any such claim, Recipient must conspicuously +include the URL for such web page in the Required Notice, and in the text of +any related documentation, license agreement or collateral in which Recipient +describes end user's rights relating to the Subject Software. If Recipient +obtains such knowledge after it makes Subject Software available to any other +person or entity, Recipient shall take other steps (such as notifying appro- +priate mailing lists or newsgroups) reasonably calculated to provide such +knowledge to those who received the Subject Software. + +8. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, +WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT +LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MER- +CHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. SGI ASSUMES NO +RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE +PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY SER- +VICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN +ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED +HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, +WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), +CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR 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 SUBJECT SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SUBJECT SOFTWARE. SOME JURISDICTIONS DO NOT +ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO THIS EXCLUSION AND +LIMITATION MAY NOT APPLY TO RECIPIENT TO THE EXTENT SO DISALLOWED. + +10. Indemnity. Recipient shall be solely responsible for damages arising, +directly or indirectly, out of its utilization of rights under this License. +Recipient will defend, indemnify and hold SGI and its successors and assigns +harmless from and against any loss, liability, damages, costs or expenses +(including the payment of reasonable attorneys fees) arising out of (Recipi- +ent's use, modification, reproduction and distribution of the Subject Soft- +ware or out of any representation or warranty made by Recipient. + +11. U.S. Government End Users. The Subject Software is a "commercial item" +consisting of "commercial computer software" as such terms are defined in +title 48 of the Code of Federal Regulations and all U.S. Government End Users +acquire only the rights set forth in this License and are subject to the +terms of this License. + +12. Miscellaneous. This License represents the complete agreement concerning +subject matter hereof. If any provision of this License is held to be unen- +forceable by any judicial or administrative authority having proper jurisdic- +tion with respect thereto, such provision shall be reformed so as to achieve +as nearly as possible the same economic effect as the original provision and +the remainder of this License will remain in effect. This License shall be +governed by and construed in accordance with the laws of the United States +and the State of California as applied to agreements entered into and to be +performed entirely within California between California residents. Any liti- +gation relating to this License shall be subject to the exclusive jurisdic- +tion of the Federal Courts of the Northern District of California (or, absent +subject matter jurisdiction in such courts, the courts of the State of Cali- +fornia), with venue lying exclusively in Santa Clara County, California, with +the losing party responsible for costs, including without limitation, court +costs and reasonable attorneys fees and expenses. The application of the +United Nations Convention on Contracts for the International Sale of Goods is +expressly excluded. Any law or regulation that provides that the language of +a contract shall be construed against the drafter shall not apply to this +License. + +Exhibit A + +Copyright (c) 1994-1999 Silicon Graphics, Inc. + +The contents of this file are subject to the CID Font Code Public License +Version 1.0 (the "License"). You may not use this file except in compliance +with the License. You may obtain a copy of the License at Silicon Graphics, +Inc., attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043 +or at http://www.sgi.com/software/opensource/cid/license.html + +Software distributed under the License is distributed on an "AS IS" basis. +ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED +WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON- +INFRINGEMENT. See the License for the specific language governing rights and +limitations under the License. + +The Original Software (as defined in the License) is CID font code that was +developed by Silicon Graphics, Inc. Those portions of the Subject Software +(as defined in the License) that were created by Silicon Graphics, Inc. are +Copyright (c) 1994-1999 Silicon Graphics, Inc. All Rights Reserved. + +[NOTE: When using this text in connection with Subject Software delivered +solely in object code form, Recipient may replace the words "this file" with +"this software" in both the first and second sentences.] + +3.6 Bitstream Vera Fonts Copyright + +The fonts have a generous copyright, allowing derivative works (as long as +"Bitstream" or "Vera" are not in the names), and full redistribution (so long +as they are not *sold* by themselves). They can be be bundled, redistributed +and sold with any software. + +The fonts are distributed under the following copyright: + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is +a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license ("Fonts") and associated documentation +files (the "Font Software"), to reproduce and distribute the Font Software, +including without limitation the rights to use, copy, merge, publish, dis- +tribute, and/or sell copies of the Font Software, and to permit persons to +whom the Font Software is furnished to do so, subject to the following condi- +tions: + +The above copyright and trademark notices and this permission notice shall be +included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may be modified and addi- +tional glyphs or characters may be added to the Fonts, only if the fonts are +renamed to names not containing either the words "Bitstream" or the word +"Vera". + +This License becomes null and void to the extent applicable to Fonts or Font +Software that has been modified and is distributed under the "Bitstream Vera" +names. + +The Font Software may be sold as part of a larger software package but no +copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDA- +TION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GEN- +ERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR +INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFT- +WARE. + +Except as contained in this notice, the names of Gnome, the Gnome Foundation, +and Bitstream Inc., shall not be used in advertising or otherwise to promote +the sale, use or other dealings in this Font Software without prior written +authorization from the Gnome Foundation or Bitstream Inc., respectively. For +further information, contact: fonts at gnome dot org. + +3.7 Bigelow & Holmes Inc and URW++ GmbH Luxi font license + +Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font instruction +code copyright (c) 2001 by URW++ GmbH. All Rights Reserved. Luxi is a regis- +tered trademark of Bigelow & Holmes Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of these Fonts and associated documentation files (the "Font Software"), to +deal in the Font Software, including without limitation the rights to use, +copy, merge, publish, distribute, sublicense, and/or sell copies of the Font +Software, and to permit persons to whom the Font Software is furnished to do +so, subject to the following conditions: + +The above copyright and trademark notices and this permission notice shall be +included in all copies of one or more of the Font Software. + +The Font Software may not be modified, altered, or added to, and in particu- +lar the designs of glyphs or characters in the Fonts may not be modified nor +may additional glyphs or characters be added to the Fonts. This License +becomes null and void when the Fonts or Font Software have been modified. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BIGELOW & HOLMES INC. OR URW++ +GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GEN- +ERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR +INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFT- +WARE. + +Except as contained in this notice, the names of Bigelow & Holmes Inc. and +URW++ GmbH. shall not be used in advertising or otherwise to promote the +sale, use or other dealings in this Font Software without prior written +authorization from Bigelow & Holmes Inc. and URW++ GmbH. + +For further information, contact: + +info@urwpp.de or design@bigelowandholmes.com + + $Id: LICENSE,v 1.3 2004/09/03 23:41:21 kem Exp $ diff --git a/testing/xf86-video-v4l/PKGBUILD b/testing/xf86-video-v4l/PKGBUILD new file mode 100644 index 000000000..047d5ecb6 --- /dev/null +++ b/testing/xf86-video-v4l/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 136491 2011-08-30 08:44:45Z jgc $ +#Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-v4l +pkgver=0.2.0 +pkgrel=9 +pkgdesc="X.org v4l 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') +groups=('xorg-drivers' 'xorg') +options=('!libtool') +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 + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-vesa/PKGBUILD b/testing/xf86-video-vesa/PKGBUILD new file mode 100644 index 000000000..003f73a11 --- /dev/null +++ b/testing/xf86-video-vesa/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 136489 2011-08-30 08:44:41Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-vesa +pkgver=2.3.0 +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>=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 + 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 + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-voodoo/PKGBUILD b/testing/xf86-video-voodoo/PKGBUILD new file mode 100644 index 000000000..8c40ed230 --- /dev/null +++ b/testing/xf86-video-voodoo/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 136485 2011-08-30 08:44:36Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-voodoo +pkgver=1.2.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>=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) +sha1sums=('7ecd232cc0b7fe507e18e08799791eefa9fdaf48') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/xf86-video-xgi/PKGBUILD b/testing/xf86-video-xgi/PKGBUILD new file mode 100644 index 000000000..3c9af94dc --- /dev/null +++ b/testing/xf86-video-xgi/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 136483 2011-08-30 08:44:35Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-xgi +pkgver=1.6.0 +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>=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 + 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 + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-xgi/git-fixes.patch b/testing/xf86-video-xgi/git-fixes.patch new file mode 100644 index 000000000..f15fea88a --- /dev/null +++ b/testing/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/testing/xf86-video-xgixp/PKGBUILD b/testing/xf86-video-xgixp/PKGBUILD new file mode 100644 index 000000000..344205523 --- /dev/null +++ b/testing/xf86-video-xgixp/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 136481 2011-08-30 08:44:33Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=xf86-video-xgixp +pkgver=1.8.0 +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>=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 + 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 + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch b/testing/xf86-video-xgixp/api-compat-fix-for-DRAWABLE_BUFFER.patch new file mode 100644 index 000000000..f8cb64673 --- /dev/null +++ b/testing/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/testing/xorg-server/10-quirks.conf b/testing/xorg-server/10-quirks.conf new file mode 100644 index 000000000..7afad22dc --- /dev/null +++ b/testing/xorg-server/10-quirks.conf @@ -0,0 +1,10 @@ +# Collection of quirks and blacklist/whitelists for specific devices. + + +# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable +# http://bugs.freedesktop.org/show_bug.cgi?id=22442 +Section "InputClass" + Identifier "ThinkPad HDAPS accelerometer blacklist" + MatchProduct "ThinkPad HDAPS accelerometer data" + Option "Ignore" "on" +EndSection diff --git a/testing/xorg-server/PKGBUILD b/testing/xorg-server/PKGBUILD new file mode 100644 index 000000000..a9121811c --- /dev/null +++ b/testing/xorg-server/PKGBUILD @@ -0,0 +1,178 @@ +# $Id: PKGBUILD 136479 2011-08-30 08:44:30Z 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.11.0 +pkgrel=1 +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 + autoconfig-nvidia.patch + xvfb-run + xvfb-run.1 + 10-quirks.conf) +sha1sums=('5fa0c0a190fbe1030a14e435de2d5a3259ca70be' + '0249b892f27243d8fe6fe6d226bf4c2391cedf49' + 'c94f742d3f9cabf958ae58e4015d9dd185aabedc' + '6838fc00ef4618c924a77e0fb03c05346080908a' + '993798f3d22ad672d769dae5f48d1fa068d5578f') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + # Use nouveau/nv/nvidia drivers for nvidia devices + patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch" + + autoreconf + ./configure --prefix=/usr \ + --enable-ipv6 \ + --enable-dri \ + --enable-dmx \ + --enable-xvfb \ + --enable-xnest \ + --enable-composite \ + --enable-xcsecurity \ + --enable-xorg \ + --enable-xephyr \ + --enable-glx-tls \ + --enable-kdrive \ + --enable-install-setuid \ + --enable-config-udev \ + --disable-config-dbus \ + --enable-record \ + --disable-xfbdev \ + --disable-xfake \ + --disable-static \ + --sysconfdir=/etc/X11 \ + --localstatedir=/var \ + --with-xkb-path=/usr/share/X11/xkb \ + --with-xkb-output=/var/lib/xkb \ + --with-fontrootdir=/usr/share/fonts + make + + # Disable subdirs for make install rule to make splitting easier + sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \ + -e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \ + -e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \ + -e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \ + -i hw/Makefile +} + +package_xorg-server-common() { + pkgdesc="Xorg server common files" + depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc') + + cd "${srcdir}/${pkgbase}-${pkgver}" + install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common" + install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common" + + make -C xkb DESTDIR="${pkgdir}" install-data + + install -m755 -d "${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/" +} + +package_xorg-server() { + pkgdesc="Xorg X server" + depends=(libxdmcp libxfont udev libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev) + backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf') + provides=('x-server') + groups=('xorg') + + cd "${srcdir}/${pkgbase}-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/etc/X11" + mv "${pkgdir}/usr/share/X11/xorg.conf.d" "${pkgdir}/etc/X11/" + install -m644 "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/" + + rmdir "${pkgdir}/usr/share/X11" + + # Needed for non-mesa drivers, libgl will restore it + mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \ + "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg" + + rm -rf "${pkgdir}/var" + + rm -f "${pkgdir}/usr/share/man/man1/Xserver.1" + rm -f "${pkgdir}/usr/lib/xorg/protocol.txt" + + install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server" + ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server/COPYING" + + rm -rf "${pkgdir}/usr/lib/pkgconfig" + rm -rf "${pkgdir}/usr/include" + rm -rf "${pkgdir}/usr/share/aclocal" +} + +package_xorg-server-xephyr() { + pkgdesc="A nested X server that runs as an X application" + depends=(libxfont libgl libgcrypt libxv pixman xorg-server-common) + + cd "${srcdir}/${pkgbase}-${pkgver}/hw/kdrive" + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr" + ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xephyr/COPYING" +} + +package_xorg-server-xvfb() { + pkgdesc="Virtual framebuffer X server" + depends=(libxfont libxdmcp libxau libgcrypt pixman xorg-server-common) + + cd "${srcdir}/${pkgbase}-${pkgver}/hw/vfb" + make DESTDIR="${pkgdir}" install + + install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/" + install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/" + + install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xvfb" + ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xvfb/COPYING" +} + +package_xorg-server-xnest() { + pkgdesc="A nested X server that runs as an X application" + depends=(libxfont libxext libgcrypt pixman xorg-server-common) + + cd "${srcdir}/${pkgbase}-${pkgver}/hw/xnest" + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest" + ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xnest/COPYING" +} + +package_xorg-server-xdmx() { + pkgdesc="Distributed Multihead X Server and utilities" + depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes pixman xorg-server-common) + + cd "${srcdir}/${pkgbase}-${pkgver}/hw/dmx" + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx" + ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xdmx/COPYING" +} + +package_xorg-server-devel() { + pkgdesc="Development files for the X.Org X server" + depends=(xproto randrproto renderproto xextproto inputproto kbproto fontsproto videoproto dri2proto xineramaproto xorg-util-macros pixman libpciaccess) + + cd "${srcdir}/${pkgbase}-${pkgver}" + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}/usr/bin" + rm -rf "${pkgdir}/usr/share/man" + rm -rf "${pkgdir}/usr/share/doc" + rm -rf "${pkgdir}/usr/share/X11" + rm -rf "${pkgdir}/usr/lib/xorg" + rm -rf "${pkgdir}/var" + + install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel" + ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING" +} diff --git a/testing/xorg-server/autoconfig-nvidia.patch b/testing/xorg-server/autoconfig-nvidia.patch new file mode 100644 index 000000000..baa2eb601 --- /dev/null +++ b/testing/xorg-server/autoconfig-nvidia.patch @@ -0,0 +1,29 @@ +--- a/hw/xfree86/common/xf86pciBus.c ++++ b/hw/xfree86/common/xf86pciBus.c +@@ -1123,7 +1123,25 @@ videoPtrToDriverList(struct pci_device * + 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; diff --git a/testing/xorg-server/xvfb-run b/testing/xorg-server/xvfb-run new file mode 100644 index 000000000..4c2f4e0d3 --- /dev/null +++ b/testing/xorg-server/xvfb-run @@ -0,0 +1,180 @@ +#!/bin/sh + +# $Id: xvfb-run 2027 2004-11-16 14:54:16Z branden $ + +# This script starts an instance of Xvfb, the "fake" X server, runs a command +# with that server available, and kills the X server when done. The return +# value of the command becomes the return value of this script. +# +# If anyone is using this to build a Debian package, make sure the package +# Build-Depends on xvfb, xbase-clients, and xfonts-base. + +set -e + +PROGNAME=xvfb-run +SERVERNUM=99 +AUTHFILE= +ERRORFILE=/dev/null +STARTWAIT=3 +XVFBARGS="-screen 0 640x480x8" +LISTENTCP="-nolisten tcp" +XAUTHPROTO=. + +# Query the terminal to establish a default number of columns to use for +# displaying messages to the user. This is used only as a fallback in the event +# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the +# script is running, and this cannot, only being calculated once.) +DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true +if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then + DEFCOLUMNS=80 +fi + +# Display a message, wrapping lines at the terminal width. +message () { + echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} +} + +# Display an error message. +error () { + message "error: $*" >&2 +} + +# Display a usage message. +usage () { + if [ -n "$*" ]; then + message "usage error: $*" + fi + cat <<EOF +Usage: $PROGNAME [OPTION ...] COMMAND +Run COMMAND (usually an X client) in a virtual X server environment. +Options: +-a --auto-servernum try to get a free server number, starting at + --server-num +-e FILE --error-file=FILE file used to store xauth errors and Xvfb + output (default: $ERRORFILE) +-f FILE --auth-file=FILE file used to store auth cookie + (default: ./.Xauthority) +-h --help display this usage message and exit +-n NUM --server-num=NUM server number to use (default: $SERVERNUM) +-l --listen-tcp enable TCP port listening in the X server +-p PROTO --xauth-protocol=PROTO X authority protocol name to use + (default: xauth command's default) +-s ARGS --server-args=ARGS arguments (other than server number and + "-nolisten tcp") to pass to the Xvfb server + (default: "$XVFBARGS") +-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start + before running COMMAND (default: $STARTWAIT) +EOF +} + +# Find a free server number by looking at .X*-lock files in /tmp. +find_free_servernum() { + # Sadly, the "local" keyword is not POSIX. Leave the next line commented in + # the hope Debian Policy eventually changes to allow it in /bin/sh scripts + # anyway. + #local i + + i=$SERVERNUM + while [ -f /tmp/.X$i-lock ]; do + i=$(($i + 1)) + done + echo $i +} + +# Clean up files +clean_up() { + if [ -e "$AUTHFILE" ]; then + XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1 + fi + if [ -n "$XVFB_RUN_TMPDIR" ]; then + if ! rm -r "$XVFB_RUN_TMPDIR"; then + error "problem while cleaning up temporary directory" + exit 5 + fi + fi +} + +# Parse the command line. +ARGS=$(getopt --options +ae:f:hn:lp:s:w: \ + --long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \ + --name "$PROGNAME" -- "$@") +GETOPT_STATUS=$? + +if [ $GETOPT_STATUS -ne 0 ]; then + error "internal error; getopt exited with status $GETOPT_STATUS" + exit 6 +fi + +eval set -- "$ARGS" + +while :; do + case "$1" in + -a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;; + -e|--error-file) ERRORFILE="$2"; shift ;; + -f|--auth-file) AUTHFILE="$2"; shift ;; + -h|--help) SHOWHELP="yes" ;; + -n|--server-num) SERVERNUM="$2"; shift ;; + -l|--listen-tcp) LISTENTCP="" ;; + -p|--xauth-protocol) XAUTHPROTO="$2"; shift ;; + -s|--server-args) XVFBARGS="$2"; shift ;; + -w|--wait) STARTWAIT="$2"; shift ;; + --) shift; break ;; + *) error "internal error; getopt permitted \"$1\" unexpectedly" + exit 6 + ;; + esac + shift +done + +if [ "$SHOWHELP" ]; then + usage + exit 0 +fi + +if [ -z "$*" ]; then + usage "need a command to run" >&2 + exit 2 +fi + +if ! which xauth >/dev/null; then + error "xauth command not found" + exit 3 +fi + +# tidy up after ourselves +trap clean_up EXIT + +# If the user did not specify an X authorization file to use, set up a temporary +# directory to house one. +if [ -z "$AUTHFILE" ]; then + XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)" + AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority" +fi + +# Start Xvfb. +MCOOKIE=$(mcookie) +XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1 +add :$SERVERNUM $XAUTHPROTO $MCOOKIE +EOF +XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \ + 2>&1 & +XVFBPID=$! +sleep "$STARTWAIT" +if ! kill -0 $XVFBPID 2>/dev/null; then + echo "Xvfb failed to start" >&2 + exit 1 +fi + +# Start the command and save its exit status. +set +e +DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1 +RETVAL=$? +set -e + +# Kill Xvfb now that the command has exited. +kill $XVFBPID + +# Return the executed command's exit status. +exit $RETVAL + +# vim:set ai et sts=4 sw=4 tw=80: diff --git a/testing/xorg-server/xvfb-run.1 b/testing/xorg-server/xvfb-run.1 new file mode 100644 index 000000000..137d3a196 --- /dev/null +++ b/testing/xorg-server/xvfb-run.1 @@ -0,0 +1,282 @@ +.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $ +.\" +.\" Copyright 1998-2004 Branden Robinson <branden@debian.org>. +.\" +.\" This is free software; you may redistribute it and/or modify +.\" it under the terms of the GNU General Public License as +.\" published by the Free Software Foundation; either version 2, +.\" or (at your option) any later version. +.\" +.\" This is distributed in the hope that it will be useful, but +.\" WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" the Debian operating system, in /usr/share/common-licenses/GPL; if +.\" not, write to the Free Software Foundation, Inc., 59 Temple Place, +.\" Suite 330, Boston, MA 02111-1307 USA +.\" +.\" We need the URL macro from groff's www macro package, but also want +.\" things to work all right for people who don't have it. So we define +.\" our own URL macro and let the www macro package override it if it's +.\" available. +.de URL +\\$2 \(laURL: \\$1 \(ra\\$3 +.. +.if \n[.g] .mso www.tmac +.TH xvfb\-run 1 "2004\-11\-12" "Debian Project" +.SH NAME +xvfb\-run \- run specified X client or command in a virtual X server environment +.SH SYNOPSIS +.B xvfb\-run +[ +.I options +] +.I command +.SH DESCRIPTION +.B xvfb\-run +is a wrapper for the +.BR Xvfb (1x) +command which simplifies the task of running commands (typically an X +client, or a script containing a list of clients to be run) within a virtual +X server environment. +.PP +.B xvfb\-run +sets up an X authority file (or uses an existing user\-specified one), +writes a cookie to it (see +.BR xauth (1x)) +and then starts the +.B Xvfb +X server as a background process. +The process ID of +.B Xvfb +is stored for later use. +The specified +.I command +is then run using the X display corresponding to the +.B Xvfb +server +just started and the X authority file created earlier. +.PP +When the +.I command +exits, its status is saved, the +.B Xvfb +server is killed (using the process ID stored earlier), the X authority +cookie removed, and the authority file deleted (if the user did not specify +one to use). +.B xvfb\-run +then exits with the exit status of +.IR command . +.PP +.B xvfb\-run +requires the +.B xauth +command to function. +.SH OPTIONS +.TP +.B \-a\fR,\fB \-\-auto\-servernum +Try to get a free server number, starting at 99, or the argument to +.BR \-\-server\-num . +.TP +.BI \-e\ file \fR,\fB\ \-\-error\-file= file +Store output from +.B xauth +and +.B Xvfb +in +.IR file . +The default is +.IR /dev/null . +.TP +.BI \-f\ file \fR,\fB\ \-\-auth\-file= file +Store X authentication data in +.IR file . +By default, a temporary directory called +.IR xvfb\-run. PID +(where PID is the process ID of +.B xvfb\-run +itself) is created in the directory specified by the environment variable +.B TMPDIR +(or +.I /tmp +if that variable is null or unset), and the +.BR tempfile (1) +command is used to create a file in that temporary directory called +.IR Xauthority . +.TP +.B \-h\fR,\fB \-\-help +Display a usage message and exit. +.TP +.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber +Use +.I servernumber +as the server number (but see the +.B \-a\fR,\fB \-\-auto\-servernum +option above). +The default is 99. +.TP +.B \-l\fR,\fB \-\-listen\-tcp +Enable TCP port listening in the X server. +For security reasons (to avoid denial\-of\-service attacks or exploits), +TCP port listening is disabled by default. +.TP +.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname +Use +.I protocolname +as the X authority protocol to use. +The default is \(oq.\(cq, which +.B xauth +interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1. +.TP +.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments +Pass +.I arguments +to the +.B Xvfb +server. +Be careful to quote any whitespace characters that may occur within +.I arguments +to prevent them from regarded as separators for +.BR xvfb\-run 's +own arguments. +Also, note that specification of \(oq\-nolisten tcp\(cq in +.I arguments +may override the function of +.BR xvfb\-run 's +own +.B \-l\fR,\fB \-\-listen\-tcp +option, and that specification of the server number (e.g., \(oq:1\(cq) may +be ignored because of the way the X server parses its argument list. +Use the +.B xvfb\-run +option +.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber +to achieve the latter function. +The default is \(oq\-screen 0 640x480x8\(cq. +.TP +.BI \-w\ delay \fR,\fB\ \-\-wait= delay +Wait +.I delay +seconds after launching +.B Xvfb +before attempting to start the specified command. +The default is 3. +.SH ENVIRONMENT +.TP +.B COLUMNS +indicates the width of the terminal device in character cells. +This value is used for formatting diagnostic messages. +If not set, the terminal is queried using +.BR stty (1) +to determine its width. +If that fails, a value of \(oq80\(cq is assumed. +.TP +.B TMPDIR +specifies the directory in which to place +.BR xvfb\-run 's +temporary directory for storage of the X authority file; only used if the +.B \-f +or +.B \-\-auth\-file +options are not specified. +.SH "OUTPUT FILES" +.PP +Unless the +.B \-f +or +.B \-\-auth\-file +options are specified, a temporary +directory and file within it are created (and deleted) to store the X +authority cookies used by the +.B Xvfb +server and client(s) run under it. +See +.BR tempfile (1). +If \-f or \-\-auth\-file are used, then the specified X authority file is +only written to, not created or deleted (though +.B xauth +creates an authority file itself if told to use use that does not already +exist). +.PP +An error file with a user\-specified name is also created if the +.B \-e +or +.B \-\-error\-file +options are specifed; see above. +.SH "EXIT STATUS" +.B xvfb\-run +uses its exit status as well as output to standard error to communicate +diagnostics. +The exit status of \(oq1\(cq is not used, and should be interpreted as failure +of the specified command. +.TP +0 +.B xvfb\-run +only uses this exit status if the +.B \-h\fR,\fB \-\-help +option is given. +In all other situations, this may be interpreted as success of the specified +command. +.TP +2 +No command to run was specified. +.TP +3 +The +.B xauth +command is not available. +.TP +4 +The temporary directory that was going to be used already exists; since +.B xvfb\-run +produces a uniquely named directory, this may indicate an attempt by another +process on the system to exploit a temporary file race condition. +.TP +5 +A problem was encountered while cleaning up the temporary directory. +.TP +6 +A problem was encountered while using +.BR getopt (1) +to parse the command\-line arguments. +.SH EXAMPLES +.TP +.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo +runs the +.BR xlogo (1x) +demonstration client inside the +.B Xvfb +X server on the first available server number greater than or equal to 1. +.TP +.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces +runs the +.BR ico (1x) +demonstration client (and passes it the +.B \-faces +argument) inside the +.B Xvfb +X server, configured with a root window of 1024 by 768 pixels and a color +depth of 24 bits. +.PP +Note that the demo X clients used in the above examples will not exit on +their own, so they will have to be killed before +.B xvfb\-run +will exit. +.SH BUGS +See +.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" . +If you wish to report a bug in +.BR xvfb\-run , +please use the +.BR reportbug (1) +command. +.SH AUTHOR +.B xfvb\-run +was written by Branden Robinson and Jeff Licquia with sponsorship from +Progeny Linux Systems. +.SH "SEE ALSO" +.BR Xvfb (1x), +.BR xauth (1x) +.\" vim:set et tw=80: |