You are not logged in.

#1 2024-01-10 14:35:03

Strangiato
Member
Registered: 2020-01-10
Posts: 382

[solved] pipewire fails to start with dbus-broker-units

Hello

After replacing dbus-daemon-units with dbus-broker-units, the sound device stops working on my system.
The journal log indicates that pipewire fails to start.

https://0x0.st/HIQP.txt

$ systemctl --user status pipewire-pulse
● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-01-10 11:20:45 -03; 19min ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 824 (pipewire-pulse)
      Tasks: 3 (limit: 19012)
     Memory: 4.7M (peak: 7.8M)
        CPU: 321ms
     CGroup: /user.slice/user-1003.slice/user@1003.service/session.slice/pipewire-pulse.service
             └─824 /usr/bin/pipewire-pulse

jan 10 11:39:58 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: 0x55d81fb056d0: failed to connect client: Host está desligado
jan 10 11:39:58 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: client 0x55d81fb21370 [Plasma PA]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host está desligado)
jan 10 11:39:59 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: 0x55d81fb056d0: failed to connect client: Host está desligado
jan 10 11:39:59 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: client 0x55d81fb34b30 [Plasma PA]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host está desligado)
jan 10 11:40:00 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: 0x55d81fb056d0: failed to connect client: Host está desligado
jan 10 11:40:00 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: client 0x55d81fb21370 [Plasma PA]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host está desligado)
jan 10 11:40:01 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: 0x55d81fb056d0: failed to connect client: Host está desligado
jan 10 11:40:01 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: client 0x55d81fb34b30 [Plasma PA]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host está desligado)
jan 10 11:40:02 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: 0x55d81fb056d0: failed to connect client: Host está desligado
jan 10 11:40:02 Arch-PC pipewire-pulse[824]: mod.protocol-pulse: client 0x55d81fb21370 [Plasma PA]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host está desligado)
$ systemctl --user status pipewire
× pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Wed 2024-01-10 11:20:48 -03; 20min ago
   Duration: 38ms
TriggeredBy: × pipewire.socket
    Process: 1018 ExecStart=/usr/bin/pipewire (code=exited, status=234)
   Main PID: 1018 (code=exited, status=234)
        CPU: 17ms

