You are not logged in.

#1 2008-12-26 01:01:26

kludge
Member
Registered: 2008-08-03
Posts: 294

HOWTO: xorg-server with no hal dependency (was: xorg-server-screw-hal)

it annoys me that hal and evdev are hard depends of xorg-server-1.5.3 and autoAddDevices is enabled by default.  i realize the fix is actually fairly trivial, but there's just someting inelegant about installing a package, disabling a feature, then uninstalling the dependencies for that feature.  so here's a PKGBUILD that suits my taste.  maybe it'll make your life just a bit easier.

EDIT: SCRATCH EVERYTHING BELOW.  the change to the patch will almost guarantee failure if you do this my way.  it doesn't change the default config; it removes the configuration option enitrely.  i get 'epic fail' for that one.  also, x still complains and fails to start if libhal.so.1 is missing, even if you're not using it.  grrrr....

p.s.: you'll want to open xserver-1.5.3-AEI-on-by-default.patch, go to line 101, and change TRUE to FALSE.  this turns off autoAddDevices by default.  then run makepkg -g and replace the last md5 sum with the new for the changed patch file.

# $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.5.3
pkgrel=1
pkgdesc="X.Org X servers" 
arch=('i686' 'x86_64')
license=('custom') 
url="http://xorg.freedesktop.org"
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' 'xcursor-themes'
'xkeyboard-config>=1.3' 'xorg-server-utils' 'xorg-utils'
'xorg-fonts-misc' 'xbitmaps' 'libdrm>=2.3.1' 'diffutils')
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') 
optdepends=( 'xf86-input-evdev: to provide input device hotplugging'/
    'hal>=0.5.11: to provide input devices for hotplugging' )
options=('!libtool')
provides=('x-server')
groups=('xorg') 
install=xorg-server.install 
source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
    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-AAD-off.patch) 
md5sums=('308971036e25250e7fe3cccfd5a120f8'
         '61f9bb524501247dce647b218ad14347'
         '033427f2b406cba8dd6103ff374e7156'
         '1a336eb22e27cbf443ec5a2ecddfa93c'
         '7b03ba9b75d795e4f7fdfaa550d97159'
         '06e2c673e83b8210c528e27b4051790d')
 
build() {
  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 \
              --enable-ipv6 \
              --enable-dri \
              --disable-dmx \
              --enable-xvfb \
              --enable-xnest \
              --enable-composite \
              --enable-xcsecurity \
              --enable-xorg \
              --enable-xtrap \
              --enable-xevie \
          --enable-xephyr \
              --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 \
          --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-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
 
  # No longer needed, but as nvidia-utils mangles these files, keep them 
  # like this so they can be restored
  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 "${pkgdir}/usr/share/licenses/${pkgname}"
  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}

Last edited by kludge (2009-01-04 20:41:22)


[23:00:16]    dr_kludge | i want to invent an olfactory human-computer interface, integrate it into the web standards, then produce my own forked browser.
[23:00:32]    dr_kludge | can you guess what i'd call it?
[23:01:16]    dr_kludge | nosilla.
[23:01:32]    dr_kludge | i really should be going to bed.  i'm giggling madly about that.

Offline

#2 2009-01-03 16:07:10

Ulf
Member
Registered: 2007-08-26
Posts: 46

Re: HOWTO: xorg-server with no hal dependency (was: xorg-server-screw-hal)

Thanks for your update smile Unfortunately xorg/Hal still wants to load things using evdev. It broke my wacom tablet setup again...*sigh*

[rantmode]
It's always the same...xorg guys invent new technology which doesn't work, probably only for their little systems with just a keyboard and a monitor. All this hotplugging seriously sounds like some technology a little firm in Redmond invented called Plug and Pray. You still need shitload of drivers disks to get their os's working. Why don't they test this stuff seriously. When i look in the forums i see lot's of issues with it. And yes on the wiki there is help to get rid of this hotplugging and no, it does not work as Kludge rightly remarks. I don't need hotplugging, really...i got one keyboard, one tablet and one mouse....if i buy another mouse it will be almost the same and i know how to edit xorg.conf...on that note, i don't want policykit and all that other useless stuff...The dbus/hal can do a lot of things these days that are indeed nice but they are a nightmare to configure, not bulletproof and introduce enough new bugs to put that whole suite in testing for the next couple of years...[/rantmode]

