aboutsummaryrefslogtreecommitdiffstats
path: root/README.wayland
blob: e91fe092787b152be1ee89910b54f8dda91062fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
*Wayland support in Enlightenment*

Running Enlightenment as a Wayland compositor is not considered "safe"
for everyday desktop use, though it is functional enough to test or
use in specialized environments.
A list of known issues can be found at the bottom of this file.


Requirements:
-------------

Aside from the normal requirements that Enlightenment needs, there are
a few things to note in order to get Enlightenment to build with
Wayland support.

Firstly, you MUST have EFL built with the following options:

  --enable-drm
  --enable-wayland
  --enable-systemd

Note that the drm engine will not be functional unless the target system
has libsystemd-login installed.

This Readme does not address the dependencies needed to enable Wayland
in EFL. If you require any information for that, please see:

  https://phab.enlightenment.org/w/wayland/

If you would like support for EGL in Wayland, then also build EFL with:

  --enable-egl
  --with-opengl=es

The above options can be enabled for EFL without any adverse effects to
existing applications.


Compiling:
-------------

Next, you will need to adjust the options that you pass to
Enlightenment during the compile phase.

In order for Enlightenment to be compiled as Wayland compositor you will need to
pass an option to the configure stage of Enlightenment:

  --enable-wayland

If you also want support for running X applications under Wayland you might want
to try out XWayland support:

  --enable-xwayland

At this stage, you should have EFL properly built, and Enlightenment
properly built. Let's move on to running it...


Usage:
-------------

Hopefully at this stage you have successfully built EFL and
Enlightenment in preparation for a Wayland-supported setup. Congratulations!!
Now, let's get it running...

Enlightenment, when compiled with Wayland support and started from a tty,
will automatically attempt to load the wl_drm output module and start
a Wayland session. Simply start as usual:

  ./enlightenment_start

If you have a separate configuration profile that you would like to use,
you can tell Enlightenment to use that when you start it:

  ./enlightenment_start -profile <my_profile>



Known Issues
-------------
* Internal window (eg. filemanager), DnD is not currently functional
 - Requires EFL 1.16 release
* Nested compositors (wl_wl output) cannot create internal windows
 - Requires EFL 1.16 release
* DRM output lacks hardware acceleration
 - Requires EFL 1.16 release
* Window close animations will not play for most Wayland clients
 - Requires upstream Wayland protocol additions
* Window closing occasionally leads to crash
 - Requires upstream Wayland protocol additions
* Restarting Enlightenment kills all open applications
 - Requires upstream *-shell protocol additions, XWayland improvements
* Window placement/resistance/resizing is not accurate
 - Requires upstream *-shell protocol additions related to CSD
* XWayland clients do not smoothly resize
 - Requires upstream XWayland improvements
* The first-launched X11 client will sometimes fail to show
 - Requires upstream XWayland improvements
* Keyboard layout switching is not available
 - Requires various improvements