(In reply to Gary Greene from comment #31) > @@ -125,3 +125,3 @@ > for (i = 0; i < xf86NumDrivers; i++) { > - xf86CallDriverProbe(xf86DriverList[i], FALSE); > + xf86NumScreens = xf86CallDriverProbe(xf86DriverList[i], FALSE); > } Hmmm, after thinking about it, the code needs to do something like this instead: @@ -125,3 +125,4 @@ for (i = 0; i < xf86NumDrivers; i++) { - xf86CallDriverProbe(xf86DriverList[i], FALSE); + xf8NumScreens = 0; + xf86NumScreens += xf86CallDriverProbe(xf86DriverList[i], FALSE); } This way, if there are multiple screens, it accurately reflects the count. Additionally, this ensures that we're always working with sane numbers in the comparison just below it.