summaryrefslogtreecommitdiff
path: root/README
blob: 2762edb1eaf4a6803a59ed43a1041a4086b3a7a4 (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
Sections in this file describe:
- How to build
- Example applications
- How to test
- Features

How to build on different platforms
====================================

Pre-requisite: 
- Weston
- CMake required (version 2.6 or higher)
- Open GLES and EGL for example applications
- Gtest for the test suite

Build up
1. Pull the current codebase form the git repo
   E.g. git clone http://git.projects.genivi.org/wayland-ivi-extension.git

2. Create a build directory
   E.g mkdir build_ivi_extension

3. In <build-dir> Generate build system for your platform using CMake.
   E.g. cd <build-dir>
        cmake -DCMAKE_TOOLCHAIN_FILE=<your setting *.cmake> ../

4. Start the build and install
   
   E.g. sudo make install

Example applications
====================================
  
Pre-requisite:
- Modify weston.ini to use ivi-shell.so
  Example:
    [core]
    shell=ivi-shell.so

    [ivi-shell]
    ivi-module=ivi-controller.so
    ivi-input-module=ivi-input-controller.so

- Set Environmental values
  Example:
    export XDG_RUNTIME_DIR=/var/run/<your user name>/1000
    export LD_LIBRARY_PATH=<your installation path>/lib 

Start-up Weston:
   Example: <your installation path>/bin/weston

Start-up HMI helper:
   Example: <your installation path>/bin/layer-add-surfaces 1000 1

EGLWLMockNavigation:
   Example: <your installation path>/bin/EGLWLMockNavigation

How to test
====================================
1. Build the testsuite by setting BUILD_ILM_API_TESTS and INSTALL_ILM_API_TESTS options.
   Example: cmake -DBUILD_ILM_API_TESTS -DINSTALL_ILM_API_TESTS
2. After starting up Weston run the testsuite.
   Example: <your installation path>/bin/ivi-layermanagement-api-test
            <your installation path>/bin/ivi-input-api-test

Features
====================================
ivi_share protocol:
 ivi-controller provides ivi_share protocol to share native buffer of other clients.
 A application which shared native buffer can create texture from it using EGL extension
 API (eglCreateImageKHR) and GL extension API (glEGLImageTargetTexture2DOES).
 And the texture can manipulate in your rendering scene.
 Example: <your installtion path>/bin/simple-ivi-share

 To build this feature, add the following line into toolchain file.
 option (IVI_SHARE "Enable ivi_share protocol" ON)