Skip to content

[ryoku] update: sweep WirePlumber drop-ins Ryoku no longer ships - #36

Open
neur0map wants to merge 1 commit into
mainfrom
fix/wireplumber-dropin-converge
Open

[ryoku] update: sweep WirePlumber drop-ins Ryoku no longer ships#36
neur0map wants to merge 1 commit into
mainfrom
fix/wireplumber-dropin-converge

Conversation

@neur0map

Copy link
Copy Markdown
Owner

Hit this on my own box today: game audio and browser both way quieter than they
should be, every control reading 100% and unmuted.

50-ryoku-alsa-soft-mixer.conf was still sitting in
~/.config/wireplumber/wireplumber.conf.d/, 11 days after I deleted it in
280fc65. api.alsa.soft-mixer=true was still live on the sink, so PipeWire was
doing volume in software and never touching the hardware mixer. The slider read
100% because it was passing samples through untouched, while the card sat at
whatever level it booted with. ryoku-restart-audio was no help, it just
re-reads the same config.

Cause: materialize prunes only what the previous manifest recorded, and
deploy.sh copies configs without writing that manifest. On a checkout-deployed
box the file was never in the manifest, so prune couldn't see it and it survived
every update. wpConfigPruned never flipped either, so the WirePlumber restart
never fired.

Fix: converge wireplumber.conf.d against the shipped set instead of trusting
the manifest, same idea as what quickshell/ already does. Can't sweep the whole
directory since users keep their own overrides there, so it matches the
NN-ryoku-*.conf naming all our drop-ins use and leaves everything else alone.

New test fails without the change, passes with. TestChannelStatusNoCheckout
already fails on main, unrelated to this.

materialize pruned only paths the previous manifest recorded, and deploy.sh
copies configs without writing that manifest, so a checkout-deployed box kept a
withdrawn drop-in forever and wpConfigPruned never fired to restart WirePlumber.

The global ALSA soft-mixer override outlived its removal in 280fc65 that way:
api.alsa.soft-mixer=true stayed live, PipeWire left the hardware mixer alone,
and playback sat at whatever level the card booted with while every control
still read 100%.

Converge wireplumber.conf.d against the shipped set, matched on the
NN-ryoku-*.conf naming so the user's own drop-ins there are left alone.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant