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