Passing Sound via Network FBSD Pulse -> VM/ Linux Pipewire.... Scream, Pulse, Pipewire what to use.

Okay so here is my predicament... I am trying to pass via the network my MIC sound which is in FBSD DSP/PCM13 to a VM running Linux CachyOS that has Pipewire Sinks = essentially Audio Network Bridge....

Any ideas how to do it... I've done a lot of things suggested by AI already, but it is hallucinating nonexistent modules in pulse/ suggesting old module so here are some of the information to hopefully get it done with help someone who's been here before.

If I switch to pipewire instead of pulse in FBSD will that help?

Should I use SCREAM ? If so any idea how to do the audio network bridge?

ON FREEBSD
Code:
pactl list modules short
\

0 module-oss
1 module-device-restore
2 module-stream-restore
3 module-card-restore
4 module-augment-properties
5 module-switch-on-port-available
7 module-oss device=/dev/dsp0
8 module-oss device=/dev/dsp1
9 module-oss device=/dev/dsp2
10 module-oss device=/dev/dsp3
11 module-oss device=/dev/dsp4
12 module-oss device=/dev/dsp5
13 module-oss device=/dev/dsp6
14 module-oss device=/dev/dsp7
15 module-oss device=/dev/dsp8
16 module-oss device=/dev/dsp9
17 module-oss device=/dev/dsp10
18 module-oss device=/dev/dsp11
19 module-oss device=/dev/dsp12
20 module-oss device=/dev/dsp13
21 module-native-protocol-unix
22 module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16;75.41.218.128/25;10.0.100.2
23 module-zeroconf-publish
24 module-default-device-restore
26 module-always-sink
27 module-intended-roles
28 module-suspend-on-idle
29 module-console-kit
30 module-position-event-sounds
31 module-role-cork
32 module-filter-heuristics
33 module-filter-apply

ON CACHYOS
Code:
pactl list modules short
\

