* The Shepherd on Fibers @ 2022-03-24 6:48 Brendan Tildesley 2022-03-26 15:24 ` PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) Josselin Poiret 0 siblings, 1 reply; 8+ messages in thread From: Brendan Tildesley @ 2022-03-24 6:48 UTC (permalink / raw) To: ludo@gnu.org, guix-devel@gnu.org I think you are doing amazing work! I hope socket activation can be added because it may be helpful for launching the user services for pipewire, but I've never really understood how it actually works. 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? ^ permalink raw reply [flat|nested] 8+ messages in thread
* PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) 2022-03-24 6:48 The Shepherd on Fibers Brendan Tildesley @ 2022-03-26 15:24 ` Josselin Poiret 2022-03-27 11:55 ` Brendan Tildesley 0 siblings, 1 reply; 8+ messages in thread From: Josselin Poiret @ 2022-03-26 15:24 UTC (permalink / raw) To: Brendan Tildesley, ludo@gnu.org, guix-devel@gnu.org 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! 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. Best, -- Josselin Poiret ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) 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 2022-03-27 21:25 ` raingloom 2022-03-29 13:22 ` Josselin Poiret 0 siblings, 2 replies; 8+ messages in thread From: Brendan Tildesley @ 2022-03-27 11:55 UTC (permalink / raw) To: Josselin Poiret, ludo@gnu.org, guix-devel@gnu.org [-- 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 --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) 2022-03-27 11:55 ` Brendan Tildesley @ 2022-03-27 21:25 ` raingloom 2022-03-29 13:22 ` Josselin Poiret 1 sibling, 0 replies; 8+ messages in thread From: raingloom @ 2022-03-27 21:25 UTC (permalink / raw) To: guix-devel; +Cc: mail On Sun, 27 Mar 2022 22:55:36 +1100 Brendan Tildesley <mail@brendan.scot> wrote: > 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, This might be of interest. https://freeradical.zone/@craftyguy/107981283066383952 https://sr.ht/~craftyguy/superd ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) 2022-03-27 11:55 ` Brendan Tildesley 2022-03-27 21:25 ` raingloom @ 2022-03-29 13:22 ` Josselin Poiret 2022-04-28 9:27 ` Tanguy LE CARROUR 1 sibling, 1 reply; 8+ messages in thread From: Josselin Poiret @ 2022-03-29 13:22 UTC (permalink / raw) To: mail, ludo@gnu.org, guix-devel@gnu.org Hello Brendan, Brendan Tildesley <mail@brendan.scot> writes: > Which environment variables are you talking about? I'm running pipewire on Guix System > > and it seems to work fine. > >> Best, Right, I think I conflated too many different things, basically my use-case was making screensharing work on wlroots-based compositors, but the service that need these env variables (at least WAYLAND_DISPLAY I think) is xdg-desktop-portal-wlr. WirePlumber and PipeWire should be fine by themselves, since they're started by the session D-Bus and thus should have access to it, and shouldn't need anything else. Best, -- Josselin Poiret ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) 2022-03-29 13:22 ` Josselin Poiret @ 2022-04-28 9:27 ` Tanguy LE CARROUR 2022-04-28 12:48 ` Josselin Poiret 0 siblings, 1 reply; 8+ messages in thread From: Tanguy LE CARROUR @ 2022-04-28 9:27 UTC (permalink / raw) To: Josselin Poiret, guix-devel, mail Hi Josselin, hi Brendan, hi Guix, Quoting Josselin Poiret (2022-03-29 15:22:35) > Brendan Tildesley <mail@brendan.scot> writes: > > Which environment variables are you talking about? I'm running pipewire on Guix System > > and it seems to work fine. > > Right, I think I conflated too many different things, basically my > use-case was making screensharing work on wlroots-based compositors, but > the service that need these env variables (at least WAYLAND_DISPLAY I > think) is xdg-desktop-portal-wlr. WirePlumber and PipeWire should be > fine by themselves, since they're started by the session D-Bus and thus > should have access to it, and shouldn't need anything else. I recently switched from Xorg to Wayland and I'm quite happy with my new setup! The only last "little" thing that doesn't work for me is screen-sharing using Icecat and/or Chromium!? :-( And, I won't go back to Xorg "just" for that! ^_^' I would be grateful if someone could tell me how to set up the PipeWire thingy!? I've installed `pipewire`, `xdg-desktop-portal-wlr`, and `wireplumber`… set up the ENV variables `WAYLAND_DISPLAY` and `XDG_CURRENT_DESKTOP`… set the proper flag in Chromium… but it doesn't seem to work!? I thought it would be dbus "auto-magic", but apparently not. Event if I manually start `pipewire` and `wireplumber`, nothing happens when I try to share my screen, for instance while in a Jitsi Meet meeting. Any advice welcome! … even a good old RTFM, if it comes with a link to get the information from! :-) Regards, -- Tanguy ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) 2022-04-28 9:27 ` Tanguy LE CARROUR @ 2022-04-28 12:48 ` Josselin Poiret 2022-04-29 7:28 ` Tanguy LE CARROUR 0 siblings, 1 reply; 8+ messages in thread From: Josselin Poiret @ 2022-04-28 12:48 UTC (permalink / raw) To: Tanguy LE CARROUR, guix-devel, mail Hello Tanguy, Tanguy LE CARROUR <tanguy@bioneland.org> writes: > I recently switched from Xorg to Wayland and I'm quite happy with my new > setup! The only last "little" thing that doesn't work for me is > screen-sharing using Icecat and/or Chromium!? :-( I know that at least for icecat, it needs to dlopen pipewire for screen-sharing to work, but for now it isn't included in the icecat package. In the meantime, i've been using the command line `LD_LIBRARY_PATH="$(guix build pipewire)/lib" icecat` to get screensharing working in icecat. Also, you say you've set the env variables, but you need to set them for dbus: that means running `update-dbus-activation-environment WAYLAND_DISPLAY`, is that what you ended up doing? HTH, -- Josselin Poiret ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers) 2022-04-28 12:48 ` Josselin Poiret @ 2022-04-29 7:28 ` Tanguy LE CARROUR 0 siblings, 0 replies; 8+ messages in thread From: Tanguy LE CARROUR @ 2022-04-29 7:28 UTC (permalink / raw) To: Josselin Poiret, guix-devel, mail Hi Josselin, Quoting Josselin Poiret (2022-04-28 14:48:55) > Tanguy LE CARROUR <tanguy@bioneland.org> writes: > > > I recently switched from Xorg to Wayland and I'm quite happy with my new > > setup! The only last "little" thing that doesn't work for me is > > screen-sharing using Icecat and/or Chromium!? :-( > > I know that at least for icecat, it needs to dlopen pipewire for > screen-sharing to work, but for now it isn't included in the icecat > package. Oh! Any roadmap for that?! Is it discussed somewhere else?! > In the meantime, i've been using the command line > `LD_LIBRARY_PATH="$(guix build pipewire)/lib" icecat` to get > screensharing working in icecat. OK… I'll give it a try. > Also, you say you've set the env variables, but you need to set them for > dbus: that means running `update-dbus-activation-environment > WAYLAND_DISPLAY`, is that what you ended up doing? If you meant `dbus-update-activation-environment`… this so much what I have **NOT** done! :-D … I just set ENVVAR. ^_^' Sorry, but all of this is a bit of voodoo to me! But I'll give it a try. Thanks for your precious advice! -- Tanguy ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-04-29 7:34 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 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
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).