[Bug 271559] [sound] [snd_uaudio] Creative Katana V2X garbled audio

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 25 May 2023 12:48:46 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271559

--- Comment #12 from Florian Walpen <dev@submerge.ch> ---
(In reply to Emanuel Haupt from comment #11)

Ok, if it works sometimes it's not completely hopeless :)
I was wrong about the conversions, looks like the application specific

> {userland} -> feeder_root(0x00201000) -> feeder_volume(0x00201000) -> feeder_rate(0x00201000 q:1 44100 -> 48000) -> {hardware}

doesn't go to hardware, but into the simplified default conversion chain:

> {userland} -> feeder_mixer(0x00201000) -> feeder_matrix(2.0 -> 5.1) -> feeder_format(0x08601000 -> 0x08610000) -> {hardware}

But there's another vchan opened by a different (unnamed) application, which
may interfere with your settings. It's 2 channel 16bit at 44100kHz, playback
and recording:

> pcm8:play:dsp8.p0[pcm8:virtual:dsp8.vp1]: spd 44100/48000, fmt 0x00200010/0x00201000, flags 0x10000000, 0x0000002b
>        interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:8192/1024/8]
>        channel flags=0x10000000<VIRTUAL>
>        {userland} -> feeder_root(0x00200010) -> feeder_format(0x00200010 -> 0x00201000) -> feeder_volume(0x00201000) -> feeder_rate(0x00201000 q:1 44100 -> 48000) -> {hardware}

Maybe a sound server running, like pulseaudio? That could also explain the
"sometimes". I'd suggest to disable these while experimenting, until you have a
working solution.

Also you can disable vchan conversion completely if you run virtual_oss
exclusively on that device:

> sysctl dev.pcm.8.play.vchans=0
> sysctl dev.pcm.8.rec.vchans=0

That should give you a "barebone" 6 channel 24bit 48kHz device to run
virtual_oss on, conversion can be done in virtual_oss.

@HPS: How would you map the 2 channels to 5.1 in virtual_oss? Only to the
"front" speakers or spread it to all channels?

-- 
You are receiving this mail because:
You are the assignee for the bug.