Announce: Xnest release 24.1.0 -- ported to XCB

Enrico Weigelt, metux IT consult info at metux.net
Fri Aug 30 11:53:30 UTC 2024


Hello folks,


I'd like to announce release of the nesting Xserver - Xnest 24.1.0

The biggest change since last release (about 3 years ago):

Xnest is not fully moved to XCB, instead of Xlib.

That step was long overdue, but been quite a piece of work, as XCB
operates on much lower-level Xlib (eg. it hasn't any queue mechanism)
Much of the extra LoCs in here are due bugs/incompleteness in XCB or
things that should go into xcb-util. (future tasks)

I believe the code is much cleaner now, also by having the clumpsy
workarounds for clashes between Xserver core and Xlib gone.


Since I've been asked several times, why I'm still working on Xnest
at all (instead of Xephyr), I feel it's time for a bit explaination:

In contrast to Xepyhr, Xnest is operating on much lower level than the
Xephyr - it's more or less a proxy: most operations (eg. rendering) are
just passed through to the upstream Xserver. That's making several
upcoming features eg. rootless mode or DMX-like multi-upstream support
easier to implement.

Xnest is also a good hacking and testing ground for new features (eg.
planning some several X11 extensions) that aren't depending on actual
hardware or want separated frame buffers.

One the things I'm also working on is using Xnest as an "container"
tool, allowing to run isolated groups of clients, that are still
appearing smootlessly in the main X session (that's what's the upcoming
rootless mode is for).


NOTE: that this is _NOT_ a fork.

The release is based on my incubator branch (holding lots of MRs that
are still waiting in the review pipeline), which in turn is based on
xorg master branch. Anything in here is submitted towards mainline.

The tiny diff between incubate and xnest release branch is just a little
bit editorial things: renaming the package and disable all DDX'es but
Xnest by default (still can be enabled explicitly by meson flags).
That's just a little aid for downstreams/distros that might want to
build only new Xnest w/o upgrading the whole Xorg bundle.


Unfortunately, Xorg is still very understaffed. And because we don't
wanna give up our high quality standards (eg. don't break existing
clients), reviews can take unpleasantly long time.

Therefore I've chosen this approach as an attempt to compromise. Just
as a temporary measure, until Xorg finally got full releases again.


The Xnest 24.1 release/maintenance branch can be found here:

https://gitlab.freedesktop.org/metux/xserver/-/commits/xlibre/xnest/24.1
(it will receive only fixes - new features go to new releases only)

Current tag: xnest-24.1.0
https://gitlab.freedesktop.org/metux/xserver/-/commits/xnest-24.1.0

The mentioned incubator branch (which is frequently rebased on Xorg
master and receiving new features) can be found here:
https://gitlab.freedesktop.org/metux/xserver/-/commits/incubate

Disclaimer: this is frequently rebased (!) and not considered stable.
(if you like to use it, please get in touch with me)


In order to avoid confusion w/ Xorg master tree, please file bugs here:
https://gitlab.freedesktop.org/metux/xserver/-/issues
(except for those that are confirmed to also exist in Xorg master)



have fun,
--mtx
--
---
Hinweis: unverschlüsselte E-Mails können leicht abgehört und manipuliert
werden ! Für eine vertrauliche Kommunikation senden Sie bitte ihren
GPG/PGP-Schlüssel zu.
---
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
info at metux.net -- +49-151-27565287


More information about the xorg-devel mailing list