Ubuntu 16.04 中不再有虚拟 MIDI 设备

Ubuntu 16.04 中不再有虚拟 MIDI 设备

在安装的Ubuntu 14.04 中oss-compat,我有以下内容/dev/snd

  • 控制C0
  • 控制C1
  • 硬件C0D0
  • 硬件C0D1
  • midiC1D0
  • midiC1D1
  • midiC1D2
  • midiC1D3
  • pcmC0D0c
  • pcmC0D0p
  • pcmC0D1c
  • pcmC0D1p
  • 序号
  • 计时器

现在,在 Ubuntu 16.04(最近刚刚从 14.04 迁移到 16.04 作为新安装)中,我只有这些:

  • 控制C0
  • 硬件C0D0
  • 硬件C0D1
  • pcmC0D0c
  • pcmC0D0p
  • pcmC0D1p
  • 序号
  • 计时器

失踪midiCnDn了。

我注意到在 16.04 中,由(作为虚拟包提供)oss-compat提供。我以为是这个问题,但在用(该名称的具体包)替换后,它仍然相同。我使用新旧目录进行比较,没有运气,似乎差异不是来自 中的不同配置。osspdoss-compatosspdoss-compatmeldetcetc

这种差异可能来自哪里?我如何更改提供的内容?这是一个内核选项吗?或者这真的是我遗漏的东西etc

答案1

在@CL.的评论之后,我可以通过添加一行snd-virmidi在末尾解决这个问题/etc/modules。重启后,ls /dev/snd显示预期的midiCnDn条目。如果想立即检查而不重启,那么sudo modprobe snd-virmidi可以做同样的事情,但只是暂时的。需要在末尾添加一行/etc/modules才能永久加载此模块。

如果您希望虚拟 MIDI 卡使用固定索引,您可以添加索引选项创建/etc/modprobe.d/snd-virmidi.conf文件(自 Ubuntu 16.04 以来是必需的方式),然后添加行,options snd-virmidi index=n其中 N 是您希望它所在的索引。如果您有一张真正的声卡,其索引将为 0,因此希望将虚拟 MIDI 卡置于索引 1 处。默认情况下,虚拟 MIDI 卡将公开四个虚拟 MIDI 设备。如果索引为 1,它们将从/dev/snd/midiC1D0/dev/snd/midiC1D3

因此有一个用于虚拟 MIDI 设备的内核模块,它与 OSS 仿真无关。

相关内容