Аудиоустройство Nixos по умолчанию - PullRequest
1 голос
/ 08 мая 2019

Я пытаюсь настроить аудиоустройство по умолчанию на хосте NixOS.

Мои устройства alsa, таким образом:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

У меня нет HDMI или цифровых аудиоустройств; Я просто хочу использовать обычное аналоговое устройство ALC1220.

В настоящее время у меня установлено AUDIODEV=hw:1,0 в моей среде (для sox) и alsa-audio-device=sysdefault:CARD=Generic в моей vlcrc. Это работает, но очевидно, что оно зависит от пользователя и приложения и вызывает боль в склонении к склонности (declarity?).

Похоже, это должно быть что-то, что я могу установить на уровне хоста, например, установив

sound.extraConfig =
  ''
    pcm.!default {
      type hw
      card Generic
    }
  '';

в моем файле configuration.nix или, возможно, при настройке pulseaudio.

Я искал помощи в вики NixOS ( ALSA , Pulse ), на других сайтах, таких как ArchLinux , Документация Pulse и другие сайты, такие как StackOverflow (например, stackexchange ), но я не могу найти ничего, что действительно работает.

Я пробовал вышеизложенное и его варианты; а также пробовал с & без Pulse; но я не нашел ничего, что работает.

Было бы просто здорово прослушивать звук на всех устройствах этой карты.

Как всегда, любые указатели с благодарностью получены.

Обновление : вот мой /etc/asound.conf

pcm_type.pulse {
  libs.native = /nix/store/a3v4gh5lbb2g8fizq9xh8nbdp8qrvs6r-alsa-plugins-1.1.6/lib/alsa-lib/libasound_module_pcm_pulse.so ;

}
pcm.!default {
  type pulse
  hint.description "Default Audio Device (via PulseAudio)"
}
ctl_type.pulse {
  libs.native = /nix/store/a3v4gh5lbb2g8fizq9xh8nbdp8qrvs6r-alsa-plugins-1.1.6/lib/alsa-lib/libasound_module_ctl_pulse.so ;

}
ctl.!default {
  type pulse
}

(и этот модуль настоящий):

$ ls -l /nix/store/a3v4gh5lbb2g8fizq9xh8nbdp8qrvs6r-alsa-plugins-1.1.6/lib/alsa-lib/libasound_module_ctl_pulse.so
-r-xr-xr-x 1 root root 33512 Jan  1  1970 /nix/store/a3v4gh5lbb2g8fizq9xh8nbdp8qrvs6r-alsa-plugins-1.1.6/lib/alsa-lib/libasound_module_ctl_pulse.so
...