Hi everyone!
I’m having a hard time configuring the Pipewire ROC module. I have this is my configuration.nix
:
environment.systemPackages = with pkgs; [
roc-toolkit
];
## Pipewire
# rtkit is optional but recommended
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Configure ROC module.
services.pipewire.extraConfig.pipewire = {
roc-sink = {
context.modules = [
{
name = "libpipewire-module-roc-sink";
args = {
fec.code = "rs8m";
remote.ip = "192.168.1.27";
remote.source.port = 4713;
remote.repair.port = 4714;
sink.name = "ev-nixos sound output";
source.props = {
node.name = "roc-sink";
};
};
}
];
};
};
The machine running over at 192.168.1.27
is also running NixOS, with a similar configuration (albeit for a Pipewire source rather than a sink).
No matter what I do, the ROC module is not listed by pw-cli list-objects
:
ev@ev-nixos /nix $ pw-cli list-objects Module
id 1, type PipeWire:Interface:Module/3
object.serial = "1"
module.name = "libpipewire-module-rt"
id 2, type PipeWire:Interface:Module/3
object.serial = "2"
module.name = "libpipewire-module-protocol-native"
id 4, type PipeWire:Interface:Module/3
object.serial = "4"
module.name = "libpipewire-module-profiler"
id 6, type PipeWire:Interface:Module/3
object.serial = "6"
module.name = "libpipewire-module-metadata"
id 8, type PipeWire:Interface:Module/3
object.serial = "8"
module.name = "libpipewire-module-spa-device-factory"
id 10, type PipeWire:Interface:Module/3
object.serial = "10"
module.name = "libpipewire-module-spa-node-factory"
id 12, type PipeWire:Interface:Module/3
object.serial = "12"
module.name = "libpipewire-module-client-node"
id 14, type PipeWire:Interface:Module/3
object.serial = "14"
module.name = "libpipewire-module-client-device"
id 16, type PipeWire:Interface:Module/3
object.serial = "16"
module.name = "libpipewire-module-portal"
id 17, type PipeWire:Interface:Module/3
object.serial = "17"
module.name = "libpipewire-module-access"
id 18, type PipeWire:Interface:Module/3
object.serial = "18"
module.name = "libpipewire-module-adapter"
id 20, type PipeWire:Interface:Module/3
object.serial = "20"
module.name = "libpipewire-module-link-factory"
id 22, type PipeWire:Interface:Module/3
object.serial = "22"
module.name = "libpipewire-module-session-manager"
id 29, type PipeWire:Interface:Module/3
object.serial = "30"
module.name = "libpipewire-module-jackdbus-detect"
journalctl --user -u pipewire.service
just returns:
Feb 14 16:26:48 ev-nixos systemd[1955]: Started PipeWire Multimedia Service.
Loading the module manually doesn’t seem to work either:
ev@ev-nixos ~ $ pw-cli load-module libpipewire-module-roc-sink
Error: "Could not load module"
My machine is running (a recently updated) NixOS unstable installation.
What am I doing wrong?
Thanks a lot!
EV