← Back to team overview

ubuntu-multiseat team mailing list archive

Re: [Bug 1209008] Re: [SRU] X doesn't work for video cards with non-KMS drivers on non-seat0 seats

 

You could also disable light-locker for user logged in seat-1 and see if
problem persists.

Em qua, 17 de dez de 2014 18:44, Laércio de Sousa <lbsousajr@xxxxxxxxx>
escreveu:

> What about your lightdm.log file? And your Xorg.1.log? Any suspect
> message?
>
> Em qua, 17 de dez de 2014 18:41, Andrzej Pietrasiewicz <
> andrzejtp2010@xxxxxxxxx> escreveu:
>
> Regarding the doubt whether not coming back of seat-1 greeter is caused
>> by the screenscaver kicking-in: that is not the case. I checked again
>> and did a quick suspend and then resume and then looked up the
>> x-1-greeter.log and there was no line about the screensaver. It does
>> activate but far later than the failed suspend/resume.
>>
>> --
>> You received this bug notification because you are subscribed to the bug
>> report.
>> https://bugs.launchpad.net/bugs/1209008
>>
>> Title:
>>   [SRU] X doesn't work for video cards with non-KMS drivers on non-seat0
>>   seats
>>
>> Status in X.Org X server:
>>   Fix Released
>> Status in xorg-server package in Ubuntu:
>>   Fix Released
>> Status in xorg-server source package in Trusty:
>>   Fix Committed
>>
>> Bug description:
>>   [Impact]
>>
>>   * In Xorg-server versions older than 1.16, if Xorg is started as a
>>   non-seat0 X server (i.e. if it was started with "-seat XXXX" option
>>   where "XXXX" != "seat0"), it only probes platform bus for graphics
>>   devices, leaving devices with non-KMS drivers (like NVIDIA proprietary
>>   drivers and old ones like xf86-video-siliconmotion) unreachable.
>>
>>   Patch "xfree86_allow_fallback_to_pci_bus_probe_for_non_seat0.patch"
>>   from lp:~ubuntu-multiseat/xorg-server/trusty-matchseat fixes this.
>>
>>   * systemd-logind has no intrinsic mechanism to assign non-KMS graphics
>>   devices to seats. In this case, one should tag another seat device
>>   (keyboard, USB hub, etc.) in udev as "master-of-seat", and provide a
>>   suitable xorg.conf for that seat. In order to avoid that a given
>>   xorg.conf affects other seats, it should be passed to Xorg via
>>   "-config xorg.conf.custom" option, which requires X server command
>>   line customization support in DM in use (GDM, for example, has no such
>>   support).
>>
>>   Patch "xfree86_add_matchseat_key_to_xorg_conf.patch" from lp:~ubuntu-
>>   multiseat/xorg-server/trusty-matchseat introduces a new MatchSeat key
>>   for xorg.conf sections "Device", "Screen", and "ServerLayout", which
>>   will target a given seat only. Example file
>>   /etc/X11/xorg.conf.d/90-seat-1.conf:
>>
>>   Section "Device"
>>       Identifier "card0"
>>       Driver "nvidia"
>>       Option "NoLogo" "True"
>>       # This section will only apply for seat-1
>>       MatchSeat "seat-1"
>>   EndSection
>>
>>   * systemd-logind can't handle any VT switching for non-seat0 seats,
>>   but Xorg-server older than 1.16 still opens VT even if it's started as
>>   a non-seat0 X server. This may lead to a race condition between X
>>   servers: if a non-seat0 one is started before a seat0 one, the former
>>   "steals" VTs from the later. If a seat0 X server can't open VTs,
>>   systemd-logind can't activate sessions for seat0, leaving user without
>>   sound or usb input support, for example.
>>
>>   Patch "xfree86_keep_non_seat0_from_touching_vts.patch" from lp
>>   :~ubuntu-multiseat/xorg-server/trusty-matchseat fixes this.
>>
>>   [Test Case]
>>
>>   * Set up a multiseat system where your non-seat0 seats use non-KMS
>>   video drivers (you may need to tag another device in udev as "master-
>>   of-seat" in order to achieve it).
>>
>>   * When LightDM/GDM tries to start a Xorg server for your non-seat0
>>   seats, it will end up with the following error: "(EE) No devices
>>   found".
>>
>>   * After applying
>>   xfree86_allow_fallback_to_pci_bus_probe_for_non_seat0.patch, you can
>>   configure your seats in LightDM by setting appropriate "xserver-
>>   config" properties for each seat. However, you can't configure them in
>>   GDM.
>>
>>   * After applying xfree86_add_matchseat_key_to_xorg_conf.patch,
>>   configure your seats properly and restart LightDM/GDM services (or
>>   reboot your computer) repeatedly. In some iterations, it may happen
>>   that logind can't activate graphical sessions for seat0. If it occurs,
>>   check output of command "ps -FC Xorg" and you'll see that a non-seat0
>>   Xorg server has a lower PID than seat0 one. Moreover, the non-seat0
>>   has opened a TTY, while the seat0 hasn't.
>>
>>   [Regression Potential]
>>
>>   * Very low. All these patches were well tested in xorg-server "trusty"
>>   package available in ppa:ubuntu-multiseat/ppa.
>>
>> To manage notifications about this bug go to:
>> https://bugs.launchpad.net/xorg-server/+bug/1209008/+subscriptions
>>
>

-- 
You received this bug notification because you are a member of Ubuntu
Multiseat, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1209008

Title:
  [SRU] X doesn't work for video cards with non-KMS drivers on non-seat0
  seats

Status in X.Org X server:
  Fix Released
Status in xorg-server package in Ubuntu:
  Fix Released
Status in xorg-server source package in Trusty:
  Fix Committed

Bug description:
  [Impact]

  * In Xorg-server versions older than 1.16, if Xorg is started as a
  non-seat0 X server (i.e. if it was started with "-seat XXXX" option
  where "XXXX" != "seat0"), it only probes platform bus for graphics
  devices, leaving devices with non-KMS drivers (like NVIDIA proprietary
  drivers and old ones like xf86-video-siliconmotion) unreachable.

  Patch "xfree86_allow_fallback_to_pci_bus_probe_for_non_seat0.patch"
  from lp:~ubuntu-multiseat/xorg-server/trusty-matchseat fixes this.

  * systemd-logind has no intrinsic mechanism to assign non-KMS graphics
  devices to seats. In this case, one should tag another seat device
  (keyboard, USB hub, etc.) in udev as "master-of-seat", and provide a
  suitable xorg.conf for that seat. In order to avoid that a given
  xorg.conf affects other seats, it should be passed to Xorg via
  "-config xorg.conf.custom" option, which requires X server command
  line customization support in DM in use (GDM, for example, has no such
  support).

  Patch "xfree86_add_matchseat_key_to_xorg_conf.patch" from lp:~ubuntu-
  multiseat/xorg-server/trusty-matchseat introduces a new MatchSeat key
  for xorg.conf sections "Device", "Screen", and "ServerLayout", which
  will target a given seat only. Example file
  /etc/X11/xorg.conf.d/90-seat-1.conf:

  Section "Device"
      Identifier "card0"
      Driver "nvidia"
      Option "NoLogo" "True"
      # This section will only apply for seat-1
      MatchSeat "seat-1"
  EndSection

  * systemd-logind can't handle any VT switching for non-seat0 seats,
  but Xorg-server older than 1.16 still opens VT even if it's started as
  a non-seat0 X server. This may lead to a race condition between X
  servers: if a non-seat0 one is started before a seat0 one, the former
  "steals" VTs from the later. If a seat0 X server can't open VTs,
  systemd-logind can't activate sessions for seat0, leaving user without
  sound or usb input support, for example.

  Patch "xfree86_keep_non_seat0_from_touching_vts.patch" from lp
  :~ubuntu-multiseat/xorg-server/trusty-matchseat fixes this.

  [Test Case]

  * Set up a multiseat system where your non-seat0 seats use non-KMS
  video drivers (you may need to tag another device in udev as "master-
  of-seat" in order to achieve it).

  * When LightDM/GDM tries to start a Xorg server for your non-seat0
  seats, it will end up with the following error: "(EE) No devices
  found".

  * After applying
  xfree86_allow_fallback_to_pci_bus_probe_for_non_seat0.patch, you can
  configure your seats in LightDM by setting appropriate "xserver-
  config" properties for each seat. However, you can't configure them in
  GDM.

  * After applying xfree86_add_matchseat_key_to_xorg_conf.patch,
  configure your seats properly and restart LightDM/GDM services (or
  reboot your computer) repeatedly. In some iterations, it may happen
  that logind can't activate graphical sessions for seat0. If it occurs,
  check output of command "ps -FC Xorg" and you'll see that a non-seat0
  Xorg server has a lower PID than seat0 one. Moreover, the non-seat0
  has opened a TTY, while the seat0 hasn't.

  [Regression Potential]

  * Very low. All these patches were well tested in xorg-server "trusty"
  package available in ppa:ubuntu-multiseat/ppa.

To manage notifications about this bug go to:
https://bugs.launchpad.net/xorg-server/+bug/1209008/+subscriptions


Follow ups

References