Tuesday, May 11, 2010

Ubuntu 10.04: Fixing mtrr errors

Ah, so many things, so little time to write about them. I'm going to handle my Ubuntu 10.04 programs piecemeal, and in the order that I have time to write about them. So this one isn't the biggest problem, but I've got all the data available here, and it's a quick fix, so here goes:

I was looking at /var/log/messages to try to figure out why my wife's account logged itself off last night (never did find out), when I saw the message

MTRR allocation failed. Graphics performance may suffer.

Googled it, found this fix, which is to add the kernel boot options:

enable_mtrr_cleanup mtrr_spare_reg_nr=1

to the grub command line.

Uh, OK, how do I do that?

In the Good Old Days there was a file, /boot/grub/menu.lst, which had all the information you needed to get your computer started, including booting up and loading the kernel with the desired options. The problem was that this got rewritten every time you did a kernel update. There were some sections of the file that were supposed to be saved, but that required the update program to remember to save them.

Just to make sure the programmer didn't forget those kind of things, all of the user-specified options were moved to the file /etc/default/grub, and menu.lst has become grub.cfg, which is generated from /etc/default/grub by running update-grub.

Got that? Uh, so you just ... Oh, never mind.

Here's the fix for the mtrr problem:

  1. Run
    $ sudo vi /etc/default/grub
    to edit the grub configuration file.
  2. Look for the line
    and change it to
    GRUB_CMDLINE_LINUX="enable_mtrr_cleanup mtrr_spare_reg_nr=1"
  3. Save and exit
  4. Run
    $ sudo update-grub
  5. Check /boot/grub/grub.cfg to be sure the changes are in there
  6. Reboot
  7. Check /var/log/messages to be sure that the mtrr message has disappeared.

And, of course, I noticed a fantastic improvement in graphic performance — which means none, actually. But hey! I got rid of the error message.


Anonymous said...

Thanks! My comp (Zotac H55ITX-C-E with core i3-530) was unusable without this fix but works now (well WIFI kind of doesn't..)

rcjhawk said...

Glad to help.

WiFi is funny. Within the last six months or so I've installed Ubuntu on 3 different machines that needed WiFi.

One ran out of the box.

One ran using bcmwl-kernel-source, the package that loads in Broadcom's open source Linux drivers.

The third, another Broadcom, required ndiswrapper to work. I'd post what I did, but it was pretty hit-and-miss and I just stumbled on the answer, so I don't have good notes.

For what it's worth, the most reliable wireless connection I have comes from a Zyxel 220 USB stick, which has worked with Ubuntu's base installation every time. The best thing about it is that I didn't have to buy it, Verizon gave it to me.

Anonymous said...

I actually dumped the default buggy rt2700e and bought an Atheros AR9280, which works out of the box somehow and with compat-wireless module even better. Turns out Kubuntu 10.10 was not very stable with the graphics so I downgraded to 10.04 and with your magic it seems to boot OK every time :)