ubuntu-multiseat team mailing list archive
-
ubuntu-multiseat team
-
Mailing list archive
-
Message #00490
[Bug 1209008] Re: [SRU] X doesn't work for video cards with non-KMS drivers on non-seat0 seats
Before suspend:
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1236 1223 12 55708 73248 0 20:56 tty7 00:00:10 /usr/bin/X -core
:0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root 1238 1223 2 36801 64892 0 20:56 ? 00:00:02 /usr/bin/X -core
:1 -seat seat-1 -sharevts -auth /var/run/lightdm/root/:1 -nolisten tcp
After resume:
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1236 1223 10 93676 173432 1 20:56 tty7 00:00:13 /usr/bin/X -core
:0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root 1238 1223 1 37185 65092 1 20:56 ? 00:00:02 /usr/bin/X -core
:1 -seat seat-1 -sharevts -auth /var/run/lightdm/root/:1 -nolisten tcp
A big difference today is that the monitor assigned to seat-1 comes back alive BUT it extends the display of session at seat0!
In other words, today, after resume, both monitors provide a big desktop for session @ seat0.
I can't understand how it changed since yesterday. Yesterday the behaviour was as described above: seat-1 card wouldn't come back.
I'm also noticing a changed behaviour after boot and when greeters first appear: until yesterday, they appeared almost at the same time, with mouse pointers exactly in the middle of both. Today, they tend to blink a couple of times, and seat0 mouse pointers appears offset to the right.
In /etc/lightdm/x-1-greeter.log I can see at the end:
[+61,04s] DEBUG: user-list.vala:1030: Adding/updating user hajaszek (....)
[+398,50s] DEBUG: settings-daemon.vala:209: Screensaver activated
Please compare the times. The screensaver activates after about 5 minutes after the greeter is first displayed at system start.
I can't tell at this moment if this corresponds to the time when I suspended/resumed or to the time where screensaver kicked-in on an otherwise unavailable display.
SInce yesterday evening I played with printer drivers from
http://www.bchemnet.com/suldr/; I installed/removed some of them back
and forth. Then today I did apt-get install apt-show-version, and then
did apt-get autoremove as suggested by apt.
I would say this situation is even more annoying compared to the one
when seat-1 consistently refuses to show up after resume.
--
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