--- xorg-server-1.2.99.901/hw/xfree86/os-support/bus/linuxPci.c~ 2006-11-16 18:01:25.000000000 +0000 +++ xorg-server-1.2.99.901/hw/xfree86/os-support/bus/linuxPci.c 2007-03-07 15:44:10.000000000 +0000 @@ -158,7 +158,13 @@ linuxPciOpenFile(PCITAG tag, Bool write) if (stat("/sys/bus/pci",&ignored) < 0) is26 = 0; else - is26 = 1; + /* If we don't find the incompatible IA64 "domain support" in + /proc/bus/pci then we don't know domain numbers. This means + we ought to use /proc/bus/pci for accessing devices, instead + of /sys/bus/pci. So in that case we just pretend it's a 2.4 + kernel, and hope the kernel has set up disjoint bus numbers + for us, like it always used to. */ + is26 = domain_support; } if (!domain_support && domain > 0)