jan 10 11:20:48 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 6.
jan 10 11:20:48 Arch-PC systemd[809]: pipewire.service: Start request repeated too quickly.
jan 10 11:20:48 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:48 Arch-PC systemd[809]: Failed to start PipeWire Multimedia Service.
$ journalctl --user -b --unit pipewire --no-pager
jan 10 11:20:45 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:45 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:45 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:45 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 1.
jan 10 11:20:45 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:45 Arch-PC pipewire[872]: mod.rtp-source: invalid source.port
jan 10 11:20:45 Arch-PC pipewire[872]: 11:20:45.653 [878] [err] roc_netio: udp receiver: <udprecv 0x7f15b8000b88 bind=0.0.0.0:10001>: uv_udp_bind(): [EADDRINUSE] address already in use
jan 10 11:20:45 Arch-PC pipewire[872]: 11:20:45.653 [878] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver
jan 10 11:20:45 Arch-PC pipewire[872]: 11:20:45.653 [872] [err] roc_node: receiver node: can't bind audiosrc interface of slot 0: can't bind interface to local port
jan 10 11:20:45 Arch-PC pipewire[872]: 11:20:45.653 [872] [err] roc_node: receiver node: marking slot 0 as broken, it needs to be unlinked
jan 10 11:20:45 Arch-PC pipewire[872]: 11:20:45.653 [872] [err] roc_api: roc_receiver_bind(): operation failed
jan 10 11:20:45 Arch-PC pipewire[872]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:45 Arch-PC pipewire[872]: pw.conf: 0x562f11cc29d0: could not load mandatory module "libpipewire-module-roc-source": Argumento inválido
jan 10 11:20:45 Arch-PC pipewire[872]: default: failed to create context: Argumento inválido
jan 10 11:20:45 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:45 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 2.
jan 10 11:20:46 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:46 Arch-PC pipewire[884]: mod.rtp-source: invalid source.port
jan 10 11:20:46 Arch-PC pipewire[884]: 11:20:46.029 [889] [err] roc_netio: udp receiver: <udprecv 0x7f46bc000b88 bind=0.0.0.0:10001>: uv_udp_bind(): [EADDRINUSE] address already in use
jan 10 11:20:46 Arch-PC pipewire[884]: 11:20:46.029 [889] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver
jan 10 11:20:46 Arch-PC pipewire[884]: 11:20:46.029 [884] [err] roc_node: receiver node: can't bind audiosrc interface of slot 0: can't bind interface to local port
jan 10 11:20:46 Arch-PC pipewire[884]: 11:20:46.029 [884] [err] roc_node: receiver node: marking slot 0 as broken, it needs to be unlinked
jan 10 11:20:46 Arch-PC pipewire[884]: 11:20:46.029 [884] [err] roc_api: roc_receiver_bind(): operation failed
jan 10 11:20:46 Arch-PC pipewire[884]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:46 Arch-PC pipewire[884]: pw.conf: 0x5573c28ee9d0: could not load mandatory module "libpipewire-module-roc-source": Argumento inválido
jan 10 11:20:46 Arch-PC pipewire[884]: default: failed to create context: Argumento inválido
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 3.
jan 10 11:20:46 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:46 Arch-PC pipewire[893]: mod.rtp-source: invalid source.port
jan 10 11:20:46 Arch-PC pipewire[893]: 11:20:46.387 [897] [err] roc_netio: udp receiver: <udprecv 0x7f52d4000b88 bind=0.0.0.0:10001>: uv_udp_bind(): [EADDRINUSE] address already in use
jan 10 11:20:46 Arch-PC pipewire[893]: 11:20:46.387 [897] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver
jan 10 11:20:46 Arch-PC pipewire[893]: 11:20:46.387 [893] [err] roc_node: receiver node: can't bind audiosrc interface of slot 0: can't bind interface to local port
jan 10 11:20:46 Arch-PC pipewire[893]: 11:20:46.387 [893] [err] roc_node: receiver node: marking slot 0 as broken, it needs to be unlinked
jan 10 11:20:46 Arch-PC pipewire[893]: 11:20:46.387 [893] [err] roc_api: roc_receiver_bind(): operation failed
jan 10 11:20:46 Arch-PC pipewire[893]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:46 Arch-PC pipewire[893]: pw.conf: 0x557bebb739d0: could not load mandatory module "libpipewire-module-roc-source": Argumento inválido
jan 10 11:20:46 Arch-PC pipewire[893]: default: failed to create context: Argumento inválido
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 1.
jan 10 11:20:46 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:46 Arch-PC pipewire[934]: mod.rtp-source: invalid source.port
jan 10 11:20:46 Arch-PC pipewire[934]: 11:20:46.697 [947] [err] roc_netio: udp receiver: <udprecv 0x7fb128000b88 bind=0.0.0.0:10001>: uv_udp_bind(): [EADDRINUSE] address already in use
jan 10 11:20:46 Arch-PC pipewire[934]: 11:20:46.698 [947] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver
jan 10 11:20:46 Arch-PC pipewire[934]: 11:20:46.698 [934] [err] roc_node: receiver node: can't bind audiosrc interface of slot 0: can't bind interface to local port
jan 10 11:20:46 Arch-PC pipewire[934]: 11:20:46.698 [934] [err] roc_node: receiver node: marking slot 0 as broken, it needs to be unlinked
jan 10 11:20:46 Arch-PC pipewire[934]: 11:20:46.699 [934] [err] roc_api: roc_receiver_bind(): operation failed
jan 10 11:20:46 Arch-PC pipewire[934]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:46 Arch-PC pipewire[934]: pw.conf: 0x557ee8e0ab60: could not load mandatory module "libpipewire-module-roc-source": Invalid argument
jan 10 11:20:46 Arch-PC pipewire[934]: default: failed to create context: Invalid argument
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 2.
jan 10 11:20:46 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:46 Arch-PC pipewire[976]: mod.rtp-source: invalid source.port
jan 10 11:20:46 Arch-PC pipewire[976]: 11:20:46.900 [981] [err] roc_netio: udp receiver: <udprecv 0x7fc310000b88 bind=0.0.0.0:10001>: uv_udp_bind(): [EADDRINUSE] address already in use
jan 10 11:20:46 Arch-PC pipewire[976]: 11:20:46.900 [981] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver
jan 10 11:20:46 Arch-PC pipewire[976]: 11:20:46.900 [976] [err] roc_node: receiver node: can't bind audiosrc interface of slot 0: can't bind interface to local port
jan 10 11:20:46 Arch-PC pipewire[976]: 11:20:46.900 [976] [err] roc_node: receiver node: marking slot 0 as broken, it needs to be unlinked
jan 10 11:20:46 Arch-PC pipewire[976]: 11:20:46.900 [976] [err] roc_api: roc_receiver_bind(): operation failed
jan 10 11:20:46 Arch-PC pipewire[976]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:46 Arch-PC pipewire[976]: pw.conf: 0x55f7b8019b60: could not load mandatory module "libpipewire-module-roc-source": Invalid argument
jan 10 11:20:46 Arch-PC pipewire[976]: default: failed to create context: Invalid argument
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:46 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 3.
jan 10 11:20:47 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:47 Arch-PC pipewire[994]: mod.rtp-source: invalid source.port
jan 10 11:20:47 Arch-PC pipewire[994]: 11:20:47.280 [999] [err] roc_netio: udp receiver: <udprecv 0x7f7a2c000b88 bind=0.0.0.0:10001>: uv_udp_bind(): [EADDRINUSE] address already in use
jan 10 11:20:47 Arch-PC pipewire[994]: 11:20:47.280 [999] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver
jan 10 11:20:47 Arch-PC pipewire[994]: 11:20:47.280 [994] [err] roc_node: receiver node: can't bind audiosrc interface of slot 0: can't bind interface to local port
jan 10 11:20:47 Arch-PC pipewire[994]: 11:20:47.280 [994] [err] roc_node: receiver node: marking slot 0 as broken, it needs to be unlinked
jan 10 11:20:47 Arch-PC pipewire[994]: 11:20:47.280 [994] [err] roc_api: roc_receiver_bind(): operation failed
jan 10 11:20:47 Arch-PC pipewire[994]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:47 Arch-PC pipewire[994]: pw.conf: 0x564002dd2b60: could not load mandatory module "libpipewire-module-roc-source": Invalid argument
jan 10 11:20:47 Arch-PC pipewire[994]: default: failed to create context: Invalid argument
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 4.
jan 10 11:20:47 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:47 Arch-PC pipewire[1005]: mod.rtp-source: invalid source.port
jan 10 11:20:47 Arch-PC pipewire[1005]: 11:20:47.663 [1010] [err] roc_netio: udp receiver: <udprecv 0x7f1bbc000b88 bind=0.0.0.0:10001>: uv_udp_bind(): [EADDRINUSE] address already in use
jan 10 11:20:47 Arch-PC pipewire[1005]: 11:20:47.663 [1010] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver
jan 10 11:20:47 Arch-PC pipewire[1005]: 11:20:47.663 [1005] [err] roc_node: receiver node: can't bind audiosrc interface of slot 0: can't bind interface to local port
jan 10 11:20:47 Arch-PC pipewire[1005]: 11:20:47.663 [1005] [err] roc_node: receiver node: marking slot 0 as broken, it needs to be unlinked
jan 10 11:20:47 Arch-PC pipewire[1005]: 11:20:47.663 [1005] [err] roc_api: roc_receiver_bind(): operation failed
jan 10 11:20:47 Arch-PC pipewire[1005]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:47 Arch-PC pipewire[1005]: pw.conf: 0x5574e0b0ab60: could not load mandatory module "libpipewire-module-roc-source": Invalid argument
jan 10 11:20:47 Arch-PC pipewire[1005]: default: failed to create context: Invalid argument
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 5.
jan 10 11:20:47 Arch-PC systemd[809]: Started PipeWire Multimedia Service.
jan 10 11:20:47 Arch-PC pipewire[1018]: mod.rtp-source: invalid source.port
jan 10 11:20:47 Arch-PC pipewire[1018]: 11:20:47.869 [1037] [err] roc_netio: udp receiver: <udprecv 0x7f5188000b88 bind=0.0.0.0:10001>: uv_udp_bind(): [EADDRINUSE] address already in use
jan 10 11:20:47 Arch-PC pipewire[1018]: 11:20:47.869 [1037] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver
jan 10 11:20:47 Arch-PC pipewire[1018]: 11:20:47.869 [1018] [err] roc_node: receiver node: can't bind audiosrc interface of slot 0: can't bind interface to local port
jan 10 11:20:47 Arch-PC pipewire[1018]: 11:20:47.869 [1018] [err] roc_node: receiver node: marking slot 0 as broken, it needs to be unlinked
jan 10 11:20:47 Arch-PC pipewire[1018]: 11:20:47.869 [1018] [err] roc_api: roc_receiver_bind(): operation failed
jan 10 11:20:47 Arch-PC pipewire[1018]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:47 Arch-PC pipewire[1018]: pw.conf: 0x55d7dd805b60: could not load mandatory module "libpipewire-module-roc-source": Invalid argument
jan 10 11:20:47 Arch-PC pipewire[1018]: default: failed to create context: Invalid argument
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Main process exited, code=exited, status=234/n/a
jan 10 11:20:47 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:48 Arch-PC systemd[809]: pipewire.service: Scheduled restart job, restart counter is at 6.
jan 10 11:20:48 Arch-PC systemd[809]: pipewire.service: Start request repeated too quickly.
jan 10 11:20:48 Arch-PC systemd[809]: pipewire.service: Failed with result 'exit-code'.
jan 10 11:20:48 Arch-PC systemd[809]: Failed to start PipeWire Multimedia Service.

