Skip to content

OpenBSD sndio via pulseaudio on ARCH Linux works #201

@purple-mountains

Description

@purple-mountains

I've managed to get pulseaudio-module-sndio to work on ARCH Linux on the Pixel 2015, works a treat!

$ sudo pacman -S sndio

$ cat /etc/conf.d/sndiod
OPTS="-f rsnd/1"

$ sudo pacman -S pulseaudio libpulse
$ yaourt -S pulseaudio-module-sndio

Add local user to the group pulse-access and make sure "user pulse" and "group pulse" exist.

Add the following line to default.pa - just above #load-module module-alsa-sink device will do, no other changes to the standard default.pa file required.

$ grep module-sndio /etc/pulse/default.pa

load-module module-sndio device=snd/0 channels=2 rate=48000 format=s16

"#load-module module-alsa-sink device"

The git repo, https://github.com/t6/pulseaudio-module-sndio suggests

load-module module-sndio device=snd@thor/0

but for some reason, channels, rate and format don't get assigned, and the module never loads.

Start up sndiod as the local user, as we want to see the audio stream in action, and we'll revert back to starting sndiod.service, making sure, there is only one instance of sndio running

$ sudo pkilll sndiod
$ sndiod -dddd -f rsnd/1

Start up pulseaudio as the local user
$ pulseaudio

We should see sndio come alive with messages. Now start mplayer or your favourite video player and enjoy audio and video in sync, with no distortion in volume, even at it's max.

$ mplayer -ao pulse VIDEO_AUDIO_FILE

Enjoy!

Make sure the master volume for bdwrt-5677 - the second device, is set to the maximum.

All of the above can be done with bdwrt-5677 set as the first device ( change rsnd/1 to rsnd/0, but keep snd/0 on the load-module line the same - we are setting it's first sub-device to be this raw card - unless you may wish to use a USB sound card as your first device, by all means ), but at a lower volume, it's never as loud, compared to when bdwrt-5677 is set as the second device.

To set bdwrt-5677 as the second device, we don't include any settings in /etc/modprobe.d/*.conf

Donations welcome to OpenBSD for having created sndio, and many thanks to Alexandre Ratchov for helping me get this to work. Genius!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions