Ubuntu Studio upgrade, pipewire <-> pulseaudio conflict

Bug #2078639 reported by Norman LeDonne
182
This bug affects 22 people
Affects Status Importance Assigned to Milestone
ubuntu-release-upgrader (Ubuntu)
Invalid
Undecided
Nick Rosbrook
Noble
In Progress
Medium
Nick Rosbrook
ubuntustudio-meta (Ubuntu)
Won't Fix
Undecided
Unassigned
Noble
Won't Fix
Undecided
Unassigned

Bug Description

[Impact]

Upgrades from Ubuntu Studio 22.04 to 24.04 cannot be calculated. A quirk is required to install pipewire-audio, and remove pulseaudio during the upgrade.

[Test Plan]

1. Confirm that upgrades on Ubuntu Studio are able to be calculated, and that pipewire-audio is installed.

* Create a fresh installation of Ubuntu Studio 22.04, e.g. using the ISO here: https://cdimage.ubuntu.com/ubuntustudio/jammy/dvd/current/jammy-dvd-amd64.iso

* First confirm that an upgrade cannot be calculated without the fix:

$ do-release-upgrade

This should fail, because the quirk is not in place.

* Next, confirm that the version in -proposed fixes the problem:

$ do-release-upgrade -p

* Once the upgrade is complete, verify that pipewire-audio is installed, and pulseaudio is not:

$ apt policy pipewire-audio pulseaudio

* Finally, check the upgrade logs for the following:

$ grep "installing pipewire-audio" /var/log/dist-upgrade/main.log

2. Confirm that on non-Studio, this quirk is just skipped

* In any non-Studio installation, e.g. a LXD container, run the upgrade:

$ do-release-upgrade -p

* Confirm that the quirk was not run during the upgrade:

$ grep "installing pipewire-audio" /var/log/dist-upgrade/main.log

[Other information]

This fix is only required for jammy -> noble upgrades, hence it is only being fixed in noble.

[Where problems could occur]

The quirk is designed to limit this logic to upgrades from Ubuntu Studio 22.04 to 24.04 only. It would be a problem if this was executed on other flavors. The above test plan accounts for this by running an upgrade on Studio and non-Studio.

As always with these quirks, if a package name was typo'd, it would not work correctly, either.

[Original Description]

I used apt policy to see which launchpad ppas are on my system, but did not see any that were not from Ubuntu. I removed all non-Ubuntu repos that I could identify. I have tried to run the installer both from the updater prompt and from the line command with no success.

ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: ubuntu-release-upgrader-core 1:22.04.19
ProcVersionSignature: Ubuntu 5.15.0-119.129-lowlatency 5.15.160
Uname: Linux 5.15.0-119-lowlatency x86_64
ApportVersion: 2.20.11-0ubuntu82.6
Architecture: amd64
CasperMD5CheckResult: unknown
CrashDB: ubuntu
CrashReports:
 640:1000:124:2369063:2024-09-01 14:08:54.910173177 -0400:2024-09-01 14:08:55.910173177 -0400:/var/crash/_usr_lib_x86_64-linux-gnu_libexec_DiscoverNotifier.1000.crash
 600:116:124:37:2024-09-01 14:09:04.508243484 -0400:2024-09-01 14:09:04.507243476 -0400:/var/crash/_usr_lib_x86_64-linux-gnu_libexec_DiscoverNotifier.1000.uploaded
 664:1000:124:0:2024-09-01 14:09:03.571235808 -0400:2024-09-01 14:09:03.571235808 -0400:/var/crash/_usr_lib_x86_64-linux-gnu_libexec_DiscoverNotifier.1000.upload
 640:0:124:183605:2024-09-01 14:11:35.379068436 -0400:2024-09-01 14:11:35.379068436 -0400:/var/crash/_usr_bin_do-release-upgrade.0.crash
CurrentDesktop: KDE
Date: Sun Sep 1 15:55:59 2024
InstallationDate: Installed on 2023-03-17 (534 days ago)
InstallationMedia: Ubuntu-Studio 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809)
PackageArchitecture: all
SourcePackage: ubuntu-release-upgrader
UpgradeStatus: Upgraded to jammy on 2024-09-01 (0 days ago)
VarLogDistupgradeAptHistorylog:
 Start-Date: 2024-09-01 15:53:21
 Requested-By: duke (1000)
 End-Date: 2024-09-01 15:53:21
