integrate PipeWire in AGL

Fixed

Description

As it has been previously discussed, we need to integrate PipeWire as the audio system in AGL HH

This includes:

  • adding a new yocto layer with the recipes of the pipewire components

  • working on the actual implementation of those components, especially the session management code

  • modifying apps to work with pipewire

  • whatever else needs to be done in order to build it by default in the images

The target for HH is to be able to run this on all major supported platforms of AGL and get audio working by autodetection, without any special configuration. See also https://confluence.automotivelinux.org/display/MAIN/Audio+-+AGL+F2F+May+2019+Notes

 

Environment

None
100% Done
Loading...

Activity

Show:

Walt Miner 
July 30, 2019 at 9:38 PM

Close for HH 8.0.0 release

Jan-Simon Moeller 
June 11, 2019 at 2:37 PM
(edited)

Then we might have to do links ourselves ... or check the systemd bbclass.

https://github.com/openembedded/openembedded-core/blob/thud/meta/classes/systemd.bbclass

 

But skimming it, I did not see any mention of "user".

George Kiagiadakis 
June 11, 2019 at 2:17 PM

Hmm, so this looked helpful at first, but actually it is not because pipewire's systemd units are installed in the user directory, not the system one. We can either figure out how to fix this while being in the user level, or modify the recipe to install the unit files system-wide. I am not sure what are the implications of either choice as soon as we start running apps as non-root

Jan-Simon Moeller 
June 11, 2019 at 1:25 PM

For the system service see:

https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#ref-classes-systemd

 

We might need to add the systemd class and set the flags.

George Kiagiadakis 
June 11, 2019 at 9:16 AM

I tried all the changes yesterday. Some things I noticed:

  • For some reason there was no mixer app in the image.. not sure why

  • The pipewire systemd service & socket are not enabled by default, you have to call systemctl --user enable pipewire.{socket,service} and reboot

Also, I am aware that wireplumber is buggy and nothing really works atm. I am working on some fixes there.

 

Details

Assignee

Reporter

Fix versions

Labels

Components

Affects versions

Due date

Priority

Created May 31, 2019 at 8:06 AM
Updated September 19, 2019 at 12:06 PM
Resolved July 26, 2019 at 11:05 AM