Martins Blog

Trying to explain complex things in simple terms

Installation of Fedora 12 x86-64 on Dell Optiplex 760

Posted by Martin Bach on January 9, 2010

These office PCs are actually quite nice-not powerfull but neither the opposite with a Core 2 Duo processor and in my case 4 GB of memory. I think they might be able to take on more memory which could come in handy later. The machines come with an on-board graphics and sound device and almost no legacy connectors such as ps/2. What can I say-these things are what I am currently given at work so getting rid of Windows and using Linux was my choice. I also hoped I could run xen para-virtualised guests but that proved to be not so straight forward-I think I managed to do it but I havent rebooted the box yet into the paravirtualised kernel. And Fedora doesn’t come with a kernel-xen as opensuse does. But I am getting ahead of myself. The following sections may seem trivial but were quite problematic when I worked on them, it cost me a few hours to work out all the issues.

First of all I downloaded Fedora 12 x86-64 iso, burned the DVD and booted from it. I had the VT-d functionality enabled in the BIOS, after all I want to use virtualisation a lot. Turns out that this caused problems with USB, reference is on the project wiki: http://fedoraproject.org/wiki/Common_F12_bugs. After lots of odd error messages during the boot process I couldn’t use my keyboard or mouse which is somewhat unhelpful when trying to install a system. Deactivating the VT-d feature in the BIOS and rebooting fixed the problem for me, you could alternatively specify iommu=soft to the kernel command line in grub. Apparantly more modern kernels work around the problem, but the default kernel doesn’t seem to cut it.

With this problem overcome, I managed to install the system without problems wiping the evil Windows partition and booting into X11.

Another nasty surprise there: the system was quite unresponsive after a few seconds in runlevel 5. I have seen not so great performance without 3d acceleration in graphics intensive desktops (I am using gnome). Checking the system load with top I saw Xorg at around 80-90% CPU-hmmmm. I thought it might have been a problem already fixed and installed all system updates but no luck.

Using my favourite Internet search engine and some lengthy searches I eventually found the bug: https://bugzilla.redhat.com/show_bug.cgi?id=528312 . In a nutshell, udev floods the system with messages which Xorg picks up and tries to process. Very simple to verify: “udevadm monitor –env” prints thousands of the following entries:

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1255540750.054337] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV_LOG=3
ACTION=change
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
SUBSYSTEM=drm
HOTPLUG=1
DEVNAME=dri/card0
DEVTYPE=drm_minor
SEQNUM=22633
MAJOR=226
MINOR=0

The board uses an Intel i915 internal chipset as graphics adapter with the xorg-x11-drv-intel RPM. The bug will be fixed upstream and heaven knows when the backport will be available for Fedora 12. I asked around but none of my colleagues who use the same Optiplex 760 had the same problem. A bit of investigation revealed that they use a dual head graphics card from ATI. Instead of applying a patch to the driver I opted to get one of these nifty graphics cards. Request filed, card installed, xorg.conf modified through system-config-diskplay and: problem solved. I even get hardware acceleration and dual head use. Great! Now off to configuring Xen with Fedora 12-all I have at the moment is qemu and kvm which is slooooow.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: