Since information on Google seems to be a bit hard to get and I wanted a central point for all the information, here it is.

Please note:
This information modifies files on your computer. After modification your computer may not work anymore which may result in loss of data. If this, or worse, happens don’t complain, you have been warned.

(K)ubuntu version
The question is what to use for this installation. My personal choice is to use Kubuntu. So everything here has only been tested with that particular distribution. Since nothing I have done has anything to do with either KDE or GNOME, everything should apply to all variations of ubuntu.

The second question was, what version should I use. Gutsy has the advantage that it supports OpenGL 3D effect (screensavers, beryl and Google Dekstop) out of the box. Feisty will freeze if you run those applications. But Gutsy still is very unstable and has a lot of issues. So I went with Feisty and decided to do some backports of the important packages.

Last but not least I asked myself the question whether it should be a 64 bit or a 32 bit installation. Since I have a 64 bit machine it didn’t make sense to me to go with a 32 bit installation. If you have a 32 bit installation, please refer to Ross Burton’s blog for ready compiled packages. This howto will describe how to build the 64 bit packages. It should work for 32 bit as well, but since you can just download them I don’t think you would like to do that.

Now without further delay, here comes the howto install Feisty 64 bit on a Dell Latitude D830 with Intel GPU and all the 3D graphics you could ever dream of.

Installing (K)ubuntu
To install (K)ubuntu on the DELL Latitude D830 forget about all fancy graphical interfaces. You will have to use the text installation provided by the alternate CD, so download that one. I went for the AMD64 distribution, but you might as well go for the 32 bit one, since that will save you some compatibility problems. Then again, why buy a 64 bit machine if you are not going to use it…

Getting X to work
After the installation is done and you reboot the machine you will be prompted by a nice command prompt. Since the cdrom will not function correctly there are a few steps you will have to execute:
Open the file /etc/apt/sources.list and remark the first line, listing your Feisty CD as an installation source. Then install all updates for feisty:
$ sudo aptitude update
$ sudo aptitude dist-upgrade

and install the xserver-xorg-video-intel package by typing
$ sudo aptitude install xserver-xorg-video-intel

Then open your xorg.conf and change the device from vesa to intel. After this change save the file and restart kdm. Things should be better. If restarting kdm doesn’t work, try rebooting the pc.

X is a little bit blurry
No it is not you, you do not need any glasses. After starting X everything will look a bit blurred. We will fix that issue later when we update the intel driver. So for now, you just have to live with it.

Getting the latest intel drivers
The default intel GPU drivers in feisty will freeze your pc as soon as OpenGL is running (Beryl, Google Earth) so these need to be updated. This is probably the hardest part of the installation since it involves updating parts of your x-server installation. I did warn you about blowing up your laptop, didn’t I?

You can achieve this in two ways. The first way would be to install gutsy packages on feisty. This can be achieved by using a debian process called pinning, which involves making changes to your apt.conf. More information can be found here. This is a very easy and very quick process, but it will also upgrade your libc6.

Since I think one should only upgrade the packages really needed, I decided to compile the packages needed for my libc6. This also makes sure that other packages depending on that library will not run into conflicts.

For the update I followed the following procedure:

Open your /etc/apt/sources.list and append the following line (make sure you use your own mirror location):
deb-src http://de.archive.ubuntu.com/ubuntu/ gutsy main restricted

Save the file and execute:
$ sudo aptitude update

Make a root directory for your sources:
$ mkdir ~/xorg

Install the dependencies needed to build everything:
$ sudo aptitude install fakeroot dpkg-dev
$ sudo apt-get build-dep mesa
$ sudo apt-get build-dep libdrm2

Install the libxdamage packages
$ mkdir ~/xorg/libxdamage
$ cd ~/xorg/libxdamage
$ apt-get source libxdamage
$ cd libxdamage-1.1.1
$ dpkg-buildpackage -rfakeroot -b
$ cd ..
$ sudo dpkg -i libxdamage1_1.1.1-3_amd64.deb libxdamage-dev_1.1.1-3_amd64.deb

