[PATCH RESEND] xfree86: fix "No devices detected" error for non-seat0 seats (#66851)

Laércio de Sousa lbsousajr at gmail.com
Wed Feb 26 03:37:40 PST 2014


It's also importante to note that this patch is indispensable (there's no
workaround) to make X server work with non-seat0 seats when you have a
graphics card with non-KMS driver (while it tries to keep current behaviour
when you have a KMS-compliant one), thus I really appreciate any review for
it.

CANTATE DOMINO CANTICUM NOVUM
QUIA MIRABILIA FECIT

Laércio


2014-02-01 0:19 GMT-02:00 Laércio de Sousa <lbsousajr at gmail.com>:

> Yes, they do, provided you tag another suitable device (e.g. a USB hub) as
> "master-of-seat" in udev.
>
> You'll also need to configure the card via custom xorg.conf. In case your
> display manager doesn't allow X server command line customization, you can
> use Oleg Samarin's patch to introduce new key MatchSeay in xorg.conf.
> Em 31/01/2014 20:11, "Dave Airlie" <airlied at gmail.com> escreveu:
>
> On Fri, Jan 31, 2014 at 9:19 PM, Laércio de Sousa <lbsousajr at gmail.com>
>> wrote:
>> > This fixes a bug that prevents X.Org from starting properly on,
>> > e.g., NVIDIA cards with proprietary drivers, when "-seat" option
>> > is passed with an argument different from "seat0".
>>
>> Do nvidia cards with the binary driver work in other seats? I can't
>> imagine they would since the drivers don't integrate with udev etc.
>>
>> Dave.
>>
>> >
>> > Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=66851
>> >
>> > Signed-off-by: Laércio de Sousa <lbsousajr at gmail.com>
>> > ---
>> >  hw/xfree86/common/xf86Bus.c | 4 ++--
>> >  1 file changed, 2 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
>> > index 329d0b3..23dfa37 100644
>> > --- a/hw/xfree86/common/xf86Bus.c
>> > +++ b/hw/xfree86/common/xf86Bus.c
>> > @@ -81,7 +81,7 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only)
>> >      if (drv->platformProbe != NULL) {
>> >          foundScreen = xf86platformProbeDev(drv);
>> >      }
>> > -    if (ServerIsNotSeat0())
>> > +    if (ServerIsNotSeat0() && foundScreen)
>> >          return foundScreen;
>> >  #endif
>> >
>> > @@ -201,7 +201,7 @@ xf86BusProbe(void)
>> >  {
>> >  #ifdef XSERVER_PLATFORM_BUS
>> >      xf86platformProbe();
>> > -    if (ServerIsNotSeat0())
>> > +    if (ServerIsNotSeat0() && xf86_num_platform_devices > 0)
>> >          return;
>> >  #endif
>> >  #ifdef XSERVER_LIBPCIACCESS
>> > --
>> > 1.8.1.4
>> >
>> > _______________________________________________
>> > xorg-devel at lists.x.org: X.Org development
>> > Archives: http://lists.x.org/archives/xorg-devel
>> > Info: http://lists.x.org/mailman/listinfo/xorg-devel
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140226/24622d9d/attachment.html>


More information about the xorg-devel mailing list