diff options
author | Veeresh Kadasani <external.vkadasani@jp.adit-jv.com> | 2020-09-15 12:49:29 +0300 |
---|---|---|
committer | Veeresh Kadasani <external.vkadasani@jp.adit-jv.com> | 2020-09-23 00:24:27 +0900 |
commit | 9ddc2faa42e98189a033b860017c644bec7f7976 (patch) | |
tree | a19bffa028c3ff9d4220ba88b1a6e52619e4aa19 /docs/0-waltham-overview.md | |
parent | 54fe9ce01eb08e8266593dbc8da2c2317de670f4 (diff) |
docs: Add waltham documentationneedlefish_13.93.0needlefish/13.93.0marlin_12.93.0marlin_12.92.0marlin_12.91.0marlin_12.90.1marlin_12.90.0marlin/12.93.0marlin/12.92.0marlin/12.91.0marlin/12.90.1marlin/12.90.0lamprey_11.92.0lamprey_11.91.0lamprey/11.92.0lamprey/11.91.0koi_10.93.0koi_10.92.0koi_10.91.0koi/10.93.0koi/10.92.0koi/10.91.013.93.012.93.012.92.012.91.012.90.112.90.011.92.011.91.010.93.010.92.010.91.0
Bug-AGL: SPEC-2757
Add waltham-book.yml and markdown files into docs.
These are fetched and processed by automotive-grade-linux/docs-webtemplate and
will be visible at docs area on https://docs.automotivelinux.org
Change-Id: I7deb90cdd9c21d71513b9765678505e38681e5f1
Signed-off-by: Naoko Tanibata <tnaoko@de.adit-jv.com>
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Signed-off-by: Veeresh Kadasani <external.vkadasani@jp.adit-jv.com>
Diffstat (limited to 'docs/0-waltham-overview.md')
-rw-r--r-- | docs/0-waltham-overview.md | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/docs/0-waltham-overview.md b/docs/0-waltham-overview.md new file mode 100644 index 0000000..78f2596 --- /dev/null +++ b/docs/0-waltham-overview.md @@ -0,0 +1,76 @@ +**Table of Content** + +1. TOC +{:toc} + +## Context + +In today's world, the information for drivers is becoming excessive. For +example, safety information to let the driver notice the obstacles on the road, +telematics information about car accident or traffic jam, media information +from connected phones etc. In the future, it is expected that the +more displays will be available in the car and show more information. + +TFT (Thin-Film transistor) Cluster will have more information, other than +engine speed and a map, with a Head-Up-Display projected onto the windshield +will bring driver to new world. With the constant bombardment of information +drivers will have a hard time making sure their eyes on the road, avoiding +needless distractions. + +As we need more comprehensive Human Machine Interfaces, which displays the +information that the driver needs on appropriate device and on time with +a comprehensive user interface, a screen-sharing, remoting mechanism between +multiple ECUs (Electronic Control Unit) will be necessary. For that, a protocol +working over the network has been devised that could solve this problem. + +## Waltham protocol + +[Waltham protocol](https://github.com/waltham/waltham) is a IPC library similar +to [Wayland](https://wayland.freedesktop.org), developed with networking in +mind. It operates over TCP sockets, while the wayland protocol only +works locally over a UNIX socket. It retains wayland-esque paradigm, making use +of XMLs to describe the protocol, and it follows an object-oriented design with +an asynchronous architecture. + +It was developed by Collabora Ltd., along with ADIT, a joint venture company +owned by Robert Bosch Car Multimedia GmbH and DENSO corporation. It supports +surface sharing via network, but sharing function itself is not implemented in +Waltham. Please refer [Waltham +documentation](https://waltham.github.io/waltham/) for more details. + +### Major differences from Wayland to Waltham +- Waltham uses TCP sockets for reliable communication +- Waltham cannot send file descriptors +- Waltham API is minimal and symmetric between server and client sides +- Waltham does not provide an event loop implementation +- The registry implementation is left out of the library, only the interface is + provided +- No multi-threading support for sharing objects between threads + +![image](./images/Diffrence_between_Wayland_and_Waltham.jpg) + +### Requirements in automotive industry +In order to use Waltham in automotive industry, the automotive specific +requirements must be covered. + +The below shows very high level requirements. You can find the further +requirements at [**Waltham Requirements**](https://confluence.automotivelinux.org/display/UIGRA/Waltham+backend+requirements). + +1. Shall be able to support fast/reliable remoting among multiple ECUs +2. Shall be able to support input handling +3. Shall be able to share dedicated application +4. Shall be able to share complete display output depending on additional + communication + +* Surface sharing is not part of Waltham protocol, each system needs to +implement the most efficient way for surface sharing. On AGL, we implemented +[Waltham client and Receiver](1-waltham-client-and-receiver.md) to enable +surface sharing along with GStreamer encoder/decoder. It uses UDP for remoting, +which is faster than TCP. Input events communicates with Waltham +protocol. + +### Links +* [Announcement of Waltham](https://lists.freedesktop.org/archives/wayland-devel/2016-October/031413.html) +* [Bi-weekly meeting minutes](https://wiki.automotivelinux.org/eg-ui-graphics) +* [UI and Graphics wiki](https://confluence.automotivelinux.org/display/UIGRA/UI+and+Graphics+Home) +* [Waltham source codes](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/weston-ivi-plugins.git;a=tree;h=refs/heads/master;hb=refs/heads/master) |