Install the mesa packages
$ mkdir ~/xorg/mesa
$ cd ~/xorg/mesa
$ apt-get source mesa
$ cd mesa-7.0.0/
$ dpkg-buildpackage -rfakeroot -b
$ cd ..
$ sudo dpkg -i mesa-swx11-source_7.0.0-0ubuntu2_all.deb mesa-common-dev_7.0.0-0ubuntu2_all.deb libgl1-mesa-dev_7.0.0-0ubuntu2_all.deb libgl1-mesa-dri_7.0.0-0ubuntu2_amd64.deb libgl1-mesa-glx_7.0.0-0ubuntu2_amd64.deb libglu1-mesa_7.0.0-0ubuntu2_amd64.deb mesa-utils_7.0.0-0ubuntu2_amd64.deb

Install the libdrm2 packages
$ mkdir ~/xorg/libdrm2
$ cd ~/xorg/libdrm2
$ apt-get source libdrm2
$ cd libdrm-2.3.0/
$ dpkg-buildpackage -rfakeroot -b
$ cd ..
$ sudo dpkg -i libdrm-dev_2.3.0-4_amd64.deb libdrm2_2.3.0-4_amd64.deb

Install the x11proto-print-dev packages
$ mkdir ~/xorg/x11proto-print-dev
$ cd ~/xorg/x11proto-print-dev
$ apt-get source x11proto-print-dev
$ cd x11proto-print-1.0.3.xsf1/
$ dpkg-buildpackage -rfakeroot -b
$ cd ..
$ sudo dpkg -i x11proto-print-dev_1.0.3.xsf1-1_all.deb

install the xorg-server packages
$ sudo apt-get build-dep xorg-server
$ mkdir ~/xorg/xorg-server
$ cd ~/xorg/xorg-server
$ apt-get source xorg-server
$ cd xorg-server-1.3.0.0.dfsg/
$ dpkg-buildpackage -rfakeroot -b
$ cd ..
$ sudo dpkg -i xnest_1.3.0.0.dfsg-6ubuntu3_amd64.deb xprint_1.3.0.0.dfsg-6ubuntu3_amd64.deb xprint-common_1.3.0.0.dfsg-6ubuntu3_all.deb xserver-xorg-core_1.3.0.0.dfsg-6ubuntu3_amd64.deb xserver-xorg-dev_1.3.0.0.dfsg-6ubuntu3_amd64.deb

Install the xorg-server-video-intel packages
$ sudo apt-get build-dep xserver-xorg-video-intel
$ mkdir ~/xorg/xserver-xorg-video-intel
$ cd ~/xorg/xserver-xorg-video-intel
$ apt-get source xserver-xorg-video-intel
$ cd xserver-xorg-video-intel-2.1.0/

The following is no longer needed with the 2.1.0 driver
This is where we patch the driver to be less blurry. If you like the blurry effect, please skip this part.
$ vim src/i830_lvds.c

Find the following line (line number 230):
pfit_control = (PFIT_ENABLE |
VERT_AUTO_SCALE | HORIZ_AUTO_SCALE |
VERT_INTERP_BILINEAR | HORIZ_INTERP_BILINEAR);

And replace it with the following:
pfit_control = 0;

Save the file (:x). And continue the installation.

$ dpkg-buildpackage -rfakeroot -b
$ cd ..
$ sudo dpkg -i xserver-xorg-video-intel_2.1.0-1ubuntu2_amd64.deb

Edit your /etc/apt/source.list again and remove (remark) the gutsy line we added above.

Now reboot and see if X is still running… if not you are in deep trouble.

Installing Beryl
Installing beryl is easy. Just type:

$ sudo aptidute install beryl beryl-manager

Then start it by typing beryl-manager in a konsole

Using my repository
I just setup a repository with the above packages as debs. Please note that I am on a limited download rate, so if you want to install them on a 1000 machines, please setup your own mirror. Please note all packages are amd64!

To use the repository, you should add the following to your /etc/apt/sources.list:

deb http://ubuntu.jordswart.org feisty backports

You will also need to add my key to your list of trusted keys:

wget http://ubuntu.jordswart.org/falcon.gpg -O- | sudo apt-key add -