Age | Commit message (Collapse) | Author | Files | Lines |
|
pipewire-ic-ipc offers a small unix socket server that listens
for the SUSPEND & RESUME requests from its clients and sets the
"suspend.playback" metadata on pipewire. This allows wireplumber
instances to catch changes to this metadata property and suspend
or resume playback from applications appropriately.
The purpose of this is to allow Instrument Cluster applications to
suspend audio from other containers and play certain sounds exclusively.
The server-side is implemented as a pipewire module that gets loaded
in a separate pipewire process and behaves as a client to the actual
pipewire daemon. It is not affected by pipewire daemon's stops & reloads,
as it re-connects automatically to pipewire and synchronizes the
"suspend.playback" status.
The icipc-client application is an example that is not meant to be
used in production. IC applications are expected to use the library
directly. It is provided for testing & demo purposes.
v2:
- removed the client from the host image
- updated the pipewire-ic-ipc git URI to point to AGL's gerrit
Bug-AGL: SPEC-4027
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I9e326797ce899c2579a0d7794202091e455c6c98
|
|
Add a generic kernel bbappend and associated conditional include
file that uses the new AGL_KCONFIG_FRAGMENTS to disable all other
AGL provided kernel configuration, replacing it with a local fragment
to enable minimal required features for LXC support. The previous
linux-renesas bbappend to leverage the meta-virtualization provided
kernel configuration has been removed, and the agl-lxc template has
been updated to drop the "virtualization" distro feature (thus
disabling all meta-virtualization additions).
Bug-AGL: SPEC-3983
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Iea91c3e273fe01d764adb644efc212f92e4a92fe
|
|
With current integration of lxc-host-image-demo for rcar-gen3,
weston fails to start due to lack of gles modules so that demo
application doesn't come up. This change fixes it with adding
kernel-module-gles into lxc-host-image-demo image, only for
rcar-gen3 boards as of this moment (since lxc-host-image-demo is
maintained only for h3/m3 ulcb boards currently).
Signed-off-by: Hiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com>
Change-Id: I7874b125e6937c43bc706f63c971cb33d1a47a6c
|
|
Add a bbappend for packagegroup-core-tools-profile to disable the
LTTng related tools and perf when building for container guests to
avoid issues with kernel source dependencies.
Bug-AGL: SPEC-3983
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I394495bcc36505103066c62dd075edd1c5c360b0
|
|
Note that these changes do allow building and booting the
lxc-host-image-demo image, and the cluster-demo container does
get autostarted, but currently Weston fails to start in the
container.
Changes:
- Add a meta-rcar-gen3 dynamic layer with some bbappends to
disable problematic kernel module dependencies when building for
the container guest configuration. The ones used are based on
the ones in the IC EG container-bsp github repo, but fewer are
needed due to the use of linux-dummy, and the changes are done
via aglcontainerguest overrides.
- Add linux-renesas bbappend that disables the problematic default
addition of virtio.scc to KERNEL_FEATURES done in the
meta-virtualization layer, which currently is dependent on the
file coming from the linux-yocto kernel metadata, which is not
the case with linux-renesas. Upstream have been engaged on this
being a problem, so this may not be required in the future.
- Add lxc.scc to KERNEL_FEATURES in linux-renesas bbappend to
leverage the .cfg from meta-virtualization.
- Borrow a couple of tweaks from the IC EG container-bsp github
repo to disable firmware and disable the serial consoles in the
container guest build.
Bug-AGL: SPEC-3953
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I30fe6a940c5c44ee2ad71410a97a4495829c0b45
|
|
Add meta-agl-lxc layer with LXC container integration recipes, and
"agl-lxc" feature to enable its use. The changes are based on the
previous prototypes by Tadao Tanikawa and the updates done for the
trial integration layers on the agl-ic-eg github by Naoto Yamaguchi,
Hiroyuki Ishii, and Jan-Simon Moeller.
The layer can be used by running aglsetup.sh with just the "agl-lxc"
feature, then building lxc-host-image-demo with bitbake.
Notes:
- The agl-lxc feature enables a "agl-container-guest" multiconfig
configuration for building the guest image(s). This suffices for
demonstrating integrated builds with multiconfig, but may change
in the future with extension of aglsetup.sh to add more
flexibility.
- There are guest-image-minimal and guest-image-cluster-demo recipes
that are intended as a base container template and a demo of its
use. The cluster-demo image contains the demo cluster reference
UI application, and is roughly equivalent to what is named
cluster-guest in the agl-ic-eg trial integration configuration.
- There are likewise lxc-host-image-minimal and lxc-host-image-demo
images. The host demo is configured to pull in the cluster-demo
guest image, and configuration has been added such that it will
automatically boot and start the cluster reference UI application.
- Unlike previous work where the guest container image is added to
the host image via a recipe that packages up the guest image's
contents, a more direct scheme is used where the guest image is
unpacked inside the host image rootfs via the use of the
ROOTFS_POSTPROCESS_COMMAND mechanism. This avoids some hassles
around potentially mismatched user and group id lists in the host
and guest images, with the additional benefit of being faster.
However, using this scheme is to some degree only necessary due to
the use of LXC with unpacked guest image hierarchies. With other
container tooling that uses e.g. OCI images, a revert to using
packages may be preferable.
- The reusable logic in the lxc-host-image-minimal recipe makes some
assumptions wrt naming. They are:
- guest image names have the format guest-image-<name>
- guest images have a corresponding LXC configuration file recipe
with the name lxc-config-<name>
The intent is to simplify reuse of the base minimal recipes, but
this can be reworked if deemed too restrictive.
- packagegroups for e.g. pipewire and weston have purposefully not
been defined at this time. It seems better to wait until it is
more obvious how useful they would be.
Limitations:
- The host image is currently rebuilt every time to work around an
issue with multiconfig dependencies that is being investigated
upstream. This can hopefully be removed in the near future.
- The demo images are currently in meta-agl-lxc for convenience.
It may make more sense for them to reside in another location to
ease shifting some things into meta-agl.
- At the moment, only qemux86-64 has been tested. The changes to
enable host and guest configuration tweaks for the rcar3 BSP need
further investigation and discussion on where they should be
maintained.
Bug-AGL: SPEC-3953, SPEC-3955
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I69d41f1d1c736f05cf3b4997dbda147879e2e25d
|