Building xserver 1.6 for Xorg 7.5

Update: As explained in other posts, I’m no longer using this xserver version myself. So this stays here, but I’m not planning to update it in any manner.

The goal of the xserver downgrading is to run intel IEGD drivers on recent GNU/Linux distribution (debian squeese in my case). This seams to be the only maintained driver for the US15W GMA500 (poulsbo) chipset.


The first step was to get the packages from The Debian X Strike Force git repositories.

The xorg-server.git repository is the one building the xserver itself. So I basically branched from the tag xorg-server-2_1.6.5-1. And cherry picked some later changes to have it compile with current (1.7) xorg-server builddep.

Once done, I recompiled some drivers (most inputs and video-vesa) using the newly build xserver-xorg-dev package. (to use ABI 4.0 for input and 5.0 for video).

Finally I build the Xorg meta package to get the xserver-xorg dependencies correct so that aptitude stop complaining (installing with dpkg -i can really mess up aptitude) however I had to hold the xserver-xorg-core and xserver-xorg-dev packages to avoid automatic upgrade by aptitude.

I’ve named my branches xorg7.5+xs1.6 on git, and used the same prefix in the debian packages version.

This work is available on my gitweb page, you can clone from here.
Also the compiled and source packages are on my personal debian repository.

About the IEGD drivers, following their guide for copying files is basically OK. However to build the kernel module I followed instructions on nanoANT: Compiling kernel IEGD 10.x module for any Linux distribution. Except that I hardcoded most path in the makefile and used the linux-source-2.6.32 package and not and apt-get source linux-image-... as suggested.

One point to note is that I had to write an xorg.conf, basically the keyboard and touchpad was not detected without it (I think xorg switched from hal to udev for driver detection or something like that. As I’m recompiling an older version, It’s probably not in sync with the configuration of hal and udev) so here it is:

Section "ServerFlags"
	Option "Xinerama" "False"
	Option "AllowMouseOpenFail" "1"
	Option "BlankTime" "0"
	#...
	Option "AIGLX" "False"
	Option "GlxVisuals" "all"
EndSection
Section "InputDevice"
	Identifier "clavier"
	Driver "evdev"
	Option "Device" "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
	Option "xkb_rules" "evdev"
	Option "xkb_model" "pc105"
	Option "xkb_layout" "fr"
	Option "xkb_variant" "latin9"
EndSection
Section "InputDevice"
	Identifier "SynPS/2 Synaptics TouchPad
	Driver "synaptics"
	Option "Device" "/dev/input/by-path/platform-i8042-serio-1-event-mouse"
EndSection
Section "Device"
	Identifier	"Intel US15W GMA500 Device 0"
	Driver	"iegd"
EndSection
Section "Screen"
	Identifier	"LCD Panel Screen 0"
	Device	"Intel US15W GMA500 Device 0"
EndSection
Section "Device"
	Identifier	"Builtin Default vesa Device 0"
	Driver	"vesa"
EndSection
Section "Screen"
	Identifier	"Builtin Default vesa Screen 0"
	Device	"Builtin Default vesa Device 0"
EndSection
Section "ServerLayout"
	Identifier	"Builtin Default Layout"
	Screen	"LCD Panel Screen 0"
	Screen	"Builtin Default vesa Screen 0"
	InputDevice "clavier"
	InputDevice "SynPS/2 Synaptics TouchPad
EndSection

In order to improve the input detection, I want to try building an xserver based on 1.6 but merging all the changes on input ABI so that I can directly use the xorg 7.5 packages for input drivers. I still have to try it, but basically I think IEGD only need the video ABI to be version 5.0 as xserver 1.6 was, the rest could be as in 1.7 (or later!).

12 thoughts on “Building xserver 1.6 for Xorg 7.5

  1. cgriffith

    Well, I applaud your efforts. Please let me know how it goes. I have tried this with archlinux. I build a custom 2.6.31 kernel, used outdated arch xserver 1.6 packages, built the IKM kernel module, and copied all binaries as discussed at nanoant.com. Basically, it works, but not very stable. Would love to hear how things went for you.

  2. Corrado

    Hi, unfortunately your post is a bit too much technical for my poor linux knowledge. You’ve been able to tun current linux drivers with the latest version of x.org??

  3. Julien Post author

    To cgriffith,

    Well, I could say the same, it works but not very stable. :)
    To be more precise, I encounter some X freeze from time to time, and the only way out seams to be a reboot.
    However in those case the network still works, so I can connect from a remote machine and kill some stuff or recover some files, but I always end with a sudo reboot to get the screen back.

    I’d like to know what you ment by “not very stable”.

    I also like to know if some other users of IEGD drivers on some other distro experience stability issues.

  4. Julien Post author

    To Corrado,

    It’s more the oposite, I tuned xserver (the part of xorg that’s controling the screen, keyboard, mouse, etc.) to be compatible with intel’s IEGD driver. And it runs but it’s not perfect as I’ve just written above.

  5. cgriffith

    Well, just to be clear, I did not alter xserver like you have. I only meant that I also have tried to use IEGD drivers for archlinux distro (i.e. not officially suppported and on rolling release) by building custom kernel and downgrading xserver packages. However, my system was never stable enough to make it worth it. And my netbook needs to be able to suspend/resume.

    By unstable I mean, freezing, not being able to suspend/resume, not being able to switch to virtual terminals, and oddities with touchpad that only exist when I use this driver.

    I have heard from Intel employee on intel forum that they will need to update IEGD to work with meego release that will have kernel 2.6.32 and xserver 1.8. He did not say when though.

  6. Julien Post author

    OK, I have similar issues, so I guess most comes from IEGD and not my build of xserver… too bad!
    I can live with the VT issue, and suspend/resume issue. But the server freeze is really a pain!

    About intel’s release, I guess we just have to wait.

    Anyway, thanks for your answers.

  7. Julien Post author

    To lucazade,

    First this is highly experimental. See the above response for details.

    It was build for debian and using some debian Xorg packages. Ubuntu probably have a different version of some packages (actually I don’t know) if not, you can try recompiling my packages by taking the sources packages.
    About IEGD, the official drivers are on intel’s website: http://edc.intel.com/Software/Downloads/IEGD/. About the packages on launchpad, you should ask it’s author about it.

    Or you can try debian ;)

    In any case be prepared to hack a little and recompile some stuff (the intel IKM at first).

  8. Mattia

    Hi lucadze, i’ ve talk with the autor, and the driver works fine with this xorg:

    Section “Device”
    Identifier “GMA500″
    Driver “iegd”
    EndSection

    Section “ServerFlags”
    Option “AIGLX” “false”
    EndSection

    And deleting the splash option in grub cmdline option

    sudo gedit /etc/default/grub
    GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
    GRUB_CMDLINE_LINUX_DEFAULT=”quiet”

  9. flattermann

    Could you please also add the xserver-xorg-input-evtouch deb to your repo?

    The compilation is straight forward, like the other xserver-xorg-input-* debs (you only need to change the minimum xserver version).

    That’s the only xserver .deb that is required if you install Debian on the O2 Joggler (besides the .debs in your repo).

  10. Julien Post author

    To flattermann,

    I’ve added the xserver-xorg-input-evtouch package.

    To rebuild it I also had a small issue with the HAVE_LABELS macro that is not defined so the other macros were not found… see the diff.

Comments are closed.