В Ubuntu 16.04 больше нет виртуальных MIDI-устройств
В Ubuntu 14.04 с oss-compat
установлен, у меня было это в /dev/snd
:
- controlC0
- controlC1
- hwC0D0
- hwC0D1
- midiC1D0
- midiC1D1
- midiC1D2
- midiC1D3
- pcmC0D0c
- pcmC0D0p
- pcmC0D1c
- pcmC0D1p
- сл
- таймер
Теперь, в Ubuntu 16.04 (только что перенесенный с 14.04 на 16.04 в качестве новой установки), у меня просто так:
- controlC0
- hwC0D0
- hwC0D1
- pcmC0D0c
- pcmC0D0p
- pcmC0D1p
- сл
- таймер
midiCnDn
не хватает.
Я заметил в 16.04, oss-compat
обеспечивается osspd
(который обеспечивает oss-compat
как виртуальный пакет). Я хоть это была проблема, но после замены osspd
с oss-compat
(конкретный пакет с таким именем), он все тот же. я использовал meld
на новое и старое etc
каталоги для сравнения, не повезло, похоже, разница не в другой конфигурации etc
,
Откуда эта разница? Как я могу изменить то, что предоставляется? Это опция ядра? Или это действительно то, что я пропустил в 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.