Enable MIDI 2.0 / UMP support (SND_UMP, SND_USB_AUDIO_MIDI_V2, USB_CONFIGFS_F_MIDI2) in the Pi kernel configs

Open
#7,474 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
72/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
linux

Research direction

Start by locating bcm2711_defconfig and bcm2712_defconfig, then check the corresponding 32-bit configs and the existing USB_CONFIGFS_F_MIDI setting. Compare the requested SND_UMP, sequencer UMP, USB MIDI 2.0, and MIDI2 gadget symbols with the kernel configuration options. Done means the requested symbols are enabled consistently and the Pi kernel configuration builds successfully.

Written by the indexing model from the issue text.

Description

Raspberry Pi OS kernels currently ship with all ALSA MIDI 2.0 / UMP options disabled. The support has been upstream since kernel 6.5 (refined through 6.12, which the Pi kernels are based on), and Trixie's userspace is already fully UMP-capable (alsa-lib 1.2.14, alsa-utils with aseqdump -u 2 / aplaymidi2), so the kernel configs are the only missing piece for MIDI 2.0 hardware support on the Pi.

Request: enable in bcm2711_defconfig / bcm2712_defconfig (and the 32-bit configs if practical):

CONFIG_SND_UMP=m                  # (selected by the below)
CONFIG_SND_UMP_LEGACY_RAWMIDI=y   # legacy rawmidi bridge per UMP group
CONFIG_SND_SEQ_UMP=y              # sequencer UMP event support
CONFIG_SND_SEQ_UMP_CLIENT=m
CONFIG_SND_USB_AUDIO_MIDI_V2=y    # USB MIDI 2.0 (bool inside snd-usb-audio)
CONFIG_USB_CONFIGFS_F_MIDI2=m     # USB MIDI 2.0 gadget (f_midi2)

Rationale / precedent:

  • Ubuntu enables exactly these (noble: SND_UMP=m, SND_USB_AUDIO_MIDI_V2=y, USB_CONFIGFS_F_MIDI2=y), as do Fedora and Arch.
  • Cost when unused is negligible: SND_USB_AUDIO_MIDI_V2 only changes probing for devices that actually expose a MIDI 2.0 altsetting (MIDI 1.0 devices are handled exactly as before), and module options midi2_enable=0 / midi2_ump_probe=0 exist as escape hatches.
  • The Pi is a popular platform for MIDI hubs/routers and synth projects; MIDI 2.0 controllers (Roland A-88MKII, Korg Keystage, NI Kontrol S MK3, newer Akai MPKs) are shipping now, and the f_midi2 gadget would let Pi-based devices present themselves as USB MIDI 2.0 peripherals with automatic 1.0 fallback.
  • USB_CONFIGFS_F_MIDI (the MIDI 1.0 gadget) is already enabled, so f_midi2 is the natural counterpart.

Happy to test on Pi 3B+/4/5 hardware — we maintain a Pi-based MIDI appliance (RaspiMIDIHub) and have verified that the equivalent module set builds and runs on 6.12.75+rpt.

Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.