Any idea on how to fix this?

Last edited by Strangiato (2024-04-17 11:09:00)

Offline

#2 2024-01-10 15:32:18

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,798

Re: [solved] pipewire fails to start with dbus-broker-units

Are you using autologin? https://bbs.archlinux.org/viewtopic.php?id=291717 suggests there might be a relation.

Generally speaking you did reboot to get at least a clean slate since, right? FWIW this reads more like networking problems, are you using a VPN or so?

Offline

#3 2024-01-10 15:47:53

Strangiato
Member
Registered: 2020-01-10
Posts: 382

Re: [solved] pipewire fails to start with dbus-broker-units

Thanks for your reply, V1del.
I do not use autologin. Yes, I rebooted after replacing dbus-daemon-units with dbus-broker-units. I do not use a vpn.

Offline

#4 2024-01-10 15:54:04

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,798

Re: [solved] pipewire fails to start with dbus-broker-units

Basically in terms of pipewire your roc implementation crashes and burns and then pipewire stops because it can't load that module anymore. but generally most of this just reads broken

pacman -Q systemd dbus-broker-units dbus

On reading the oververbose journal again (is there a particular reason you have debug log level enabled?) dbus works fine, your pipewire config is broken

jan 10 11:20:45 Arch-PC pipewire[822]: mod.rtp-source: invalid source.port
jan 10 11:20:45 Arch-PC pipewire[822]: mod.roc-source: can't connect roc receiver to local source address
jan 10 11:20:45 Arch-PC pipewire[822]: pw.conf: 0x55d22e6d89d0: could not load mandatory module

