Selected output of X -verbose 255: (II) PCI: PCI scan (all values are in hex) (II) PCI: 00:00:0: chip 11ab,6460 card 0000,0000 rev 03 class 06,00,00 hdr 00 (II) PCI: 00:01:0: chip 1106,3044 card 1106,3044 rev 46 class 0c,00,10 hdr 00 (II) PCI: 00:06:0: chip 11ab,4100 card 11ab,4100 rev 10 class 05,01,00 hdr 80 (II) PCI: 00:06:1: chip 11ab,4100 card 11ab,4100 rev 10 class 01,80,00 hdr 80 (II) PCI: 00:06:2: chip 11ab,4100 card 11ab,4100 rev 10 class 04,00,00 hdr 80 (II) PCI: 00:0c:0: chip 1106,8231 card 0000,0000 rev 10 class 06,01,00 hdr 80 (II) PCI: 00:0c:1: chip 1106,0571 card 0000,0000 rev 06 class 01,01,8f hdr 00 (II) PCI: 00:0c:2: chip 1106,3038 card 0925,1234 rev 1e class 0c,03,00 hdr 00 (II) PCI: 00:0c:3: chip 1106,3038 card 0925,1234 rev 1e class 0c,03,00 hdr 00 (II) PCI: 00:0c:4: chip 1106,8235 card 0000,0000 rev 10 class 06,80,00 hdr 00 (II) PCI: 00:0c:5: chip 1106,3058 card 0000,0000 rev 40 class 04,01,00 hdr 00 (II) PCI: 00:0c:6: chip 1106,3068 card 0000,0000 rev 20 class 07,80,00 hdr 00 (II) PCI: 00:0d:0: chip 1106,3065 card 3065,1106 rev 51 class 02,00,00 hdr 00 (II) PCI: End of PCI scan ..... (EE) No devices detected. Fatal server error: no screens found Compare with output of 'lspci -n': 0000:00:00.0 0600: 11ab:6460 (rev 03) 0000:00:01.0 0c00: 1106:3044 (rev 46) 0000:00:06.0 0501: 11ab:4100 (rev 10) 0000:00:06.1 0180: 11ab:4100 (rev 10) 0000:00:06.2 0400: 11ab:4100 (rev 10) 0000:00:0c.0 0601: 1106:8231 (rev 10) 0000:00:0c.1 0101: 1106:0571 (rev 06) 0000:00:0c.2 0c03: 1106:3038 (rev 1e) 0000:00:0c.3 0c03: 1106:3038 (rev 1e) 0000:00:0c.4 0680: 1106:8235 (rev 10) 0000:00:0c.5 0401: 1106:3058 (rev 40) 0000:00:0c.6 0780: 1106:3068 (rev 20) 0000:00:0d.0 0200: 1106:3065 (rev 51) 0001:01:00.0 0600: 11ab:6460 (rev 03) 0001:01:08.0 0300: 1002:5960 (rev 01) 0001:01:08.1 0380: 1002:5940 (rev 01) Note the absence of 0001:01:08 in what X detects. That's the video card. Machine is Genesi Pegasos II
Seems to be caused by xorg-x11-server-1.1.0-pci-scan-fixes.patch which means that X no longer finds devices not in PCI domain 0.
What purpose does the hunk in linuxPciOpenFile() serve? Can we just drop that part from the patch? We mustn't switch to /sys/bus/pci/devices until we properly handle PCI domains.
Removing just the offending hunk (http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=blobdiff;h=3e82f211b4cd4e509adb3149c4e291a2592a0ffe;hp=092f28f0398a20a6bc086ad473c358366eab7b26;hb=56f21bda1ce95741c88c423b60bd709eef26eb12;f=hw/xfree86/os-support/bus/linuxPci.c) makes it work again.
Has this been fixed ?
Yep.
Confirmed working on Pegasos. To a certain extent, at least -- we do get a picture, but it looks like http://david.woodhou.se/DCP_2736.JPG That's fixed by http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-ati.git;a=commitdiff;h=145c716de6d42778e447581578f3e4db13c9a653
This bug has returned in F7t2 because the offending 'optimisation' got into upstream Xorg. It's fixed by the patch at http://david.woodhou.se/xorg-x11-server-1.2.99-unbreak-domain.patch
*** Bug 201933 has been marked as a duplicate of this bug. ***
A simple and obvious one-liner has been available to fix this bug for three weeks now. Should I just commit it myself?