[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