VarLogDistupgradeApttermlog:
 Log started: 2024-09-01 15:53:21
 Log ended: 2024-09-01 15:53:21
VarLogDistupgradeTermlog:

Related branches

Revision history for this message
Norman LeDonne (ncldjr2) wrote :
Revision history for this message
Julian Andres Klode (juliank) wrote :

I'm afraid this is a tough case to analyse. I'm not sure if there really is an issue or if it just is so complex it just runs into the arbitrary iteration limit of the solver.

It seems opencv stuff is quite complex, I don't know though if you can safely remove all opencv stuff from the system. Temporarily uninstalling krita and darktable might help, as could wine.

It stands to reason we could implement the correct mapping in our quirk to directly upgrade those:

libopencv-(.*)4.5d => libopencv-\g{1}406t64

But I am not 100% sure, it seems it tries to remove plasma-desktop and ubuntustudio-desktop earlier.

Broken plasma-desktop:amd64 Depends on qml-module-org-kde-pipewire:amd64 < none | 5.27.11-0ubuntu2 @un uH >

There is another chain of issues there with pulseaudio:

Broken pipewire-alsa:amd64 Conflicts on pulseaudio:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 -> 1:16.1+dfsg1-2ubuntu10 @ii umU >
  Considering pulseaudio:amd64 11 as a solution to pipewire-alsa:amd64 1
  MarkKeep pipewire-alsa:amd64 < none -> 1.0.5-1ubuntu1 @un uN Ib > FU=0
  Holding Back pipewire-alsa:amd64 rather than change pulseaudio:amd64

Broken ubuntustudio-pipewire-config:amd64 Breaks on pulseaudio:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 -> 1:16.1+dfsg1-2ubuntu10 @ii umU >
  Considering pulseaudio:amd64 11 as a solution to ubuntustudio-pipewire-config:amd64 2
  MarkKeep ubuntustudio-pipewire-config:amd64 < none -> 24.04.26 @un uN Ib > FU=0
  Holding Back ubuntustudio-pipewire-config:amd64 rather than change pulseaudio:amd64

  Installing pulseaudio:amd64 as Recommends of vokoscreen-ng:amd64
     Upgrading: pulseaudio-module-jack:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 | 1:16.1+dfsg1-2ubuntu10 @ii umR > due to pulseaudio-module-jack:amd64 Depends on pulseaudio:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 | 1:16.1+dfsg1-2ubuntu10 @ii umR > (= 1:15.99.1+dfsg1-1ubuntu2.2)
    MarkInstall pulseaudio:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 -> 1:16.1+dfsg1-2ubuntu10 @ii umU > FU=0
      MarkInstall pulseaudio-module-jack:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 -> 1:16.1+dfsg1-2ubuntu10 @ii umU > FU=0

I believe there is something wrong somewhere with those pulseaudio dependencies and either way you'd end up failing even if we fix opencv.

It seems ubuntustudio-desktop is missing some pipewire depends to force it being installed or something.

Revision history for this message
Norman LeDonne (ncldjr2) wrote : Re: [Bug 2078639] Re: The update crashes at the same place. I have looked but cannot find any non-Ubuntu apps that may cause a problem

Thanks Julian.  I have already decided to do a clean install, including
my /home directory.  That way, the applications will be installed
without any interference from what I may have previously done.

Thanks for your response to the bug.

