The problem with wine was when you are using multimedia windows program the requires soundcard access such as sound editor (e.g. wavepad) and dj software (e.g. virtual dj). It wanted to took over the control of soundcard however it was already occupied by pipewire ended up the software doesn't work.
The solution was plug the pipewire in ALSA dmix instead of the soundcard directly.
Save this content to /etc/pipewire/pipewire.conf.d/<any filename you want>.conf
Code: Select all
context.objects = [
# We do not start with dmix, but with an input device.
# Do not forget to add an input device.
# On a friend's Laptop, I saw Zoom having a nervous
# breakdown and endlessly crying because no input device
# was configured! You have been warned.
{ factory = adapter
args = {
factory.name = api.alsa.pcm.source
node.name = "alsa-mic-internal" # name of pulse device (mpv)
node.description = "Mic Internal" # name of pulse device (pavucontrol)
media.class = "Audio/Source"
api.alsa.path = "hw"
}
}
# Okay, now we add our dmix PCMs
{ factory = adapter
args = {
factory.name = api.alsa.pcm.sink # sink for dmix
node.name = "alsa-dmix-internal" # name of pulse device (mpv)
node.description = "PCM Internal" # name of pulse device (pavucontrol)
media.class = "Audio/Sink" # Sink for dmix
api.alsa.path = "dmix"
}
}
]
The pipewire will disguise as a soundcard device named "PCM Internal"
Save this content to /etc/asound.conf
Code: Select all
ctl.!default {
type hw
card PCH
}
pcm.!default {
type plug
slave.pcm "dmix"
}
Restart the pipewire, pipewire-pulse, and wireplumber
Now, wine can now access the soundcard directly while pipewire was running at the same time