我一直在尝试为 linux-virtual 内核启用声音,因为我想在 VirtualBox 下运行超薄 Ubuntu 服务器,但需要音频。虚拟和通用/服务器之间的资源使用差异大得惊人,虚拟内核系统在干净启动后使用的 RAM 减少了 80Mb(130Mb vs 210Mb),我真的想从系统中挤出每个时钟周期和可用字节。此外,虚拟内核还针对虚拟机启用了一些额外的优化(至少我被告知如此)。
过去,我曾多次编译自己的内核,例如,包括 Intel-PHC 模块(用于改进 Thinkpad 的电源管理),因此这个概念对我来说并不完全陌生,但我遇到了一个奇怪的问题,希望有人能帮忙解释一下:当我对 Linux-generic 和 Linux-virtual 的配置文件进行差异比较时,发现几乎没有什么不同,而且肯定没有与声音支持相关的不同;实际上只有五六行不同,主要与 i/o 时序、睡眠状态和优先级有关。这是怎么回事?我以为差异会很大,而且我可以通过查看它们来识别启用音频的选项,但我的问题似乎与配置文件完全无关(是的,我知道声音驱动程序部分 - 两个内核配置之间是相同的)。我找错地方了吗?
非常感谢!
答案1
内核-virtual
确实不是自动加载snd
模块,这是唯一的区别(它包含snd
其所有各种子模块)。
只需运行sudo modprobe snd
即可启用声音。要使此功能永久生效,只需将其添加snd
到列表中/etc/modules
并运行即可sudo update-initramfs -u
。
如果缺少任何模块,请安装linux-image-extra-virtual
(虚拟机的 Linux 内核额外模块)包。
注意:根据我的经验,内核可能遭受的其他问题
-virtual
以及可能需要手动加载的问题包括不支持 Unity 3D/OpenGL 仿真、不支持蓝牙和不支持增强型 USB HID。