Problem solved on Linux.
No more wake-up delay or initial audio cutoff when starting a new audio playback.
I just created a WirePlumber config file (which controls PipeWire) to disable the suspend timeout on this specific device.
Folder: ~/.config/wireplumber/wireplumber.conf.d/
Filename: 10-dx5-II-no-suspend.conf
Code:
monitor.alsa.rules = [
matches = [
{
alsa.components = "USB152a:8750",
}
]
actions = {
update-props = {
session.suspend-timeout-seconds = 0,
}
}
}
]
Filter for this rule is device
152a:8750, which is the USB
Vendor : DeviceId, basically
Topping : DX5 II.
Device now goes from
RUNNING to
IDLE instead of SUSPENDED.
~ > pactl list short sinks
60 alsa_output.usb-Topping_DX5_II-00.HiFi__Headphones__sink PipeWire s32le 2ch 48000Hz
RUNNING
66 alsa_output.usb-Roland_QUAD-CAPTURE_00001FD67F58FF6122399D2B2B8A81F8-00.HiFi__Line2__sink PipeWire float32le 2ch 48000Hz
SUSPENDED
70 alsa_output.usb-Roland_QUAD-CAPTURE_00001FD67F58FF6122399D2B2B8A81F8-00.HiFi__Line1__sink PipeWire float32le 2ch 48000Hz
SUSPENDED
~ > pactl list short sinks
60 alsa_output.usb-Topping_DX5_II-00.HiFi__Headphones__sink PipeWire s32le 2ch 48000Hz
IDLE
66 alsa_output.usb-Roland_QUAD-CAPTURE_00001FD67F58FF6122399D2B2B8A81F8-00.HiFi__Line2__sink PipeWire float32le 2ch 48000Hz
SUSPENDED
70 alsa_output.usb-Roland_QUAD-CAPTURE_00001FD67F58FF6122399D2B2B8A81F8-00.HiFi__Line1__sink PipeWire float32le 2ch 48000Hz
SUSPENDED