Enable default options for non-seat0 seats (no need of systemd-multi-seat-x wrapper)

Bug #1228095 reported by Laércio de Sousa
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
Medium
xorg-server (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

This patch contributes to fill the remaining gaps in X.Org which still make systemd-multi-seat-x wrapper needed for some multiseat setups.

When "-seat" option is passed to Xorg with an argument other than "seat0", the following options are enabled by default:

* Disable VT switching --- no need of setting Option "DontVTSwitch" in xorg.conf's "ServerFlags" section.

* Enable VT sharing --- no need of passing option -sharevts to Xorg command line.

* Enable option "GrabDevice" for input drivers (e.g. evdev) --- no need of setting this option in xorg.conf's "InputClass" section.

Related upstream bugs:

https://bugs.freedesktop.org/show_bug.cgi?id=69477
https://bugs.freedesktop.org/show_bug.cgi?id=69478

Revision history for this message
In , Laércio de Sousa (lbssousa) wrote :

Currently systemd-multi-seat-x wrapper is still needed in some multiseat setups.
When -seat option is passed with an argument different from seat0, systemd-multi-seat-x does the following:

1. pass option -sharevts to real X server;

2. create a special xorg.conf file with the following content (or similar):

Section "ServerFlags"
    Option "DontVTSwitch" "true"
EndSection

Section "InputClass"
    Identifier "Force input devices to seat"
    Option "GrabDevice" "true"
EndSection

The purpose of this bug is to enable VT sharing (no need of passing -sharevts) and disable VT switching (no need of Option "DontVTSwitch" "true" in xorg.conf) when seat is not seat0.

Another patch for evdev driver is needed to get rid of Option "GrabDevice" "true" in xorg.conf

Revision history for this message
In , Laércio de Sousa (lbssousa) wrote :

Created attachment 86003
Disable VT switching/Enable VT sharing for non-seat0 seats

Revision history for this message
Laércio de Sousa (lbssousa) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Enable default options for non-seat0 seats" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Changed in xorg-server:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xorg-server (Ubuntu):
status: New → Confirmed
Revision history for this message
Laércio de Sousa (lbssousa) wrote :

The portion of this patch that enables "GrabDevice" by default for non-seat0 seats was already merged upstream. Bug freedesktop#69478 is now fixed.

http://cgit.freedesktop.org/xorg/xserver/commit/?id=c73c36b537f996574628e69681833ea37dec2b6e

Revision history for this message
Richard Hansen (rhansen) wrote :

Thanks Laércio for uploading a thoroughly patched xorg-server to ppa:lbssousa/multiseat! I haven't tried it, but I examined the changes and they look good. I'll see if I can backport the patches to raring tonight and upload the result to ppa:ubuntu-multiseat/ppa.

Has the MatchSeat patch been merged to master in the upstream xorg repository?

Revision history for this message
Laércio de Sousa (lbssousa) wrote :

> Has the MatchSeat patch been merged to master in the upstream xorg repository?

Not yet :-(

At the moment, among all patches we curently handle in Multiseat PPA, only this one has been merged upstream: http://cgit.freedesktop.org/xorg/xserver/commit/?id=c73c36b537f996574628e69681833ea37dec2b6e

Revision history for this message
Laércio de Sousa (lbssousa) wrote :

Richard,

Please don't forget to include build option --enable-kdrive-evdev in deban/rules! This is necessary for Xephyr-based multiseat setups (e.g. 2 seats using a single dual-head graphics card). In my work, I have some setups of this kind.

One more thing: lately my tries to build xorg-server in Launchpad have failed. The build process hangs in a unit test (xfvb-run). As a workaround, I have to set

DEB_BUILD_OPTIONS += nocheck

in debian/rules

I hope you don't need to do this.

Revision history for this message
Laércio de Sousa (lbssousa) wrote :

Hi guys!

As I reported some months ago, my first patch was included in Xorg-server upstream master git branch:

xserver: enable InputClass option "GrabDevice" by default for non-seat0 seats (#69478)
http://cgit.freedesktop.org/xorg/xserver/commit/?id=c73c36b537f996574628e69681833ea37dec2b6e

Now I'm pleased to annouce that my second patch was also upstreamed:

xfree86: Keep a non-seat0 X server from touching VTs (#71258)
http://cgit.freedesktop.org/xorg/xserver/commit/?id=46cf2a60934076bf568062eb83121ce90b6ff596

With these 2 patches, xorg-server no longer needs systemd-multi-seat-x wrapper. Moreover, there's no need to neither pass -sharevts option nor enabling option "DontVTSwitch" to non-seat0 X servers anymore.

Revision history for this message
In , Laércio de Sousa (lbssousa) wrote :

Commit 46cf2a6093 solves this bug.

Changed in xorg-server:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.