summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/xf86-video-cirrus/APKBUILD17
-rw-r--r--main/xf86-video-cirrus/qemu.patch25
2 files changed, 39 insertions, 3 deletions
diff --git a/main/xf86-video-cirrus/APKBUILD b/main/xf86-video-cirrus/APKBUILD
index db531d89d..c2412a6a8 100644
--- a/main/xf86-video-cirrus/APKBUILD
+++ b/main/xf86-video-cirrus/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-cirrus
pkgver=1.3.2
-pkgrel=2
+pkgrel=3
pkgdesc="Cirrus Logic video driver"
url="http://xorg.freedesktop.org/"
license="custom"
@@ -10,7 +10,17 @@ depends=
makedepends="pkgconfig xorg-server-dev libxi-dev fontsproto randrproto
videoproto renderproto"
-source="http://xorg.freedesktop.org/releases/individual/driver/$pkgname-$pkgver.tar.bz2"
+source="http://xorg.freedesktop.org/releases/individual/driver/$pkgname-$pkgver.tar.bz2
+ qemu.patch"
+
+prepare() {
+ cd "$srcdir"/$pkgname-$pkgver
+ for i in $source; do
+ case $i in
+ *.patch) patch -p1 -i "$srcdir"/$i || return 1
+ esac
+ done
+}
build() {
cd "$srcdir"/$pkgname-$pkgver
@@ -24,4 +34,5 @@ package() {
make DESTDIR="$pkgdir" install || return 1
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-md5sums="8195d03ed0be0975c03441e66a9f53b3 xf86-video-cirrus-1.3.2.tar.bz2"
+md5sums="8195d03ed0be0975c03441e66a9f53b3 xf86-video-cirrus-1.3.2.tar.bz2
+b3bd556766fcd0fee51ae0c286f75f05 qemu.patch"
diff --git a/main/xf86-video-cirrus/qemu.patch b/main/xf86-video-cirrus/qemu.patch
new file mode 100644
index 000000000..444fb6010
--- /dev/null
+++ b/main/xf86-video-cirrus/qemu.patch
@@ -0,0 +1,25 @@
+diff -up xf86-video-cirrus-1.2.0/src/alp_driver.c.jx xf86-video-cirrus-1.2.0/src/alp_driver.c
+--- xf86-video-cirrus-1.2.0/src/alp_driver.c.jx 2008-03-19 10:29:23.000000000 -0400
++++ xf86-video-cirrus-1.2.0/src/alp_driver.c 2009-02-27 10:59:27.000000000 -0500
+@@ -812,6 +812,20 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
+ else
+ xf86SetDDCproperties(pScrn,xf86PrintEDID(
+ xf86DoEDID_DDC2(pScrn->scrnIndex,pCir->I2CPtr1)));
++#ifdef XSERVER_LIBPCIACCESS
++ if (!pScrn->monitor->DDC &&
++ ((pCir->PciInfo->subvendor_id & 0xffff) == 0x1af4)) {
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
++ "Defaulting to 1024x768 for QEMU\n");
++ pScrn->monitor->nHsync = 1;
++ pScrn->monitor->hsync[0].lo = 31.5;
++ pScrn->monitor->hsync[0].hi = 48.0;
++ pScrn->monitor->nVrefresh = 1;
++ pScrn->monitor->vrefresh[0].lo = 56.0;
++ pScrn->monitor->vrefresh[0].hi = 60.1;
++ pScrn->monitor->maxPixClock = 65000;
++ }
++#endif
+
+ /* Probe the possible LCD display */
+ AlpProbeLCD(pScrn);
+