[xorg] Xinerama avec xorg-server 1.6
Publié : lun. 13 avr. 2009, 18:56
En mettant à jour xorg en version 1.6, j'ai eu de magnifiques problèmes avec xinerama:
- il y avait un curseur par écran (un seul de mobile mais le dernier emplacemen sur les deux autres était affiché ...)
- crash violent en appuyant sur Backspace / maintenant certaines touches ...
Solution:
Dans un répertoire de votre choix:
pour récupérer PKGBUILD et autres patchs/.install
puis on télécharge les patchs suivants:
Ensuite il faut utiliser ce PKGBUILD pour reconstruire le pkg xorg-server:
Pour ceux qui sont en 32 bits le pkg est là déjà tout compilé: http://arnaud.fortier.free.fr/archlinux ... pkg.tar.gz
yaourt -U xorg-server-1.6.0-4-i686.pkg.tar.gz
Et hop !
En attendant qu'on m'explique comment utiliser xrandr avec 2 cartes et 3 écrans ...
- il y avait un curseur par écran (un seul de mobile mais le dernier emplacemen sur les deux autres était affiché ...)
- crash violent en appuyant sur Backspace / maintenant certaines touches ...
Solution:
Dans un répertoire de votre choix:
Code : Tout sélectionner
yaourt -G xorg-server
puis on télécharge les patchs suivants:
Code : Tout sélectionner
wget http://cvs.fedoraproject.org/viewvc/rpms/xorg-x11-server/devel/xserver-1.6.0-xinerama-crashes.patch?revision=1.1
wget http://cvs.fedoraproject.org/viewvc/rpms/xorg-x11-server/devel/xserver-1.6.0-xinerama-cursors.patch?revision=1.1
Code : Tout sélectionner
# $Id$
# Maintainer: Alexander Baldeck <kth5@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-server
pkgver=1.6.0
pkgrel=4
pkgdesc="X.Org X servers"
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org"
depends=('hal>=0.5.11' 'libgl' 'libxfont>=1.4.0' 'openssl>=0.9.8j' 'libpciaccess>=0.10.5' 'libxv>=1.0.4' 'pixman>=0.14.0' 'xcursor-themes' 'xkeyboard-config>=1.5' 'xorg-server-utils' 'xorg-fonts-misc' 'xbitmaps' 'diffutils' 'xf86-input-evdev>=2.1.3')
makedepends=('libx11>=1.2' 'mesa>=7.4' 'xf86driproto>=2.0.4' 'xtrans>=1.2.3' 'libxkbfile>=1.0.5' 'randrproto>=1.3.0' 'renderproto>=0.9.3' 'xcmiscproto>=1.1.2' 'bigreqsproto>=1.0.2' 'resourceproto>=1.0.2' 'videoproto>=2.2.2' 'compositeproto>=0.4' 'scrnsaverproto>=1.1.0' 'resourceproto>=1.0.2' 'libxinerama>=1.0.3' 'xf86dgaproto>=2.0.3' 'recordproto>=1.13.2' 'libgl>=7.4' 'glproto>=1.4.9')
conflicts=('catalyst-utils<=9.2')
options=('!libtool')
provides=('x-server')
groups=('xorg')
install=xorg-server.install
source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
xorg-redhat-die-ugly-pattern-die-die-die.patch
server-1.6.patch
hal-wait.patch
xserver-1.6.0-xinerama-crashes.patch
xserver-1.6.0-xinerama-cursors.patch)
md5sums=('aafe73f5807ce8bb534727ecb72467c7'
'1a336eb22e27cbf443ec5a2ecddfa93c'
'064559385557ad02432a1e800b92b14e'
'f16d2caef84e1a9c4075b6c5e145512d'
'fdb4fb466459c32c897ee3b405b6f849'
'a30429f7c2114e7170d62858472ec102')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
# Get rid of the ugly pattern
patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch" || return 1
# Upstream fixes from server-1.6 branch
patch -Np1 -i "${srcdir}/server-1.6.patch" || return 1
# Revert waiting for hal, assume hal won't show up when initial connect fails
patch -R -Np1 -i "${srcdir}/hal-wait.patch" || return 1
# Avoid Crashes when Xinerama is enabled
patch -Np1 -i "${srcdir}/xserver-1.6.0-xinerama-crashes.patch" || return 1
# Avoid Cursors problem with xinerama
patch -Np1 -i "${srcdir}/xserver-1.6.0-xinerama-cursors.patch" || return 1
# Fix dbus config path
sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.* || return 1
libtoolize --force || return 1
aclocal || return 1
autoconf || return 1
automake --add-missing || return 1
./configure --prefix=/usr \
--enable-ipv6 \
--enable-dri \
--disable-dmx \
--enable-xvfb \
--enable-xnest \
--enable-composite \
--enable-xcsecurity \
--enable-xorg \
--enable-xephyr \
--enable-glx-tls \
--enable-kdrive \
--enable-install-setuid \
--enable-config-hal \
--enable-config-dbus \
--enable-record \
--disable-xfbdev \
--disable-xfake \
--disable-xsdl \
--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-xkb-path=/usr/share/X11/xkb \
--with-xkb-output=/var/lib/xkb \
--with-dri-driver-path=/usr/lib/xorg/modules/dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
rm -rf "${pkgdir}/var/log" || return 1
install -m755 -d "${pkgdir}/etc/X11" || return 1
install -m755 -d "${pkgdir}/var/lib/xkb" || 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
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
yaourt -U xorg-server-1.6.0-4-i686.pkg.tar.gz
Et hop !
En attendant qu'on m'explique comment utiliser xrandr avec 2 cartes et 3 écrans ...