mirror of
https://github.com/nestriness/nestri.git
synced 2026-09-26 20:42:25 +03:00
Fixes: #335 Still a work-in-progress. --------- Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: Wanjohi <elviswanjohi47@gmail.com>
41 lines
1.9 KiB
Plaintext
41 lines
1.9 KiB
Plaintext
# WirePlumber, trimmed to what a microVM with no sound card actually needs.
|
|
#
|
|
# The goal is that `neswire` is the *only* Audio/Sink in the graph, so
|
|
# default-node selection has exactly one candidate and cannot pick wrong.
|
|
#
|
|
# The "Dummy Output" (`auto_null`) sink is not disabled here, because it does
|
|
# not come from this side. pipewire-pulse creates it with `module-always-sink`,
|
|
# and the pipewire-pulse drop-in turns that off with
|
|
# `pulse.cmd.always-sink = false`. WirePlumber ships scripts/fallback-sink.lua,
|
|
# which creates a node by the same name, but no component in wireplumber.conf
|
|
# references it, so it never loads. If auto_null appears, look at the
|
|
# pipewire-pulse drop-in first.
|
|
#
|
|
# pipewire.conf's Dummy-Driver / Freewheel-Driver are a third thing again:
|
|
# support.node.driver objects with no ports -- drivers, not sinks, so nothing
|
|
# can play into them. Dummy-Driver is load-bearing here. With no ALSA hardware
|
|
# it is what clocks the graph, and therefore what paces neswire's sink. Do not
|
|
# disable it.
|
|
|
|
wireplumber.profiles = {
|
|
main = {
|
|
# No sound card, no bluetooth adapter, no camera. These only exist to
|
|
# probe hardware this guest does not have; disabling them removes the
|
|
# only other source of sinks besides neswire.
|
|
hardware.audio = disabled
|
|
hardware.bluetooth = disabled
|
|
hardware.video-capture = disabled
|
|
|
|
# The guest root is read-only and every VM is built from the same image, so
|
|
# there is nothing to restore and nowhere to save. Left enabled, a stale
|
|
# state file is a second, invisible place that can pin a default sink --
|
|
# the exact failure this file exists to rule out.
|
|
#
|
|
# Equivalent to inheriting mixin.stateless, spelled out so it is greppable.
|
|
hooks.default-nodes.state = disabled
|
|
hooks.device.profile.state = disabled
|
|
hooks.device.routes.state = disabled
|
|
hooks.stream.state = disabled
|
|
}
|
|
}
|