You are not logged in.

#1 2026-01-16 00:39:07

smj-edison
Member
Registered: 2023-03-17
Posts: 5

[SOLVED] Pipewire taking 100% CPU

Hi!

I recently updated my computer (Framework 13), and pipewire has been taking 100% CPU from a fresh boot. Pipewire's logs are filled with

mod.protocol-native: server 0x55cd89805090: failed to accept: Too many open files

hundreds of times per second. It's also taxing journald with the constant logs. Here's the log from boot, until it starts repeating: https://gist.github.com/smj-edison/8435 … 53b27be853

I'm often at a library, so I'm surrounded by macbooks. I believe the issue has something to do with the RAOP subsystem detecting a lot of AirPlay devices? I've tried disabling RAOP by creating a file at both ~/.config/pipewire/pipewire.conf.d/disable-raop.conf and /etc/pipewire/pipewire.conf.d/disable-raop.conf with the contents "context.properties = { module.raop = false }", but it still detects AirPlay devices, and eats up my CPU. I'm pretty stumped as to what would be causing this, any ideas?

Last edited by smj-edison (2026-01-23 05:49:47)

Offline

#2 2026-01-16 10:03:05

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,520

Re: [SOLVED] Pipewire taking 100% CPU

This should™ work, https://gitlab.freedesktop.org/pipewire … 396e059848
Is raop still loaded after restarting pipewire?

Offline

#3 2026-01-21 17:28:14

smj-edison
Member
Registered: 2023-03-17
Posts: 5

Re: [SOLVED] Pipewire taking 100% CPU

Sorry for the late reply. When I try to list the loaded modules with `pactl list modules` it hangs until I get "Connection failure: Timeout".

And here's what happens when I try to unload the raop module:

➜  ~ pw-cli
Welcome to PipeWire version 1.4.9. Type 'help' for usage.
>> load-module raop
Error: "Could not load module"
>> unload-module raop
[1]    15730 segmentation fault (core dumped)  pw-cli

So something very strange is happening here...

Offline

#4 2026-01-21 20:38:23

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,520

Re: [SOLVED] Pipewire taking 100% CPU

Did you try that in the problematic environment?
I'd try to analyze situation in a clean context (ie. outside the library) - the immediate goal is to figure why raop is loaded at all.
You could also "export PIPEWIRE_DEBUG=3" to the pipewire process to see whether that logs more relevant details.

Offline

#5 2026-01-22 05:44:26

smj-edison
Member
Registered: 2023-03-17
Posts: 5

Re: [SOLVED] Pipewire taking 100% CPU

Whoops, yeah, running it in a normal environment is a good point. Looks like at least two raop services are listed, though the full output is here.

Module #30
        Name: libpipewire-module-raop-discover
        Argument: { }
        Usage counter: n/a
        Properties:
                module.name = "libpipewire-module-raop-discover"
                object.id = "29"
                object.serial = "30"
                module.author = "Wim Taymans <wim.taymans@gmail.com>"
                module.description = "Discover remote streams"
                module.usage = "( stream.rules=<rules>, use create-stream actions )"
                module.version = "1.4.9"

Module #254
        Name: libpipewire-module-raop-sink
        Argument: { "raop.ip": "192.168.86.33", "raop.ifindex": 2, "raop.port": 7000, "raop.name": "B25E56E6DE08@Redacted’s MacBook Air", "raop.hostname": "Redacteds-MacBook-Air-3.local", "raop.domain": "local", "raop.audio.codec": "PCM", "raop.encryption.type": "fp_sap25", "device.model": "Mac15,12", "raop.transport": "udp"}
        Usage counter: n/a
        Properties:
                module.name = "libpipewire-module-raop-sink"
                object.id = "177"
                object.serial = "254"
                module.author = "Wim Taymans <wim.taymans@gmail.com>"
                module.description = "An RAOP audio sink"
                module.usage = "( raop.ip=<ip address of host> ) ( raop.port=<remote port> ) ( raop.name=<name of host> ) ( raop.hostname=<hostname of host> ) ( raop.transport=<transport, default:udp> ) ( raop.encryption.type=<encryption, default:none> ) ( raop.audio.codec=PCM ) ( raop.password=<password for auth> ) ( raop.latency.ms=<min latency in ms, default:1500> ) ( node.latency=<latency as fraction> ) ( node.name=<name of the nodes> ) ( node.description=<description of the nodes> ) ( audio.format=<format, default:S16LE> ) ( audio.rate=<sample rate, default: 44100> ) ( audio.channels=<number of channels, default:2> ) ( audio.position=<channel map, default:[ FL FR ]> ) ( stream.props=<properties> ) "
                module.version = "1.4.9"

When starting up pipewire with that env variable, I get this (full log):

[I][22:35:32.803893] pw.conf      | [          conf.c:  415 conf_load()] 0x55dcd624d2f0: loaded config '/etc/pipewire/pipewire.conf.d/disable-raop.conf' with 1 items
[I][22:35:32.803903] pw.conf      | [          conf.c:  415 conf_load()] 0x55dcd624d2f0: loaded config '/etc/pipewire/pipewire.conf.d/raop-discover.conf' with 1 items

So it seems it's loading "disable-raop.conf", then immediately loading "raop-discover.conf"? Honestly, I have no clue where "raop-discover.conf" even came from, and `pacman -Qo /etc/pipewire/pipewire.conf.d/raop-discover.conf` says it's not managed by any package. So, I'm going to delete that file and see if my computer spazzes out in the library again.

Thank you so much for all the tips and helpful pointers!

Last edited by smj-edison (2026-01-22 05:45:55)

Offline

#6 2026-01-23 05:49:13

smj-edison
Member
Registered: 2023-03-17
Posts: 5

Re: [SOLVED] Pipewire taking 100% CPU

Looks like the module isn't loaded anymore, and I haven't had any issues at the library, thanks for all the help!

Offline

Board footer

Powered by FluxBB