On 9/2/24 04:40, Julian Andres Klode wrote:
> I'm afraid this is a tough case to analyse. I'm not sure if there really
> is an issue or if it just is so complex it just runs into the arbitrary
> iteration limit of the solver.
>
> It seems opencv stuff is quite complex, I don't know though if you can
> safely remove all opencv stuff from the system. Temporarily uninstalling
> krita and darktable might help, as could wine.
>
> It stands to reason we could implement the correct mapping in our quirk
> to directly upgrade those:
>
> libopencv-(.*)4.5d => libopencv-\g{1}406t64
>
>
> But I am not 100% sure, it seems it tries to remove plasma-desktop and ubuntustudio-desktop earlier.
>
> Broken plasma-desktop:amd64 Depends on qml-module-org-kde-pipewire:amd64
> < none | 5.27.11-0ubuntu2 @un uH >
>
> There is another chain of issues there with pulseaudio:
>
> Broken pipewire-alsa:amd64 Conflicts on pulseaudio:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 -> 1:16.1+dfsg1-2ubuntu10 @ii umU >
> Considering pulseaudio:amd64 11 as a solution to pipewire-alsa:amd64 1
> MarkKeep pipewire-alsa:amd64 < none -> 1.0.5-1ubuntu1 @un uN Ib > FU=0
> Holding Back pipewire-alsa:amd64 rather than change pulseaudio:amd64
>
>
> Broken ubuntustudio-pipewire-config:amd64 Breaks on pulseaudio:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 -> 1:16.1+dfsg1-2ubuntu10 @ii umU >
> Considering pulseaudio:amd64 11 as a solution to ubuntustudio-pipewire-config:amd64 2
> MarkKeep ubuntustudio-pipewire-config:amd64 < none -> 24.04.26 @un uN Ib > FU=0
> Holding Back ubuntustudio-pipewire-config:amd64 rather than change pulseaudio:amd64
>
>
> Installing pulseaudio:amd64 as Recommends of vokoscreen-ng:amd64
> Upgrading: pulseaudio-module-jack:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 | 1:16.1+dfsg1-2ubuntu10 @ii umR > due to pulseaudio-module-jack:amd64 Depends on pulseaudio:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 | 1:16.1+dfsg1-2ubuntu10 @ii umR > (= 1:15.99.1+dfsg1-1ubuntu2.2)
> MarkInstall pulseaudio:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 -> 1:16.1+dfsg1-2ubuntu10 @ii umU > FU=0
> MarkInstall pulseaudio-module-jack:amd64 < 1:15.99.1+dfsg1-1ubuntu2.2 -> 1:16.1+dfsg1-2ubuntu10 @ii umU > FU=0
>
>
> I believe there is something wrong somewhere with those pulseaudio dependencies and either way you'd end up failing even if we fix opencv.
>
>
> It seems ubuntustudio-desktop is missing some pipewire depends to force it being installed or something.
>
> ** Also affects: ubuntustudio-meta (Ubuntu)
> Importance: Undecided
> Status: New
>

Revision history for this message
Launchpad Janitor (janitor) wrote : Re: The update crashes at the same place. I have looked but cannot find any non-Ubuntu apps that may cause a problem

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntu-release-upgrader (Ubuntu):
status: New → Confirmed
Changed in ubuntustudio-meta (Ubuntu):
status: New → Confirmed
summary: - The update crashes at the same place. I have looked but cannot find any
- non-Ubuntu apps that may cause a problem
+ Ubuntu Studio upgrade, pipewire <-> pulseaudio confict
summary: - Ubuntu Studio upgrade, pipewire <-> pulseaudio confict
+ Ubuntu Studio upgrade, pipewire <-> pulseaudio conflict
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

I was able to reproduce this in a newly-installed and upgraded 22.04 VM. I'm attempting to see if adding pipewire-audio as a recommends to the ubuntustudio-desktop meta fixes it.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Unfortunately, adding pipewire-audio as a recommends to ubuntustudio-meta simply does not work as it produces the exact same result as it doesn't force pipewire-audio to be installed.

Julian: Adding pipewire-audio as a *depends* is simply not an option for Ubuntu Studio as, at least for 24.04, the vision was to have pipewire be uninstalled for a pulseaudio-bridged-to-jack setup which was our classic setup prior to 23.04 for backwards compatibility. Having pipewire-audio as a depends simply breaks that as the removal of pipewire-audio would cause the removal of ubuntustudio-desktop which would break the entire installation.

Therefore,, in the case of an Ubuntu Studio upgrade, ubuntu-release-upgrader needs a quirk to force the installation of pipewire-audio.

Changed in ubuntustudio-meta (Ubuntu):
status: Confirmed → Won't Fix
Nick Rosbrook (enr0n)
tags: added: foundations-todo
Changed in ubuntu-release-upgrader (Ubuntu):
assignee: nobody → Nick Rosbrook (enr0n)
Nick Rosbrook (enr0n)
description: updated
Changed in ubuntu-release-upgrader (Ubuntu):
status: Confirmed → Invalid
Changed in ubuntu-release-upgrader (Ubuntu Noble):
assignee: nobody → Nick Rosbrook (enr0n)
importance: Undecided → Medium
Nick Rosbrook (enr0n)
description: updated
Changed in ubuntustudio-meta (Ubuntu Noble):
status: New → Won't Fix
Changed in ubuntu-release-upgrader (Ubuntu Noble):
status: New → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.