背景
snd-aloop
我正在尝试在运行 GCP 提供的公共 Debian 10(buster)映像的 Compute Engine 实例上启用模块。
输出uname -a
:
Linux *** 4.19.0-18-cloud-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux
问题
我尝试通过运行来安装此模块modprobe snd-aloop
。但是我收到以下错误:
modprobe: FATAL: Module snd-aloop not found in directory /lib/modules/4.19.0-18-cloud-amd64
看起来该模块不存在。
因此我尝试寻找合适的软件包。在此之前,我通过运行来更新软件包存储库sudo apt-get update
。我尝试安装的软件包:
linux-modules-extra-gcp
linux-image-generic
linux-modules-extra-$(uname -r)
不幸的是,这些包都找不到。
而且我在互联网上找不到任何解决此问题的相关资源。
问题
- 如何
snd-aloop
在 Debian 10(buster)上添加内核模块? - 是否有包含此模块的包?
如果可能的话,我希望避免从源代码构建和安装此模块。如果没有其他方法,我将尝试此作为最后的选择。
答案1
默认情况下,GCP 提供的 Debian 10 映像不支持声音;
当您运行find /lib/modules/$(uname -r) -type f -name '*.ko' | grep snd
列出所有可加载模块时,根本没有声音模块。
此外,当您安装alsa-utils
并运行它时,您将看到:
wb@deb10:~$ sudo alsactl init
alsactl: init:1757: No soundcards found...
我尝试寻找解决方案,但两个小时后我放弃了,转而寻找一种变通方法。
如果你对 Ubuntu 18.04 LTS 满意 - 那么你很幸运 - 这个模块就在那里:
wb@ubuntu18:~$ modinfo snd-aloop
filename: /lib/modules/5.4.0-1063-gcp/kernel/sound/drivers/snd-aloop.ko
license: GPL
description: A loopback soundcard
author: Jaroslav Kysela <[email protected]>
srcversion: 9401A0B894527BA1238B364
depends: snd-pcm,snd
retpoline: Y
intree: Y
name: snd_aloop
vermagic: 5.4.0-1063-gcp SMP mod_unload modversions
signat: PKCS#7
signer:
sig_key:
sig_hashalgo: md4
parm: index:Index value for loopback soundcard. (array of int)
parm: id:ID string for loopback soundcard. (array of charp)
parm: enable:Enable this loopback soundcard. (array of bool)
parm: pcm_substreams:PCM substreams # (1-8) for loopback driver. (array of int)
parm: pcm_notify:Break capture when PCM format/rate/channels changes. (array of int)
然后modprobe snd-aloop
我们可以看到它和所有依赖项一起加载:
wb@ubuntu18:~$ lsmod | grep snd
Module Size Used by
snd_aloop 24576 0
snd_pcm 102400 1 snd_aloop
snd_timer 36864 1 snd_pcm
snd 86016 3 snd_timer,snd_aloop,snd_pcm
soundcore 16384 1 snd
如果我跑
wb@ubuntu18:~$ sudo alsactl init
Found hardware: "Loopback" "Loopback Mixer" "" "" ""
Hardware is initialized using a generic method
我们可以看到存在一些音频“硬件”。
有问题的模块在 Centos8 中也是“开箱即用的”。
另一方面,它缺失了:
- Debian 10
- Debian 11
- Ubuntu > 20