Introducing xwayland-run, a set of small utilities to run X11 and Wayland clients

Olivier Fourdan fourdan at
Wed Nov 29 09:10:05 UTC 2023

Hi all,

In Fedora and Red Hat Enterprise Linux, we ship a small shell script called
"xvfb-run" originating from Debian to launch an X11 client within Xvfb.

With the future removal of Xorg and all related Xservers in RHEL [1],
except Xwayland, there was a need for a replacement utility that would work
like xvfb-run, but without Xvfb :)

The idea is to run Xwayland rootful within a Wayland compositor headless as
a replacement for Xvfb. The problem though is that I didn't want to be
tight to a specific Wayland compositor and of course every Wayland
compositor uses different options to run headless.

At the same time, I was also working on improving Xwayland rootful support
([2], and identified the need for a convenient utility to run an X11 client
within its own Xwayland rootful instance (useful to run a legacy game for
example. as with [3]).

So, long story short, what started as a replacement utility for xvfb-run
ended as 3 different (yet related) utilities:

 * xwayland-run, to spawn an X11 client within its own dedicated Xwayland
rootful instance,
 * wlheadless-run to run a Wayland client on a set of supported Wayland
headless compositors,
 * xwfb-run, a combination of the two other tools above to be used as a
direct replacement for xvfb-run specifically.

Right now, it supports 4 different Wayland compositors (weston, cage,
mutter, gnome-kiosk) but adding more should just be a matter of adding a
relevant module.

So my question is, if there is any interest for such a project [4], should
this be moved to the wayland namespace in gitlab (we could even change the
name of the project), should that be added to the existing
"wayland-utility" project that we have already, or if there's no interest
it's fine to stay in my own gitlab namespace for now?


[1] Red Hat Enterprise Linux 10 plans for Wayland and Xorg server
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the wayland-devel mailing list