From 3c7c4afaaecbb51fb1288dd06a437e5fdb954f31 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Tue, 27 Feb 2024 10:59:51 +0200 Subject: [PATCH 1/4] 02_agl_compositor.md: How to change default ref UI 02_agl_compositor.md: Add simple client examples + how to incorporate/integrate a different UI. Bug-AGL: SPEC-4832 Signed-off-by: Marius Vlad Change-Id: I5750c309dc36f5a87bbeab492efa730e7e0c708a Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/documentation/+/29724 Reviewed-by: Lisandro Perez Meyer Reviewed-by: Jan-Simon Moeller Tested-by: Jan-Simon Moeller --- .../02_agl_compositor.md | 43 +++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/docs/06_Component_Documentation/02_agl_compositor.md b/docs/06_Component_Documentation/02_agl_compositor.md index 583dedc..67b73da 100644 --- a/docs/06_Component_Documentation/02_agl_compositor.md +++ b/docs/06_Component_Documentation/02_agl_compositor.md @@ -265,7 +265,6 @@ and new activated window will be put in front. Making the split window sticky would avoid doing that. Obviously trying to activate a window already active, which has the sticky role won't be possible (it is already displayed). - ### agl-shell-desktop (deprecated, will be removed in future, see gRPC proxy) This extension is targeted at keeping some of the functionally already @@ -523,6 +522,48 @@ communication and interaction takes place. Support for the private extension was done at the Ozone interface abstraction, which Chromium projects uses now to handle the display/graphical interaction with the lower stack levels. +## How to integrate or incorporate your own UI + +The Minimum Viable Product (MV) to be able to switch/change/replace the current +UI, depending on toolkit is to call `set_background()` and `set_ready()` requests +from the agl-shell client protocol. + +This means that the toolkits need to provides access to Wayland primitives, +exposing them in a such that they can reach the client code. For instance, +Qt uses [QPA](https://wiki.qt.io/Qt_Platform_Abstraction), while +GTK can also expose it through similar ways. +Chromium/CEF and flutter platform do not explicitly expose the windowing system +(and implictly Wayland) and have that implemented at a lower level. + +Further more, depending on the needs, one would also need to either use the +gRPC proxy API or just agl-shell protocol on its own. For instance for Qt and +flutter we now use a combination of both. In Qt, we use QPA and Wayland native +code to set the [background surface](https://gerrit.automotivelinux.org/gerrit/gitweb?p=apps/homescreen.git;a=blob;f=homescreen/src/main.cpp;h=a98a15bb0113f3b28c1766e79c5d3f2d0b20fac4;hb=refs/heads/master#l255), +while activation/deactivation and anything else is handled using gRPC API, +but in the [same application](https://gerrit.automotivelinux.org/gerrit/gitweb?p=apps/homescreen.git;a=blob;f=homescreen/src/main.cpp;h=a98a15bb0113f3b28c1766e79c5d3f2d0b20fac4;hb=refs/heads/master#l355). + +In flutter because we can't reach Wayland code +from within the client, we handle the Wayland part in the +[flutter embedder](https://github.com/toyota-connected/ivi-homescreen/blob/agl/shell/wayland/window.cc#L95-L121) +whereas the activation is handled in [flutter-ics-homescreen](https://gerrit.automotivelinux.org/gerrit/gitweb?p=apps/flutter-ics-homescreen.git;a=blob;f=lib/data/data_providers/app_launcher.dart;h=8762643dba7f5a6e3ad2051749e30239743e759a;hb=HEAD) + +Similarly, CEF/Chromium has the same thing, the background and ready to present +request is handled at the lower levels. + +### Simple shell client examples + +An alternative to using toolkits is to avoid using any of them and +instead use native Wayland C code to create a simple shell client. This +means the client needs to manage everything, including redrawing the +background surface. + +An example of that is +[native-shell-client](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/native-shell-client.git;a=summary) +that is being used in the kvm images as a barebone shell client. Because that +just sets a black background matching the entire output you can have a +dedicated client that basically displays or mimics being fullscreen +(although technically it's set to maximized). + ## Streaming buffers and receiving events to and from remote outputs Quite a common feature, in the infotainment market, is the ability to stream -- 2.16.6 From 97bdc3e9a2022d596d1f5529f9b4c3e79bf1626e Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Thu, 23 May 2024 11:35:51 +0200 Subject: [PATCH 2/4] Update release name. Signed-off-by: Jan-Simon Moeller Change-Id: I9bbc4ccca03df50010801b813c72e504c915a2ac --- .../Application_Framework/01_Introduction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/06_Component_Documentation/Application_Framework/01_Introduction.md b/docs/06_Component_Documentation/Application_Framework/01_Introduction.md index 41759da..32c6bb0 100644 --- a/docs/06_Component_Documentation/Application_Framework/01_Introduction.md +++ b/docs/06_Component_Documentation/Application_Framework/01_Introduction.md @@ -16,7 +16,7 @@ With the `needlefish` release, further evolution of the replacement framework in - Using [gRPC IPC](https://grpc.io/about) for the application launcher API. The interim D-Bus based API was deprecated at this time, and removed in the - `pike` release. + `ricefish` release. - Using only systemd unit metadata in the application launcher instead of using [Desktop Entry specification](https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/) to list applications, and relying entirely on systemd for the application @@ -101,7 +101,7 @@ Service](../../04_Developer_Guides/03_Creating_a_New_Service.md) document. # User Session Management Similarly, user sessions and the services they rely on are also managed by -`systemd`. Prior to the `pike` release, AGL used a user session for the +`systemd`. Prior to the `ricefish` release, AGL used a user session for the `agl-driver` user for the running of user facing applications, including the compositor. This has been replaced with using system units that use the `User` directive. The reason for this is two-fold: -- 2.16.6 From e14a03fbbb566603ad70230f710a9ee2c0199b23 Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Thu, 23 May 2024 19:21:36 +0200 Subject: [PATCH 3/4] doc changes for image renaming. Changes: - Global replace of image names with post-rework names. - .rootfs image name suffix added to locally built image filenames. - Image list updated in a couple of places to match conf-notes.txt update that has been submitted for meta-agl-core. Bug-AGL: SPEC-5138 Signed-off-by: Jan-Simon Moeller Signed-off-by: Scott Murray Change-Id: I437f1e32078972ead2d1156686c54475e87bebaf Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/documentation/+/29915 --- .../01_Quickstart/01_Using_Ready_Made_Images.md | 52 +++++++++++----------- .../04_Initializing_Your_Build_Environment.md | 39 +++++++++------- ...07_Building_for_x86_(Emulation_and_Hardware).md | 24 +++++----- .../08_Building_for_Raspberry_Pi_4.md | 16 +++---- .../09_Building_for_Supported_Renesas_Boards.md | 12 ++--- .../10_Building_for_Virtio.md | 4 +- ...nt_Cluster_(IC-IVI_with_Container_isolation).md | 11 +++-- .../02_Flutter_Instrument_Cluster_(qemu-x86).md | 2 +- .../03_IVI_Flutter_apps.md | 2 +- .../02_Supported_Hardware_Images.md | 4 +- docs/04_Developer_Guides/01_Setting_Up_AGL_SDK.md | 14 +++--- .../02_AGL_Layers/03_meta_agl_demo.md | 2 +- .../02_AGL_Layers/05_conf_notes.md | 35 ++++++--------- .../04_Creating_a_custom_recipe.md | 2 +- .../10_agl_voice_agent_assistant.md | 4 +- docs/06_Component_Documentation/11_Unified_HMI.md | 6 +-- 16 files changed, 114 insertions(+), 115 deletions(-) diff --git a/docs/01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images.md b/docs/01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images.md index bc4da4b..ac22902 100644 --- a/docs/01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images.md +++ b/docs/01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images.md @@ -8,7 +8,7 @@ AGL provides a number of pre-built ready-made images of various versions. ### 1. QEMU (Emulation) -1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-demo-platform-crosssdk-qemux86-64.ext4.xz). +1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-ivi-demo-qt-crosssdk-qemux86-64.ext4.xz). 2. Download the [compressed kernel image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/bzImage). @@ -28,7 +28,7 @@ AGL provides a number of pre-built ready-made images of various versions. ```sh $ mkdir ~/agl-demo/ - $ cp ~/Downloads/agl-demo-platform-crosssdk-qemux86-64.ext4.xz ~/agl-demo/ + $ cp ~/Downloads/agl-ivi-demo-qt-crosssdk-qemux86-64.ext4.xz ~/agl-demo/ $ cp ~/Downloads/bzImage ~/agl-demo/ $ cd ~/agl-demo $ sync @@ -37,7 +37,7 @@ AGL provides a number of pre-built ready-made images of various versions. 6. Extract prebuilt compressed image : ```sh - $ xz -v -d agl-demo-platform-crosssdk-qemux86-64.ext4.xz + $ xz -v -d agl-ivi-demo-qt-crosssdk-qemux86-64.ext4.xz ``` 7. Launch QEMU with vinagre (for scaling), remove `- snapshot \` if you want to save changes to the image files : @@ -45,7 +45,7 @@ AGL provides a number of pre-built ready-made images of various versions. ```sh $ ( sleep 5 && vinagre --vnc-scale localhost ) > /tmp/vinagre.log 2>&1 & $ qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:35:02 -netdev user,id=net0,hostfwd=tcp::2222-:22 \ - -drive file=agl-demo-platform-crosssdk-qemux86-64.ext4,if=virtio,format=raw -show-cursor -usb -usbdevice tablet -device virtio-rng-pci \ + -drive file=agl-ivi-demo-qt-crosssdk-qemux86-64.ext4,if=virtio,format=raw -show-cursor -usb -usbdevice tablet -device virtio-rng-pci \ -snapshot -vga virtio \ -vnc :0 -soundhw hda -machine q35 -cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt -enable-kvm \ -m 2048 -serial mon:vc -serial mon:stdio -serial null -kernel bzImage \ @@ -66,7 +66,7 @@ AGL provides a number of pre-built ready-made images of various versions. ```sh $ ( sleep 5 && vncviewer ) & qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:35:02 -netdev user,id=net0,hostfwd=tcp::2222-:22 \ - -drive file=agl-demo-platform-crosssdk-qemux86-64.ext4,if=virtio,format=raw -show-cursor -usb -usbdevice tablet -device virtio-rng-pci \ + -drive file=agl-ivi-demo-qt-crosssdk-qemux86-64.ext4,if=virtio,format=raw -show-cursor -usb -usbdevice tablet -device virtio-rng-pci \ -snapshot -vga virtio \ -vnc :0 -soundhw hda -machine q35 -cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt -enable-kvm \ -m 2048 -serial mon:vc -serial mon:stdio -serial null -kernel bzImage \ @@ -78,11 +78,11 @@ AGL provides a number of pre-built ready-made images of various versions. **NOTE :** Please note [https://www.virtualbox.org/ticket/19873](https://www.virtualbox.org/ticket/19873) as this affects the VMs resolution. The AGL demo images do require 1920x1080. The instructions below have been adapted. - 1. Download the [compressed vbox disk image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-demo-platform-crosssdk-qemux86-64.wic.vmdk.xz). + 1. Download the [compressed vbox disk image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-ivi-demo-qt-crosssdk-qemux86-64.wic.vmdk.xz). 2. Install and set up [Virtual Box](https://www.virtualbox.org/wiki/Linux_Downloads). - 3. Extract the vmdk file : `$ xz -v -d agl-demo-platform-crosssdk-qemux86-64.wic.vmdk.xz` + 3. Extract the vmdk file : `$ xz -v -d agl-ivi-demo-qt-crosssdk-qemux86-64.wic.vmdk.xz` 4. Configure virtual box for AGL : - Click on `New` or `Add`. @@ -92,7 +92,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt ![vbox-step-1](images/vbox-1.png) - Select Memory size. Recommended is `2048 MB`, click on `Next`. ![vbox-step-2](images/vbox-2.png) - - Click on `Use an existing virtual hard disk file`, and select the extracted `agl-demo-platform-crosssdk-qemux86-64.wic.vmdk` file, click on `Create`. + - Click on `Use an existing virtual hard disk file`, and select the extracted `agl-ivi-demo-qt-crosssdk-qemux86-64.wic.vmdk` file, click on `Create`. ![vbox-step-3](images/vbox-3.png) - Go to `Settings`, and into `System`. Select `Chipset : IHC9`. Check on `Enable EFI (special OSes only)` and click on `OK`. ![vbox-step-4](images/vbox-4.png) @@ -110,14 +110,14 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt **NOTE :** UEFI enabled system is required. - 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-demo-platform-crosssdk-qemux86-64.wic.xz). + 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-ivi-demo-qt-crosssdk-qemux86-64.wic.xz). 2. Extract the image into USB drive : ```sh $ lsblk $ sudo umount - $ xzcat agl-demo-platform-crosssdk-qemux86-64.wic.xz | sudo dd of= bs=4M + $ xzcat agl-ivi-demo-qt-crosssdk-qemux86-64.wic.xz | sudo dd of= bs=4M $ sync ``` @@ -128,7 +128,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt ### 1. QEMU (Emulation) -1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/deploy/images/qemuarm/agl-demo-platform-crosssdk-qemuarm.ext4.xz). +1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/deploy/images/qemuarm/agl-ivi-demo-qt-crosssdk-qemuarm.ext4.xz). 2. Download the [compressed kernel image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/deploy/images/qemuarm/zImage). @@ -148,7 +148,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt ```sh $ mkdir ~/agl-demo/ - $ cp ~/Downloads/agl-demo-platform-crosssdk-qemuarm.ext4.xz ~/agl-demo/ + $ cp ~/Downloads/agl-ivi-demo-qt-crosssdk-qemuarm.ext4.xz ~/agl-demo/ $ cp ~/Downloads/zImage ~/agl-demo/ $ cd ~/agl-demo $ sync @@ -157,7 +157,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt 6. Extract prebuilt compressed image : ```sh - $ xz -v -d agl-demo-platform-crosssdk-qemuarm.ext4.xz + $ xz -v -d agl-ivi-demo-qt-crosssdk-qemuarm.ext4.xz ``` 7. Launch QEMU with vinagre (for scaling), remove `- snapshot` if you want to save changes to the image files : @@ -170,7 +170,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt -device virtio-rng-pci -device VGA,vgamem_mb=64,edid=on -vnc :0 \ -device qemu-xhci -device usb-tablet -device usb-kbd \ -kernel zImage -append "console=ttyAMA0,115200 root=/dev/vda verbose systemd.log_color=false" \ - -drive format=raw,file=agl-demo-platform-crosssdk-qemuarm.ext4 \ + -drive format=raw,file=agl-ivi-demo-qt-crosssdk-qemuarm.ext4 \ -snapshot ``` @@ -193,20 +193,20 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt -device virtio-rng-pci -device VGA,vgamem_mb=64,edid=on -vnc :0 \ -device qemu-xhci -device usb-tablet -device usb-kbd \ -kernel zImage -append "console=ttyAMA0,115200 root=/dev/vda verbose systemd.log_color=false" \ - -drive format=raw,file=agl-demo-platform-crosssdk-qemuarm.ext4 \ + -drive format=raw,file=agl-ivi-demo-qt-crosssdk-qemuarm.ext4 \ -snapshot ``` ### 2. BeagleBone Enhanced (BBE) - 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/bbe/deploy/images/bbe/agl-telematics-demo-platform-bbe.wic.xz). + 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/bbe/deploy/images/bbe/agl-telematics-demo-bbe.wic.xz). 2. Extract the image into the SD card of BeagleBone Enhanced : ```sh $ lsblk $ sudo umount - $ xzcat agl-telematics-demo-platform-bbe.wic.xz | sudo dd of= bs=4M + $ xzcat agl-telematics-demo-bbe.wic.xz | sudo dd of= bs=4M $ sync ``` @@ -224,7 +224,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt ### 1. QEMU (Emulation) -1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/deploy/images/qemuarm64/agl-demo-platform-crosssdk-qemuarm64.ext4.xz). +1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/deploy/images/qemuarm64/agl-ivi-demo-qt-crosssdk-qemuarm64.ext4.xz). 2. Download the [compressed kernel image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/deploy/images/qemuarm64/Image). @@ -244,7 +244,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt ```sh $ mkdir ~/agl-demo/ - $ cp ~/Downloads/agl-demo-platform-crosssdk-qemuarm64.ext4.xz ~/agl-demo/ + $ cp ~/Downloads/agl-ivi-demo-qt-crosssdk-qemuarm64.ext4.xz ~/agl-demo/ $ cp ~/Downloads/zImage ~/agl-demo/ $ cd ~/agl-demo $ sync @@ -253,7 +253,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt 6. Extract prebuilt compressed image : ```sh - $ xz -v -d agl-demo-platform-crosssdk-qemuarm64.ext4.xz + $ xz -v -d agl-ivi-demo-qt-crosssdk-qemuarm64.ext4.xz ``` 7. Launch QEMU with vinagre (for scaling), remove `- snapshot \` if you want to save changes to the image files : @@ -266,7 +266,7 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt -device virtio-rng-pci -device VGA,vgamem_mb=64,edid=on \ -device qemu-xhci -device usb-tablet -device usb-kbd -vnc :0 \ -kernel Image -append "console=ttyAMA0,115200 root=/dev/vda verbose systemd.log_color=false " \ - -drive format=raw,file=agl-demo-platform-crosssdk-qemuarm64.ext4 \ + -drive format=raw,file=agl-ivi-demo-qt-crosssdk-qemuarm64.ext4 \ -snapshot ``` @@ -289,20 +289,20 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt -device virtio-rng-pci -device VGA,vgamem_mb=64,edid=on \ -device qemu-xhci -device usb-tablet -device usb-kbd -vnc :0 \ -kernel Image -append "console=ttyAMA0,115200 root=/dev/vda verbose systemd.log_color=false " \ - -drive format=raw,file=agl-demo-platform-crosssdk-qemuarm64.ext4 \ + -drive format=raw,file=agl-ivi-demo-qt-crosssdk-qemuarm64.ext4 \ -snapshot ``` ### 2. Raspberry Pi 4 - 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi4/deploy/images/raspberrypi4-64/agl-demo-platform-crosssdk-raspberrypi4-64.wic.xz). + 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi4/deploy/images/raspberrypi4-64/agl-ivi-demo-qt-crosssdk-raspberrypi4-64.wic.xz). 2. Extract the image into the SD card of Raspberry Pi 4 : ```sh $ lsblk $ sudo umount - $ xzcat agl-demo-platform-crosssdk-raspberrypi4-64.wic.xz | sudo dd of= bs=4M + $ xzcat agl-ivi-demo-qt-crosssdk-raspberrypi4-64.wic.xz | sudo dd of= bs=4M $ sync ``` @@ -365,14 +365,14 @@ The AGL demo images do require 1920x1080. The instructions below have been adapt 1. Update the [firmware](https://elinux.org/R-Car/Boards/H3SK#Flashing_firmware) using files from [here](https://download.automotivelinux.org/AGL/snapshots/master/latest/h3ulcb-nogfx/deploy/images/h3ulcb/). - 2. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/h3ulcb-nogfx/deploy/images/h3ulcb/agl-demo-platform-crosssdk-h3ulcb.wic.xz). + 2. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/h3ulcb-nogfx/deploy/images/h3ulcb/agl-ivi-demo-qt-crosssdk-h3ulcb.wic.xz). 3. Extract the image into the boot device : ```sh $ lsblk $ sudo umount - $ xzcat agl-demo-platform-crosssdk-h3ulcb.wic.xz | sudo dd of= bs=4M + $ xzcat agl-ivi-demo-qt-crosssdk-h3ulcb.wic.xz | sudo dd of= bs=4M $ sync ``` diff --git a/docs/01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment.md b/docs/01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment.md index 347e1bf..03b2f5f 100644 --- a/docs/01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment.md +++ b/docs/01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment.md @@ -103,8 +103,6 @@ Available features: [meta-agl-demo] # DEMO layer Refer: https://git.automotivelinux.org/AGL/meta-agl-demo/tree/templates/feature - agl-demo-cluster-support # Add streaming to cluster of AGL demo system - agl-demo-preload # Add Tokens and sample files specific to AGL demo system agl-demo # default IVI demo agl-kvm # Enables support for building multiconfig based KVM+QEMU demo images @@ -115,7 +113,6 @@ Available features: agl-egvirt # EG-Virt feature agl-flutter # Flutter support agl-ic-container # Instrument Cluster EG demo using containers - agl-jailhouse # GSoC: jailhouse enablement agl-offline-voice-agent # Feature template for meta-offline-voice-agent layer agl-test # Test framework under development @@ -166,7 +163,7 @@ Following are brief descriptions of the AGL features you can specify on the as part of the build. * **agl-demo**: Enables the layers meta-agl-demo and meta-qt5. - You need agl-demo if you are going to build the agl-demo-platform. + You need agl-demo if you are going to build the agl-ivi-demo-qt. * **agl-pipewire**: Enables AGLs pipewire support. @@ -205,21 +202,31 @@ aglsetup.sh: Done Shell environment set up for builds. You can now run 'bitbake target' Common targets are: - - meta-agl: (core system) - agl-image-minimal - agl-image-minimal-qa +- meta-agl layer: + - included by default + * agl-image-boot (just enough to boot) + * agl-image-minimal (minimal filesystem with APIs) + * agl-image-minimal-crosssdk (crosssdk for ^^) - agl-image-ivi - agl-image-ivi-qa - agl-image-ivi-crosssdk + * agl-image-weston (minimal filesystem with weston) + * agl-image-compositor (minimal filesystem with AGL compositor) - agl-image-weston +- meta-agl-demo: (IVI demo with UI) + - with 'agl-demo' + * agl-ivi-image (base for IVI targets) + * agl-ivi-image-crosssdk (sdk for ^^) - - meta-agl-demo: (demo with UI) - agl-demo-platform (* default demo target) - agl-demo-platform-qa - agl-demo-platform-crosssdk - agl-demo-platform-html5 + * agl-ivi-demo-qt (IVI Qt demo image) + * agl-ivi-demo-qt-crosssdk (sdk for ^^) + * agl-ivi-demo-flutter (IVI Flutter demo image) + * agl-ivi-demo-html5 (IVI HTML5 demo image) + + * agl-cluster-demo-qt (cluster Qt demo image) + * agl-cluster-demo-flutter (cluster Flutter demo image) + + * agl-telematics-demo (telematics demo image) + + * agl-gateway-demo (gateway demo image) ``` Running the script creates the Build Directory if it does not already exist. diff --git a/docs/01_Getting_Started/02_Building_AGL_Image/07_Building_for_x86_(Emulation_and_Hardware).md b/docs/01_Getting_Started/02_Building_AGL_Image/07_Building_for_x86_(Emulation_and_Hardware).md index e78ef58..89ee35d 100644 --- a/docs/01_Getting_Started/02_Building_AGL_Image/07_Building_for_x86_(Emulation_and_Hardware).md +++ b/docs/01_Getting_Started/02_Building_AGL_Image/07_Building_for_x86_(Emulation_and_Hardware).md @@ -71,33 +71,33 @@ CPU and and Internet connection speeds. The build also takes approximately 100G-bytes of free disk space. **Sample Qt based IVI demo :** -The target is `agl-demo-platform`. +The target is `agl-ivi-demo-qt`. ```sh -$ time bitbake agl-demo-platform +$ time bitbake agl-ivi-demo-qt ``` By default, the build process puts the resulting image in the Build Directory and further exporting that as `$IMAGE_NAME`: ```sh -/tmp/deploy/images/qemux86-64/agl-demo-platform-qemux86-64.vmdk.xz +/tmp/deploy/images/qemux86-64/agl-ivi-demo-qt-qemux86-64.vmdk.xz -$ export IMAGE_NAME=agl-demo-platform-qemux86-64.vmdk.xz +$ export IMAGE_NAME=agl-ivi-demo-qt-qemux86-64.vmdk.xz ``` **Sample HTML5 based IVI demo :** -The target is `agl-demo-platform-html5`. +The target is `agl-ivi-demo-html5`. ```sh -$ time bitbake agl-demo-platform-html5 +$ time bitbake agl-ivi-demo-html5 ``` By default, the build process puts the resulting image in the Build Directory and further exporting that as `$IMAGE_NAME`: ```sh -/tmp/deploy/images/qemux86-64/agl-demo-platform-html5-qemux86-64.vmdk.xz +/tmp/deploy/images/qemux86-64/agl-ivi-demo-html5-qemux86-64.vmdk.xz -$ export IMAGE_NAME=agl-demo-platform-html5-qemux86-64.vmdk.xz +$ export IMAGE_NAME=agl-ivi-demo-html5-qemux86-64.vmdk.xz ``` **IVI-EG Flutter based demo :** @@ -121,7 +121,7 @@ $ time bitbake agl-image-flutter Deploying the image consists of decompressing the image and then booting it using either QEMU, VirtualBox or physical system. -The examples below are usually for the 'agl-demo-platform' target. +The examples below are usually for the 'agl-ivi-demo-qt' target. Please adapt accordingly to your target image. **3.1 QEMU** @@ -145,7 +145,7 @@ $ source $AGL_TOP/// And further use `runqemu` to boot the image : ```sh -$ runqemu tmp/deploy/images/qemux86-64/agl-demo-platform-qemux86-64.qemuboot.conf kvm serialstdio slirp publicvnc audio +$ runqemu tmp/deploy/images/qemux86-64/agl-ivi-demo-qt-qemux86-64.qemuboot.conf kvm serialstdio slirp publicvnc audio ``` If you need to run it outside of the bitbake environment or need special settings for @@ -229,7 +229,7 @@ Once VirtualBox is installed, follow these steps to boot the image: ![vbox-step-1](images/vbox-1.png) - Select Memory size. Recommended is `2048 MB`, click on `Next`. ![vbox-step-2](images/vbox-2.png) - - Click on `Use an existing virtual hard disk file`, and select the extracted `agl-demo-platform-qemux86-64.vmdk.xz` or `` file, click on `Create`. + - Click on `Use an existing virtual hard disk file`, and select the extracted `agl-ivi-demo-qt-qemux86-64.vmdk.xz` or `` file, click on `Create`. ![vbox-step-3](images/vbox-3.png) - Go to `Settings`, and into `System`. Select `Chipset : IHC9`. Check on `Enable EFI (special OSes only)` and click on `OK`. ![vbox-step-4](images/vbox-4.png) @@ -248,7 +248,7 @@ Once VirtualBox is installed, follow these steps to boot the image: $ cd tmp/deploy/images/qemux86-64 $ lsblk $ sudo umount - $ xzcat agl-demo-platform-qemux86-64.wic.xz | sudo dd of= bs=4M + $ xzcat agl-ivi-demo-qt-qemux86-64.wic.xz | sudo dd of= bs=4M $ sync ``` diff --git a/docs/01_Getting_Started/02_Building_AGL_Image/08_Building_for_Raspberry_Pi_4.md b/docs/01_Getting_Started/02_Building_AGL_Image/08_Building_for_Raspberry_Pi_4.md index 2ac3a2a..057d70b 100644 --- a/docs/01_Getting_Started/02_Building_AGL_Image/08_Building_for_Raspberry_Pi_4.md +++ b/docs/01_Getting_Started/02_Building_AGL_Image/08_Building_for_Raspberry_Pi_4.md @@ -80,35 +80,35 @@ CPU and and Internet connection speeds. The build also takes approximately 100G-bytes of free disk space. **Qt Based IVI demo :** -The target is `agl-demo-platform`. +The target is `agl-ivi-demo-qt`. ```sh -$ time bitbake agl-demo-platform +$ time bitbake agl-ivi-demo-qt ``` By default, the build process puts the resulting image in the Build Directory and further exporting that as `$IMAGE_NAME`. Here is example for the Raspberry Pi 4 board for Qt Based demo: ```sh -/tmp/deploy/images/raspberrypi4/agl-demo-platform-raspberrypi4.wic.xz +/tmp/deploy/images/raspberrypi4/agl-ivi-demo-qt-raspberrypi4.rootfs.wic.xz -$ export IMAGE_NAME=agl-demo-platform-raspberrypi4.wic.xz +$ export IMAGE_NAME=agl-ivi-demo-qt-raspberrypi4.rootfs.wic.xz ``` **HTML5 Based IVI demo :** -The target is `agl-demo-platform-html5`. +The target is `agl-ivi-demo-html5`. ```sh -$ time bitbake agl-demo-platform-html5 +$ time bitbake agl-ivi-demo-html5 ``` By default, the build process puts the resulting image in the Build Directory and further exporting that as `$IMAGE_NAME`. Here is example for the Raspberry Pi 4 board for HTML5 Based demo: ```sh -/tmp/deploy/images/raspberrypi4/agl-demo-platform-html5-raspberrypi4-64.wic.xz +/tmp/deploy/images/raspberrypi4/agl-ivi-demo-html5-raspberrypi4-64.rootfs.wic.xz -$ export IMAGE_NAME=agl-demo-platform-html5-raspberrypi4-64.wic.xz +$ export IMAGE_NAME=agl-ivi-demo-html5-raspberrypi4-64.rootfs.wic.xz ``` ## 4. Deploying the AGL Demo Image diff --git a/docs/01_Getting_Started/02_Building_AGL_Image/09_Building_for_Supported_Renesas_Boards.md b/docs/01_Getting_Started/02_Building_AGL_Image/09_Building_for_Supported_Renesas_Boards.md index 8622194..95a2267 100644 --- a/docs/01_Getting_Started/02_Building_AGL_Image/09_Building_for_Supported_Renesas_Boards.md +++ b/docs/01_Getting_Started/02_Building_AGL_Image/09_Building_for_Supported_Renesas_Boards.md @@ -251,17 +251,17 @@ CPU and and Internet connection speeds. The build also takes approximately 100G-bytes of free disk space. **Qt based IVI demo :** -For this example, the target is "agl-demo-platform": +For this example, the target is "agl-ivi-demo-qt": ```sh -bitbake agl-demo-platform +bitbake agl-ivi-demo-qt ``` **HTML5 based IVI demo :** -The target is `agl-demo-platform-html5`. +The target is `agl-ivi-demo-html5`. ```sh -$ time bitbake agl-demo-platform-html5 +$ time bitbake agl-ivi-demo-html5 ``` **Instrument Cluster with Container isolation demo :** @@ -349,7 +349,7 @@ card with a new image. ```sh cd $AGL_TOP/build/tmp/deploy/images/$MACHINE - bmaptool copy ./agl-demo-platform-$MACHINE.wic.xz + bmaptool copy ./agl-ivi-demo-qt-$MACHINE.rootfs.wic.xz ``` Alternatively, you can leave the image in an uncompressed state and write it @@ -357,7 +357,7 @@ card with a new image. ```sh sudo umount - xzcat ./agl-demo-platform-$MACHINE.wic.xz | sudo dd of= bs=4M + xzcat ./agl-ivi-demo-qt-$MACHINE.rootfs.wic.xz | sudo dd of= bs=4M sync ``` diff --git a/docs/01_Getting_Started/02_Building_AGL_Image/10_Building_for_Virtio.md b/docs/01_Getting_Started/02_Building_AGL_Image/10_Building_for_Virtio.md index a80479d..b8aefc7 100644 --- a/docs/01_Getting_Started/02_Building_AGL_Image/10_Building_for_Virtio.md +++ b/docs/01_Getting_Started/02_Building_AGL_Image/10_Building_for_Virtio.md @@ -49,10 +49,10 @@ $ bitbake agl-image-minimal ``` **Qt Based IVI demo :** -The target is `agl-demo-platform`. +The target is `agl-ivi-demo-qt`. ```sh -$ bitbake agl-demo-platform +$ bitbake agl-ivi-demo-qt ``` ## 3. Deploying the AGL Demo Image diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/01_Instrument_Cluster_(IC-IVI_with_Container_isolation).md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/01_Instrument_Cluster_(IC-IVI_with_Container_isolation).md index df5a787..bca5ef6 100644 --- a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/01_Instrument_Cluster_(IC-IVI_with_Container_isolation).md +++ b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/01_Instrument_Cluster_(IC-IVI_with_Container_isolation).md @@ -205,13 +205,12 @@ $ source meta-agl/scripts/aglsetup.sh -f -m raspberrypi4 -b build-ivi-rpi4 agl-c #### 2nd step: Build target images. Type 3b integration need to build 3 image, these image are -agl-ivi-demo-platform, agl-ivi-demo-platform-flutter and -agl-ivi-demo-platform-html5. +agl-ivi-demo-qt, agl-ivi-demo-flutter and agl-ivi-demo-html5. ```bash -$ bitbake agl-ivi-demo-platform -$ bitbake agl-ivi-demo-platform-flutter -$ bitbake agl-ivi-demo-platform-html5 +$ bitbake agl-ivi-demo-qt +$ bitbake agl-ivi-demo-flutter +$ bitbake agl-ivi-demo-html5 ``` #### 3rd step: Set deploy path of AGL IVI Demo to IC side config. @@ -297,7 +296,7 @@ image write to SD card, you need to use xzcat ant dd command in build PC. ```bash -$ sudo bash -c "xzcat /path/to/image/directory/agl-instrument-cluster-container-demo-XXXXX.wic.xz | dd of=/dev/sdXXX bs=128M" +$ sudo bash -c "xzcat /path/to/image/directory/agl-instrument-cluster-container-demo-XXXXX.rootfs.wic.xz | dd of=/dev/sdXXX bs=128M" ``` **If you are missing to set SD card device "/dev/sdXXX", it cause diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md index 330d996..1cb3899 100644 --- a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md +++ b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md @@ -67,7 +67,7 @@ $ source master/meta-agl/scripts/aglsetup.sh -b build-flutter-cluster -m qemux86 ```bash $ cd $AGL_TOP/master/build-flutter-cluster $ source agl-init-build-env -$ bitbake agl-cluster-demo-platform-flutter +$ bitbake agl-cluster-demo-flutter ``` ## 6. Deploying the AGL Demo Image diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_IVI_Flutter_apps.md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_IVI_Flutter_apps.md index 6055436..6d6bd93 100644 --- a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_IVI_Flutter_apps.md +++ b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_IVI_Flutter_apps.md @@ -59,7 +59,7 @@ $ source meta-agl/scripts/aglsetup.sh -b build-flutter-dashboard -m qemux86-64 a ```bash $ cd $AGL_TOP/master/build-flutter-dashboard $ source agl-init-build-env -$ bitbake agl-ivi-demo-platform-flutter +$ bitbake agl-ivi-demo-flutter ``` ## 6. Deploying the AGL Demo Image diff --git a/docs/02_Hardware_Support/02_Supported_Hardware_Images.md b/docs/02_Hardware_Support/02_Supported_Hardware_Images.md index 1489c2c..e690209 100644 --- a/docs/02_Hardware_Support/02_Supported_Hardware_Images.md +++ b/docs/02_Hardware_Support/02_Supported_Hardware_Images.md @@ -30,7 +30,7 @@ Community supported Boards [BBE, i. MX 6, i. MX 8](./01_Supported_Hardware_Overv * Building target image : ```sh - $ time bitbake agl-demo-platform + $ time bitbake agl-ivi-demo-qt ``` * HTML5 Based : @@ -47,7 +47,7 @@ Community supported Boards [BBE, i. MX 6, i. MX 8](./01_Supported_Hardware_Overv * Building target image : ```sh - $ time bitbake agl-demo-platform-html5 + $ time bitbake agl-ivi-demo-html5 ``` diff --git a/docs/04_Developer_Guides/01_Setting_Up_AGL_SDK.md b/docs/04_Developer_Guides/01_Setting_Up_AGL_SDK.md index d3f01fb..895d025 100644 --- a/docs/04_Developer_Guides/01_Setting_Up_AGL_SDK.md +++ b/docs/04_Developer_Guides/01_Setting_Up_AGL_SDK.md @@ -13,21 +13,21 @@ quickstart the service and application development process. - **x86** : [qemux86-64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/sdk/) - **Note:** .sh file will be with name "poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-qemux86-64-toolchain-$(version number).sh" where version number is regularly updated on the site. + **Note:** .sh file will be with name "poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-corei7-64-qemux86-64-toolchain-$(version number).sh" where version number is regularly updated on the site. - **ARM 32 bit** : [qemuarm](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/deploy/sdk/) - **Note:** .sh file will be with name " poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-armv7vet2hf-neon-vfpv4-qemuarm-toolchain-$(version number).sh" where version number is regularly updated on the site. + **Note:** .sh file will be with name " poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-armv7vet2hf-neon-vfpv4-qemuarm-toolchain-$(version number).sh" where version number is regularly updated on the site. - **AARCH64 - ARM 64bit** : [qemuarm64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/deploy/sdk/) - **Note:** .sh file will be with name " poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-aarch64-qemuarm64-toolchain-$(version number).sh" where version number is regularly updated on the site. + **Note:** .sh file will be with name " poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-aarch64-qemuarm64-toolchain-$(version number).sh" where version number is regularly updated on the site. *Henceforth,* **qemux86-64** *is used in these guides, unless specified - otherwise. We also use the 'agl-demo-platform-crosssdk' as example.* + otherwise. We also use the 'agl-ivi-demo-qt-crosssdk' as example.* 2. Create application development directory and copy SDK into them : @@ -35,7 +35,7 @@ quickstart the service and application development process. ```sh $ mkdir ~/agl-app - $ cp ~/Downloads/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-*.sh ~/agl-app/ + $ cp ~/Downloads/poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-*.sh ~/agl-app/ $ cd ~/agl-app ``` @@ -45,9 +45,9 @@ quickstart the service and application development process. ```sh - $ chmod 777 poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-*.sh + $ chmod 777 poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-*.sh $ mkdir agl-sdk/ - $ ./poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-*.sh + $ ./poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-*.sh ``` Select target directory for SDK : `~/agl-app/agl-sdk` diff --git a/docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md b/docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md index 3f73d8a..7aae87c 100644 --- a/docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md +++ b/docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md @@ -7,7 +7,7 @@ title: meta-agl-demo The `meta-agl-demo` layer is the reference user interface layer for the DEMO platform of Automotive Grade Linux (AGL). The layer provides a reference platform and applications. -The BitBake target name for the DEMO platform is `agl-demo-platform`, which is +The BitBake target name for the DEMO platform is `agl-ivi-demo-qt`, which is the full DEMO platform image. ## Layer Dependencies diff --git a/docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md b/docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md index c0595bc..d51aafd 100644 --- a/docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md +++ b/docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md @@ -1,7 +1,8 @@ --- -title: config-notes +title: conf-notes --- +``` Common targets are: - meta-agl layer: - included by default @@ -10,33 +11,25 @@ Common targets are: * agl-image-minimal-crosssdk (crosssdk for ^^) * agl-image-weston (minimal filesystem with weston) + * agl-image-compositor (minimal filesystem with AGL compositor) - meta-agl-demo: (IVI demo with UI) - with 'agl-demo' - * agl-image-ivi (base for IVI targets) - * agl-image-ivi-crosssdk (sdk for ^^) + * agl-ivi-image (base for IVI targets) + * agl-ivi-image-crosssdk (sdk for ^^) - * agl-image-graphical-qt5 (weston plus qt5 framework libs) - * agl-image-graphical-qt5-crosssdk (sdk for ^^) + * agl-ivi-demo-qt (IVI Qt demo image) + * agl-ivi-demo-qt-crosssdk (sdk for ^^) + * agl-ivi-demo-flutter (IVI Flutter demo image) + * agl-ivi-demo-html5 (IVI HTML5 demo image) - * agl-image-graphical-html5 (weston plus chromium for html5) - - * agl-image-cluster (minimal image with APIs for cluster) - * agl-image-cluster-qt5 (image with QT5 and APIs for cluster) - - * agl-image-telematics (image with APIs for telematics) - - * agl-demo-platform (* default IVI demo target *) - * agl-demo-platform-crosssdk (sdk for ^^) - - * agl-cluster-demo-platform (cluster demo image) - * agl-cluster-demo-platform-crosssdk (sdk for ^^) - * agl-cluster-demo-qtcompositor (cluster demo using own compositor) - - * agl-telematics-demo-platform (telematics demo image) - * agl-telematics-demo-platform-crosssdk (sdk for ^^) + * agl-cluster-demo-qt (cluster Qt demo image) + * agl-cluster-demo-flutter (cluster Flutter demo image) + * agl-telematics-demo (telematics demo image) + * agl-gateway-demo (gateway demo image) +``` **Note:** For update details on this page please refer diff --git a/docs/04_Developer_Guides/04_Creating_a_custom_recipe.md b/docs/04_Developer_Guides/04_Creating_a_custom_recipe.md index f8650e8..9ff2da4 100644 --- a/docs/04_Developer_Guides/04_Creating_a_custom_recipe.md +++ b/docs/04_Developer_Guides/04_Creating_a_custom_recipe.md @@ -31,7 +31,7 @@ For adding a custom linux software/service like cannelloni you have to do the fo ``` devtool build packagename - devtool build-image agl-demo-platform + devtool build-image agl-ivi-demo-qt ``` If that is working you could add it to git/gerrit. You have to add your recipe to a layer. diff --git a/docs/06_Component_Documentation/10_agl_voice_agent_assistant.md b/docs/06_Component_Documentation/10_agl_voice_agent_assistant.md index 3142700..97bdd0d 100644 --- a/docs/06_Component_Documentation/10_agl_voice_agent_assistant.md +++ b/docs/06_Component_Documentation/10_agl_voice_agent_assistant.md @@ -13,7 +13,7 @@ Before we dive into the detailed components documentation, let's first take a lo ```shell $ source master/meta-agl/scripts/aglsetup.sh -m qemux86-64 -b build-master agl-demo agl-devel agl-offline-voice-agent $ source agl-init-build-env -$ bitbake agl-ivi-demo-platform-flutter +$ bitbake agl-ivi-demo-flutter ``` After the build is complete, you can run the final image using QEMU. Once the image is running, you can start the voice agent service by running the following command: @@ -283,4 +283,4 @@ To set up and run the RASA NLU Intent Engine, follow these steps: The voice assistant app is a flutter based application made for Automotive Grade Linux (AGL). It is responsible for interacting with the voice agent service for user voice command recognition, intent extraction, and command execution. It also receives the response from the voice agent service and displays it on the screen. Some app UI screenshots are attached below. ![Voice_Agent_App_1](images/agl-voice-agent/voice-assistant-flutter-1.png) -![Voice_Agent_App_2](images/agl-voice-agent/voice-assistant-flutter-2.png) \ No newline at end of file +![Voice_Agent_App_2](images/agl-voice-agent/voice-assistant-flutter-2.png) diff --git a/docs/06_Component_Documentation/11_Unified_HMI.md b/docs/06_Component_Documentation/11_Unified_HMI.md index fcd8c01..f908215 100644 --- a/docs/06_Component_Documentation/11_Unified_HMI.md +++ b/docs/06_Component_Documentation/11_Unified_HMI.md @@ -26,7 +26,7 @@ After adding the feature, execute the command: ``` $ bitbake ``` -**Note**: The operation has been confirmed with the **agl-demo-platform**. If you wish to specify a different `` other than agl-demo-platform, create a file named `.bbappend` in the directory +**Note**: The operation has been confirmed with the **agl-ivi-demo-qt**. If you wish to specify a different `` other than agl-ivi-demo-qt, create a file named `.bbappend` in the directory ``` $AGL_TOP/master/meta-agl-devel/meta-uhmi/meta-rvgpu/recipes-platform/images ``` @@ -92,7 +92,7 @@ qemu-system-x86_64 -enable-kvm -m 2048 \ ``` Save the file and run the following to start QEMU. ``` -sudo /run_qemu_bridge.sh /tmp/deploy/images/qemux86-64/bzImage /tmp/deploy/images/qemux86-64/agl-demo-platform-qemux86-64.ext4 +sudo /run_qemu_bridge.sh /tmp/deploy/images/qemux86-64/bzImage /tmp/deploy/images/qemux86-64/agl-ivi-demo-qt-qemux86-64.ext4 ``` When QEMU boot, assign an IP address. For example: ``` @@ -158,7 +158,7 @@ $ weston-editor **Note**: There are known issues with mouse, such as the cursor becoming invisible and occasional flickering of a green screen. **Appendix** -- By building the RVGPU on Ubuntu, it is possible to enable bidirectional remote rendering between the agl-demo-platform and Ubuntu. +- By building the RVGPU on Ubuntu, it is possible to enable bidirectional remote rendering between the agl-ivi-demo-qt and Ubuntu. For the build procedure on Ubuntu, see the following URL: https://github.com/unified-hmi/remote-virtio-gpu The figure below shows an example where Ubuntu is used as the Sender and AGL as the Receiver, running RVGPU. -- 2.16.6 From 9342fe00bd3d5d1c3aa07af38e3ddc874096d15e Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Thu, 30 May 2024 14:20:15 -0400 Subject: [PATCH 4/4] Document demo images Add new pages under the build section that describe all of the currently available images for both the regular and KVM demos. Bug-AGL: SPEC-5138 Signed-off-by: Scott Murray Change-Id: I05793147bc385f08304a873127912739e071a193 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/documentation/+/29958 Reviewed-by: Walt Miner Reviewed-by: Jan-Simon Moeller --- .../11_Available_Demo_Images.md | 139 +++++++++++++++++++++ .../12_Available_KVM_Demo_Images.md | 96 ++++++++++++++ 2 files changed, 235 insertions(+) create mode 100644 docs/01_Getting_Started/02_Building_AGL_Image/11_Available_Demo_Images.md create mode 100644 docs/01_Getting_Started/02_Building_AGL_Image/12_Available_KVM_Demo_Images.md diff --git a/docs/01_Getting_Started/02_Building_AGL_Image/11_Available_Demo_Images.md b/docs/01_Getting_Started/02_Building_AGL_Image/11_Available_Demo_Images.md new file mode 100644 index 0000000..32ebb6c --- /dev/null +++ b/docs/01_Getting_Started/02_Building_AGL_Image/11_Available_Demo_Images.md @@ -0,0 +1,139 @@ +--- +title: Available Demo Images +--- + +## 1. Demo Images + +These images are available when the `agl-demo` feature is given to `aglsetup.sh`. The resulting images use DHCP for network configuration, and all except the `agl-ivi-demo-control-panel` images will contain instances of the KUKSA.val databroker by default. + +### agl-ivi-image + +Base IVI demo image that the other IVI images derive from. A user will typically not be building this image, it is more relevant if making changes to the base demo services or packaging that affects all the IVI demos. + +### agl-ivi-image-crosssdk + +Corresponding SDK image for `agl-ivi-image`. Typically, a user will be more interested in the `agl-ivi-demo-qt-crosssk`, as the resulting SDK from that image is more useful for application development. + +### agl-ivi-image-flutter + +Base Flutter IVI demo image. Derived from `agl-ivi-image` and includes the Flutter components required for running Flutter applications. A user will typically not be building this image, it usually will only be interesting if doing development of primary Flutter applications such as IVI homescreen applications. + +### agl-ivi-demo-flutter + +Flutter based IVI demo image, using `flutter-ics-homescreen` application. + +### agl-ivi-demo-html5 + +HTML5 based IVI demo image, using a combination of the Chromium Embedded Framework (CEF) and Web Application Manager (WAM). + +### agl-ivi-demo-qt + +Qt based IVI demo image, using `homescreen` and `launcher` as well as other Qt applications. + +### agl-ivi-demo-qt-crosssdk + +This is the corresponding SDK image for `agl-ivi-demo-qt`. + +### agl-ivi-demo-control-panel + +IVI demo control panel image. Simple image that runs the `agl-demo-control-panel` application for driving demo setups. + +### agl-cluster-demo-flutter + +Flutter based IC demo image, using `flutter-cluster-dashboard` application. + +### agl-cluster-demo-qt + +Qt based IC demo image, using `cluster-dashboard` application. + +### agl-gateway-demo + +Gateway demo image. The image runs the KUKSA.val databroker and the associated `kuksa-dbc-feeder` for CAN input. + +### agl-telematics-demo + +Telematics demo image. Currently a WIP. + +## 2. Preconfigured Demo Images + +These images are also available when the `agl-demo` feature is given to `aglsetup.sh`, but are intended for use with a more complete demo setup along the lines of what the project showcases at tradeshows such as CES or Embedded World. The resulting images use DHCP for network configuration, but the following address assignments are assumed: + +- IVI board has address 192.168.10.2 +- IC board has address 192.168.10.3 +- Gateway board has address 192.168.10.4 + +Whether an image includes the KUKSA.val databroker or not will be indicated below. + +Note that the preconfigured IVI images are for the most part only tested on the Renesas H3ULCB based AGL reference hardware. While the IC images are typically run on a Raspberry Pi 4 when a standalone IC is used as part of a tradeshow demo, the IC images are simpler and should be a bit more flexible with respect to target platform. + +### agl-ivi-demo-flutter-preconfigured + +Flutter IVI demo image with: + +- IC navigation streaming support +- KUKSA.val databroker present, preconfigured IC images assume it runs on IVI board. +- udev configuration for USB I2C adapter for demo setup LEDs and RTC +- Weston Terminal application removed + +### agl-ivi-demo-flutter-preconfigured-gateway + +Flutter IVI demo image with: + +- IC navigation streaming support +- KUKSA.val databroker removed, as it runs on the gateway. +- Application configuration changes for databroker being on the gateway. +- udev configuration for USB I2C adapter for demo setup LEDs and RTC +- Weston Terminal application removed + +### agl-ivi-demo-qt-preconfigured + +Qt IVI demo image with: + +- IC navigation streaming support +- KUKSA.val databroker present, preconfigured IC images assume it runs on IVI board. +- udev configuration for USB I2C adapter for demo setup LEDs and RTC +- Weston Terminal application removed + +### agl-ivi-demo-control-panel-preconfigured + +IVI demo control panel image with: + +- Default configuration for databroker running on IVI board. + +### agl-ivi-demo-control-panel-preconfigured-gateway + +IVI demo control panel image with: + +- KUKSA.val databroker present, with `kuksa-dbc-feeder` configuration to output CAN messages for the signals coming from the application's vehicle simulation. +- Default configuration disables HVAC and steering wheel pages, as those are driven by hardware connected to the gateway in the full demo setup. + +### agl-cluster-demo-flutter-preconfigured + +Flutter IC demo image with: + +- KUKSA.val databroker removed, as it runs on the IVI board. +- Application configuration changes for databroker being on the IVI board. +- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. + +### agl-cluster-demo-flutter-preconfigured-gateway + +Flutter IC demo image with: + +- KUKSA.val databroker removed, as it runs on the gateway. +- Application configuration changes for databroker being on the gateway. +- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. + +### agl-cluster-demo-qt-preconfigured + +Qt IC demo image with: + +- KUKSA.val databroker removed, as it runs on the IVI board. +- Application configuration changes for databroker being on the IVI board. +- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. + +### agl-gateway-demo-preconfigured + +Gateway demo image with: + +- `kuksa-dbc-feeder` against `can0` interface configured for vehicle simulation (e.g. vehicle and engine speed) CAN messages coming from the `agl-ivi-demo-control-panel-preconfigured-gateway` image. +- A second instance of `kuksa-dbc-feeder` against `can1` interface configured for input and output of CAN messages from and to the steering wheel and HVAC hardware, respectively. \ No newline at end of file diff --git a/docs/01_Getting_Started/02_Building_AGL_Image/12_Available_KVM_Demo_Images.md b/docs/01_Getting_Started/02_Building_AGL_Image/12_Available_KVM_Demo_Images.md new file mode 100644 index 0000000..ce8bb44 --- /dev/null +++ b/docs/01_Getting_Started/02_Building_AGL_Image/12_Available_KVM_Demo_Images.md @@ -0,0 +1,96 @@ +--- +title: Available KVM Demo Images +--- + +## 1. KVM Demo Images + +These images are available when the `agl-kvm` feature is given to `aglsetup.sh`. The resulting images use DHCP for network configuration, but the following address assignments are assumed: + +- KVM demo board has internal address 172.16.10.1 +- IVI guest has internal address 172.16.10.2 +- IC guest has internal address 172.16.10.3 + +Note that all of the KVM demo images are currently configured for the Renesas H3ULCB based AGL reference hardware. While the demo can likely be run on other hardware, there are some pieces of configuration that are currently hard-coded that would need to be changed. One particular aspect of hardware-specific configuration is that the USB connection for the touchscreen used for the IVI needs to be plugged into the lower USB connector of the 2x USB 3.0 connector header on the reference hardware. + +### agl-ivi-demo-flutter-guest + +Flutter IVI demo image with: + +- IC navigation streaming support + +### agl-cluster-demo-flutter-guest + +Flutter IC demo image with: + +- KUKSA.val databroker removed, as it runs on the IVI guest. +- Application configuration changes for databroker being on the IVI guest. + +### agl-kvm-demo + +Base KVM demo image with: + +- `agl-ivi-demo-flutter-guest` IVI guest. +- `agl-cluster-demo-flutter-guest` IC guest. +- KUKSA.val databroker not present, as it runs on the IVI guest. + +## 2. Preconfigured KVM demo images + +These images are also available when the `agl-kvm` feature is given to `aglsetup.sh`, but are intended for use with a more complete demo setup along the lines of what the project showcases at tradeshows such as CES or Embedded World. The resulting images use DHCP for network configuration, but the following address assignments are assumed: + +- KVM demo board has internal address 172.16.10.1 +- IVI guest has internal address 172.16.10.2 +- IC guest has internal address 172.16.10.3 +- KVM demo board has address 192.168.10.2 +- Gateway board has address 192.168.10.4 + +### agl-ivi-demo-flutter-guest-preconfigured + +Flutter IVI demo image with: + +- IC navigation streaming support +- KUKSA.val databroker removed, as it runs on the KVM host. +- Application configuration changes for databroker being on the KVM host. +- Platform service daemons such as audio and HVAC support removed as they run on the KVM host. +- Weston Terminal application removed + +### agl-ivi-demo-flutter-guest-preconfigured-gateway + +Flutter IVI demo image with: + +- IC navigation streaming support +- KUKSA.val databroker removed, as it runs on the gateway. +- Application configuration changes for databroker being on the gateway. +- Platform service daemons such as audio and HVAC support removed as they run on the KVM host. +- Weston Terminal application removed + +### agl-cluster-demo-flutter-guest-preconfigured + +Flutter IC demo image with: + +- KUKSA.val databroker removed, as it runs on the KVM host. +- Application configuration changes for databroker being on the KVM host. +- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. + +### agl-cluster-demo-flutter-guest-preconfigured-gateway + +Flutter IC demo image with: + +- KUKSA.val databroker removed, as it runs on the gateway. +- Application configuration changes for databroker being on the gateway. +- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. + +### agl-kvm-demo-flutter-preconfigured + +KVM demo image with: + +- `agl-ivi-demo-flutter-guest-preconfigured` IVI guest. +- `agl-cluster-demo-flutter-guest-preconfigured` IC guest. +- KUKSA.val databroker. +- Platform service daemons such as audio and HVAC. + +### agl-kvm-demo-flutter-preconfigured-gateway + +- `agl-ivi-demo-flutter-guest-preconfigured-gateway` IVI guest. +- `agl-cluster-demo-flutter-guest-preconfigured-gateway` IC guest. +- Platform service daemons such as audio and HVAC +- Service configuration for the KUKSA.val databroker being on the gateway. \ No newline at end of file -- 2.16.6