PulseAudio and PipeWire Conflict on Linux Pop_OS

Hello all,

I was on a fresh install of Pop_OS 22.04 and my first thing to install was MyCroft. The setup script can not successfully complete.

There are conflicting dependencies with libjack-jackd2-0 and packages having unmet dependencies (pop-desktop depends: pipewire-alsa, conflicts: pulse audio; recommends: io.elementary.sideload, conflicts: pulseaudio:i386)

I Googled this and did not find much support. I tried to uninstall pipewire-alsa hoping to replace it with pulseaudio and it said it was impossible because ‘pop-desktop’ depends on it.

Two questions:

  1. Is there a known/straightforward way to resolve this?
  2. In absence of #1 - what is a known linux distro and version # that I can simply install, follow the MyCroft linux instructions, and know it will work smoothly?

I really want to start using mycroft on linux and this is my second time trying and ultimately getting stumped. The last time a few months ago was also stopped by audio issues - that was on an ubuntu install and my attempts at troubleshooting led me to believe it got into the hardware and audio drivers (beyond my competencies to edit those). So this time I tried on a new laptop with a fresh linux and am getting blocked by audio again :frowning: Please help!

###UPDATE###

I guess the Ubuntu current version is Pipewire, but used to be Pulseaudio. I installed Ubuntu 18.XX and it worked and audio tested OK (first time now, yay!). I did still prompt me that libjack-jackd2-0 needed to be uninstalled, but it was possible for the install script to do that.

Is there anything I should be aware of in terms of what that uninstall may affect elsewhere in terms of Ubuntu’s audio setup?

I haven’t personally tried to do anything with a Linux setup yet. It would be great if these sorts of things started to get documented though. Or if there was even a reliable place to store them in a better format than forums.

So, I would recommend adding to the Linux installation page that Debian 22.04 LTS/based distributions do not seem to be currently compatible due to some low level incompatibility between pulseaudio and pipewire. (I assume low level since it seems to not even allow me to uninstall pipewire flat out).

Debian 18.04 used pulseaudio and works.

Just remove the pulseaudio from the setup stuff and make sure WirePlumper is installed.

That should just work. Nothing within Mycroft taps directly into PulseAudio.

Frm what I’d read it sounded to me like Pop_os desktop is unique in that it has this dependency on PipeWire and that is not an issue with other distros.

I made the mistake of removing pipewire from my Ubuntu Desktop 22.04. My graphical desktop stopped working. Installing pipewire back did not help either - had to reinstall the OS.

I have only been able to get mpc/mpd working both from Mycroft and the command line with pulseaudio running in system mode.

Hope this helps.

-Mike Mac

The issue here is the dev setup script, it’s a poor substitute to real packaging, it should not drag pulseausio at all as it is not a hard requirement of Mycroft. If you install Mycroft via setup.py manually there are no conflicts

Use at your own risk/your mileage may vary, but I modified the dev_setup script to get mycroft to build/run on my laptop, which is running Pop!_OS 22.04: Comparing MycroftAI:dev...ChristopherRogers1991:cr/dev_setup/pop_os_22.04 · MycroftAI/mycroft-core · GitHub

Basically, it does the following:

  1. Remove conflicting packages from the debian install package list (e.g. portaudio19-dev)
  2. Add system site packages to account for the python dependencies that required those packages. Packages such as portaudio19-dev are only required to compile python libraries needed for the virtual environment, such as pyaudio, but there are already pre-compiled Debian packages available in the Pop!_OS repos.
  3. Change the command that creates the venv to allow it to use system-site-packages. This makes the system packages installed from (2)available to the venv.

Given Pop!_OS is based on Ubuntu, I would expect this to work there as well, but again, your mileage may vary. I did not start from a clean install of Pop!_OS, so I may have other packages already installed that fill some requirements here.