You are not logged in.
Hello all,
This is the script I made in order to change the two sinks of my Rodecaster from the naming of "Pro" & "Pro 1" to their original Main and Chat naming as the device has set by default on it's own internally and through other OS's.
monitor.alsa.rules = [
{
matches = [
{
device.name = "alsa_card.usb-R__DE_RODECaster_Pro_II_GV0097761-00"
}
]
actions = {
update-props = {
device.nick = "RODECaster Pro II"
}
}
}
{
matches = [
{
node.name = "alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-1"
}
]
actions = {
update-props = {
node.nick = "RODECaster Pro II Main"
}
}
}
{
matches = [
{
node.name = "alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-0"
}
]
actions = {
update-props = {
node.nick = "RODECaster Pro II Chat"
}
}
}
]The location of the said script is
/etc/wireplumber/I have also tried the location as an alternative
~/.config/wireplumber/My wpctl status is
PipeWire 'pipewire-0' [1.2.1, broll@bushidoarch, cookie:2764853196]
└─ Clients:
32. Mutter [1.2.1, broll@bushidoarch, pid:1369]
33. Firefox [1.2.1, broll@bushidoarch, pid:2]
34. xdg-desktop-portal [1.2.1, broll@bushidoarch, pid:1928]
35. WirePlumber [1.2.1, broll@bushidoarch, pid:3818]
43. WirePlumber [export] [1.2.1, broll@bushidoarch, pid:3818]
96. PulseAudio Volume Control [1.2.1, broll@bushidoarch, pid:3846]
132. gnome-shell [1.2.1, broll@bushidoarch, pid:1369]
133. GNOME Shell Volume Control [1.2.1, broll@bushidoarch, pid:1369]
134. GNOME Settings [1.2.1, broll@bushidoarch, pid:3568]
135. GNOME Volume Control Media Keys [1.2.1, broll@bushidoarch, pid:1575]
150. wpctl [1.2.1, broll@bushidoarch, pid:5311]
Audio
├─ Devices:
│ 44. Navi 21/23 HDMI/DP Audio Controller [alsa]
│ 45. RODECaster Pro II [alsa]
│ 46. HD Pro Webcam C920 [alsa]
│ 47. Built-in Audio [alsa]
│
├─ Sinks:
│ 53. Navi 21/23 HDMI/DP Audio Controller Digital Stereo (HDMI) [vol: 1.00]
│ 54. RODECaster Pro II Pro [vol: 1.00]
│ * 55. RODECaster Pro II Pro 1 [vol: 1.00]
│
├─ Sources:
│ * 56. RODECaster Pro II Pro [vol: 1.00]
│ 57. RODECaster Pro II Pro 1 [vol: 1.00]
│
├─ Filters:
│
└─ Streams:
101. PulseAudio Volume Control
100. input_FR < LG TV:monitor_FR [active]
123. monitor_FR
126. input_FL < LG TV:monitor_FL [active]
130. monitor_FL
127. PulseAudio Volume Control
114. input_FR < USB Audio #1:monitor_AUX1 [active]
116. input_FL < USB Audio #1:monitor_AUX0 [active]
118. monitor_FR
119. monitor_FL
128. PulseAudio Volume Control
108. monitor_FR
109. input_FL < RODECaster Pro II:capture_AUX0 [active]
110. monitor_FL
113. input_FR < RODECaster Pro II:capture_AUX1 [active]
129. PulseAudio Volume Control
99. monitor_FR
120. monitor_FL
124. input_FR < RODECaster Pro II:monitor_AUX1 [active]
125. input_FL < RODECaster Pro II:monitor_AUX0 [active]
131. PulseAudio Volume Control
103. monitor_FL
104. input_FR < USB Audio #1:capture_AUX1 [active]
105. input_FL < USB Audio #1:capture_AUX0 [active]
107. monitor_FR
136. GNOME Settings
138. input_FL < USB Audio #1:monitor_AUX0 [active]
139. monitor_FL
140. input_FR < USB Audio #1:monitor_AUX1 [active]
141. monitor_FR
137. GNOME Settings
144. input_FL < RODECaster Pro II:capture_AUX0 [active]
145. monitor_FL
146. input_FR < RODECaster Pro II:capture_AUX1 [active]
147. monitor_FR
Video
├─ Devices:
│ 61. HD Pro Webcam C920 [v4l2]
│ 62. HD Pro Webcam C920 [v4l2]
│ 63. HD Pro Webcam C920 [libcamera]
│
├─ Sinks:
│
├─ Sources:
│ * 67. HD Pro Webcam C920 (V4L2)
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
0. Audio/Sink alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-1
1. Audio/Source alsa_input.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-input-0I can also provide the wpctl inspect output for each sink if requested.
Now, my issue is that this has produced zero results in regards to the renaming of the sinks. Anyone can direct me please to a source that can help me, or to a solution? I can't see my mistake yet.
Have a great day!
EDIT: Updated title to reflect the issue better.
FINAL EDIT: Check the 5th comment of this thread for the solution. Issue resolved.
Last edited by Broll (2024-07-18 13:23:29)
Offline
I can confirm that I use the same syntax for renaming the display names in KDE Plasma.
Where "exactly" is your script located? I use ~/.config/wireplumber/wireplumber.conf.d/51-device-rename-alsa.conf
Where do you want to see your change? In wpctl status or somewhere on Gnome?
PS: You did restart wireplumber, right?
systemctl restart wireplumber --userLast edited by Funny0facer (2024-07-18 06:26:43)
Offline
I can confirm that I use the same syntax for renaming the display names in KDE Plasma.
Where "exactly" is your script located? I use ~/.config/wireplumber/wireplumber.conf.d/51-device-rename-alsa.confWhere do you want to see your change? In wpctl status or somewhere on Gnome?
PS: You did restart wireplumber, right?
systemctl restart wireplumber --user
Thank you very much for the response.
The exact location of the file is
/etc/wireplumber/51-device-rename-alsa.confAnd I have also used the another naming of the file in the past with no success.
/etc/wireplumber/55-RODECaster_Pro_II-rename.conf And yes I have also used
systemctl restart wireplumber --userto restart the service as well as
systemctl restart pipewire wireplumber --userand of course rebooted many times.
No change.
Mind you, the device works flawlessly and it recognizes all input/output signals. I just want the rename to happen for ease of use when I select sinks for continuity through the devices onboard LCD screen and my OS/software.
I am honestly out of ideas, nor am I able to see where my error lies on my own, yet.
EDIT: And to answer your question too, I want to be able to see the device on gnome settings sound section, on pulse audio volume control and on qpwgraph so I can reroute things with no mistakes as to the naming of the sources. I wasn't clear about that before. Apologies.
Last edited by Broll (2024-07-18 07:09:06)
Offline
You need to figure out which device string all of these are actually using for display, sometimes it's a mix. Are your changes not reflected in the properties you see when checking
pactl list sinks? FWIW I'm fairly certain pavucontrol (actually most "user visible" software) will and should be using the device.description property, so try updating that.
Also agreed with above try using a "drop-in dir" as in /etc/wireplumber/wireplumber.conf.d/5-RODECaster_Pro_II-rename.conf since those are the ones actually looked at as snippets.
Offline
You need to figure out which device string all of these are actually using for display, sometimes it's a mix. Are your changes not reflected in the properties you see when checking
pactl list sinks?
Thank you very much for the response.
Now, as to the result of the
pactl list sinksSink #187
State: SUSPENDED
Name: alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-0
Description: RODECaster Pro II Pro
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: aux0,aux1
Owner Module: 4294967295
Mute: no
Volume: aux0: 65536 / 100% / 0.00 dB, aux1: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-0.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "0"
alsa.card_name = "RODECaster Pro II"
alsa.class = "generic"
alsa.components = "USB19f7:0030"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "II"
alsa.long_card_name = "RØDE RODECaster Pro II at usb-0000:00:14.0-3, high speed"
alsa.mixer_name = "USB Mixer"
alsa.name = "USB Audio"
alsa.resolution_bits = "32"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "RØDE RODECaster Pro II at usb-0000:00:14.0-3, high speed"
api.alsa.card.name = "RODECaster Pro II"
api.alsa.path = "hw:0,0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "AUX0,AUX1"
card.profile.device = "1"
clock.name = "api.alsa.0"
device.api = "alsa"
device.class = "sound"
device.id = "100"
device.profile.description = "Pro"
device.profile.name = "pro-output-0"
device.profile.pro = "true"
device.routes = "0"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "RODECaster Pro II"
node.name = "alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-0"
node.nick = "RODECaster Pro II"
node.pause-on-idle = "false"
object.path = "alsa:acp:II:1:playback"
port.group = "playback"
priority.driver = "1500"
priority.session = "1500"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "131"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "110"
object.serial = "187"
api.acp.auto-port = "false"
api.alsa.card = "0"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
api.dbus.ReserveDevice1.Priority = "-20"
device.bus = "usb"
device.bus-id = "usb-RØDE_RODECaster_Pro_II_GV0097761-00"
device.bus_path = "pci-0000:00:14.0-usb-0:3:1.0"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-usb"
device.name = "alsa_card.usb-R__DE_RODECaster_Pro_II_GV0097761-00"
device.nick = "RODECaster Pro II"
device.plugged.usec = "14767584"
device.product.id = "0x0030"
device.product.name = "RODECaster Pro II"
device.serial = "RØDE_RODECaster_Pro_II_GV0097761"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card0"
device.vendor.id = "0x19f7"
device.vendor.name = "RODE Microphones"
device.string = "0"
Formats:
pcm
Sink #188
State: RUNNING
Name: alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-1
Description: RODECaster Pro II Pro 1
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: aux0,aux1
Owner Module: 4294967295
Mute: no
Volume: aux0: 65536 / 100% / 0.00 dB, aux1: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-1.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "0"
alsa.card_name = "RODECaster Pro II"
alsa.class = "generic"
alsa.components = "USB19f7:0030"
alsa.device = "1"
alsa.driver_name = "snd_usb_audio"
alsa.id = "II"
alsa.long_card_name = "RØDE RODECaster Pro II at usb-0000:00:14.0-3, high speed"
alsa.mixer_name = "USB Mixer"
alsa.name = "USB Audio #1"
alsa.resolution_bits = "32"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "RØDE RODECaster Pro II at usb-0000:00:14.0-3, high speed"
api.alsa.card.name = "RODECaster Pro II"
api.alsa.path = "hw:0,1"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "AUX0,AUX1"
card.profile.device = "2"
clock.name = "api.alsa.0"
device.api = "alsa"
device.class = "sound"
device.id = "100"
device.profile.description = "Pro 1"
device.profile.name = "pro-output-1"
device.profile.pro = "true"
device.routes = "0"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "RODECaster Pro II"
node.name = "alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-1"
node.nick = "USB Audio #1"
node.pause-on-idle = "false"
object.path = "alsa:acp:II:2:playback"
port.group = "playback"
priority.driver = "1228"
priority.session = "1228"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "131"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "97"
object.serial = "188"
node.max-latency = "16384/48000"
api.alsa.period-size = "512"
api.alsa.period-num = "64"
api.alsa.headroom = "512"
api.acp.auto-port = "false"
api.alsa.card = "0"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
api.dbus.ReserveDevice1.Priority = "-20"
device.bus = "usb"
device.bus-id = "usb-RØDE_RODECaster_Pro_II_GV0097761-00"
device.bus_path = "pci-0000:00:14.0-usb-0:3:1.0"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-usb"
device.name = "alsa_card.usb-R__DE_RODECaster_Pro_II_GV0097761-00"
device.nick = "RODECaster Pro II"
device.plugged.usec = "14767584"
device.product.id = "0x0030"
device.product.name = "RODECaster Pro II"
device.serial = "RØDE_RODECaster_Pro_II_GV0097761"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card0"
device.vendor.id = "0x19f7"
device.vendor.name = "RODE Microphones"
device.string = "0"
Formats:
pcm
Sink #367
State: SUSPENDED
Name: alsa_output.pci-0000_07_00.1.hdmi-stereo
Description: Navi 21/23 HDMI/DP Audio Controller Digital Stereo (HDMI)
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
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
Monitor Source: alsa_output.pci-0000_07_00.1.hdmi-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS
Properties:
alsa.card = "2"
alsa.card_name = "HDA ATI HDMI"
alsa.class = "generic"
alsa.components = "HDA:1002aa01,00aa0100,00100800"
alsa.device = "3"
alsa.driver_name = "snd_hda_intel"
alsa.id = "HDMI"
alsa.long_card_name = "HDA ATI HDMI at 0xfb620000 irq 74"
alsa.mixer_name = "ATI R6xx HDMI"
alsa.name = "LG TV"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "HDA ATI HDMI at 0xfb620000 irq 74"
api.alsa.card.name = "HDA ATI HDMI"
api.alsa.path = "hdmi:2"
api.alsa.pcm.card = "2"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "6"
device.api = "alsa"
device.class = "sound"
device.id = "129"
device.profile.description = "Digital Stereo (HDMI)"
device.profile.name = "hdmi-stereo"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "Navi 21/23 HDMI/DP Audio Controller"
node.name = "alsa_output.pci-0000_07_00.1.hdmi-stereo"
node.nick = "LG TV"
node.pause-on-idle = "false"
object.path = "alsa:acp:HDMI:6:playback"
port.group = "playback"
priority.driver = "696"
priority.session = "696"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "131"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "109"
object.serial = "367"
api.acp.auto-port = "false"
api.alsa.card = "2"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio2"
api.dbus.ReserveDevice1.Priority = "-20"
device.bus = "pci"
device.bus_path = "pci-0000:07:00.1"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_07_00.1"
device.nick = "HDA ATI HDMI"
device.plugged.usec = "14822546"
device.product.id = "0xab28"
device.product.name = "Navi 21/23 HDMI/DP Audio Controller"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:03.0/0000:03:00.0/0000:04:10.0/0000:05:00.0/0000:06:00.0/0000:07:00.1/sound/card2"
device.vendor.id = "0x1002"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
device.string = "2"
Ports:
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, availability group: Legacy 1, available)
Active Port: hdmi-output-0
Formats:
pcmThe naming isn't going through as intended as far as I can see.
FWIW I'm fairly certain pavucontrol (actually most "user visible" software) will and should be using the device.description property, so try updating that.
Already pacman -Syu and -Syyu many times, and removed and re-added the pavucontrol a few times. Great minds think alike.
Also agreed with above try using a "drop-in dir" as in /etc/wireplumber/wireplumber.conf.d/5-RODECaster_Pro_II-rename.conf since those are the ones actually looked at as snippets.
Well what do you know?
That last addition to the path of "/wireplumber.conf.d/file-to-be-renamed" did the trick....so that was my mistake, not adding the correct path, which for the sake of clarity is
/etc/wireplumber/wireplumber.conf.d/55-RODECaster_Pro_II-rename.confI also updated my script by adding the device and sinks description values in there.
monitor.alsa.rules = [
{
matches = [
{
device.name = "alsa_card.usb-R__DE_RODECaster_Pro_II_GV0097761-00"
}
]
actions = {
update-props = {
device.nick = "RODECaster Pro II"
device.description = "RODECaster Pro II"
}
}
}
{
matches = [
{
node.name = "alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-1"
}
]
actions = {
update-props = {
node.nick = "RODECaster Pro II Main"
node.description = "RODECaster Pro II Main"
}
}
}
{
matches = [
{
node.name = "alsa_output.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-output-0"
}
]
actions = {
update-props = {
node.nick = "RODECaster Pro II Chat"
node.description = "RODECaster Pro II Chat"
}
}
}
]EDIT: Added a second script for renaming the two inputs in case anyone wants to use.
Location of said script:
/etc/wireplumber/wireplumber.conf.d/55-RODECaster_Pro_II_inputs-rename.confAnd the script.
monitor.alsa.rules = [
{
matches = [
{
node.name = "alsa_input.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-input-1"
}
]
actions = {
update-props = {
node.nick = "RODECaster Pro II Main Mic"
node.description = "RODECaster Pro II Main Mic"
}
}
}
{
matches = [
{
node.name = "alsa_input.usb-R__DE_RODECaster_Pro_II_GV0097761-00.pro-input-0"
}
]
actions = {
update-props = {
node.nick = "RODECaster Pro II Chat Mic"
node.description = "RODECaster Pro II Chat Mic"
}
}
}
]I honestly cannot thank you enough! What an awesome and simple advice! Thank you!
I am marking this as solved!! Thank you all
Last edited by Broll (2024-07-18 10:47:51)
Offline