On 28 October 2024 13:27:44 GMT, "Divya Ranjan via Development of GNU Guix and 
the GNU System distribution." <guix-devel@gnu.org> wrote:
>Hello,
>
>I’m having some issues getting a unified audio setup using PipeWire only, 
>i.e., PipeWire alongwith ALSA to route all audio using PulseAudio and JACK 
>emulation. I had such a setup previously on the Arch GNU/Linux distribution, 
>but I have been struggling since I switched to GNU Guix.
>
>I want first of all the applications to be handled through PipeWire’s 
>PulseAudio emulation, such as audio to browser, telegram-desktop etc. I used 
>to have a PipeWire configuration with sources and sinks for each of the major 
>applications, which was then routed using JACK emulation of PipeWire through 
>the help of a patchbay/JACK client such as Carla or qpwgraph/patchage.
>
>I have gone with the barebones configuration of PipeWire that I can find for 
>Guix, to that end, my system configuration includes the following services:
>
>#+begin_src guile
>(services
>       (append (list
>
>       (service pam-limits-service-type
>                (list
>                      (pam-limits-entry "@realtime" 'both 'rtprio 99)
>                      (pam-limits-entry "@realtime" 'both 'memlock 
> 'unlimited)))))
>                      (modify-services %desktop-services
>                                      (alsa-service-type config =>
>                                                         (alsa-configuration
>                                                         (pulseaudio? #f)))))
>#+end_src
>
>So I’ve got the realtime configuration declared here, and I also have:
>
>#+begin_src guile
>(groups (cons*
>         (user-group
>           (name "realtime")
>           (system? #t))
>         %base-groups))
>#+end_src
>
>and then realtime is added to `supplementary-groups` in `user-account`.
>
>And, similarly I’ve added the following in my home configuration’s services:
>
>#+begin_src guile
>(services (append (list
>                  (service home-pipewire-service-type
>                     (home-pipewire-configuration
>                      (wireplumber wireplumber)
>                      (enable-pulseaudio? #t))))))
>#+end_src
>
>After this configuration, I can run JACK through jackd, even though I don’t 
>have jack installed in system or home configuration. Does it get installed 
>through some other package’s dependency?
>
>Furthermore, when I try to use a JACK client through `pw-jack' it doesn’t 
>work. For example, running `pw-jack qjackctl' and starting JACK through it 
>gives the following error in qjackctl’s messages:
>
>13:13:37.600 JACK is starting...
>13:13:37.600 /run/current-system/profile/bin/jackd -dalsa -dhw:0
>13:13:37.606 JACK was started with PID=4007.
>/run/current-system/profile/bin/jackd: symbol lookup error: 
>/run/current-system/profile/bin/jackd: undefined symbol: clock_source
>13:13:37.608 JACK was stopped
>13:13:39.662 Could not connect to JACK server as client. - Overall operation 
>failed. - Unable to initialize client. Please check the messages window for 
>more info.
>
>When I try `pw-jack carla' as well, the same thing happens, it says 
>libjack.so.0 is loaded successfully but when I start Carla’s engine, it says: 
>“Failed to create new JACK client.”
>
>Now, I don’t know what’s going wrong where, but I want to JACK with PipeWire, 
>unless one can recommend me good reasons to use JACK externally alongside 
>PipeWire. Also, even PipeWire’s pulseaudio seems finicky, sometimes works 
>sometimes doesn’t. Sometimes applications like browser (librewolf, 
>ungoogled-chromium) can’t access microphone or speaker (while permissions are 
>fine), at other times, messing around with pavucontrol makes it work. I am not 
>sure what exactly is making it work and what is failing, any suggestions for 
>how to conduct some debugging would be of help. I need a consistently 
>functioning system of pipewire emulating pulseaudio for applications and jack 
>for routing, that doesn’t fail.
>
>Also, how can I configure my ALSA device cards, and have it reproduce gain? 
>Ipreviously used to have an ~/.config/asound.state that is stored and restored 
>using alsactl. Doing that doesn’t seem to preserve anthing.
>
>I’ve attached my system.scm and home configuration for reference if needed. 
>Also CC’ing Ricardo since he’s the “sound guy” I know for GUIX :)
>
>Regards,
>-- 
>Divya Ranjan,
>Philosophy, Mathematics, Libre Software.
>
>

Ping

Reply via email to