diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c index 6de8409fc..4ffbf7e46 100644 --- a/hw/xfree86/common/xf86Bus.c +++ b/hw/xfree86/common/xf86Bus.c @@ -81,6 +81,8 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only) if (drv->platformProbe != NULL) { foundScreen = xf86platformProbeDev(drv); } + if (ServerIsNotSeat0()) + return foundScreen; #endif #ifdef XSERVER_LIBPCIACCESS @@ -214,6 +216,8 @@ xf86BusProbe(void) { #ifdef XSERVER_PLATFORM_BUS xf86platformProbe(); + if (ServerIsNotSeat0()) + return; #endif #ifdef XSERVER_LIBPCIACCESS xf86PciProbe(); diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c index 6a8fb907a..0525e39bc 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c @@ -359,6 +359,9 @@ xf86platformProbeDev(DriverPtr drvp) break; } else { + /* for non-seat0 servers assume first device is the master */ + if (ServerIsNotSeat0()) + break; if (xf86_platform_devices[j].pdev) { if (xf86IsPrimaryPlatform(&xf86_platform_devices[j])) break;