Bug 68397

Summary: Xephyr: enhance -screen option with window placement feature (WxH+X+Y), for multiseat purposes
Product: xorg Reporter: Laércio de Sousa <lbsousajr>
Component: Server/DDX/XephyrAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: enhancement    
Priority: medium    
Version: 7.7 (2012.06)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Enhance Xephyr -screen option with window placement feature (WxH+X+Y), for multiseat purposes. none

Description Laércio de Sousa 2013-08-21 19:05:40 UTC
Created attachment 84410 [details]
Enhance Xephyr -screen option with window placement feature (WxH+X+Y), for multiseat purposes.

I know there was a long discussion years ago about adding or not a -geometry option to Xephyr, mainly for multiseat purposes (see https://bugs.freedesktop.org/show_bug.cgi?id=12221). So, I don't expect this patch will be accepted by upstream, but it still may be interesting for multiseat setup maintainers.

I've written a patch, in the same spirit of https://bugs.freedesktop.org/attachment.cgi?id=11331, that extends the -screen option so that Xephyr can process strings like HxW+X+Y and move its window origin to (X, Y).

In my tests, the +X+Y option is completely overriden if Xephyr is handled by a window manager (the typical use for which it's designed for, I guess), but it works if Xephyr is launched directly with no window manager running, which is the case in multiseat setups.

Now that systemd-logind is available in several systems, multiseat configuration becomes less and less painful, so it's time to revival those old Xephyr-based multiseat solutions.
Comment 1 Laércio de Sousa 2014-03-14 16:13:11 UTC
I'm giving up this bug for now. I've noticed that just enabling window placement within Xephyr is not sufficient to address all issues about single-card multiseat. There's some inconvenients that arise when I don't start Xephyr with -fullscreen or -parent options, namely, modern desktop environments set, by default, my Xephyr screen resolution to the highest available one via RANDR, 1600x1200, despite my monitor native resolutions.

I'm working on a Xephyr wrapper for multiseat (see https://launchpad.net/multi-seat-xephyr). Since Bazaar revision 97, I've implemented something like the seat-parent-window approach from former project Multiseat Display Manager by C3SL/UFPR a.k.a. MDM-C3SL (which code is currently available in my GitHub fork https://github.com/lbssousa/multidm): the wrapper creates an empty window, whose geometry I can set easily, and passes its window id to Xephyr via -parent option. In this case, the only available resolution via RANDR is the size of the Xephyr parent window, so my desktop environment doesn't change it to 1600x1200 anymore.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.