where and how are you loading the roc source/implementation?

Last edited by V1del (2024-01-10 15:59:16)

Offline

#5 2024-01-10 15:58:44

Strangiato
Member
Registered: 2020-01-10
Posts: 382

Re: [solved] pipewire fails to start with dbus-broker-units

$ pacman -Q systemd dbus-broker-units dbus
systemd 255.2-2
dbus-broker-units 35-2
dbus 1.14.10-2

I use the roc source since when it was implemented in pipewire, I do not remember the exact date.

It is loaded with /etc/pipewire/pipewire.conf file.

$ cat /etc/pipewire/pipewire.conf
# Daemon config file for PipeWire version "0.3.59" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/pipewire.conf.d/ for system-wide changes or in
# ~/.config/pipewire/pipewire.conf.d/ for local changes.
#

context.properties = {
    ## Configure properties in the system.
    #library.name.system                   = support/libspa-support
    #context.data-loop.library.name.system = support/libspa-support
    #support.dbus                          = true
    #link.max-buffers                      = 64
    link.max-buffers                       = 16                       # version < 3 clients can't handle more
    #mem.warn-mlock                        = false
    #mem.allow-mlock                       = true
    #mem.mlock-all                         = false
    #clock.power-of-two-quantum            = true
    #log.level                             = 2
    #cpu.zero.denormals                    = false

    core.daemon = true              # listening for socket connections
    core.name   = pipewire-0        # core name and socket name

    ## Properties for the DSP configuration.
    #default.clock.rate          = 48000
    #default.clock.allowed-rates = [ 48000 ]
    #default.clock.quantum       = 1024
    default.clock.min-quantum   = 16
    #default.clock.max-quantum   = 2048
    #default.clock.quantum-limit = 8192
    #default.video.width         = 640
    #default.video.height        = 480
    #default.video.rate.num      = 25
    #default.video.rate.denom    = 1
    #
    #settings.check-quantum      = false
    #settings.check-rate         = false
    #
    # These overrides are only applied when running in a vm.
    vm.overrides = {
        default.clock.min-quantum = 1024
    }
}

