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

Bug #1228095 reported by Laércio de Sousa on 2013-09-20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
xorg-server (Ubuntu)

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:


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"

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

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

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

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
Launchpad Janitor (janitor) wrote :

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

Changed in xorg-server (Ubuntu):
status: New → Confirmed
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.


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?

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

Laércio de Sousa (lbssousa) wrote :


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


in debian/rules

I hope you don't need to do this.

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)

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

xfree86: Keep a non-seat0 X server from touching VTs (#71258)

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.

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  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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