Wine sound discussion summary

Ove Kaaven ovek at
Mon Dec 7 09:24:32 CST 2009

Stefan Dösinger wrote:
> A related topic: How do Joysticks connected to the gameport work(which is the same hardware connector as MIDI). I think that a joystick already takes an entirely different path in the
Linux kernel and it doesn't get anywhere near a sound system, so we
don't have to bother about it. Is that correct?

Well, if you're interested... no, the gameport is *not* the same
hardware connector as MIDI. A MIDI cable has a 5-pin circular DIN
connector. A game port has a 15-pin D-sub connector. They're not the
same thing.

However, some of the pins of the original 15-pin game port were
redundant. Early soundcard manufacturers decided that they could
repurpose those pins, and let MIDI users use a breakout cable (from the
soundcard's "custom" 15-pin connector to a standard 15-pin gameport
connector and two 5-pin MIDI connectors). It was cheap, and a full-size
MIDI connector probably wouldn't fit on a regular soundcard without
using breakout cables anyway. And not many needed it.

When gameports were provided by soundcards, then usually, the joystick
interface was provided by the soundcard's drivers - although it could be
in a different kernel module. After all, the joystick and the MIDI was
driven by separate pieces of hardware, they just got "multiplexed" onto
the same 15-pin connector through appropriate circuitry, with the
assumption that the breakout cable would separate the signals again.

By the time this stuff got integrated into motherboards, the multiplexed
15-pin gameport had become a standard. Yet still, two separate
functional units drive the two separate sets of pins on the game port,
so the kernel does see two separate hardware interfaces, controlled by
separate pieces of software.

So while I'm not sure you've gotten the facts completely straight, it's
correct that you don't have to worry about it.

And I suspect you will need ALSA to do real MIDI... I guess it's like in
Windows, where wave APIs are redesigned, but if you want to do MIDI, you
still need to use the exact same multimedia interface as in Windows 3.x.
Just as in Linux, you can do wave with OpenAL and pulse, but for MIDI,
you still need to use OSS/ALSA. I don't necessarily consider that a
problem, actually. (If you play MIDI through ALSA and route it into a
softsynth like timidity, then timidity could still be routed into
pulseaudio, etc...)

More information about the wine-devel mailing list