context.spa-libs = {
    #<factory-name regex> = <library-name>
    #
    # Used to find spa factory names. It maps an spa factory name
    # regular expression to a library name that should contain
    # that factory.
    #
    audio.convert.* = audioconvert/libspa-audioconvert
    avb.*           = avb/libspa-avb
    api.alsa.*      = alsa/libspa-alsa
    api.v4l2.*      = v4l2/libspa-v4l2
    api.libcamera.* = libcamera/libspa-libcamera
    api.bluez5.*    = bluez5/libspa-bluez5
    api.vulkan.*    = vulkan/libspa-vulkan
    api.jack.*      = jack/libspa-jack
    support.*       = support/libspa-support
    #videotestsrc   = videotestsrc/libspa-videotestsrc
    #audiotestsrc   = audiotestsrc/libspa-audiotestsrc
}

context.modules = [
    #{ name = <module-name>
    #    [ args  = { <key> = <value> ... } ]
    #    [ flags = [ [ ifexists ] [ nofail ] ]
    #}
    #
    # Loads a module with the given parameters.
    # If ifexists is given, the module is ignored when it is not found.
    # If nofail is given, module initialization failures are ignored.
    #

    # Uses realtime scheduling to boost the audio thread priorities. This uses
    # RTKit if the user doesn't have permission to use regular realtime
    # scheduling.
    { name = libpipewire-module-rt
        args = {
            nice.level    = -11
            #rt.prio      = 88
            #rt.time.soft = -1
            #rt.time.hard = -1
        }
        flags = [ ifexists nofail ]
    }

    # The native communication protocol.
    { name = libpipewire-module-protocol-native }

    # The profile module. Allows application to access profiler
    # and performance data. It provides an interface that is used
    # by pw-top and pw-profiler.
    { name = libpipewire-module-profiler }

    # Allows applications to create metadata objects. It creates
    # a factory for Metadata objects.
    { name = libpipewire-module-metadata }

    # Creates a factory for making devices that run in the
    # context of the PipeWire server.
    { name = libpipewire-module-spa-device-factory }

    # Creates a factory for making nodes that run in the
    # context of the PipeWire server.
    { name = libpipewire-module-spa-node-factory }

    # Allows creating nodes that run in the context of the
    # client. Is used by all clients that want to provide
    # data to PipeWire.
    { name = libpipewire-module-client-node }

    # Allows creating devices that run in the context of the
    # client. Is used by the session manager.
    { name = libpipewire-module-client-device }

    # The portal module monitors the PID of the portal process
    # and tags connections with the same PID as portal
    # connections.
    { name = libpipewire-module-portal
        flags = [ ifexists nofail ]
    }

    # The access module can perform access checks and block
    # new clients.
    { name = libpipewire-module-access
        args = {
            # access.allowed to list an array of paths of allowed
            # apps.
            #access.allowed = [
            #    /usr/bin/pipewire-media-session
            #]

            # An array of rejected paths.
            #access.rejected = [ ]

            # An array of paths with restricted access.
            #access.restricted = [ ]

            # Anything not in the above lists gets assigned the
            # access.force permission.
            #access.force = flatpak
        }
    }

    # Makes a factory for wrapping nodes in an adapter with a
    # converter and resampler.
    { name = libpipewire-module-adapter }

    # Makes a factory for creating links between ports.
    { name = libpipewire-module-link-factory }

    # Provides factories to make session manager objects.
    { name = libpipewire-module-session-manager }

    # Use libcanberra to play X11 Bell
    #{ name = libpipewire-module-x11-bell
    #  args = {
    #      #sink.name = ""
    #      #sample.name = "bell-window-system"
    #      #x11.display = null
    #      #x11.xauthority = null
    #  }
    #}
 {   name = libpipewire-module-rtp-source
      args = {
          #sap.ip = 224.0.0.56
          #sap.port = 9875
          #local.ifname = eth0
          sess.latency.msec = 100
          stream.props = {
             node.name = "rtp-source"
             #media.class = "Audio/Source"
          }
      }
  }
#{   name = libpipewire-module-pulse-tunnel
#    args = {
#        tunnel.mode = source
        # Set the remote address to tunnel to
#       pulse.server.address = "tcp:192.168.0.50"
       #audio.rate=<sample rate>
        #audio.channels=<number of channels>
        #audio.position=<channel map>
        #target.object=<remote target name>
#        pulse.latency = 200
#        stream.props = {
            # extra sink properties
#             node.name = "tunnel-source"
#             media.class = Audio/Source
#        }
#    }
#}
 {   name = libpipewire-module-roc-source
      args = {
          local.ip = 0.0.0.0
          resampler.profile = medium
          fec.code = disable
          sess.latency.msec = 0
          local.source.port = 10001
          local.repair.port = 10002
          source.name = "ROC Source"
          source.props = {
             node.name = "roc-source"
          }
      }
  }
]

