多声音设备排序并不总是有效

多声音设备排序并不总是有效

我正在运行带有 ALSA 的 Ubuntu Studio 18.04 PA,并尝试控制多个设备的加载顺序。我在 /etc/modprobe.d/alsa-base.conf 的末尾添加了以下内容:

options snd_virtuoso id=DX index=0 #vid=0x13f6 pid=0x8788 # Xonar DX options snd_hda_intel id=Generic index=1 vid=0x10de pid=0x0fba # Realtek On-board options snd_hda_intel id=NVidia index=2 vid=0x1022 pid=0x1457 # HDMI options snd-usb-audio index=3 vid=0x046d pid=0x082d # Webcam C920 Mic options snd-usb-audio index=4 vid=0x0d8c pid=0x0005 # Snowball Mic options snd-usb-audio index=5 vid=0x1235 pid=0x8016 # Focusrite Scarlett 2i2 options snd-usb-audio index=6 vid=0x0d8c pid=0x0004 # Modi Multibit

我还在 /etc/modprobe.d/blacklist.conf 中将 USB 和 HDMI 设备列入黑名单,以防止 udev 在 alsa-base.conf 有机会工作之前加载它们:

snd_hda_intel snd_usb_audio

问题是,每 4 或 5 次重启中,有 1 次 USB 设备被指示在索引 5 处加载,而实际上却在索引 0 处加载。我已经验证了 vid 和 pid 六次。此时 Xonar DX 根本无法加载,索引 5 未被使用。

我尝试的最后一件事是在 alsa-base.config 中将 USB 和 HDMI 索引设置为 -2,但这也无济于事:

options snd_usb_audio index=-2 options snd_hda_intel index=-2

我不是 Linux 大师,只是在阅读其他人所做的工作。如果您能提供一些我可能遗漏的、可以让我的 Xonar DX 始终在索引 0 处加载的建议,我将不胜感激。

答案1

modprobe每个模块只允许有一行options;后面的行将替换前面的行。

如果一个模块处理多张卡,则必须一次提供所有选项:

options snd_virtuoso id=DX index=0  # Xonar DX
options snd_hda_intel id=Generic,NVidia index=1,2  # Realtek On-board, HDMI
options snd-usb-audio index=3,4,5,6 vid=0x046d,0x0d8c,0x1235,0x0d8c pid=0x082d,0x0005,0x8016,0x0004
# Webcam C920 Mic, Snowball Mic, Focusrite Scarlett 2i2, Modi Multibit

并且只有USB设备才具有PID/VID值。

相关内容