Ubuntu 10.x [How to Fix!]

Warning:: if you are using non-open source NVIDIA or ATI drivers, these may not automatically re-install properly. It's probably worth disabling these first in Administration -> Additional Hardware and re-enable them when you're finished ...
Ok, I can confirm firstly that both Ubuntu 10.04 and 10.10 have the same kernel based performance problem that shows abnormally high load averages when the machine is relatively idle. It sounds like this is caused by changes to the kernel that create "too" many interrupts which has a very negative impact on system performance. I've not seen any explanation as to "why" this kernel has been allowed out into the wild other than "it doesn't effect everybody", but then it affects every machine I've tried it on to some extent.

Anyway, the fix for 10.04 and 10.10 is simply to revert to an earlier kernel, typically the Karmic kernel seems to work ok on these systems and is not subject to the issue.

So, if you want to have or already have 10.xx on your machine and are feeling a little brave, and want to get your performance back, here’s how. Visit the following URL;

For 64 bit systems download;
linux-headers-2.6.31-020631-generic_2.6.31-020631_amd64.deb linux-headers-2.6.31-020631_2.6.31-020631_all.deb linux-image-2.6.31-020631-generic_2.6.31-020631_amd64.deb
For 32 bit systems download;
linux-headers-2.6.31-020631-generic_2.6.31-020631_i386.deb linux-headers-2.6.31-020631_2.6.31-020631_all.deb linux-image-2.6.31-020631-generic_2.6.31-020631_i386.deb

Then using your file manager, goto your “Downloads” folder, create a new folder called “tmp” and move these three files into it. Then start a terminal session and type the following commands;

cd ~/Downloads/tmp dpkg -i *

This should install the old kernel, if it doesn’t or gives you an error, please ask before going any further.

Now you need to tell the system to boot this kernel in preference to other kernels on your system. Take a look and see what you have using;

ls -la /boot/vmlinuz*

For example;

ls -la /boot/vmlinuz*

-rw-r–r-- 1 root root 3883072 2009-09-10 23:32 /boot/vmlinuz-2.6.31-020631-generic
-rw-r–r-- 1 root root 4333968 2010-08-29 08:25 /boot/vmlinuz-2.6.35-19-generic
-rw-r–r-- 1 root root 4334672 2010-09-03 20:25 /boot/vmlinuz-2.6.35-20-generic

Looking in order (of kernel version!), the kernel I want to boot (2.6.31) is third in the list, so I do the following calculation;

n * 2 - n

So in my case n=3, so 3*2-2 = 4.

Now edit /etc/default/grub and change the GRUB_DEFAULT number to the result of your calculation. (it was 4 for me)
Then run “update-grub” to tell the system you’ve edited the file.
Then reboot.

NOTES - Please read!

  1. In /etc/default/grub you might want to set GRUB_HIDDEN_TIMEOUT to “10” and GRUB_HIDDEN_TIMEOUT_QUIET to “false” , which will give you the chance to press ESC at the beginning of the boot phase and select an alternative version of Linux, handy if you get your calculation wrong (!)

  2. Make sure you have a bootable CD handy before you start - just in case.


If you don’t really know what you are doing / you make a mistake, this procedure “could” cause your machine to fail to boot, requiring a manual recovery from the installation CD.

What’s the difference?

As a test I tried watching a Video on Youtube on the “default” kernel … Omid live at the Apollo, 360p … load average sat there fairly consistently at between 1.5 and 2.0. Now playing on the 2.6.31 kernel, load average started at around 0.5 (I think there was something else running) and after 5 mins settled at around 0.05.

Check out your load average when nothing is running, on 2.6.31 it should be “0.00” … (unless you’ve a “really” old machine …)
(2.6.35 tends to sawtooth between 0.5 and 1.0)

With a bit of luck this will also fix my fglrx driver issue with 2.6.35 in Maverick (beta) :slight_smile:

I’ll post back later and let you know.

