diff options
Diffstat (limited to 'abs/core-testing/xorg-server')
7 files changed, 606 insertions, 45 deletions
diff --git a/abs/core-testing/xorg-server/001_fedora_extramodes.patch b/abs/core-testing/xorg-server/001_fedora_extramodes.patch new file mode 100644 index 0000000..30743b8 --- /dev/null +++ b/abs/core-testing/xorg-server/001_fedora_extramodes.patch @@ -0,0 +1,85 @@ +From: Adam Jackson <ajax@redhat.com> +Date: Sun, 28 Oct 2007 09:37:52 +0100 +Subject: [PATCH] Fedora extra modes list + +--- +Index: xorg-server/hw/xfree86/common/extramodes +=================================================================== +--- xorg-server.orig/hw/xfree86/common/extramodes ++++ xorg-server/hw/xfree86/common/extramodes +@@ -3,16 +3,75 @@ + // + // $XFree86: xc/programs/Xserver/hw/xfree86/etc/extramodes,v 1.5 2002/06/05 19:43:05 dawes Exp $ + // ++// NOTE: Please keep all video modes sorted in order of X res, then Y res for ++// ease of maintenance and readability. + + # 832x624 @ 75Hz (74.55Hz) (fix if the official/Apple spec is different) hsync: 49.725kHz + ModeLine "832x624" 57.284 832 864 928 1152 624 625 628 667 -Hsync -Vsync + ++# 1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz ++Modeline "1152x864" 81.62 1152 1216 1336 1520 864 865 868 895 -HSync +Vsync ++ ++# 1152x864 @ 70.00 Hz (GTF) hsync: 63.00 kHz; pclk: 96.77 MHz ++Modeline "1152x864" 96.77 1152 1224 1344 1536 864 865 868 900 -HSync +Vsync ++ ++# 1152x864 @ 75.00 Hz (GTF) hsync: 67.65 kHz; pclk: 104.99 MHz ++Modeline "1152x864" 104.99 1152 1224 1352 1552 864 865 868 902 -HSync +Vsync ++ ++# 1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz ++Modeline "1152x864" 119.65 1152 1224 1352 1552 864 865 868 907 -HSync +Vsync ++ ++# 1152x864 @ 85Hz (Red Hat custom modeline) ++ModeLine "1152x864" 121.5 1152 1216 1344 1568 864 865 868 911 +hsync -vsync ++ ++# 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz ++Modeline "1152x864" 143.47 1152 1232 1360 1568 864 865 868 915 -HSync +Vsync ++ ++# 1360x768 59.96 Hz (CVT) hsync: 47.37 kHz; pclk: 72.00 MHz ++Modeline "1360x768" 72.00 1360 1408 1440 1520 768 771 781 790 +hsync -vsync ++ ++# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz ++Modeline "1360x768" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync ++ + # 1400x1050 @ 60Hz (VESA GTF) hsync: 65.5kHz + ModeLine "1400x1050" 122.0 1400 1488 1640 1880 1050 1052 1064 1082 +hsync +vsync + ++# 1400x1050 @ 70.00 Hz (GTF) hsync: 76.51 kHz; pclk: 145.06 MHz ++Modeline "1400x1050" 145.06 1400 1496 1648 1896 1050 1051 1054 1093 -HSync +Vsync ++ + # 1400x1050 @ 75Hz (VESA GTF) hsync: 82.2kHz + ModeLine "1400x1050" 155.8 1400 1464 1784 1912 1050 1052 1064 1090 +hsync +vsync + ++# 1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz ++Modeline "1400x1050" 179.26 1400 1504 1656 1912 1050 1051 1054 1103 -HSync +Vsync ++ ++# 1440x900 @ 60.00 Hz (CVT) field rate 59.89 Hz; hsync: 55.93 kHz; pclk: 106.50 MHz ++Modeline "1440x900" 106.50 1440 1520 1672 1904 900 903 909 934 -HSync +Vsync ++ ++# 1600x1024 for SGI 1600 SW ++ModeLine "1600x1024" 103.125 1600 1600 1656 1664 1024 1024 1029 1030 +Hsync +Vsync ++ ++# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz ++Modeline "1680x1050" 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync ++ ++# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz ++Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync ++ ++# 1680x1050 69.88 Hz (CVT) hsync: 76.58 kHz; pclk: 174.00 MHz ++Modeline "1680x1050" 174.00 1680 1800 1976 2272 1050 1053 1059 1096 -hsync +vsync ++ ++# 1680x1050 74.89 Hz (CVT 1.76MA) hsync: 82.31 kHz; pclk: 187.00 MHz ++Modeline "1680x1050" 187.00 1680 1800 1976 2272 1050 1053 1059 1099 -hsync +vsync ++ ++# 1680x1050 84.94 Hz (CVT 1.76MA) hsync: 93.86 kHz; pclk: 214.75 MHz ++Modeline "1680x1050" 214.75 1680 1808 1984 2288 1050 1053 1059 1105 -hsync +vsync ++ ++# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz ++Modeline "1920x1080" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync ++ ++# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz ++Modeline "1920x1200" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync ++ + # 1920x1440 @ 85Hz (VESA GTF) hsync: 128.5kHz + Modeline "1920x1440" 341.35 1920 2072 2288 2656 1440 1441 1444 1512 -hsync +vsync + diff --git a/abs/core-testing/xorg-server/PKGBUILD b/abs/core-testing/xorg-server/PKGBUILD index f9a3401..2dacf0b 100644 --- a/abs/core-testing/xorg-server/PKGBUILD +++ b/abs/core-testing/xorg-server/PKGBUILD @@ -1,42 +1,54 @@ +# $Id: PKGBUILD 21903 2008-12-17 20:32:54Z jgc $ +# Maintainer: Alexander Baldeck <kth5@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> pkgname=xorg-server -pkgver=1.4.2 -pkgrel=2 -_mesaver=7.0.3 +pkgver=1.5.3 +pkgrel=4 pkgdesc="X.Org X servers" arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org" -depends=('libxkbui' 'ncurses' 'libxxf86misc' 'libxfont' - 'libxaw' 'libxxf86vm' 'xcursor-themes' - 'xkeyboard-config' 'xorg-server-utils' 'xorg-utils' 'libdrm>=2.3.0' - 'xorg-fonts-misc' 'pixman>=0.10' 'xbitmaps') -makedepends=('pkgconfig' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' - 'xf86bigfontproto' 'resourceproto' 'evieext' 'damageproto>=1.1.0' - 'compositeproto>=0.4' 'scrnsaverproto' 'libxres' 'xorg-util-macros' - 'randrproto' 'glproto>=1.4.9' 'renderproto>=0.9.3' 'autoconf' - 'automake' 'libtool' 'bison' 'flex' 'gcc' 'libxrender' - 'libxfixes' 'quilt' 'mesa') +depends=('libx11>=1.1.5' 'libxkbui>=1.0.2' 'libgl' 'libxfont>=1.3.3' 'openssl>=0.9.8h' 'libxxf86misc>=1.0.1' 'libpciaccess>=0.10.5' 'libxv>=1.0.4' 'libxaw>=1.0.4' 'pixman>=0.11.10' 'hal>=0.5.11' 'xcursor-themes' 'xkeyboard-config>=1.3' 'xorg-server-utils' 'xorg-utils' 'xorg-fonts-misc' 'xbitmaps' 'libdrm>=2.3.1' 'diffutils' 'xf86-input-evdev') +makedepends=('glproto>=1.4.9' 'xf86driproto>=2.0.4' 'mesa>=7.2' 'randrproto>=1.2.2' 'renderproto>=0.9.3' 'scrnsaverproto>=1.1.0' 'fontsproto>=2.0.2' 'videoproto>=2.2.2' 'compositeproto>=0.4' 'trapproto>=3.4.3' 'resourceproto>=1.0.2' 'xineramaproto>=1.1.2' 'evieext>=1.0.2' 'libxkbfile>=1.0.5' 'libxmu>=1.0.4' 'libxpm>=3.5.7' 'libxxf86dga>=1.0.2' 'inputproto>=1.4.4' 'xcmiscproto>=1.1.2' 'bigreqsproto' 'libdrm=2.3.1' 'xtrans') options=('!libtool') provides=('x-server') groups=('xorg') install=xorg-server.install source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2 - http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2 - ftp://ftp.archlinux.org/other/xorg-server/xorg-server-patches-1.4.2-1.tar.bz2) -md5sums=('fa2915ae377f61c340a18ebef484b64b' - 'e6e6379d7793af40a6bc3ce1bace572e' - 'bc907d6d69b55b445c3046a4d7ecc8ef') + xserver-1.5-branch-4970d.patch + 001_fedora_extramodes.patch + xorg-redhat-die-ugly-pattern-die-die-die.patch + xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch + xserver-1.5.3-AEI-on-by-default.patch) +md5sums=('308971036e25250e7fe3cccfd5a120f8' + '61f9bb524501247dce647b218ad14347' + '033427f2b406cba8dd6103ff374e7156' + '1a336eb22e27cbf443ec5a2ecddfa93c' + '7b03ba9b75d795e4f7fdfaa550d97159' + '63d1d61d217005db7c23c4a98fc3e7eb') build() { - cd ${startdir}/src/${pkgname}-${pkgver} - quilt push -a || return 1 - libtoolize --force --copy || return 1 - aclocal || return 1 - autoconf || return 1 - automake --add-missing || return 1 + cd "${srcdir}/${pkgname}-${pkgver}" + # Upstream commits from server-1.5 branch + patch -Np1 -i "${srcdir}/xserver-1.5-branch-4970d.patch" || return 1 + + # extramodes + patch -Np1 -i "${srcdir}/001_fedora_extramodes.patch" || return 1 + + # Get rid of the ugly pattern + patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch" || return 1 + + # Patch from Fedora to fix FS#12248 + patch -Np1 -i "${srcdir}/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch" || return 1 + + # Upstream patch to fix evdev issues with >=2.1.0 + patch -Np1 -i "${srcdir}/xserver-1.5.3-AEI-on-by-default.patch" || return 1 + + # Fix dbus config path + sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.* || return 1 + ./configure --prefix=/usr \ - --with-mesa-source=${startdir}/src/Mesa-${_mesaver} \ --enable-ipv6 \ --enable-dri \ --disable-dmx \ @@ -51,39 +63,43 @@ build() { --enable-glx-tls \ --enable-xorgcfg \ --enable-kdrive \ + --enable-install-setuid \ + --enable-config-hal \ + --enable-config-dbus \ --disable-xfbdev \ --disable-xfake \ --disable-xsdl \ --disable-kdrive-vesa \ - --enable-install-setuid \ + --disable-dri2 \ --disable-xprint \ + --disable-static \ --sysconfdir=/etc/X11 \ --localstatedir=/var \ --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \ - --with-rgb-path=/usr/share/X11/rgb \ --with-xkb-path=/usr/share/X11/xkb \ - --with-xkb-output=/usr/share/X11/xkb/compiled \ - --with-dri-driver-path=/usr/lib/xorg/modules/dri \ - --disable-config-hal \ - --disable-static --enable-null-root-cursor + --with-xkb-output=/var/lib/xkb \ + --with-dri-driver-path=/usr/lib/xorg/modules/dri || return 1 make || return 1 - make DESTDIR=${startdir}/pkg install || return 1 + make DESTDIR="${pkgdir}" install || return 1 - install -m755 -d ${startdir}/pkg/etc/X11 || return 1 - install -m755 -d ${startdir}/pkg/var/lib || return 1 - mv ${startdir}/pkg/usr/share/X11/xkb/compiled ${startdir}/pkg/var/lib/xkb - ln -sf /var/lib/xkb ${startdir}/pkg/usr/share/X11/xkb/compiled || return 1 + rm -rf "${pkgdir}/var/log" || return 1 - cd ${startdir}/pkg/usr/lib/xorg/modules/extensions - mv libGLcore.so libGLcore.xorg - mv libglx.so libglx.xorg + install -m755 -d "${pkgdir}/etc/X11" || return 1 + install -m755 -d "${pkgdir}/var/lib/xkb" || return 1 # No longer needed, but as nvidia-utils mangles these files, # keep them like this so they can be restored - mv ${startdir}/pkg/usr/lib/xorg/modules/libwfb.so \ - ${startdir}/pkg/usr/lib/xorg/modules/libwfb.so.1.4 || return 1 + mv "${pkgdir}/usr/lib/xorg/modules/libwfb.so" \ + "${pkgdir}/usr/lib/xorg/modules/libwfb.so.1.4" || return 1 + + # 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" || return 1 + + mv "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.so" \ + "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.xorg" || return 1 - install -m755 -d ${startdir}/pkg/usr/share/licenses/${pkgname} - install -m644 ${startdir}/src/${pkgname}-${pkgver}/COPYING ${startdir}/pkg/usr/share/licenses/${pkgname}/ || return 1 + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1 } diff --git a/abs/core-testing/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch b/abs/core-testing/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch new file mode 100644 index 0000000..4e782f1 --- /dev/null +++ b/abs/core-testing/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch @@ -0,0 +1,16 @@ +Remove the default root window grey stipple pattern, replacing it with +blackness. + +--- xc/programs/Xserver/dix/window.c.die-ugly-pattern-die-die-die Tue Feb 12 16:33:04 2002 ++++ xc/programs/Xserver/dix/window.c Tue Feb 12 16:45:32 2002 +@@ -119,8 +119,8 @@ + * + ******/ + +-static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11}; +-static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88}; ++static unsigned char _back_lsb[4] = {0x00, 0x00, 0x00, 0x00}; ++static unsigned char _back_msb[4] = {0x00, 0x00, 0x00, 0x00}; + + int screenIsSaved = SCREEN_SAVER_OFF; + diff --git a/abs/core-testing/xorg-server/xorg-server.install b/abs/core-testing/xorg-server/xorg-server.install index f7ff03a..c67438d 100644 --- a/abs/core-testing/xorg-server/xorg-server.install +++ b/abs/core-testing/xorg-server/xorg-server.install @@ -1,12 +1,33 @@ post_install() { - rm -f /usr/lib/xorg/modules/libwfb.so - ln -sf libwfb.so.1.4 /usr/lib/xorg/modules/libwfb.so + rm -f usr/lib/xorg/modules/libwfb.so + ln -sf libwfb.so.1.4 usr/lib/xorg/modules/libwfb.so + + cmp usr/lib/xorg/modules/extensions/libdri.so usr/lib/xorg/modules/extensions/libglx.xorg >/dev/null 2>&1 && rm -f usr/lib/xorg/modules/extensions/libdri.so + + # If the symlink is dead or non-existent, remove it and make a new one + if [ ! -e usr/lib/xorg/modules/extensions/libdri.so ]; then + rm -f usr/lib/xorg/modules/extensions/libdri.so + ln -sf libdri.xorg usr/lib/xorg/modules/extensions/libdri.so + fi } post_upgrade() { + if [ "`vercmp $2 1.4.99.906`" -lt 0 ]; then + cat << _EOF + + Input device handling has changed in xorg-server 1.5. + Please read http://wiki.archlinux.org/index.php/Xorg_input_hotplugging. + +_EOF + fi post_install } post_remove() { rm -f /usr/lib/xorg/modules/libwfb.so + + # If the symlink is dead, remove it + if [ ! -e usr/lib/xorg/modules/extensions/libdri.so ]; then + rm -f usr/lib/xorg/modules/extensions/libdri.so + fi } diff --git a/abs/core-testing/xorg-server/xserver-1.5-branch-4970d.patch b/abs/core-testing/xorg-server/xserver-1.5-branch-4970d.patch new file mode 100644 index 0000000..23cdab0 --- /dev/null +++ b/abs/core-testing/xorg-server/xserver-1.5-branch-4970d.patch @@ -0,0 +1,246 @@ +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/config/x11-input.fdi xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/config/x11-input.fdi +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/config/x11-input.fdi 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/config/x11-input.fdi 2008-12-16 19:19:00.000000000 +0000 +@@ -64,8 +64,8 @@ + <merge key="input.x11_options.XkbRules" type="string">base</merge> + + <!-- If we're using Linux, we use evdev by default (falling back to +- keyboard otherwise). --> +- <merge key="input.x11_driver" type="string">keyboard</merge> ++ kbd otherwise). --> ++ <merge key="input.x11_driver" type="string">kbd</merge> + <merge key="input.x11_options.XkbModel" type="string">pc105</merge> + <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" + string="Linux"> +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/exa/exa_accel.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/exa/exa_accel.c +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/exa/exa_accel.c 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/exa/exa_accel.c 2008-12-16 19:19:00.000000000 +0000 +@@ -398,6 +398,10 @@ + RegionPtr srcregion = NULL, dstregion = NULL; + xRectangle *rects; + ++ /* avoid doing copy operations if no boxes */ ++ if (nbox == 0) ++ return; ++ + pSrcPixmap = exaGetDrawablePixmap (pSrcDrawable); + pDstPixmap = exaGetDrawablePixmap (pDstDrawable); + +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/common/xf86Helper.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/common/xf86Helper.c +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/common/xf86Helper.c 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/common/xf86Helper.c 2008-12-16 19:19:00.000000000 +0000 +@@ -448,10 +448,6 @@ + #define GLOBAL_DEFAULT_DEPTH 24 + #endif + +-#ifndef GLOBAL_DEFAULT_FBBPP +-#define GLOBAL_DEFAULT_FBBPP 32 +-#endif +- + _X_EXPORT Bool + xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int dummy, int fbbpp, + int depth24flags) +@@ -529,7 +525,6 @@ + if (depth > 0) + scrp->depth = depth; + } else { +- scrp->bitsPerPixel = GLOBAL_DEFAULT_FBBPP; + scrp->depth = GLOBAL_DEFAULT_DEPTH; + } + } +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/os-support/linux/int10/linux.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/os-support/linux/int10/linux.c +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/os-support/linux/int10/linux.c 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/os-support/linux/int10/linux.c 2008-12-16 19:19:00.000000000 +0000 +@@ -1,6 +1,6 @@ + /* + * linux specific part of the int10 module +- * Copyright 1999, 2000, 2001, 2002, 2003, 2004 Egbert Eich ++ * Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2008 Egbert Eich + */ + #ifdef HAVE_XORG_CONFIG_H + #include <xorg-config.h> +@@ -357,7 +357,10 @@ + "shmat(low_mem) error: %s\n",strerror(errno)); + return FALSE; + } +- ++ if (mprotect((void*)0, V_RAM, PROT_READ|PROT_WRITE|PROT_EXEC) != 0) ++ xf86DrvMsg(pInt->scrnIndex, X_ERROR, ++ "Cannot set EXEC bit on low memory: %s\n", strerror(errno)); ++ + if (((linuxInt10Priv*)pInt->private)->highMem >= 0) { + addr = shmat(((linuxInt10Priv*)pInt->private)->highMem, + (char*)HIGH_MEM, 0); +@@ -368,6 +371,11 @@ + "shmget error: %s\n",strerror(errno)); + return FALSE; + } ++ if (mprotect((void*)HIGH_MEM, HIGH_MEM_SIZE, ++ PROT_READ|PROT_WRITE|PROT_EXEC) != 0) ++ xf86DrvMsg(pInt->scrnIndex, X_ERROR, ++ "Cannot set EXEC bit on high memory: %s\n", ++ strerror(errno)); + } else { + if ((fd = open(DEV_MEM, O_RDWR, 0)) >= 0) { + if (mmap((void *)(V_BIOS), SYS_BIOS - V_BIOS, +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaa.h xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaa.h +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaa.h 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaa.h 2008-12-16 19:19:00.000000000 +0000 +@@ -2,6 +2,10 @@ + #ifndef _XAA_H + #define _XAA_H + ++#define XAA_VERSION_MAJOR 1 ++#define XAA_VERSION_MINOR 2 ++#define XAA_VERSION_RELEASE 1 ++ + /* + + ******** OPERATION SPECIFIC FLAGS ********* +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaaInitAccel.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaaInitAccel.c +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaaInitAccel.c 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaaInitAccel.c 2008-12-16 19:19:00.000000000 +0000 +@@ -103,7 +103,9 @@ + MODINFOSTRING1, + MODINFOSTRING2, + XORG_VERSION_CURRENT, +- 1, 2, 0, ++ XAA_VERSION_MAJOR, ++ XAA_VERSION_MINOR, ++ XAA_VERSION_RELEASE, + ABI_CLASS_VIDEODRV, /* requires the video driver ABI */ + ABI_VIDEODRV_VERSION, + MOD_CLASS_NONE, +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaawrap.h xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaawrap.h +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaawrap.h 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaawrap.h 2008-12-16 19:19:00.000000000 +0000 +@@ -48,8 +48,8 @@ + XAAPixmapPtr pixPriv = XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pDraw));\ + GCFuncs *oldFuncs = pGC->funcs;\ + pGC->funcs = pGCPriv->wrapFuncs;\ +- pGC->ops = pGCPriv->wrapOps +- ++ pGC->ops = pGCPriv->wrapOps; \ ++ SYNC_CHECK(pGC) + + #define XAA_PIXMAP_OP_EPILOGUE(pGC)\ + pGCPriv->wrapOps = pGC->ops;\ +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/mi/miinitext.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/mi/miinitext.c +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/mi/miinitext.c 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/mi/miinitext.c 2008-12-16 19:19:00.000000000 +0000 +@@ -661,7 +661,8 @@ + #endif + + #ifdef GLXEXT +- GlxPushProvider(&__glXDRISWRastProvider); ++ if (serverGeneration == 1) ++ GlxPushProvider(&__glXDRISWRastProvider); + if (!noGlxExtension) GlxExtensionInit(); + #endif + } +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/os/utils.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/os/utils.c +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/os/utils.c 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/os/utils.c 2008-12-16 19:19:00.000000000 +0000 +@@ -1702,7 +1702,7 @@ + int pid; + } *pidlist; + +-void (*old_alarm)(int) = NULL; /* XXX horrible awful hack */ ++OsSigHandlerPtr old_alarm = NULL; /* XXX horrible awful hack */ + + pointer + Popen(char *command, char *type) +@@ -1726,7 +1726,7 @@ + } + + /* Ignore the smart scheduler while this is going on */ +- old_alarm = signal(SIGALRM, SIG_IGN); ++ old_alarm = OsSignal(SIGALRM, SIG_IGN); + if (old_alarm == SIG_ERR) { + perror("signal"); + return NULL; +@@ -1737,7 +1737,7 @@ + close(pdes[0]); + close(pdes[1]); + xfree(cur); +- if (signal(SIGALRM, old_alarm) == SIG_ERR) ++ if (OsSignal(SIGALRM, old_alarm) == SIG_ERR) + perror("signal"); + return NULL; + case 0: /* child */ +@@ -1914,7 +1914,7 @@ + /* allow EINTR again */ + OsReleaseSignals (); + +- if (old_alarm && signal(SIGALRM, old_alarm) == SIG_ERR) { ++ if (old_alarm && OsSignal(SIGALRM, old_alarm) == SIG_ERR) { + perror("signal"); + return -1; + } +diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/xkb/xkbEvents.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/xkb/xkbEvents.c +--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/xkb/xkbEvents.c 2008-11-05 20:39:01.000000000 +0000 ++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/xkb/xkbEvents.c 2008-12-16 19:19:00.000000000 +0000 +@@ -109,7 +109,7 @@ + register CARD16 changed,bState; + + interest = kbd->xkb_interest; +- if (!interest) ++ if (!interest || !kbd->key || !kbd->key->xkbInfo) + return; + xkbi = kbd->key->xkbInfo; + state= &xkbi->state; +@@ -168,6 +168,9 @@ + unsigned time = 0,initialized; + CARD16 changed; + ++ if (!kbd->key || !kbd->key->xkbInfo) ++ return; ++ + xkbi = kbd->key->xkbInfo; + initialized= 0; + +@@ -291,7 +294,7 @@ + Time time = 0; + + interest = kbd->xkb_interest; +- if (!interest) ++ if (!interest || !kbd->key || !kbd->key->xkbInfo) + return; + xkbi = kbd->key->xkbInfo; + +@@ -401,6 +404,9 @@ + Time time = 0; + XID winID = 0; + ++ if (!kbd->key || !kbd->key->xkbInfo) ++ return; ++ + xkbi = kbd->key->xkbInfo; + + if ((force||(xkbi->desc->ctrls->enabled_ctrls&XkbAudibleBellMask))&& +@@ -616,11 +622,12 @@ + XkbInterestPtr interest; + Time time = 0; + +- xkbi = kbd->key->xkbInfo; + interest = kbd->xkb_interest; +- if (!interest) ++ if (!interest || !kbd->key || !kbd->key->xkbInfo) + return; + ++ xkbi = kbd->key->xkbInfo; ++ + initialized = 0; + pEv->mods= xkbi->state.mods; + pEv->group= xkbi->state.group; +@@ -996,6 +1003,10 @@ + ClientPtr client = NULL; + + found= False; ++ ++ if (!dev->key || !dev->key->xkbInfo) ++ return found; ++ + autoCtrls= autoValues= 0; + if ( dev->xkb_interest ) { + interest = dev->xkb_interest; diff --git a/abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch b/abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch new file mode 100644 index 0000000..2ac6095 --- /dev/null +++ b/abs/core-testing/xorg-server/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch @@ -0,0 +1,69 @@ +From 638cab7e1dc3711f7fb04155bcdabf4b8895cc5e Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +Date: Mon, 4 Aug 2008 17:08:36 +0930 +Subject: [PATCH] xfree86: force SwitchCoreKeyboard for evdev devices (updated). + +If an evdev keyboard device is added through the HAL mechanism, force a +SwitchCoreKeyboard to load the evdev map into the VCK. This way, by the time a +client starts the evdev keymap is already there, leading to less pain lateron. + +Works if: +- all keyboards are hotplugged through HAL, and/or +- the xorg.conf keyboard uses the kbd driver. + +Has no effect (i.e. busted keymaps) if: +- an evdev keyboard device has been specified in the xorg.conf. +- we don't have a device at startup and plug a device in after starting the + desktop environment. +- if the device we use isn't the first one reported by HAL. + +If HAL isn't set up, this patch is a noop. +--- + hw/xfree86/common/xf86Xinput.c | 31 +++++++++++++++++++++++++++++++ + 1 files changed, 31 insertions(+), 0 deletions(-) + +diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c +index 710e787..dacc3dc 100644 +--- a/hw/xfree86/common/xf86Xinput.c ++++ b/hw/xfree86/common/xf86Xinput.c +@@ -423,6 +423,37 @@ NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev) + (!is_auto || xf86Info.autoEnableDevices)) + EnableDevice(dev); + ++ /* XXX: The VCK always starts with built-in defaults for keymap. These ++ * defaults are different to the evdev ones. When the first key is hit on ++ * an extension device, the keymap is copied into the VCK's and any ++ * changes made at runtime to the VCK map are lost. ++ * ++ * Assumption: if we have at least one evdev keyboard device, we can ++ * ignore kbd devices. Force a SwitchCoreKeyboard so the VCK has the same ++ * keymap as we do. ++ * ++ * Next time we hit a key, we don't change the map over anymore (see ++ * SwitchCoreKeyboard), and live happily ever after. ++ * Until we have 2 physical keyboards. Or the first real keyboard isn't ++ * actually the one we use. Oh well. ++ * ++ */ ++ if (dev->key) ++ { ++ InputInfoPtr info; ++ ++ /* Search if there is one other keyboard that uses evdev. */ ++ for (info = xf86InputDevs; info; info = info->next) ++ { ++ if (info != pInfo && info->dev && info->dev->key && ++ (strcmp(info->drv->driverName, "evdev") == 0)) ++ break; ++ } ++ ++ if (!info) ++ SwitchCoreKeyboard(dev); ++ } ++ + *pdev = dev; + return Success; + +-- +1.5.5.1 + diff --git a/abs/core-testing/xorg-server/xserver-1.5.3-AEI-on-by-default.patch b/abs/core-testing/xorg-server/xserver-1.5.3-AEI-on-by-default.patch new file mode 100644 index 0000000..d6cdf83 --- /dev/null +++ b/abs/core-testing/xorg-server/xserver-1.5.3-AEI-on-by-default.patch @@ -0,0 +1,108 @@ +From 15bf414daa83967fd1f24bd48bd01ea941c11ce2 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@redhat.com> +Date: Thu, 13 Nov 2008 10:17:33 +1000 +Subject: [PATCH] xfree86: AllowEmptyInput is true by default - update the xf86Info defaults. + +Also set AutoAddDevices and AutoEnableDevices to their defaults. + +And in doing so, switch the rest of the defaults over to named intializers. + +Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> +(cherry picked from commit 0b56b44addc323a00eb7cd86240cb0dd4275bcf8) + +Conflicts: + + hw/xfree86/common/xf86Globals.c +--- + hw/xfree86/common/xf86Globals.c | 69 ++++++++++++++++++++------------------ + 1 files changed, 36 insertions(+), 33 deletions(-) + +diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c +index f5babbc..a5edd82 100644 +--- a/hw/xfree86/common/xf86Globals.c ++++ b/hw/xfree86/common/xf86Globals.c +@@ -95,45 +95,48 @@ InputInfoPtr xf86InputDevs = NULL; + /* Globals that video drivers may not access */ + + xf86InfoRec xf86Info = { +- -1, /* consoleFd */ +- -1, /* vtno */ +- FALSE, /* vtSysreq */ +- SKWhenNeeded, /* ddxSpecialKeys */ +- NULL, /* pMouse */ ++ .consoleFd = -1, ++ .vtno = -1, ++ .vtSysreq = FALSE, ++ .ddxSpecialKeys = SKWhenNeeded, ++ .pMouse = NULL, + #ifdef XINPUT +- NULL, /* mouseLocal */ ++ .mouseLocal = NULL, + #endif +- -1, /* lastEventTime */ +- FALSE, /* vtRequestsPending */ +- FALSE, /* inputPending */ +- FALSE, /* dontVTSwitch */ +- FALSE, /* dontZap */ +- FALSE, /* dontZoom */ +- FALSE, /* notrapSignals */ +- FALSE, /* caughtSignal */ +- FALSE, /* sharedMonitor */ +- NULL, /* currentScreen */ ++ .lastEventTime = -1, ++ .vtRequestsPending = FALSE, ++ .inputPending = FALSE, ++ .dontVTSwitch = FALSE, ++ .dontZap = FALSE, ++ .dontZoom = FALSE, ++ .notrapSignals = FALSE, ++ .caughtSignal = FALSE, ++ .sharedMonitor = FALSE, ++ .currentScreen = NULL, + #ifdef CSRG_BASED +- -1, /* screenFd */ +- -1, /* consType */ ++ .screenFd = -1, ++ .consType = -1, + #endif +- FALSE, /* allowMouseOpenFail */ +- TRUE, /* vidModeEnabled */ +- FALSE, /* vidModeAllowNonLocal */ +- TRUE, /* miscModInDevEnabled */ +- FALSE, /* miscModInDevAllowNonLocal */ +- PCIOsConfig, /* pciFlags */ +- Pix24DontCare, /* pixmap24 */ +- X_DEFAULT, /* pix24From */ ++ .allowMouseOpenFail = FALSE, ++ .vidModeEnabled = TRUE, ++ .vidModeAllowNonLocal = FALSE, ++ .miscModInDevEnabled = TRUE, ++ .miscModInDevAllowNonLocal = FALSE, ++ .pciFlags = PCIOsConfig, ++ .pixmap24 = Pix24DontCare, ++ .pix24From = X_DEFAULT, + #ifdef __i386__ +- FALSE, /* pc98 */ ++ .pc98 = FALSE, + #endif +- TRUE, /* pmFlag */ +- LogNone, /* syncLog */ +- 0, /* estimateSizesAggressively */ +- FALSE, /* kbdCustomKeycodes */ +- FALSE, /* disableRandR */ +- X_DEFAULT /* randRFrom */ ++ .pmFlag = TRUE, ++ .log = LogNone, ++ .estimateSizesAggressively = 0, ++ .kbdCustomKeycodes = FALSE, ++ .disableRandR = FALSE, ++ .randRFrom = X_DEFAULT, ++ .allowEmptyInput = TRUE, ++ .autoAddDevices = TRUE, ++ .autoEnableDevices = TRUE + }; + const char *xf86ConfigFile = NULL; + const char *xf86InputDeviceList = NULL; +-- +1.6.0.3 + |