Add gitlab issue/merge request templates
[apps/waltham-receiver.git] / README.md
1 # Waltham-receiver
2
3 waltham-receiver component is a receiver side implementation for using Waltham
4 protocol to obtain and process remote output received from remoting-pluging
5 instantianted/created output by the compositor.
6
7 This component is designed to be used for evaluating the functionalities of
8 waltham-transmitter plugin.
9
10 This component also acts as weston client application to display/handle various
11 requests from actual weston client at transmitter side.
12
13 ### Architecture
14
15 ````
16
17                                 ECU 1                                                                     ECU 2
18               +-----------------------------------------------------+                    +----------------------------------------------+
19               |        +-----------------+                          |                    |                                              |
20               |        | IVI-Application |                          |                    |               +-----------+-----------+      |
21               |        +-----------------+                          |                    |               | Gstreamer |           |      |
22               |                 ^                                   |    Buffer   -----------------------> (Decode)  |           |      |
23               |        wayland  |                         +----------------------/       |               +-----------+           |      |
24               |                 v                         |         |    (Ethernet)      |               |     Waltham-receiver  |      |
25               |   +----+---------------------+            |         |        ---------------------------->                       |      |
26               |   |    |  Transmitter Plugin |<-----------------------------/            |               +-----------------------+      |
27               |   |    |                     |            |         |  Waltham-Protocol  |                             ^                |
28               |   |    |---------------------|            |         |                    |                     wayland |                |
29               |   |    |  (remoting-plugin)  |------------+         |                    |                             v                |
30               |   |    |                     |                      |                    |                 +---------------------+      |
31               |   |    +-+-------------------+                      |                    |                 |                     |      |
32               |   |                          |                      |                    |                 |       compositor    |      |
33               |   |         compositor       |                      |                    |                 |                     |      |
34               |   +------+-------------------+                      |                    |                 +----------------+----+      |
35               |          |                                          |                    |                                  |           |
36               |          v                                          |                    |                                  v           |
37               |   +------------+                                    |                    |                            +----------+      |
38               |   |  Display   |                                    |                    |                            |  Display |      |
39               |   |            |                                    |                    |                            |          |      |
40               |   +------------+                                    |                    |                            +----------+      |
41               +-----------------------------------------------------+                    +----------------------------------------------+
42
43 ````
44
45 ### Build Steps (these only apply if building locally)
46
47 1. Prerequisite before building
48
49     weston, wayland, waltham and gstreamer should be built and available.
50
51 2. In waltham-receiver directory, create build directory
52
53         $ meson -Dprefix=$PREFIX_PATH build/
54
55 3. Run ninja
56
57         $ ninja -C build/
58
59 4. waltham-receiver binary should be availaible in build directory
60
61 ### Connection Establishment
62
63 1. Connect two board over ethernet.
64
65 2. Assign IP to both the boards and check if the simple ping works.
66
67         For example:if transmitter IP: 192.168.2.51 and Waltham-Receiver IP:
68         192.168.2.52 then
69
70     $ping 192.168.2.52 (you can also ping vice versa)
71
72 3. Make sure that IP address specified in the weston.ini under
73    [transmitter-output] matches the Waltham-Receiver IP.
74
75 4. Make sure that IP address on the transmitter side match the Waltham-Receiver
76    IP.
77
78 ### Basic test steps with AGL
79
80 0. Under AGL platform you should already have the waltham-receiver installed.
81
82 1. Start the compositor with the transmitter plugin at the transmitter side,
83    use agl-shell-app-id=app_id of the run the application and put it on
84    transmitter screen. Setup a shared port between transmitter and receiver.
85    Setup the receiver IP address. The transmitter-plugin uses the same section
86    syntax as the remoting plugin.
87
88 2. Start the compositor at the receiver side
89
90 3. Start the receiver using -p <shared_port> -i <app_id>. If not app_id is
91    specified the app_id passed by the transmitter will be used. Use -i <app_id>
92    if you'd like to have the ability to activate and switch the surface if you
93    intended to start multiple application and still be able to send input and
94    display the received streamed buffers from the transmitter side.
95
96 4. Start the application on the transmitter side and watch it appear on the
97    receiver side.