[PATCH] xf86: Fix non-PCI configuration-less setups

Thierry Reding thierry.reding at avionic-design.de
Mon Oct 15 03:07:06 PDT 2012


For non-PCI video devices, such as those found on many ARM embedded
systems, the X server currently requires the BusID option to specify the
full path to the DRM device's sysfs node in order to properly match it
against the probed platform devices.

In order to allow X to start up properly if either the BusID option was
omitted or no configuration is present at all, the first video device is
used by default.

Signed-off-by: Thierry Reding <thierry.reding at avionic-design.de>
---
 hw/xfree86/common/xf86platformBus.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index 0525e39..75cc594 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -377,6 +377,14 @@ xf86platformProbeDev(DriverPtr drvp)
             continue;
     }
 
+    /*
+     * If all of the above fails, which can happen if X was started without
+     * configuration or if BusID wasn't set for non-PCI devices, use the first
+     * device by default.
+     */
+    if (!foundScreen)
+        foundScreen = probeSingleDevice(&xf86_platform_devices[0], drvp, devList[0], 0);
+
     /* if autoaddgpu devices is enabled then go find a few more and add them as GPU screens */
     if (xf86Info.autoAddGPU && numDevs) {
         for (j = 0; j < xf86_num_platform_devices; j++) {
-- 
1.7.12.2



More information about the xorg-devel mailing list