I must admit I had to fiddle a little to re-install the NVIDIA drivers, when I rebooted at first I’d not disabled the accelerated stuff and ended up with a command line login. Needed to edit /etc/X11/xorg.conf and switch “nvidia” for “nv”, reboot, then use the hardware drivers menu option to re-install “nvidia-current” …

nope fglrx still refuses to build (in Maverick beta), I did find a patched version which built but apparently did the same as your nVidia drivers… command line login.

So I’ve gone back to 2.6.35 kernel, as the radeon drivers seemed faster but I’ll give it another go tonight.

Mmm, I’m using a 5-year old PH1 with an AMD 3500+ / 2G Ram (onboard NVIDIA) for testing … just stuck a 23" Samsung widescreen @ 1920x1200 on it … makes for a very capable workstation … with Maverick / 2.6.31 kernel, overall I’m very happy with the performance, glxgears is giving close to 2000 fps. (10k frames over 5s)

On the AMD Turion X2 lappy the radeon graphics were VERY sluggish till I booted back to 2.6.35… probably easily fixable, but couldn’t really be bothered, it needs a new hard drive… on order… so it was only an experiment as a reinstall is shortly going to be needed… I’ll have another go after the re-install but will probably go with 10.04 with Karmic kernel unless they’ve fixed the Maverick fglrx issue by then.

Mmm, must admit I’ve always been disappointed with ATI and tend to stick with NVIDIA … the fact that XBOX use NVIDIA chips speaks volumes IMHO … :wink:

New range of NVIDIA graphics cards looks interesting, looks to be the same model, just with a varying number of GPU cores (!)

Laptop, so kinda stuck with ATI… and I didn’t trust nVidia IGP’s (integrated graphics processors) at the time, I saw too many of them fail with a known defect… which is why you still see a distinct lack of nVidia IGP’s in laptops… manufacturers still don’t trust them.

See here for info:



nVidia tried to cover it up, so I’m non too pleased with them, even though they do the best cards for Linux.

BIG difference between buying a new graphics card and buying a new laptop motherboard., which would cost about the same as a new laptop, and still have the same IGP with the same defect.

I’ve got a Compaq laptop in front of me right now with a suspect nVidia failure… so far that makes 14 I’ve come across that have died between 12 and 18 months of being bought, and on the whole I don’t do laptops… not clever nVidia, stop blaming everyone else, admit responsibility, and stop gagging the PC manufacturers. >:(

:slight_smile: I don’t tend to do laptops either, my machine is an NEC bought in 2004 … 1.6G celeron, still performs relatively respectably … :slight_smile:

Ok, bit of a revelation … the reason I was having an exceptional level of performance degradation with 10.x was something to so with the X server and Xinerama. It looks like NVIDIA have broken Xinerama support in their driver somehow … I’m running the stock 10.10 kernel now on two screens with Xinerama turned off and performance is ‘acceptable’. I’m still seeing silly load averages, but it doesn’t appear to be hitting performance anything like as hard - maybe 10-15%. However, I’m seeing a 20% drop in graphics performance (glxgears) over 9.x, which is a bit of a step in the wrong direction.

It would be nice if I could get fglrx to build AT ALL in Maverick… If Canonical don’t pull there finger out soon (okay, I know it’s a beta), I’ll be tempted to try the Linux Mint Debian Edition.

If I use the Karmic kernel (in Maverick), the “radeon” drivers are unusable… way too slow… and fglrx still won’t build.

That said, Lucid is now fine with the Karmic kernel and fglrx. :slight_smile:

Looks like they have sorted Maverick’s fglrx/xorg 1.9 ABI, compatibility and build issues:


I haven’t tried the new fglrx/amdcccle/modalaises yet, so can’t say for sure… I went back to Lucid… but I’ll try Maverick again over the weekend and let you know… fingers crossed.

Mmm, I’m on Maverick and it’s sort of Ok, (NVIDIA) but there’s one problem that’s killing me at the moment … scroll a windows in a gnome terminal (think tar xvfz, unzip etc … ) and the X system pretty much grinds to a halt. They’ve obviously got some sort of driver problem that relates to whatever text windows do for scrolling … scrolling on Chrome is fine …