https://bugs.winehq.org/show_bug.cgi?id=53031
Bug ID: 53031 Summary: Please add sndio as a sound backend Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: job+wine@tilde.team Distribution: ---
Currently for Linux, FreeBSD, and NetBSD, Wine supports ALSA, PulseAudio, and OSS as audio backends. I think it would be nice if sndio(7) would be included as well. It's a lightweight alternative to PulseAudio, and supports the three operating systems I said earlier (as well as OpenBSD, which this sound server came from).
This is currently our options for us sndio users to get audio to work in Wine:
1. Fallback to ALSA or OSS 2. Configure .asoundrc to use an aucat(1) pipe (https://github.com/raphael/linux-samus/issues/200) 3. Use this alsa-sndio plugin (https://github.com/Duncaen/alsa-sndio) along with this patch (https://github.com/Cloudef/alsa-sndio) to fix audio crackling 4. Use this libasound implementation that uses sndio (https://github.com/Cloudef/libasound-sndio) 5. Just use PulseAudio
Option 1 would mean only one application can use the sound device at a time, which would suck if you want to play a game with its music off while having sound effects on, and get your music from somewhere else.
Option 2 will introduce a lot of latency if you don't configure the buffer size of sndiod(8) and aucat(1). It is also hacky.
Option 3 is the best workaround for me, but it still introduces some latency I don't want, which I can see while playing Touhou.
Option 4 works, but also hacky IMO. Also messes with alsamixer which I don't like.
Option 5... Well might as well not use sndio in the first place then? :P
sndio also has support for network audio. And it arguably works better in that regard than PulseAudio (https://www.reddit.com/r/linux/comments/3i849k/playing_around_with_openbsds_...). One use-case I could think of is someone needing to use a proprietary music program for Windows, and wants to play it to an OpenBSD box that is connected to some special sound setup. That user wouldn't want the extra latency introduced by options 2 to 5.
As for applications supporting sndio, well there are many, and an increasing number thanks to the efforts of BSD porters. Firefox, VLC, libao, and OpenAL are notable examples.
I'd really appreciate it if Wine could be one of the applications supporting sndio as well.