#1 Add audio subpackage
Merged a year ago by marcan. Opened a year ago by marcan.
fedora-asahi/ marcan/asahi-platform-metapackage audio  into  main

@@ -1,6 +1,6 @@ 

  Name:           asahi-platform-metapackage

  Version:        0

- Release:        4%{?dist}

+ Release:        5%{?dist}

  Summary:        Metapackage declaring Asahi platform dependencies

  Group:          Metapackages

  License:        MIT
@@ -8,6 +8,7 @@ 

  BuildArch:      noarch

  

  Requires:       %{name}-core = %{version}-%{release}

+ Requires:       (%{name}-audio = %{version}-%{release} if pipewire)

  %dnl If/when we have desktop subpackages or whatever, we can make them

  %dnl conditional dependencies with the following format:

  %dnl Requires:       (%{name}-desktop-<variant> = %{version}-%{release} if <desktop-main-package>)
@@ -49,6 +50,20 @@ 

  

  %dnl -------------------------------------------------------------------

  

+ %package audio

+ Summary:        Metapackage declaring audio support Asahi platform dependencies

+ Requires:       asahi-audio >= 0.5-1

+ Requires:       speakersafetyd >= 0.1.4-1

+ Conflicts:      pulseaudio

+ 

+ %description audio

+ This package declares the audio dependencies for the Asahi platform.

+ 

+ %files audio

+ %dnl No files to ship

+ 

+ %dnl -------------------------------------------------------------------

+ 

  %prep

  %dnl Nothing to do

  
@@ -62,6 +77,9 @@ 

  

  

  %changelog

+ * Thu Nov 09 2023 Hector Martin <marcan@fedoraproject.org>

+ - Add audio subpackage

+ 

  * Tue Nov 07 2023 Neal Gompa <ngompa@fedoraproject.org>

  - Add protected packages configuration for DNF for this package

  

no initial comment

Whoops, thanks for catching that! Updated.

We probably want to add Conflicts: for PulseAudio and JACK in the core subpackage then.

Conflicts: pulseaudio
Conflicts: jack-audio-connection-kit

Wait why? JACK is perfectly fine if you want to use it (it can even work alongside pipewire as long as you don't install its JACK lib overlay), and there's no reason to outright block PA. I'm sure we have a few "special" users who want to run PA (they will be completely unsupported, but I don't think that's reason to block the entire metapackage?)

I'm pretty sure that without the special audio handling for PipeWire, you pretty much can't do this right with Mac audio. Remember that almost nothing you've done would have any effect on those audio servers.

Yes but as I said, JACK can be used side by side. I could see people running JACK on external interfaces leaving PipeWire on the embedded speakers. Heck, I might be one of those people if I have trouble with the PipeWire ffado plugin, which I'll need.

You could also just play raw audio through the speakers with no sound server, it'd still sound like crap, but we can't stop that...

Maybe just conflict with pulseaudio, and only do it on the audio subpackage so if someone wants to do stupid stuff they only have to remove that one and not the core one?

Note that you can also just trivially switch the speaker device to "Pro Audio" in PipeWire and that also neuters everything we've done, making it as good as PipeWire here. Keep in mind the goal here isn't to stop people from doing stupid stuff, it's to make sure the default install all works as intended.

Aside: this can't be merged until we fix the ongoing default node issue, which is again blocked on a new pipewire rel, so let's leave this unmerged until that is taken care of (I think I can't mark PRs as draft here?)

Maybe just conflict with pulseaudio, and only do it on the audio subpackage so if someone wants to do stupid stuff they only have to remove that one and not the core one?

Sure then. That at least ensures that pipewire-pulse is used by default (if it wasn't already).

(And now blocked on the default volume problem, will revisit this once that's worked out)

rebased onto 99509a0

a year ago

Updated with the conflict and new asahi-audio dep. This now just needs to wait until asahi-audio-0.5-1 hits the mirrors to be installable.

Pull-Request has been merged by marcan

a year ago
Metadata