context.objects = [
    #{ factory = <factory-name>
    #    [ args  = { <key> = <value> ... } ]
    #    [ flags = [ [ nofail ] ]
    #}
    #
    # Creates an object from a PipeWire factory with the given parameters.
    # If nofail is given, errors are ignored (and no object is created).
    #
    #{ factory = spa-node-factory   args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:Props:patternType = 1 } }
    #{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] }
    #{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } }
    #{ factory = spa-node-factory   args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } }
    #{ factory = adapter            args = { factory.name = audiotestsrc node.name = my-test } }
    #{ factory = spa-node-factory   args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } }

    # A default dummy driver. This handles nodes marked with the "node.always-driver"
    # property when no other driver is currently active. JACK clients need this.
    { factory = spa-node-factory
        args = {
            factory.name    = support.node.driver
            node.name       = Dummy-Driver
            node.group      = pipewire.dummy
            priority.driver = 20000
        }
    }
    { factory = spa-node-factory
        args = {
            factory.name    = support.node.driver
            node.name       = Freewheel-Driver
            priority.driver = 19000
            node.group      = pipewire.freewheel
            node.freewheel  = true
        }
    }
    # This creates a new Source node. It will have input ports
    # that you can link, to provide audio for this source.
    #{ factory = adapter
    #    args = {
    #        factory.name     = support.null-audio-sink
    #        node.name        = "my-mic"
    #        node.description = "Microphone"
    #        media.class      = "Audio/Source/Virtual"
    #        audio.position   = "FL,FR"
    #    }
    #}

    # This creates a single PCM source device for the given
    # alsa device path hw:0. You can change source to sink
    # to make a sink in the same way.
    #{ factory = adapter
    #    args = {
    #        factory.name           = api.alsa.pcm.source
    #        node.name              = "alsa-source"
    #        node.description       = "PCM Source"
    #        media.class            = "Audio/Source"
    #        api.alsa.path          = "hw:0"
    #        api.alsa.period-size   = 1024
    #        api.alsa.headroom      = 0
    #        api.alsa.disable-mmap  = false
    #        api.alsa.disable-batch = false
    #        audio.format           = "S16LE"
    #        audio.rate             = 48000
    #        audio.channels         = 2
    #        audio.position         = "FL,FR"
    #    }
    #}
]

