diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c index 1cc1526c9..512b39e78 100644 --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c @@ -1446,6 +1446,13 @@ xf86MatchDevice(const char *drivername, GDevPtr **sectlist) if (xf86DoConfigure && xf86DoConfigurePass1) return 1; + /* + * This can happen when running Xorg -showopts and a module like ati + * or vmware tries to load its submodules when xf86ConfigLayout is empty + */ + if (!xf86ConfigLayout.screens) + return 0; + /* * This is a very important function that matches the device sections * as they show up in the config file with the drivers that the server