You are not logged in.
I have one app that I used called Moonlight. I need to change audio output for this application. I'm using pavucontrol for this. But I switch the audio output nothing changes. And when I try to mute/unmute then Pavucontrol shows default sinks instead the one I set.
First I went to the application support, but I do not think it's the application problem. Switching audio for other applications work.
It was working before, but after an update about 2 weeks ego it stopped working.
I do not know how to change this setting thru pacmd or pactl.
My application Client:
index: 137
driver: <protocol-native.c>
owner module: 15
properties:
application.name = "Moonlight"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "35"
application.icon_name = "applications-games"
application.process.id = "2986992"
application.process.user = "socek"
application.process.host = "archlinux"
application.process.binary = "moonlight"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "64731640afbe45678c3b9c8a936df0cd"
application.process.session_id = "4"
My default sink:
* index: 0
name: <alsa_output.usb-R__DE_RODECaster_Pro_II_GV0044261-00.main-output>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: RUNNING
suspend cause: (none)
priority: 9040
volume: front-left: 68811 / 105% / 1.27 dB, front-right: 68811 / 105% / 1.27 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 29.14 ms
max request: 6 KiB
max rewind: 6 KiB
monitor source: 0
sample spec: s32le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 2
linked by: 5
configured latency: 16.00 ms; range is 16.00 .. 2000.00 ms
card: 1 <alsa_card.usb-R__DE_RODECaster_Pro_II_GV0044261-00>
module: 8
properties:
alsa.resolution_bits = "32"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio #1"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "1"
alsa.card = "2"
alsa.card_name = "RODECaster Pro II"
alsa.long_card_name = "RØDE RODECaster Pro II at usb-0000:00:14.0-6, high speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:00:14.0-usb-0:6:1.0"
sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/sound/card2"
udev.id = "usb-RØDE_RODECaster_Pro_II_GV0044261-00"
device.bus = "usb"
device.vendor.id = "19f7"
device.vendor.name = "RODE Microphones"
device.product.id = "0030"
device.product.name = "RODECaster Pro II"
device.serial = "RØDE_RODECaster_Pro_II_GV0044261"
device.string = "hw:2,1"
device.buffering.buffer_size = "768000"
device.buffering.fragment_size = "384000"
device.access_mode = "mmap+timer"
device.profile.name = "main-output"
device.profile.description = "Main"
device.description = "RODECaster Pro II Main"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
My target sink:
index: 7
name: <GameSink>
driver: <module-remap-sink.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1000
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.00 ms
max request: 344 KiB
max rewind: 344 KiB
monitor source: 9
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
module: 30
properties:
device.master_device = "AutoNullSink"
device.class = "filter"
device.description = "GameSink"
device.icon_name = "audio-card"
I have no idea if I should use `pacmd set-sink-port` or something else? And I do not know how to debug this.
Last edited by Socek (2025-02-04 11:08:02)
Offline
"logically" speaking
pacmd move-sink-input 137 7
(recheck the sink-input index that one is likely to change often) and that should normally get saved and reapplied unless the application does something wonky. FWIW for a check what do you get from
sudo fuser -v /dev/snd/*
Last edited by V1del (2025-02-03 23:17:52)
Offline
It does not work.
socek:~/tmp $ pacmd move-sink-input 499 7
Moved failed.
socek:~/tmp $ pactl move-sink-input 499 GameSink
Failure: Invalid argument
socek:~/tmp $ sudo fuser -v /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/controlC0: socek 1135 F.... pulseaudio
/dev/snd/controlC1: socek 1135 F.... pulseaudio
/dev/snd/pcmC2D1p: socek 1135 F...m pulseaudio
GameSink is a module-remap-sink. I do not know how to debug this more. Pulseaudio log does not show anything important.
socek:~/tmp $ systemctl --user status pulseaudio
● pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; preset: enabled)
Active: active (running) since Sun 2025-02-02 15:45:13 CET; 1 day 17h ago
Invocation: 98d31ac276bc48738ca216ccd0aed424
TriggeredBy: ● pulseaudio.socket
Main PID: 1135 (pulseaudio)
Tasks: 12 (limit: 18962)
Memory: 44.2M (peak: 74.3M, swap: 2.4M, swap peak: 7.1M)
CPU: 2h 8min 23.788s
CGroup: /user.slice/user-1001.slice/user@1001.service/session.slice/pulseaudio.service
├─1135 /usr/bin/pulseaudio --daemonize=no --log-target=journal
└─1202 /usr/lib/pulse/gsettings-helper
Feb 03 18:00:43 archiso pulseaudio[1135]: Failed to find a working profile.
Feb 03 18:00:43 archiso pulseaudio[1135]: Failed to load module "module-alsa-card" (argument: "device_id="3" name="usb-Loupedeck_Loupedeck_Live_LDD2001014022190100029B2002-02" card_name="alsa_card.usb-Loupedeck_Loupedeck_Live_LDD2001014022190100029B2002-02" namereg_fail=fa>
Feb 03 18:00:46 archiso pulseaudio[1135]: Failed to find a working profile.
Feb 03 18:00:46 archiso pulseaudio[1135]: Failed to load module "module-alsa-card" (argument: "device_id="3" name="usb-Loupedeck_Loupedeck_Live_LDD2001014022190100029B2002-02" card_name="alsa_card.usb-Loupedeck_Loupedeck_Live_LDD2001014022190100029B2002-02" namereg_fail=fa>
Feb 04 00:11:40 archlinux pulseaudio[1135]: Failed to find a working profile.
Feb 04 00:11:40 archlinux pulseaudio[1135]: Failed to load module "module-alsa-card" (argument: "device_id="3" name="usb-Loupedeck_Loupedeck_Live_LDD2001014022190100029B2002-02" card_name="alsa_card.usb-Loupedeck_Loupedeck_Live_LDD2001014022190100029B2002-02" namereg_fail=>
Feb 04 09:15:51 archlinux pulseaudio[1135]: org.bluez.BatteryProviderManager1.UnregisterBatteryProvider() Failed: org.freedesktop.DBus.Error.UnknownObject:Method "UnregisterBatteryProvider" with signature "o" on interface "org.bluez.BatteryProviderManager1" doesn't exist
Feb 04 09:15:52 archlinux pulseaudio[1135]: Failed to find a working profile.
Feb 04 09:15:52 archlinux pulseaudio[1135]: Failed to load module "module-alsa-card" (argument: "device_id="3" name="usb-Loupedeck_Loupedeck_Live_LDD2001014022190100029B2002-02" card_name="alsa_card.usb-Loupedeck_Loupedeck_Live_LDD2001014022190100029B2002-02" namereg_fail=>
Feb 04 09:16:01 archiso pulseaudio[1135]: protocol error, kicking client
Offline
It's possible that moonlight sets the "DONT_MOVE" flag which would prevent it's sink from being moved (can you post the complete block from list-sink-inputs?), if that is the case, ideally you should be able to configure this in the moonlight client otherwise this could be a bit more cumbersome. FWIW I know that on pipewire you can force it to ignore such a flag if that is set, if you're willing to try that you could replace pulseaudio with pipewire-pulse and pipewire-alsa. remap sinks and the like should be configurable like you're used to.
Offline
Yes, you are right. I can see that flag. So it is not on the Arch side. I'm marking this as resolved and going back to moonlight help desk.
Thanks a lot!
index: 499
driver: <protocol-native.c>
flags: DONT_MOVE
state: RUNNING
sink: 0 <alsa_output.usb-R__DE_RODECaster_Pro_II_GV0044261-00.main-output>
volume: front-left: 29365 / 45% / -20.92 dB, front-right: 29365 / 45% / -20.92 dB
balance 0.00
muted: yes
current latency: 17.33 ms
requested latency: 8.00 ms
sample spec: s32le 2ch 48000Hz
channel map: front-left,front-right
Stereo
resample method: (null)
module: 15
client: 312 <Moonlight>
properties:
media.name = "Audio Stream"
application.name = "Moonlight"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "35"
application.icon_name = "applications-games"
application.process.id = "888939"
application.process.user = "socek"
application.process.host = "archiso"
application.process.binary = "moonlight"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "64731640afbe45678c3b9c8a936df0cd"
application.process.session_id = "6"
module-stream-restore.id = "sink-input-by-application-name:Moonlight"
Offline
Yeah I don't understand why clients would set that. I have yet to see a case where allowing to move a "normal" sink has an actual downside. I can see the need for this for specific custom remapping sinks and the like, but a normal client shouldn't be setting that. Firefox does that as well and it's pretty annoying.
Offline