aboutsummaryrefslogtreecommitdiffstats
path: root/README.wayland
blob: ca30ba89843b4177a9d7444d02d946f04ce24e0c (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
*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-gl-drm (for hardware acceleration)
  --enable-wayland
  --enable-systemd
  --enable-elput

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:
-------------

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

  -Dwayland=true

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>

To run a wayland session inside x11, export E_WL_FORCE=x11 before starting
enlightenment.

Known Issues
-------------
* Internal window (eg. filemanager), DnD is not currently functional
 - Requires various improvements
* Restarting Enlightenment kills some applications
 - Requires upstream external protocol support, XWayland improvements
* XWayland clients do not smoothly resize
 - Requires upstream XWayland improvements
* There are not more than 4 keyboard layouts possible
 - Requires libxkbcommon changes - https://github.com/xkbcommon/libxkbcommon/issues/37