[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: use of Recommends by vlc to force users to use pipewire



On 2022-05-17 08:54:59 -0400, Marvin Renich wrote:
> There is, unfortunately, a catch here.  In order for any of the
> applications that require a sound server to work, one of them must be
> installed.  For example, mpd links with libasound, libpipewire, and
> libpulse.  If each of these libs simply provides the glue to another
> package that provides the middleware and drivers, and for the reasons
> stated above they each only Suggest their middleware package, then it is
> possible for _none_ of the sound servers to be installed.

AFAIK, this kind of issue is normally solved with on ORed Recommends
(when a virtual package is not defined for that). For instance,
libaspell15 has

  Recommends: aspell-en | aspell-dictionary | aspell6a-dictionary

So, if the user already chose a solution, it won't be overridden
by the default.

Here, this could be

  Recommends: pipewire | pulseaudio

but IMHO, it is not up to libraries to do such Recommends, but
to audio applications or desktop environments, or something
done automatically at installation time where the user chooses
which kind of installation he wants? But isn't a sound system
already installed by default with a typical installation of a
desktop machine?

Indeed, for a remote VM, it is silly to recommend a sound server,
just because a library appears in the chain of dependencies:

joooj:~> apt-get install -s atril | grep '^Inst pipewire'
Inst pipewire-bin (0.3.19-4 Debian:11.3/stable [amd64])
Inst pipewire (0.3.19-4 Debian:11.3/stable [amd64])

(FYI, atril is just a PDF/PS/DVI document viewer, no relation
with audio at all.)

Ditto for the gnucash accounting software:

joooj:~> apt-get install -s gnucash | grep '^Inst pipewire'
Inst pipewire-bin (0.3.19-4 Debian:11.3/stable [amd64])
Inst pipewire (0.3.19-4 Debian:11.3/stable [amd64])

> I do not fully understand the relationships between the different sound
> servers, for example I think pulseaudio can use ALSA as one of its
> backends, but do I think that they all need to be co-installable without
> interfering with the operation of each other, because some applications
> appear to only use pulseaudio and others only pipewire.  Clearly from
> the original message in this thread, installing pipewire breaks at least
> some setups when using VLC and ogg123.

Worse than that, ogg123 (when used with ALSA) remained broken after
I uninstalled pipewire (perhaps because default choices were
automatically changed in the mean time). I eventually managed to
fix the issue by randomly changing options in pavucontrol.

> This is definitely a bug, either of severity "serious" (violates
> Debian Policy definition of "Recommends") or "critical" (breaks
> other software). But I think to sort this out will require the sound
> server maintainers to come up with a way for the user specify which
> sound server to use, and then have a metapackage that forces at
> least one of them to be installed.
> 
> I think you (Vincent) are fully justified in filing a bug against
> libpipewire of severity at least "serious", however it may take more
> than just downgrading the Recommends to Suggests in order to straighten
> this out correctly.

Any comment from anyone else?

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)


Reply to: