Added [in-progress] Developer Guides
[AGL/documentation.git] / docs / 3_Developer_Guides / 1_AGL_Layers / 4_meta-agl-devel.md
1 ---
2 title: meta-agl-devel
3 ---
4
5 <!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/meta-agl-devel-guides-devguides-book.yml -->
6
7 ## Introduction
8
9 The `meta-agl-devel` layer contains components that are being tested or
10 still in development.
11 The layer also contains software packages that Original Equipment
12 Manufacturers (OEMs) need but are not included in the AGL software.
13
14 ## Sub-Layers
15
16 The `meta-agl-devel` layer contains the following files and sub-layers:
17
18 ```
19 .
20 ├── meta-agl-telemetry
21 ├── meta-audio-4a-framework
22 ├── meta-audio-soundmanager-framework
23 ├── meta-egvirt
24 ├── meta-gstrecorder-rcar-gen3
25 ├── meta-hmi-framework
26 ├── meta-oem-extra-libs
27 ├── README.md
28 ├── templates
29 ```
30
31 The following list provides a summary of these sub-layers:
32
33 * `meta-agl-telemetry`: Provides the smallest AGL image.
34   The image is designed to be used when a device requires restricted
35   scope of responsibilites (e.g. collecting vehicle telemetry).
36
37 * `meta-audio-4a-framework`: A collection of recipes used for the
38   first integration of 4A (i.e. Advanced AGL Audio Architecture).
39
40 * `meta-pipewire`: A collection of recipes used for the integration
41   of the pipewire sound system.
42
43 * `meta-audio-soundmanager-framework`: Supports the Soundmanager
44   Audio Framework features, which maps to the `agl-audio-soundmanager-framework`
45   AGL feature.
46
47 * `meta-egvirt`: The AGL Virtualization Expert Group (EG-VIRT) layer.
48   This layer supports the design, test, implementation, and assessment
49   of virtualization technologies (e.g. containers, hypervisors, system
50   partitioners, and so forth) aimed at AGL ARMv8 and Intel platforms.
51
52 * `meta-gstrecorder-rcar-gen3`: Supports streaming audio and video for
53   the Pro and Premier board kits (e.g.
54   [Renesas R-Car Starter Kit Pro Board](https://www.elinux.org/R-Car/Boards/M3SK)
55   and
56   [Renesas R-Car Starter Kit Premier Board](https://www.elinux.org/R-Car/Boards/H3SK)).
57
58 * `meta-hmi-framework`: Provides AGL's Human Machine Interface (HMI) framework
59   through resource management consisting of sounds, windows, and input control.
60   For more information, see the
61   [HMI-Framework Page](https://wiki.automotivelinux.org/hmiframework) of the
62   AGL Wiki.
63
64 * `meta-oem-extra-libs`: Provides libraries and software packages needed by
65   OEMs but not provided by the AGL software.
66
67 * `templates`: Feature templates that support the `meta-agl-devel` layer.
68
69 ## Additional Sub-Layer Information
70
71 This section provides additional information for the `meta-egvirt`,
72 `meta-oem-extra-libs`, and `meta-hmi-framework` layers.
73
74 ### Virtualization Support
75
76 The `meta-egvirt` layer enables virtualization support in AGL.
77 The AGL Virtualization Expert (EG-VIRT) group is responsible
78 for design and implementation of AGL virtualization solutions
79 (.e.g the Virtualization platform architecture of AGL).
80 You can read about EG-VERT's efforts on the
81 "[Virtualization Expert Group's](https://wiki.automotivelinux.org/eg-virt)"
82 page of the AGL wiki.
83
84 Additionally, you can learn more about virtualization as it applies to AGL
85 by reading
86 "[The Automotive Grade Linux Software Defined Connected Car Architecture](https://www.automotivelinux.org/wp-content/uploads/sites/4/2018/06/agl_software_defined_car_jun18.pdf)"
87 whitepaper.
88
89 ### OEM Extra Libraries
90
91 The `meta-oem-extra-libs` layer provides additional software packages many OEMs need
92 but are not part of the AGL source.
93 Following is the list of packages this layer provides:
94
95  * boost
96  * fixesproto
97  * imagemagick
98  * iptables
99  * Xorg-macros
100  * zlib
101  * eglibc = glibc
102  * libcurl
103  * libgif
104  * libneon
105  * mongoose
106  * fuse
107  * protocol buffers
108  * bsdiff
109  * module-init-tools
110  * libcroco
111  * libtiff
112  * librsvg
113  * libpcap
114
115 To add these packages to your library, you need to include the
116 `agl-oem-extra-libs` AGL feature when you initialize your build
117 environment using the `aglsetup.sh` script.
118
119 For information on how to use the `aglsetup.sh` script to initialize
120 your build environment, see the
121 "[Initializing Your Build Environment](../getting_started/reference/getting-started/image-workflow-initialize-build-environment.html)"
122 section.
123
124 Once you have included the AGL feature, you can build your image.
125
126 ### HMI Framework
127
128 The `meta-hmi-framework` layer supports the Human-Machine Interface (HMI) Framework.
129 The HMI-Framework is the User Interface (UI) to control the Infotainment System.
130 Work continues to close the gap between the user experience of a smart phone
131 and the Infotainment System in a vehicle, for example.
132
133 You can find more out about HMI Framework progress on the
134 "[HMI Framework](https://wiki.automotivelinux.org/hmiframework)" page on the AGL Wiki.
135
136 To add HMI Framework support to your image, you need to include the
137 `hmi-framework` AGL feature when you initialize your build
138 environment using the `aglsetup.sh` script.
139
140 For information on how to use the `aglsetup.sh` script to initialize
141 your build environment, see the
142 "[Initializing Your Build Environment](../getting_started/reference/getting-started/image-workflow-initialize-build-environment.html)"
143 section.
144
145 Once you have included the AGL feature, you can build your image.