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