CMake: fixed build, if only GenericCommunicator is build
[profile/ivi/layer-management.git] / README
diff --git a/README b/README
index 930b0b4..8564c85 100644 (file)
--- a/README
+++ b/README
@@ -3,6 +3,8 @@ Sections in this file describe:
 - Component Overview
 - Required platform capabilities
 - How to build on different platforms
+- Change the environment during Runtime
+- Running Testapplications
 
 
 Introduction
@@ -91,6 +93,7 @@ Extensions have to be supported by the TargetPlatform :
 X11 Extensions:
 
 x-composite : This extension should support redirecting of egl Surfaces to x11 pixmaps too.
+x-damage    : This extension is required to render surfaces only, if there content has changed.
 
 GLX / OpenGL :
 
@@ -99,39 +102,6 @@ The following functions should be supported by the vendor specific graphic drive
 Furthermore it should be supported to create an texture from an x11 pixmap.  
 
 
-Beagle board platform
-===
-
-If you have choosen the BeagleRenderer as rendering backend, than the following
-kernel module must be available too :
-
-CMEM Module is needed, it can be downloaded from
-
-http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/linuxutils/index.html
-
-The EGL implementation on the beagle board should support the following egl config: 
-
-EGL_SURFACE_TYPE = EGL_WINDOW_BIT | EGL_PIXMAP_BIT
-EGL_RENDERABLE_TYPE = EGL_OPENGL_ES2_BIT,
-EGL_RED_SIZE = 8
-EGL_ALPHA_SIZE = 8 
-EGL_BIND_TO_TEXTURE_RGBA = EGL_TRUE
-
-Furthermore the application which should be rendered by the layermanagement, should initialize egl
-by the following steps:
-       
-1. Get EGL Display
-2. Initialize EGL
-3. Bind API
-4. Choose EGL Config
-5. Allocate native pixmap Structure 
-6. Allocate native pixmap space by CMEM_alloc
-7. Get physical address of native pixmap using the CMEM module, and assign the address to the native pixmap structure.
-8. Create egl pixmap surface using the allocated native pixmap.
-9. Create egl context.
-10. Make egl context with the surface as current.
-
-
 How to build on different platforms
 ====================================
 
@@ -177,7 +147,7 @@ You need both development packages and libraries for
 
 LayerManagerService
 --
-libdbus
+libdbus-1-dev
 
 X11GLESRenderer:
 --
@@ -201,10 +171,10 @@ Supported Build Options
 ===
 
 - Build configuration:
-  Option: -DCMAKE_BUILD_TYPE=DEBUG or
-          -DCMAKE_BUILD_TYPE=RELEASE
+  Option: -DCMAKE_BUILD_TYPE=Debug or
+          -DCMAKE_BUILD_TYPE=Release
 
-- Build for X11 Desktop with GLX Renderer
+- Build for X11 Desktop with OpenGL / GLX Renderer
   Option: -DWITH_DESKTOP=ON or
           -DWITH_DESKTOP=OFF
 
@@ -216,9 +186,18 @@ Supported Build Options
   Option: -DWITH_EGL_EXAMPLE=ON or
           -DWITH_EGL_EXAMPLE=OFF
 
-- Build GLX examples
+- Build OpenGL / GLX examples
   Option: -DWITH_GLX_EXAMPLE=ON or
           -DWITH_GLX_EXAMPLE=OFF
+          
+- Build Client examples
+  Option: -DWITH_CLIENT_EXAMPLES=ON or
+          -DWITH_CLIENT_EXAMPLES=OFF
+          
+- Build with copy of textures for target platform which does not support the
+  GLX_TEXTURE_FROM_PIXMAP or EGL_IMAGE_KHR on X11 pixmaps Extensions
+  Option: -DWITH_FORCE_COPY=ON or
+          -DWITH_FORCE_COPY=OFF
 
 - Build available tests
   Option: -DWITH_TESTS=ON or
@@ -226,7 +205,7 @@ Supported Build Options
 
   Remark: Test File are currently not upstreamed.      
 
-- Build for diferent Platforms
+- Build for different Platforms
 
   You have the choice to use GLXRenderer or X11GLESRenderer.
 
@@ -238,4 +217,86 @@ Supported Build Options
 
   cmake <source-dir>/ -DWITH_DESKTOP=OFF -DWITH_GLX_EXAMPLE=OFF -DWITH_TESTS=OFF -DWITH_EGL_EXAMPLE=ON -DWITH_X11_GLES=ON
 
+Change the Environment during Runtime
+=====================================
+The following environments can be set to change the runtime behaviour.
+
+LM_PLUGIN_PATH          set the path for the location of communicator and renderer PlugIns 
+                        default : /usr/lib/layermanager
+                        Example : export LM_PLUGIN_PATH= /usr/local/lib/layermanager
+
+LM_USE_SESSION_BUS      enables the DBUS communication to run on Session bus instead of Systembus
+                        default : disabled run on system bus
+                        Example : export LM_USE_SESSION_BUS=enable
+                        
+Commandline parameter :
+LayerManagerService : -w<horizontalresolution> - default 1280
+                      -h<verticalresolution> - default 480
+                      -c<console debug level> - default 2 (only errors and info)
+                      -f<file debug level> - default 0 (disabled) log file location is /tmp/LayerManagerService.log
+                      possible debug levels :   0 disabled
+                                                1 errors
+                                                2 info,errors
+                                                3 info,errors, warnings
+                                                4 info,errors, warnings,debug
+                      -v shows version of layermanager
+
+Running Testapplications
+=====================================
+
+1. Starting the service
+
+precondition : 
+
+install prefix is /usr/local
+no compositing manager is running like openbox xfce metacity, kill these if needed
+
+run:
+#> export DISPLAY=:0
+#> export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
+#> export LM_PLUGIN_PATH=/usr/local/lib/layermanager
+#> LayerManagerService &
+
+2. Running OpenGL / OpenGL ES 2.0 Example Applications
+
+precondition : 
+
+install prefix is /usr/local
+LayerManagerService Running
+
+run:
+#> export DISPLAY=:0
+#> export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
+OpenGL ES Example
+#> EGLX11ApplicationExample &
+OpenGL Example
+#> GLX11ApplicationExample &
+
+3. Running LayerManagerControl
+
+The LayerManagerControl can be used to change and debug 
+the runtime behaviour of the service.
+
+Please Call :
+LayerManagerControl without arguments to see a list of supported commands
+
+Examples
+        LayerManagerControl get scene
+        LayerManagerControl get layers
+        LayerManagerControl get layer 1000
+        LayerManagerControl get surfaces
+        LayerManagerControl get surface 0xa
+        LayerManagerControl analyze surface 10
+        LayerManagerControl scatter
+        LayerManagerControl watch surface 0xa
+
+precondition : 
+
+install prefix is /usr/local
+LayerManagerService Running
+
+run:
+#> export DISPLAY=:0
+#> export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
+#> LayerManagerControl [command]