unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Brendan Tildesley <mail@brendan.scot>
To: Josselin Poiret <dev@jpoiret.xyz>, "ludo@gnu.org" <ludo@gnu.org>,
	"guix-devel@gnu.org" <guix-devel@gnu.org>
Subject: Re: PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers)
Date: Sun, 27 Mar 2022 22:55:36 +1100	[thread overview]
Message-ID: <4c65293b-dbc1-afa9-6548-0308abb70a97@brendan.scot> (raw)
In-Reply-To: <87a6dchh39.fsf@jpoiret.xyz>

[-- Attachment #1: Type: text/plain, Size: 1956 bytes --]

On 27/3/22 01:24, Josselin Poiret wrote:

> Hello Brendan,
>
> Brendan Tildesley<mail@brendan.scot>  writes:
>> I would like to replace pulseaudio with pipewire as the default in
>> %desktop-services, the only hurdle is how to launch the user daemons in all the
>> different desktop configurations one might use. Other distros use systemd's
>> socket activation to magically launch pipewire.
>>
>> Otherwise XDG autostarts or some kind of guix home service could
>> launch it?
> The main issue for PipeWire is that it really doesn't support running a
> single system-wide daemon as we're doing with PulseAudio, so you would
> need to launch it through XDG autostart, guix home or something similar
> like you said!

I think this is not right. Pulseaudio and Pipewire are both "user services".
The Guix (pulseaudio-service-type) merely sets up some global configuration files
and evironment variables. Actually these could be a part of the user profile if one
really wanted. The only parts that actually need to be done by root is the udev service
and the alsa service setting two configuration files.

Pulseaudio is automatically started by applications that make use of it via DBUS.
I don't understand how that works, but for whatever reason Pipewire's official way
to launch is via systemd sockets. Systems without systemd use XDG autolaunch with a
trivial script like this one:
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/pipewire/files/gentoo-pipewire-launcher.in

So it is not difficult at all to run Pipewire, just a method must be chosen.

>
> One thing that I think is blocking right now is that PipeWire (or
> actually WirePlumber, I don't remember) would need to see some
> environment variables set by other user services eg. session D-Bus or
> even the compositor, which isn't possible yet with Shepherd.

Which environment variables are you talking about? I'm running pipewire on Guix System

and it seems to work fine.

> Best,

[-- Attachment #2: Type: text/html, Size: 2930 bytes --]

  reply	other threads:[~2022-03-27 11:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-24  6:48 The Shepherd on Fibers Brendan Tildesley
2022-03-26 15:24 ` PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) Josselin Poiret
2022-03-27 11:55   ` Brendan Tildesley [this message]
2022-03-27 21:25     ` raingloom
2022-03-29 13:22     ` Josselin Poiret
2022-04-28  9:27       ` Tanguy LE CARROUR
2022-04-28 12:48         ` Josselin Poiret
2022-04-29  7:28           ` Tanguy LE CARROUR

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4c65293b-dbc1-afa9-6548-0308abb70a97@brendan.scot \
    --to=mail@brendan.scot \
    --cc=dev@jpoiret.xyz \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).