On Sat, Dec 27, 2025 at 07:33:33PM -0500, Josh Rickmar wrote: > I just picked up this audio interface for some recording tasks, and > gave it a spin on OpenBSD. Unfortunately, playback through the > headphone outputs is unusable due to frequent interface resets. > > When I open a file in VLC, unless audio was already playing, the > device is currently stopped, and takes a couple seconds before I hear > the relays in the device click and then I can hear the playback. When > I pause the playback in VLC, the device stops, and resuming playback > must start the device again (with playback only heard after another > couple seconds). > > If I keep another file playing in a second VLC instance, I can pause > and unpause the first VLC without any resets/stuttering. > > aucat has the same behavior when nothing else is currently playing > audio. I don't hear the first few seconds of the WAV file until the > device has finished starting. >
Do you mean that if you let 'aucat -i /dev/zero' (for example) run in the background, then the interface is usable on a mostly idle system? > The device (during audio playback audio in VLC) also frequently resets > during light browsing in chrome (opening new tabs, following links), > but I don't always see messages in the sndiod -ddd logs during these > stutters. (This might be a separate issue.) > [...] > rsnd/1: 48000Hz, s24le4msb, play 0:17, rec 0:19, 2 blocks of 409 frames > ^^^^^^^^^^^^^^^^^^^^^^ This interface has a lot of channels, so large blocks don't fit in the the 64kB of memory preallocated for the ring buffer; that's why the driver uses this strange block size. That can't cause significant stability issues though. Could you try this diff to increase it? Index: audio.c =================================================================== RCS file: /cvs/src/sys/dev/audio.c,v diff -u -p -u -p -r1.213 audio.c --- audio.c 18 Nov 2025 09:30:27 -0000 1.213 +++ audio.c 28 Dec 2025 17:17:33 -0000 @@ -59,7 +59,7 @@ #define AUDIO_DEV(n) (minor(n) & 0xf0) #define AUDIO_DEV_AUDIO 0 /* minor of /dev/audio0 */ #define AUDIO_DEV_AUDIOCTL 0xc0 /* minor of /dev/audioctl */ -#define AUDIO_BUFSZ 65536 /* buffer size in bytes */ +#define AUDIO_BUFSZ 0x40000 /* buffer size in bytes */ /* * mixer entries added by the audio(4) layer