Well guess i have to install my old xorg-server somehow...

Offline

#3 2009-01-04 20:37:16

kludge
Member
Registered: 2008-08-03
Posts: 294

Re: HOWTO: xorg-server with no hal dependency (was: xorg-server-screw-hal)

ok, so i'm almost embarassed to post this.  it's actually pretty trivial.  nevertheless, might as well finish what i've started.

re-statement of the problem:

1) xorg-server 1.5.3 depends on hal and evdev in order to provide input hotplugging.

2) input hotplugging can be turned off, as decsribed here: Arch Wiki Xinput Hotplugging Page.  however, x still requires libhal.so.1 at runtime or it fails.  (it took me ages of googling to figure out that this is indeed the case.)

3) therefore, xorg-server must be rebuilt without hal if you'd like to run v.1.5.3 without installing hal.

how-to correct it:

1) sync abs tree

2) copy xorg-server from the abs tree to your local build directory

3) remove 'hal' and 'xf86-input-evdev' from the depends array

4) change --enable-config-{hal,dbus} to --disable-config-{hal,dbus}  (apparently the server has *some* support for input hotplugging through dbus without hal.  apparently, it also sucked.  so my method is to turn off both, entirely.)

5) makepkg

6) pacman -U

7) add xorg-server to IgnorePkg in /etc/pacman.conf.  the next time xorg-server is upgraded, pacman -Syu will give you a warning and the opportunity to exit.  this is your notice to rebuild and upgrade your local xorg-server.

8?) i suppose you could go through the patches that are applied to xorg-server and figure out which aren't needed.  that would be all neat and clean, but probably not necessary.


[23:00:16]    dr_kludge | i want to invent an olfactory human-computer interface, integrate it into the web standards, then produce my own forked browser.
[23:00:32]    dr_kludge | can you guess what i'd call it?
[23:01:16]    dr_kludge | nosilla.
[23:01:32]    dr_kludge | i really should be going to bed.  i'm giggling madly about that.

Offline

#4 2009-01-05 07:06:47

Ulf
Member
Registered: 2007-08-26
Posts: 46

Re: HOWTO: xorg-server with no hal dependency (was: xorg-server-screw-hal)

Thanks for the heads up.  Will give it a shot. I noticed with unloading and loading my wacom module that hal/kernel/whatever every time link them to a higher /class/input/input[n], starts with 6, then 7 etc. When running X i can use the mouse and tablet but as soon as i lift the pen of the tablet it stops working. I notice in Xorg.0.log that hal/xorg added an extra mouse (apparently something Mac-ish). I hope without the hal and dbus everything is back to normal...

Offline

#5 2009-01-05 07:38:27

kludge
Member
Registered: 2008-08-03
Posts: 294

Re: HOWTO: xorg-server with no hal dependency (was: xorg-server-screw-hal)

if i've got my shit straight, then with hal-config disabled, xorg falls back to exclusive reliance on the traditional xorg.conf input device definitions.  i seem to recall reports of certain other input drivers hopping on the hal train (synaptics, perhaps?), so they may need to be rebuilt as well.  ymmv, but i hope it helps!


[23:00:16]    dr_kludge | i want to invent an olfactory human-computer interface, integrate it into the web standards, then produce my own forked browser.
[23:00:32]    dr_kludge | can you guess what i'd call it?
[23:01:16]    dr_kludge | nosilla.
[23:01:32]    dr_kludge | i really should be going to bed.  i'm giggling madly about that.

Offline

#6 2009-01-11 18:04:34

Ulf
Member
Registered: 2007-08-26
Posts: 46

Re: HOWTO: xorg-server with no hal dependency (was: xorg-server-screw-hal)

Hmmmm well, still no luck with the wacom. I did install debian on the same computer so same hardware setup and still had an issue with the wacom (aka, it works until i lift it from the tablet). Seems it doesn't matter after all if hotplugging is enabled or not. Anyway, good riddance of evdev and hal, i don't like them, specially not evdev.

I'll guess i have to file a bug report at the wacom mailinglists

Thanks for the trouble/time Kludge.

Offline

Board footer

Powered by FluxBB