desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #89510
Re: [Bug 1209008] Re: [SRU] X doesn't work for video cards with non-KMS drivers on non-seat0 seats
Anyway, have you tried to simplify your config files? For example, in your
udev rules, you don't need to tag anything as "seat0" explicitly, and in
your xorg.conf file, are you sure you need all that "Screen" and
"ServerLayout" sections? In principle just the "Device" sections would be
enough.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xorg-server in Ubuntu.
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
References