context.exec = [
    #{ path = <program-name> [ args = "<arguments>" ] }
    #
    # Execute the given program with arguments.
    #
    # You can optionally start the session manager here,
    # but it is better to start it as a systemd service.
    # Run the session manager with -h for options.
    #
    #{ path = "/usr/bin/pipewire-media-session" args = "" }
    #
    # You can optionally start the pulseaudio-server here as well
    # but it is better to start it as a systemd service.
    # It can be interesting to start another daemon here that listens
    # on another address with the -a option (eg. -a tcp:4713).
    #
    #{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }
]

Last edited by Strangiato (2024-01-10 16:12:44)

Offline

#6 2024-01-10 18:38:57

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,798

Re: [solved] pipewire fails to start with dbus-broker-units

It's basically telling you that 10001 is already occupied by something, do you have anything else listening on the port, check with e.g. ss. Chances are you configured "something" else with the same port and it's now a race which comes up first.

You might also want to update this file to a newer baseline as provided by /usr/share/pipewire/pipewire.conf

In any case for "non essential" modules like this it'd probably be a good idea to add

flags = [ nofail ]

after the args block so failure to start them doesn't break pipewire startup completely.

Last edited by V1del (2024-01-10 18:54:17)

Offline

#7 2024-01-10 20:17:51

seth
Member
Registered: 2012-09-03
Posts: 51,721

Re: [solved] pipewire fails to start with dbus-broker-units

ss -tulpen | grep 10001

Offline

#8 2024-01-11 21:46:22

Strangiato
Member
Registered: 2020-01-10
Posts: 382

Re: [solved] pipewire fails to start with dbus-broker-units

"flags = [ nofail ]" is already present in my config file.

seth wrote:
ss -tulpen | grep 10001

Your command gives no output.

Now I'm using pipewire 1:1.0.1-1 from extra-testing repo and the problem persists.

Offline

#9 2024-01-11 21:49:58

seth
Member
Registered: 2012-09-03
Posts: 51,721

Re: [solved] pipewire fails to start with dbus-broker-units

The port you grep for has to match the one in the

jan 10 11:20:45 Arch-PC pipewire[872]: 11:20:45.653 [878] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver

error - idk whether those are dynamic.

Offline

#10 2024-01-11 22:00:51

Strangiato
Member
Registered: 2020-01-10
Posts: 382

Re: [solved] pipewire fails to start with dbus-broker-units

The log of the current boot says:

jan 11 18:38:31 Arch-PC pipewire[952]: 18:38:31.360 [957] [err] roc_netio: network loop: can't add udp receiver port 0.0.0.0:10001: can't start udp receiver

You command gives no output...

Last edited by Strangiato (2024-01-11 22:01:16)

Offline

#11 2024-01-11 22:08:38

seth
Member
Registered: 2012-09-03
Posts: 51,721

Re: [solved] pipewire fails to start with dbus-broker-units

That would suggest nothing's actually listening there.
Sanity check: "ss -tulpen" prints a lot of stuff™?

Offline

#12 2024-01-11 22:12:10

Strangiato
Member
Registered: 2020-01-10
Posts: 382

Re: [solved] pipewire fails to start with dbus-broker-units

seth wrote:

Sanity check: "ss -tulpen" prints a lot of stuff™?

Yes.

Offline

#13 2024-04-17 01:08:51

Strangiato
Member
Registered: 2020-01-10
Posts: 382

Re: [solved] pipewire fails to start with dbus-broker-units

I have just installed dbus-broker-units 36-1 and rebooted. It works. \o/

Offline

#14 2024-04-17 06:12:04

seth
Member
Registered: 2012-09-03
Posts: 51,721

Re: [solved] pipewire fails to start with dbus-broker-units

\o/
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

Offline

Board footer

Powered by FluxBB