Uvesafb, and Possibly PCI, Problem with Linux kernel 2.6.34-ARCH
July 11, 2010
Posted by on
As part of a project to make my netbook what it’s designed to be — a device for internet browsing only, instead a laptop — I’ve dd’d the latest Arch Linux ISO to a flashdrive and wiped out Ubuntu Lucid.
The post-installation process went normally — set vga=791 so I have a 1024×768 screen, configure my wireless network connection (WPA necessitates some typing 😛 ), update the package lists, upgrade pacman, then upgrade the whole system.
But when I tried to follow the procedure for getting the full 1366×768 resolution, I discovered upon reboot that, even though I remembered remove the “vga=xxx” kernel parameter — preventing the VESA framebuffer from overriding the new, “fancier” UVESAFB, I got a message reporting “uvesafb could not reserve memory at” something-or-other.
Not knowing what could be wrong, I started reading the kernel’s dmesg log (/var/log/dmesg.log) and noticed this message:
pci_root PNP0A08:00: address space collision: host bridge window [mem 0x000c0000-0x000dffff] conflicts with reserved [mem 0x000d00000-0x000ffff]
A few lines above, I saw
PCI: Using host bridge windows from ACPI; if necessary, use “pci=nocrs” and report a bug.
I wasn’t sure if the two had anything to do with each other, but I rebooted, edited the kernel line in GRUB and added the “pci=nocrs” parameter, and continued booting. Everything worked perfectly.
There is an open bug about this problem in the Arch Linux system.