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
 - Component Overview
 - Required platform capabilities
 - How to build on different platforms
+- Change the environment during Runtime
+- Running Testapplications
 
 
 Introduction
 
 
 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.
 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 :
 
 
 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.  
 
 
 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
 ====================================
 
 How to build on different platforms
 ====================================
 
@@ -177,7 +147,7 @@ You need both development packages and libraries for
 
 LayerManagerService
 --
 
 LayerManagerService
 --
-libdbus
+libdbus-1-dev
 
 X11GLESRenderer:
 --
 
 X11GLESRenderer:
 --
@@ -201,10 +171,10 @@ Supported Build Options
 ===
 
 - Build configuration:
 ===
 
 - 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
 
   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
 
   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
   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
 
 - Build available tests
   Option: -DWITH_TESTS=ON or
@@ -226,7 +205,7 @@ Supported Build Options
 
   Remark: Test File are currently not upstreamed.      
 
 
   Remark: Test File are currently not upstreamed.      
 
-- Build for diferent Platforms
+- Build for different Platforms
 
   You have the choice to use GLXRenderer or X11GLESRenderer.
 
 
   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
 
 
   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]