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