From 6d91a4699254e0bf15e8bf5968c0b542d1b69f38 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Mon, 25 Jun 2018 22:23:24 +0800 Subject: doc: Add an example of ~/.asoundrc file for ALSA configuration. * doc/guix.texi (Sound Services): Improve it and add an example of ~/.asoundrc file. --- doc/guix.texi | 52 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index e5366ac6b7..da05a200a1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13131,15 +13131,15 @@ Users need to be in the @code{lp} group to access the D-Bus service. @cindex ALSA @cindex PulseAudio, sound support -The @code{(gnu services sound)} module provides an -@code{alsa-service-type} service to generate an ALSA -@file{/etc/asound.conf} configuration file. This configuration file is -what allows applications that produce sound using ALSA to be correctly -handled. +The @code{(gnu services sound)} module provides a service to configure the +Advanced Linux Sound Architecture (ALSA) system, which making PulseAudio the +prefered ALSA output driver. @deffn {Scheme Variable} alsa-service-type -This is the type for the @uref{https://alsa-project.org/, ALSA}, -@command{alsa-configuration} record as in this example: +This is the type for the @uref{https://alsa-project.org/, Advanced Linux Sound +Architecture} (ALSA) system, which generates the @file{/etc/asound.conf} +configuration file. The value for this type is a @command{alsa-configuration} +record as in this example: @example (service alsa-service-type) @@ -13164,11 +13164,47 @@ at the same time and to individual control them @i{via} @command{pavucontrol}, among other things. @item @code{extra-options} (default: @var{""}) -String to append to the @file{asound.conf} file. +String to append to the @file{/etc/asound.conf} file. @end table @end deftp +Individual users who want to override the system configuration of ALSA can do +it with the @file{~/.asoundrc} file: + +@example +# In guix, we have to specify the absolute path for plugins. +pcm_type.jack @{ + lib "/home/alice/.guix-profile/lib/alsa-lib/libasound_module_pcm_jack.so" +@} + +# Routing ALSA to jack: +# . +pcm.rawjack @{ + type jack + playback_ports @{ + 0 system:playback_1 + 1 system:playback_2 + @} + + capture_ports @{ + 0 system:capture_1 + 1 system:capture_2 + @} +@} + +pcm.!default @{ + type plug + slave @{ + pcm "rawjack" + @} +@} +@end example + +See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the +details. + + @node Database Services @subsubsection Database Services -- cgit v1.2.3