test: Xwayland doesn't start when another X server is running

When running the xserver:xwayland / XTS test in an environment where
an X server is running for :0, Xwayland fails to start with error:

    (EE)
    Fatal server error:
    (EE) Server is already active for display 0
        If this server is no longer running, remove /tmp/.X0-lock
        and start again.
    (EE)

And the `timeout` command fails instead of waiting for Weston to
initialize.

Add the `-displayfd` parameter to Xwayland to avoid this issue.

The `-displayfd` parameter lets Xwayland pick an unused display number,
avoiding the start up error when an X server is already active for :0,
the default display number.

Suggested-by: Michel Dänzer <mdaenzer@redhat.com>
Signed-off-by: José Expósito <jexposit@redhat.com>
This commit is contained in:
José Expósito 2023-09-22 15:58:20 +02:00
parent 32c5b2c044
commit 722e464bff

View File

@ -18,7 +18,7 @@ WESTON_PID=$!
export WAYLAND_DISPLAY=wayland-$$
# Wait for weston to initialize before starting Xwayland
timeout --preserve-status 60s bash -c "while ! $XSERVER_BUILDDIR/hw/xwayland/Xwayland -pogo &>/dev/null; do sleep 1; done"
timeout --preserve-status 60s bash -c "while ! $XSERVER_BUILDDIR/hw/xwayland/Xwayland -pogo -displayfd 1 &>/dev/null; do sleep 1; done"
# Start an Xwayland server
export PIGLIT_RESULTS_DIR=$XSERVER_BUILDDIR/test/piglit-results/xwayland