Page MenuHomePhabricator

EFL wayland clients conflict with Xwayland
Closed, DuplicatePublic

Description

I'm trying to use E applications under a wayland compositor.
When Xwayland is running and $DISPLAY is set, EFL applications will fail to start due to missing DPMS support:

elementary_test 
Xlib:  extension "DPMS" missing on display ":0"

However, if I unset $DISPLAY, it will work fine in native wayland mode.

I don't know what the proper solution would be, but I assume right now EFL checks if $DISPLAY is set and runs in X mode if so.
This would suggest that EFL could check if $WAYLAND_DISPLAY is set and use wayland-mode by default.

I tested this with elementary_test, terminology, and ephoto, and it's the same behavior for all of them.

tg-- created this task.Oct 22 2018, 4:26 PM
tg-- updated the task description. (Show Details)Oct 22 2018, 4:26 PM

can you try setting the ELM_DISPLAY env var to "wl"

elm apps try X first by design. if both a wayland compositor and an X11 server are running, trying X first is generally least surprising (because wayland apps will connect and run even if WAYLAND_DISPLAY is unset).

tg-- added a comment.Oct 24 2018, 9:59 AM

This does indeed work, thanks!

Though the issue still remains, that apps will not render anything by default if they try to start under Xwayland due to the missing DPMS (don't know if this is a compositor problem, but either way, lack of DPMS shouldn't stop applications from working).

It would be interesting to see if someone can reproduce this failure to render under a normal X server. Is it possible to disable the DPMS support in XFree86?

It may be that the lack of DPMS is just a diagnostic and not the root cause of the problem.

can you try setting the ELM_DISPLAY env var to "wl"

elm apps try X first by design. if both a wayland compositor and an X11 server are running, trying X first is generally least surprising (because wayland apps will connect and run even if WAYLAND_DISPLAY is unset).

see also T7409