You are not logged in.

#1 2025-02-03 12:35:02

Socek
Member
Registered: 2016-04-15
Posts: 30

[SOLVED] Changing audio output does not work (pavucontrol)

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

#2 2025-02-03 23:17:15

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,923

Re: [SOLVED] Changing audio output does not work (pavucontrol)

"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

#3 2025-02-04 08:29:52

Socek
Member
Registered: 2016-04-15
Posts: 30

Re: [SOLVED] Changing audio output does not work (pavucontrol)

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

#4 2025-02-04 09:35:53

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,923

Re: [SOLVED] Changing audio output does not work (pavucontrol)

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

#5 2025-02-04 11:07:34

Socek
Member
Registered: 2016-04-15
Posts: 30

Re: [SOLVED] Changing audio output does not work (pavucontrol)

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

#6 2025-02-04 13:59:15

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,923

Re: [SOLVED] Changing audio output does not work (pavucontrol)

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

Board footer

Powered by FluxBB