summaryrefslogtreecommitdiffstats
path: root/meta-pipewire
AgeCommit message (Collapse)AuthorFilesLines
2024-04-22Enable ACP for HDMI on RaspberryPi4.Ashok Sidipotu3-3/+4
-HDMI dectection is broken on RaspberryPi4, Enable Pipewire-ACP to fix it. -copy the ACP config files as well. Bug-AGL: SPEC-4418 Change-Id: Ice6f2a4417df56b2c00dc067590763a2c847c152 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29800 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> (cherry picked from commit 5bb3283028af38cba6934be0fb0dc166941504ba) Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29857 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2024-02-18wireplumber: remove virtual RPROVIDESScott Murray1-1/+0
Remove the "virtual/pipewire-sessionmanager" RPROVIDES from the meta-pipewire wireplumber recipe, as it is unused and latest upstream now warns about the use of "virtual/" prefixes in RPROVIDES. Bug-AGL: SPEC-5067 Change-Id: I80fcd30a0eada4a270c95a126c8756574fb72f24 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29653 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account (cherry picked from commit 3875a429f6b8dfa445de00bfbe77fd71acfb695a) Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29622 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2024-01-06wireplumber-policy-config-agl: Change Mediaplayer role policyScott Murray1-1/+1
Change Mediaplayer role policy from cork to mix so that doing media playback when radio is playing or vice versa does not result in one of them becoming stuck in corked state. This is not really optimal for the older demo platform images where they are separate applications, as they will be able to play over each other, but it does allow us to avoid breakage in the new Flutter homescreen that drives both media and radio playback from the same application. Hopefully in the longer term a better solution for corking multiple sources interacting in a single role will become available. Bug-AGL: SPEC-4791 Change-Id: Ib0b3a559533d68733920290a303db6ed1875bf5a Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29578 ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Tested-by: Jenkins Job builder account
2023-12-29pipewire: Update PipeWire to v1.0.0 and WirePlumber to v0.4.17Ashok Sidipotu6-155/+6
The PipeWire project is immensely proud to announce the 1.0 release of PipeWire. Highlights of Pipewire. - Fix a memfd/dmabuf leak when uploading buffers while shutting down. - Handle concurrent jack_port_get_buffer() calls because ardour seems to be doing this. - Improve time reporting (less jitter) in ALSA when using IRQ. - Many doc improvements Highlights of wireplumber. - Fixed a reference counting issue in the object managers that could cause crashes due to memory corruption (#534) - Fixed an issue with filters linking to wrong targets, often with two sets of links (#536) - Fixed a crash in the endpoints policy that would show up when log messages were enabled at level 3 or higher Bug-AGL: SPEC-5022 Change-Id: Ibeff85f7f4b02b8b667e4c6caf6beab4487854bc Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29546 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-11-28wireplumber: Add Equalizer filter chain nodeAshok Sidipotu3-0/+89
- The filter has two bands one for bass and another one for treble. - The filter node attaches itself to multimedia endpoint, this setting is configurable. - Also add a patch to fix the dangling logs issue in the endpoints policy. Bug-AGL: SPEC-4931 Change-Id: Ibb3f56ac40eedc8c30445186624e50cbb3049afa Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29466 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account
2023-11-23wireplumber: Upgrade to v0.4.16quillback_16.91.0quillback/16.91.016.91.0Ashok Sidipotu1-3/+3
- The endpoints policy now marks the endpoint nodes as "passive" instead of marking their links, adjusting for the behavior change in PipeWire 0.3.68, this fixes the pipewire busy loop issue. - Introduced the filter node in between the endpoints and sink devices. This mechanism is intended to add equalizer node with multimedia endpoint. Bug-AGL: SPEC-4972 Change-Id: Ib624ac89ddff66b161025235a30fdaa6372e597b Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29465 Reviewed-by: Georgios Kiagiadakis <george.kiagiadakis@collabora.com> ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account
2023-11-13pipewire: Fix GST hang for unavailable camerasAshok Sidipotu3-0/+102
- GST pipeline or camera-gstreamer app hangs for a unavailable target. - To fix the issue gstpipewiresrc element in pipewire is enhanced to handle the pw_stream error in a better manner. Bug-AGL: SPEC-4881 Change-Id: Id67095b1ecf5e59d00f9c79e15c7464f27a43eb4 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29397 Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Marius Vlad <marius.vlad@collabora.com>
2023-11-07pipewire: Update PipeWire to v0.3.83 and WirePlumber to v0.4.15Ashok Sidipotu3-5/+10
Highlights of Pipewire. - Add BAP broadcast source and sink support. - Vulkan DMA buf support was merged. - Fix a leak in the SBC codecs for SCO. - More bugfixes and improvements. - IRQ based scheduling in ALSA was improved and enabled by default for Pro-Audio profile. It will also link the pcms together to get lower latency. This now matches what JACK does and results in equal latency for Pro-Audio profiles. - A new L permission was added to make it possible to force a link between nodes even when the nodes can't see each other. - Libcamera and v4l2 devices now have properties so that duplicates can be filtered out by the session manager. - Improve RAOP compatibility. - ALSA hires timestamps are now disabled by default. Highlights of Wireplumber. - A new "DSP policy" module has been added; its purpose is to automatically load a filter-chain when a certain hardware device is present, so that audio always goes through this software DSP before reaching the device. This is mainly to support Apple M1/M2 devices, which require a software DSP to be always present - WpImplModule now supports loading module arguments directly from a SPA-JSON config file; this is mainly to support DSP configuration for Apple M1/M2 and will likely be reworked for 0.5 Bug-AGL: SPEC-4940 Change-Id: I7caa7b08686704cc94be896bcd0c2269ab3c8133 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29388 Tested-by: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-boot-test: Jenkins Job builder account ci-image-build: Jenkins Job builder account
2023-08-28wireplumber: Enable v4l2 monitorAshok Sidipotu1-1/+1
The monitor scans for the V4L2 camera devices and registers pipewire device nodes for them. This effectively enables AGL to talk to cameras. Bug-AGL: SPEC-4881 Change-Id: Ia1d989da229304b1b514d6b25ebbc2530503d370 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29117 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-06-12Remove systemd user session and clean up packagegroups and imagesScott Murray1-1/+6
Remove the use of a systemd user session to align with how upstream runs Weston, and to allow using all systemd sandboxing features with the compositor and homescreen, launcher, etc. applications. The changes for this touched enough packagegroups and images that further rework was done to address some of the cleanup described in SPEC-4813, see below for details. Changes: - Remove agl-session and update various recipes that were manually adding dependencies to the user session it created. The compositor (be it weston or agl-compositor) and Wayland clients now run in the system session as non-root users. - Revive agl-users recipe, this time living in meta-agl-core, with the purpose of creating the agl-driver user. For simplicity, agl-compositor is always run as the agl-driver user, as opposed to trying to wrangle running it as different users depending on build configuration. This can potentially be made more configurable if a downstream user has a usecase to be able to specify another user. - Fully split agl-compositor's systemd unit with a tweaked fork of the weston-init recipe and unit which lives in meta-agl-core. This will be easier to maintain than the attempt to reuse weston-init for builds without meta-app-framework that was done previously. - Create packagegroup-agl-graphical-compositor, distinct from the weston packagegroup. This should make it more straightforward for downstreams that want agl-compositor or weston. - Rename agl-image-agl-compositor to agl-image-compositor to remove redundancy. - Tweak the logic for the inclusion of a few debug packages (e.g. agl-shell-activator) to ensure they only show up in images when agl-devel is enabled. - Split weston-terminal and the required icon resources into separate packages in our weston bbappend to avoid pulling in weston just to get the terminal for testing. - Add a agl-core-image.bbclass to use as a base for images. - Move our cross-SDK configuration to a agl-crosssdk.bbclass to ease reuse. - Remove various empty packagegroups. - Unify image .inc files with their .bb files as a simplification, and to move towards more how upstream Yocto Project does things. - Split pipewire tools into their own -devel packagegroup. - Remove rcar3 additions to packagegroup-agl-graphical-multimedia, as that packagegroup is not machine-specific. They will be added back in via a change in meta-agl-demo. If a downstream user desires a platform-specific packagegroup for such packages in meta-agl-core, this can be revisited, though a different implementation should be used. - Replace some :append usage with += to avoid creating problems for downstream users. Bug-AGL: SPEC-4714, SPEC-4813 Change-Id: I55b29bf749f0d5d50993a362c665bce62b785f67 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28996 Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-05-30Ensure all layers do pass yocto-check-layer and run-yocto-check-layer.sh scriptsJan-Simon Moeller1-4/+11
Ensure the layers do pass again and that the scripts are up-to-date. Bug-AGL: SPEC-4680 Bug-AGL: SPEC-4681 Bug-AGL: SPEC-4682 Bug-AGL: SPEC-4683 Bug-AGL: SPEC-4684 Change-Id: I5ab1bc49dc361a7fc30a62c5c82d286e66bad72e Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28875 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2023-04-14bluetooth.conf: open secondary access to pipewireAshok Sidipotu1-1/+1
with out having a secondary access to pipewire(export core), wireplumber creates bluetooth device objects as well as access the existing pipewire objects using the same pipewire connection, which can some times create race conditions. Enable export core, so that wireplumber bluetooth monitor has access to both the regular core and the export core. Bug-AGL: SPEC-4750 Change-Id: I0db9b276ecd6972294c36722bf5a31c5ac00f186 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28639 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-04-04pipewire: Update pw to v0.3.67 and wp to v0.4.14Ashok Sidipotu10-596/+13
Highlights of Pipewire. - The loopback module and other couples streams will now not randomly fail in some cases. (#3028). - PipeWire can now generate a limits.d config file with our recommended settings for priorities and memlock. - Add back the deprecated symbols but make sure a deprecated warning is emitted for them. This fixes compilation issues in bindings. - Clear old buffer memory on ports to fix some SIGBUS errors. - Fix a critical bug that causes audio distortion in some cases when using. AVX2. Highlights of Wireplumber. - Added bluetooth SCO (HSP/HFP) hardware offload support, together with an example script that enables this functionality on the PinePhone. - WirePlumber now maintains a stack of previously configured default nodes and prioritizes to one of those when the actively configured default node becomes unavailable, before calculating the next default using priorities (see !396). - The libcamera monitor is now enabled by default, so if the libcamera source is enabled in PipeWire, cameras discovered with the libcamera API will be available out of the box. This is safe to use alongside V4L2, as long as the user does not try to use the same camera over different APIs at the same time. - Added i18n support to be able to translate some user-visible strings. Bug-AGL: SPEC-4732 Change-Id: Ie2f9cb99b4594d21e5c2acd092fe54e93d067410 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28590 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-05-31pipewire: Fix recipe style errorduerpei1-1/+1
The bitbake recipe has style guide at https://www.openembedded.org/wiki/Styleguide In do_install Don't use mkdir to create destination directories, use install -d instead. Bug-AGL: SPEC-4401 Signed-off-by: duerpei <duep.fnst@fujitsu.com> Change-Id: Iaf33b842321e0199aee7227077520a12a9a53d74 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27562 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-05-04wireplumber: Create new recipe for policy daemonAshok Sidipotu8-15/+127
-carve out a new recipe for wireplumber policy, so that it can be assigned to the concerned container. -create new packagegroup-pipewire-base capturing the set of packages required to use PipeWire API. -remove the implicit dependencies between different wireplumber recipes, now each of those recipes will have to be included in the top level bb file. -remove the wireplumber-config virtual package. Bug-AGL: SPEC-4100 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Change-Id: I8ff6834c5dae94b75e07a0709c403b5d7f3b274b Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27254 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account
2022-03-30pipewire: remove old meson compatibility patchesScott Murray15-3785/+40
Remove accumulated patches to PipeWire that allowed building it with the older meson in dunfell, as they break building it newer meson in poky master/kirkstone. A fix contained in one of those patches for installing the systemd system unit has been reworked and added as a new separate patch. Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I949875339b500c9ccd8590a635f7734158617579
2022-03-30Update various READMEsScott Murray1-2/+15
The upstream Yocto compatibility checking now looks for "patch" and "maintainer" in layer README files, add some documentation in affected layers to avoid failures on the Yocto autobuilder. Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I779546316198530888788772f9355e93ea325782
2022-03-29Declare layer compatibility with kirkstoneScott Murray1-1/+1
For tracking upstream, we need to update the layer compatibility. Bug-AGL: SPEC-3819 Change-Id: Ic1bc22653e59b2891d77d44cdd409a805e5cc332 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-03-24pipewire: Backport crash fixScott Murray2-0/+121
Backport revert done post-0.3.47 to fix crashes seen in MPD. See upstream discussion here: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2147 Bug-AGL: SPEC-4294 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I48bf5bc632ad50daa43a3e8125ec8885f7f3a537 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27297 Reviewed-by: Georgios Kiagiadakis <george.kiagiadakis@collabora.com> Reviewed-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2022-03-05pipewire: Update pw to v0.3.47 and wp to v0.4.8Ashok Sidipotu20-281/+2719
Highlights of Pipewire. - Removed check and warnings to catch leaked listeners on the proxy. - Fix critical bug where alsa devices would not show when the kernel was compiled without VERBOSE_PROCFS - Almost all limits on number of ports, clients and nodes are removed. - Many more bug fixes and imporovements. Highlights of Wireplumber. - Added bluetooth profile auto-switching support between A2DP and HFP modes - Better default audio sources and sinks selection - Backported a fix for a known issue with selecting the default devices on top of 0.4.8 (ae6c9a5e) - Many more bug fixes and imporovements. Change-Id: Id5414aed065593893a237437a8c77645cbf15804 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27220 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-02-07pipewiresink: set a default channel map if the number of channels is fixedAshok Sidipotu2-0/+78
-This allows remaping streams using pipewiresink to match the channel layout of the target device Bug-AGL: SPEC-4241 Change-Id: I4090187dc9977fc3d0ee440b601cb95f6864a9cf Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27130 Reviewed-by: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2022-01-30config: fix wireplumber config issuesAshok Sidipotu2-3/+8
- AGL project not to take the wireplumber project upstream config files which are recently moved to /usr/share/wireplumber/. - create-items.lua to be loaded with correct arguments. Change-Id: I57200755d749e2222e90996cc034f66baca5568a Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27099 Reviewed-by: Georgios Kiagiadakis <george.kiagiadakis@collabora.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-01-30policy: fix record not workingAshok Sidipotu1-1/+11
Define a capture endpoint to get record working. Change-Id: I3356736676bf112249b078ffeb16548cfa3daea3 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27073 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27092 Reviewed-by: Georgios Kiagiadakis <george.kiagiadakis@collabora.com> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-01-30pipewire: update to pw 0.3.43 and wp 0.4.7Ashok Sidipotu10-55/+1447
Change-Id: I3e478f5e1215d128f0d76ffb2b18c278d90de266 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27022 Reviewed-by: Georgios Kiagiadakis <george.kiagiadakis@collabora.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-12-22pipewire: update to pw 0.3.40 and wp 0.4.5Ashok Sidipotu12-242/+354
Change-Id: Ie9e3fd0a67e6a5fa38543cb9b4cc54f2e0555813 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27040 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-11-04Prepare master for new framework integrationJan-Simon Moeller15-467/+1
During the last workshop the transition to the new framework was presented. This change essentially deprecates the SMACK-based application framework. To prepare the integration of it, we remove the deprecated components: - meta-agl-core: remove Smack kernel patches - meta-app-framework - meta-pipewire/dynamic-layers/meta-app-framework/ v2: rebased Bug-AGL: SPEC-4121 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: Icdaeadfb5d2193f3a4c535168c88da6073423e67 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26752
2021-10-14meta-agl: split wireplumber to run in multiple instancesGeorge Kiagiadakis13-77/+359
The "IC SoundManager" design specifies that there needs to be a session manager running in the host to manage devices and permissions, but all the domain-specific policy and app management needs to run in the IVI container, together with the apps. With this split, we are able to achieve that. In addition to the "host" and "policy" instances, we are also adding a "bluetooth" one, which loads the bluetooth plugin and manages the bluetooth device. This can be moved to the IVI container as well, or elsewhere... it only depends on bluez (so it must run in the same container as bluez). For now, given the absence of an IVI container in the lxc-demo image, all instances are running in the host, but it is trivial to move all the non-host ones to another container later. To compliment pipewire-ic-ipc, this change also adds an "alsa-suspend" lua script that runs in the context of the "host" wireplumber instance and its purpose is to mute pipewire-managed alsa devices when there is a sound playing in the IC container (on another alsa device). Finally, this change also adds V4L2 configuration in the "host" wireplumber instance, which is still disabled (and untested), but you can easily enable it for experimentation by uncommenting the relevant line in host.lua.d/90-enable-all.lua Bug-AGL: SPEC-4027 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I9febc4f3919e7c559a5d7d32bfe7bc95c75934f2 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26662 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Naoto YAMAGUCHI <naoto.yamaguchi@aisin.co.jp> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-08-23Convert to new override syntaxScott Murray13-76/+76
This is mostly the result of running a slightly customized version of the convert-overrides.py script from poky with additional overrides added. A few minor fixups were done by hand afterwards during a review of the changes. The intent of these changes is to minimize the effort to keep the "next" branch that builds against poky master up to date and tested in preparation for the switch to the next Yocto LTS release in early 2022. Bug-AGL: SPEC-4052 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia3bf63b7cb1aa1d95ada373d1a3ab56def0a125d Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26564 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-07-02pipewire: fix timerfd deadlock issueGeorge Kiagiadakis3-0/+88
Bug-AGL: SPEC-3957 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I5f41e4161b281473cebc3cb3d8e27c2c93b457be Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26470 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-06-24Update license handling for pipewire recipeJan-Simon Moeller1-4/+22
We need to set LICENSE to multiple (MIT & GPL-2.0-only & LGPL-2.1-or-later) to satisfy the current scheme required by bitbake. But the licenses of the output packages are not all 3, but mostly MIT and a few LGPL-2.1-or-later and one GPL-2.0-only. To map the dynamically created output packages with the proper MIT license, we need to call setVar after all dynamic packages are created. Bug-AGL: SPEC-3844 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I0900902af2527254869c125ec90239c9afb26f3c Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26449 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Georgios Kiagiadakis <george.kiagiadakis@collabora.com>
2021-06-23pipewire: fix alsa virtual device to work againGeorge Kiagiadakis2-0/+142
* Install symlinks to the configuration files in /etc/alsa/conf.d * Add patch from pipewire master to support roles on the virtual alsa device Bug-AGL: SPEC-3822 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: Ie411df23390754e2cdc494657eb9881771b8c401 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26447 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-06-21pipewire: update to pw 0.3.30 and wp 0.4.0George Kiagiadakis16-145/+658
* The pipewire recipe has been synced with the upstream yocto one * WirePlumber configuration now has volume ducking enabled for navigation messages. This means that music will now duck when a navigation message plays instead of being corked. * PipeWire's default configuration now lives in /usr/share/pipewire, with the possibility to override it in /etc/pipewire. This allows resetting to upstream defaults by removing /etc/pipewire v2: add licenses to the layer to match the upstream recipe, adapt licenses of sub-packages v3: mark each package with the desired license instead of the mix v4: simplify the license output of the sub-packages Bug-AGL: SPEC-3844 Change-Id: I7a15ddb503d5b064f244c8a42a1aafb4caa1d46a Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26426 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2021-06-01Remove dra7xx-evm machine supportScott Murray1-10/+0
Remove dra7xx-evm machine template and related BSP configuration tweaks. The configuration is stale and untested, and no one has expressed interest in it for long enough that it seems better to just remove it to avoid confusion about support status. Bug-AGL: SPEC-3934 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I1659eef113cf1e6fcfdddf65f712275b8fc49b6f Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26378 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-05-12wireplumber: update to 0.4 rc1George Kiagiadakis4-8/+119
* Update the bluetooth config to be aligned with the default upstream config * Make a2dp streams use the Multimedia role instead of Communication * Add wireplumber.conf in the agl config, which is now required Bug-AGL: SPEC-3844 Change-Id: Ifdc61065593b7cbd366dd490689135f0973ebf66 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26340 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-05-12meta-pipewire: add meta-oe dependencyScott Murray1-0/+1
Add LAYERDEPENDS definition to meta-pipewire's layer.conf, meta-oe is now a dependency due to Wireplumber's use of lua. Bug-AGL: SPEC-3909 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia57de5b43cca86a5b5260a06494ef43dec6ae675 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26343 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-05-10pipewire: backport pipewiresink patches to fix stuttering and other issuesGeorge Kiagiadakis3-0/+90
Bug-AGL: SPEC-3900 Change-Id: Ib93772c58b4177b8e72713e4d395c9244732e907 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26338 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-05-10pipewire: update to 0.3.27George Kiagiadakis3-1/+1
Bug-AGL: SPEC-3900 Bug-AGL: SPEC-3844 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I36eba1a6ad1342351b668360c2c812f0a9bb3632 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26333 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-04-26meta-pipewire: update to pipewire 0.3.25 and wireplumber masterGeorge Kiagiadakis67-2387/+1240
Bug-AGL: SPEC-3844 Change-Id: Ie32bfa43bf078c7d218d3150dc616501b8848bd0 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26094 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-01-06meta-pipewire: restore rcar3 Wireplumber sink configurationScott Murray2-0/+2
The most recent fixes to the Wireplumber sink configuration for the rcar3 boards (for SPEC-3661) seem to have accidentally been dropped during the changes for the layer reorganization done for SPEC-3723. Restore them to get the expected default output sink behavior. Bug-AGL: SPEC-3661 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I2a81041629e81746d6990e5604db483e0583ad46 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25865 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-12-17SPEC-3723: restructure meta-aglJan-Simon Moeller20-578/+48
Goal is to reach a minimal meta-agl-core as base for IVI and IC work at the same time. Trim dependencies and move most 'demo' related recipes to meta-agl-demo. v2: changed to bbapend + .inc , added description v3: testbuild of all images v4: restore -test packagegroup and -qa images, compare manifests and adapt packagegroups. v5: rebased v6: merged meta-agl-distro into meta-agl-core, due to dependency on meta-oe, moved -test packagegroup and -qa images to own layer meta-agl-core-test v7: Fixed comments from Paul Barker v8: Update the markdown files v9: restore wayland/weston/agl-compositor recipes/appends, reworked to move app f/w specific changes to bbappends in meta-app-framework and only demo specific weston-init changes to meta-agl-demo v10: fix s/agldemo/aglcore/ missed in weston-init.bbappend Description: This patch is part 1 out of 2 large patches that implement the layer rework discussed during the previous workshop. Essentially meta-agl-core is the small but versatile new core layer of AGL serving as basis for the work done by the IC and IVI EGs. All demo related work is moved to meta-agl-demo in the 2nd patchset. This should be applied together as atomic change. The resulting meta-agl/* follows these guidelines: - only bsp adaptations in meta-agl-bsp - remove the agl-profile-* layers for simplicity -- the packagegroup-agl(-profile)-graphical and so on have been kept in meta-agl-demo - meta-agl-profile-core is now meta-agl-core - meta-agl-core does pass yocto-check-layer -- therefore use the bbappend + conditional + .inc file construct found in meta-virtualization - meta-agl/meta-security has been merged into meta-agl/meta-app-framework - meta-netboot does pass yocto-check-layer - meta-pipewire does pass yocto-check-layer Migration: All packagegroups are preserved but they're now enabled by 'agl-demo'. Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia6c6e5e6ce2b4ffa69ea94959cdc57c310ba7c53 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25769
2020-12-11Add README files to layersJan-Simon Moeller1-0/+3
This is a requirement of the yocto-check-layer script. Bug-AGL: SPEC-3724 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I60c41d77d4b83eccf4e69651c1fe7cd334a16cc5 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25768
2020-11-10[RCAR] Fix the soundcard ak4613 audio sink.Ronan Le Martret2-0/+2
Now (RCAR BSP 4.1.0) the card ak4613 got two device (the new one is for the hdmi), so we must specify the device in the wireplumber configuration. Bug-AGL: SPEC-3661 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> Change-Id: I6fdf4fdc22d93a0558874e447ec5c4254f13d238 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25510 Reviewed-by: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2020-08-31meta-pipewire: additional improvements for iMX8MQWalter Lozano3-0/+146
Include additional improvement related to iMX8MQ, which should help to mitigate audio issues. First, add a warning if not all the committed data is actually read/written. Secondly, if snd_pcm_hw_params_is_batch == 1 tweak the delay to make sure at least a period is available in the buffer to avoid xrun. Bug-AGL: SPEC-3410 Signed-off-by: Walter Lozano <walter.lozano@collabora.com> Change-Id: Ief2e69960b3e13c1d5085581d1a7c7b3e73570c0 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25164 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-08-25meta-pipewire: Add imx8mq audio sink to WirePlumber configurationWalter Lozano2-0/+13
In order to use audio jack as default audio sink on iMX8MQ EVK add a specific configuration file in WirePlumber. Bug-AGL: SPEC-3410 Signed-off-by: Walter Lozano <walter.lozano@collabora.com> Change-Id: Iab6b85d3cd2072ea2d081fd44bdb492a25a92d74 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25129 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-08-19meta-pipewire: improve audio on iMX8MQWalter Lozano2-0/+36
As a an initial step to solve audio issues on iMX8MQ add a patch to reduce the period_size and in that sense have better control about buffers usage. Bug-AGL: SPEC-3410 Signed-off-by: Walter Lozano <walter.lozano@collabora.com> Change-Id: I0125515fc7ef6f0c9dbd6336d56d348d41f9115f Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25093 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-07-14meta-pipewire: Fix Kingfisher WirePlumber configurationScott Murray2-2/+2
Fix Kingfisher WirePlumber configuration files with the required s/rcarsound/ak4613/ to match the filenames. Bug-AGL: SPEC-3453 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ic8398060e0085abe0b69b458788fb5b404a26010 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25010 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Stéphane Desneux <stephane.desneux@iot.bzh> Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2020-06-26Move meta-agl-profile-graphical-html5 and meta-pipewire into the main layerJan-Simon Möller52-0/+2853
Reasoning: - the profile-graphical-html5 belongs in the main layer - meta-pipewire is enabled by default For reference - the original location is: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL%2Fmeta-agl-devel.git;a=commit;h=8479cd0c37e5e5e207a16f21c864610103e4f20f Bug-AGL: SPEC-3453 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Change-Id: Ib475331bb6f84437020728fbb3f17b4acaab0106 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24875 Reviewed-by: Scott Murray <scott.murray@konsulko.com>