1 libpipewire-module-rt {
nice.level = -11
rt.prio = 88
#rt.time.soft = -1
#rt.time.hard = -1
#uclamp.min = 0
#uclamp.max = 1024
}
2 libpipewire-module-protocol-native {
# List of server Unix sockets, and optionally permissions
#sockets = [ { name = "pipewire-0" }, { name = "pipewire-0-manager" } ]
}
4 libpipewire-module-profiler {
#profile.interval.ms = 0
}
6 libpipewire-module-metadata
8 libpipewire-module-spa-device-factory
10 libpipewire-module-spa-node-factory
12 libpipewire-module-client-node
14 libpipewire-module-client-device
16 libpipewire-module-portal
17 libpipewire-module-access {
# Socket-specific access permissions
#access.socket = { pipewire-0 = "default", pipewire-0-manager = "unrestricted" }
# Deprecated legacy mode (not socket-based),
# for now enabled by default if access.socket is not specified
#access.legacy = true    }
18      libpipewire-module-adapter
20      libpipewire-module-link-factory {
#allow.link.passive = false
}
22      libpipewire-module-session-manager
536870912       module-always-sink
536870913       module-device-manager
536870914       module-device-restore
536870915       module-stream-restore
536870916       module-null-sink        rate=48000 sink_name=sink-sunshine-stereo format=float channels=2 channel_map=front-left,front-right sink_properties=device.description=sink-sunshine-stereo
536870917       module-null-sink        rate=48000 sink_name=sink-sunshine-surround51 format=float channels=6 channel_map=front-left,front-right,front-center,lfe,rear-left,rear-right sink_properties=device.description=sink-sunshine-surround51
536870918       module-null-sink        rate=48000 sink_name=sink-sunshine-surround71 format=float channels=8 channel_map=front-left,front-right,front-center,lfe,rear-left,rear-right,side-left,side-right sink_properties=device.description=sink-sunshine-surround71

ON FREEBSD
Code:
pulseaudio --dump-modules | head -20
\

W: [] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support.
module-always-sink                      Always keeps at least one sink loaded even if it's a null one
module-always-source                    Always keeps at least one source loaded even if it's a null one
module-augment-properties               Augment the property sets of streams with additional static information
module-card-restore                     Automatically restore profile of cards
module-cli                              Command line interface
module-cli-protocol-tcp                 Command line interface protocol (TCP sockets)
module-cli-protocol-unix                Command line interface protocol (UNIX sockets)
module-combine                          Compatibility module (module-combine rename)
module-combine-sink                     Combine multiple sinks to one
module-console-kit                      Create a client for each ConsoleKit session of this user
module-dbus-protocol                    D-Bus interface
module-default-device-restore           Automatically restore the default sink and source
module-detect                           Detect available audio hardware and load matching drivers
module-devd-detect                      Detect hotplugged audio hardware and load matching drivers
module-device-manager                   Keep track of devices (and their descriptions) both past and present and prioritise by role
module-device-restore                   Automatically restore the volume/mute state of devices
module-echo-cancel                      Echo Cancellation
module-equalizer-sink                   General Purpose Equalizer
module-filter-apply                     Load filter sinks automatically when needed
module-filter-heuristics                Detect when various filters are desirable

ON FREEBSD
Code:
pactl list sources short
\

0       oss_input.dsp   module-oss.c    s16le 2ch 44100Hz       SUSPENDED
1       oss_output.dsp.monitor  module-oss.c    s16le 2ch 44100Hz       SUSPENDED
2       oss_output.dsp0.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
3       oss_output.dsp1.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
4       oss_output.dsp2.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
5       oss_output.dsp3.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
6       oss_input.dsp4  module-oss.c    s16le 2ch 44100Hz       SUSPENDED
7       oss_output.dsp4.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
8       oss_input.dsp5  module-oss.c    s16le 2ch 44100Hz       SUSPENDED
9       oss_output.dsp5.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
10      oss_output.dsp6.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
11      oss_output.dsp7.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
12      oss_output.dsp8.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
13      oss_output.dsp9.monitor module-oss.c    s16le 2ch 44100Hz       SUSPENDED
14      oss_output.dsp10.monitor        module-oss.c    s16le 2ch 44100Hz       SUSPENDED
15      oss_input.dsp11 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
16      oss_input.dsp12 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
17      oss_output.dsp12.monitor        module-oss.c    s16le 2ch 44100Hz       SUSPENDED
18      oss_input.dsp13 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
19      oss_output.dsp13.monitor        module-oss.c    s16le 2ch 44100Hz       IDLE


pactl list sink-inputs short
\

0       13      0       protocol-native.c       s16le 1ch 44100Hz

pactl list sinks short
\

0       oss_output.dsp  module-oss.c    s16le 2ch 44100Hz       SUSPENDED
1       oss_output.dsp0 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
2       oss_output.dsp1 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
3       oss_output.dsp2 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
4       oss_output.dsp3 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
5       oss_output.dsp4 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
6       oss_output.dsp5 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
7       oss_output.dsp6 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
8       oss_output.dsp7 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
9       oss_output.dsp8 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
10      oss_output.dsp9 module-oss.c    s16le 2ch 44100Hz       SUSPENDED
11      oss_output.dsp10        module-oss.c    s16le 2ch 44100Hz       SUSPENDED
12      oss_output.dsp12        module-oss.c    s16le 2ch 44100Hz       SUSPENDED
13      oss_output.dsp13        module-oss.c    s16le 2ch 44100Hz       RUNNING

ON CACHYOS

Code:
pactl list sinks short
\

110     sink-sunshine-stereo    PipeWire        float32le 2ch 48000Hz   RUNNING                           
112     sink-sunshine-surround51        PipeWire        float32le 6ch 48000Hz   SUSPENDED                 
114     sink-sunshine-surround71        PipeWire        float32le 8ch 48000Hz   SUSPENDED

pactl list sources short
\

110     sink-sunshine-stereo.monitor    PipeWire        float32le 2ch 48000Hz   RUNNING
112     sink-sunshine-surround51.monitor        PipeWire        float32le 6ch 48000Hz   SUSPENDED
114     sink-sunshine-surround71.monitor        PipeWire        float32le 8ch 48000Hz   SUSPENDED
 
I do use RDP (via "remmina") to pass my headphone + microphone to a Linux VM of one of my clients to have MS Teams calls on that Linux VM - works out of the box.
 
Back
Top