summaryrefslogtreecommitdiff
path: root/pages/about-wayland.txt
diff options
context:
space:
mode:
authorChristopher Michael <cpmichael@comcast.net>2015-06-16 07:24:39 -0700
committerapache <apache@e5-web1.enlightenment.org>2015-06-16 07:24:39 -0700
commit477d91164570706fe4d78e4a74296fa6ec40c308 (patch)
tree3e46e4fdc86c8efafe95b81245c255d6187e6066 /pages/about-wayland.txt
parentc8ef296973cbe8c77bfb70e4390b55f31d0e3a7f (diff)
Wiki page about-wayland changed with summary [created] by Christopher Michael
Diffstat (limited to '')
-rw-r--r--pages/about-wayland.txt116
1 files changed, 116 insertions, 0 deletions
diff --git a/pages/about-wayland.txt b/pages/about-wayland.txt
new file mode 100644
index 000000000..86d7ff9e2
--- /dev/null
+++ b/pages/about-wayland.txt
@@ -0,0 +1,116 @@
1=== We support Wayland ===
2
3Current support work is being done to enable client-side applications and a wayland compositor. Currently EFL applications that use the lower-level Ecore-Evas and higher level Elementary API's will work and display correctly in a Wayland compositor, handle input, resizing and moving. Client-side frames are already provided. Both Shared-memory buffers AND EGL/OpenGL-ES2 buffers are supported. The Shared-memory buffers are purely CPU-rendered, meaning that they will work with or without OpenGL hardware acceleration support. They are fast and usable. The OpenGL-ES2 display is fully accelerated with all primitives being rendered by OpenGL (Hardware acceleration) and already work fully due to a long history of supporting this under X11 and other embedded EGL/OpenGL-ES2 environments.
4
5Work is currently underway to land a complete Wayland compositor (stand-alone, no X11 needed) into the master branch of Enlightenment. At this stage, we are undergoing heavy testing and resolving any issues. We will definitely need to extend Wayland protocol to make a fully functioning desktop or mobile environment, but what we do have (based on the existing wayland protocol) is quite usable.
6
7All the source code for Wayland support is already in our source code repositories. You will need to check them out. Please see our Contribute page for information there.
8
9EFL is currently tracking Wayland master and will not function with the 0.85 release.
10
11=== Current Status ===
12
13[**Evas Engines**]
14
15 * Shared Memory Engine
16 * Feature complete including support for double or triple buffering, transparency, and rotation
17 * Supports client-side frame decorations
18
19 * EGL Engine
20 * Feature complete including support for double or triple buffering, transparency, rotation, partial swaps, and buffer ageing
21 * Supports client-side frame decorations
22
23 * DRM Engine
24 * Feature complete including support for double or triple buffering, transparency, and rotation
25 * Supports software rendering
26 * Hardware Accelerated rendering has landed upstream (perhaps prematurely) and requires more testing. It is only compatible with gbm-based drivers at the moment.
27 * Supports client-side frame decorations
28
29[**Ecore_Evas**]
30
31 * Shared Memory Engine
32 * Supports client-side frame decorations
33 * Supports Transparency and Rotation
34 * Supports Wayland Shell & Xdg Shell Maximize and Fullscreen
35 * Provides internally drawn client-side frame decorations if none are supplied
36
37 * EGL Engine
38 * Supports client-side frame decorations
39 * Supports Transparency and Rotation
40 * Supports Wayland Shell & Xdg Shell Maximize and Fullscreen
41 * Provides internally drawn client-side frame decorations if none are supplied
42
43 * DRM Engine
44 * Supports client-side frame decorations
45 * Supports Transparency and Rotation
46 * Supports Wayland Shell & Xdg Shell Maximize and Fullscreen
47 * Provides internally drawn client-side frame decorations if none are supplied
48
49[**Elementary**]
50 * Can utilize Shared Memory, EGL Engine or DRM Engine
51 * Complete support for all widgets provided by the toolkit
52 * Supports Wayland Cursors
53 * Supports Wayland Copy-N-Paste
54 * Supports Wayland Drag-N-Drop
55
56[**Enlightenment 0.18**]
57 * Complete support for rendering Wayland Client applications inside the existing X11 Compositor
58 * Provides a Wayland Shell for use by Wayland Client applications
59
60[**Enlightenment 0.19**]
61 * Complete support for rendering Wayland Client applications inside the existing X11 Compositor
62 * Provides a Wayland Shell for use by Wayland Client applications (both wl_shell and xdg_shell are supported)
63 * Experimental support for running Wayland-Only (without X11) is undergoing heavy testing.
64
65=== Building Wayland Support ===
66The following instructions assume that you have Wayland/Weston installed as per [[http://wayland.freedesktop.org/building.html]]
67
68These steps assume that you have the environment variables set as per the above building instructions.
69
70**NOTE**: If you are using an Intel video card, and wish to also have the Enlightenment X11 Compositor be able to render using OpenGL, then you should build Mesa (from the above instructions) with the //--enable-osmesa// and //--enable-glx-tls// options. This will also require a kernel >= 3.6 for full support. If you are using an Intel video card, you should also be using a kernel >= 3.9.2 or you Will experience various bugs and crashes with the latest Wayland.
71
72[**Compiling EFL**]
73
74To compile EFL with Wayland support, you should compile EFL as you normally would, and enable the desired below options:
75
76 * --enable-wayland
77 * To enable building the Evas Wayland Shared-Memory Engine
78 * --enable-egl --with-opengl=es
79 * To enable building support for the Evas Wayland EGL Engine
80 * --enable-drm
81 * To enable building support for the Evas DRM Engine
82 * --enable-gl-drm
83 * To enable building support for the Evas GL DRM Engine
84
85[**Compiling Elementary**]
86
87Elementary requires no special options to support Wayland however it IS required that EFL was built with Wayland support in order to render Elementary applications inside a Wayland compositor (such as Weston)
88
89[**Compiling Enlightenment 0.18**]
90
91To compile Enlightenment with Wayland Client support, you should compile Enlightenment as you normally would, and enable the desired below options:
92
93 * --enable-wayland-clients
94 * To enable build support for the Enlightenment Compositor to render Wayland Clients
95 * --enable-wayland-egl
96 * To enable build support for the Enlightenment Compositor to render Wayland Clients using EGL
97
98[**Compiling Enlightenment 0.19**]
99
100To compile Enlightenment with Wayland Client support, you should compile Enlightenment as you normally would, and enable the desired below options:
101
102 * --enable-wayland-clients
103 * To enable build support for the Enlightenment Compositor to render Wayland Clients
104 * --enable-wayland-egl
105 * To enable build support for the Enlightenment Compositor to render Wayland Clients using EGL
106 * To build the Experimental Wayland-Only version, please see the README.wayland file located here: [[https://git.enlightenment.org/core/enlightenment.git/tree/README.wayland]]
107
108=== Running ===
109
110For applications that use Ecore_Evas directly set the environment variable **ECORE_EVAS_ENGINE** to either //wayland_egl// or //wayland_shm// depending on whether you wish to use the SHM based interface with software rendering or use EGL.
111
112For applications that use Elementary set the environment variable **ELM_DISPLAY** to //wl//. If you wish to run Elementary applications using the Shared Memory Engine, then also export **ELM_ACCEL**=//none//. If you wish to run Elementary applications using the Wayland EGL engine, then export **ELM_ACCEL**=//opengl//.
113
114For Wayland Client applications running inside the Enlightenment X11 Compositor, no special variables need be set (however you should be sure to restart Enlightenment After following the above build instructions)
115
116**NOTE**: Support for rendering Wayland Clients inside the Enlightenment X11 Compositor Does require that the **XDG_RUNTIME_DIR** environment variable to be set. If it is not set by your distribution, please consult documentation for your distribution on the proper way to set it. If none is set, then the Enlightenment X11 Compositor will use /tmp by default. \ No newline at end of file