aboutsummaryrefslogblamecommitdiffstats
path: root/README.wayland
blob: ca30ba89843b4177a9d7444d02d946f04ce24e0c (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
                                  
 



                                                                      





                                                                      

                                                                



                                                            
                                             
                  
                  
                
 


                                                                        












                                                                       


             
 
                                                                                
                                                       
 
                
 







                                                                    

                                                                             
 


                                                                         
 
                     
 

                                                                        
 
                                           
 

                                                                          
 
            
             
                                                                    


                                                                     

                                          

                                                                                      
*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