Comment 0 for bug 1209008

From <https://bugs.freedesktop.org/show_bug.cgi?id=66851>:

> I have a multiseat setup with a primary on-board Intel graphics
> device and a secondary Silicon Motion SM501 graphics card. My SM501
> is configured via custom xorg.conf with siliconmotion ddx driver, so
> it exposes no framebuffer devices to e.g. systemd-logind. The same
> situation is seen e.g. for a NVIDIA graphics card with proprietary
> drivers.
>
> Every time I configure my system to assign my SM501 card with a
> secondary seat, i.e. not seat0, my X server fails to start,
> returning a "No devices detected" error. Nevertheless, when I assign
> my SM501 card with seat0 and attach my Intel graphics device to
> secondary seat (via loginctl), both seats load successfully.
>
> Investigating the Xorg-server sources, I've found something related
> to "platform bus". I don't know what is it at all, but whatever it
> means, my Intel graphics card with its open-source drivers implement
> it, but my siliconmotion driver doesn't.
>
> In its current form, Xorg-server probes for platform bus devices as
> well as "legacy" PCI bus ones only for seat0. For other seats, it
> only probes for platform bus devices, hence it never reaches my
> SM501 card, returning that "No devices found" error.
>
> I don't know if there's a good reason for probing only platform bus
> devices on non-seat0 seats, but this brings a problem for multiseat
> setups like mine.

This same problem was encoutered by a user with two NVIDIA cards; see bug #976124.

A patch was supplied to the upstream bug report, and this patch seems to fix the problem.

Note that this bug only affects detection of cards when X is passed the '-seat' argument with a seat name OTHER than "seat0". Thus, this only happens in multiseat setups.