You are not logged in.
All my Arch installs so far have been servers as Windows is my main driver, but I want to try using Linux as my desktop now.
So I installed Arch, set up the basics, installed Plasma, which installed a whole bunch op *wire-related packages and then installed a few basic apps. While testing VLC I found out there's no sound.
I went back to the install guide and saw it described ALSA. Found out I needed to install also-utils to use amixer to possibly unmute them.
Installed them, got this:
# amixer
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 37
Mono:
Front Left: Playback 14 [38%] [-23.00dB] [on]
Front Right: Playback 14 [38%] [-23.00dB] [on]
Simple mixer control 'Mic',0
Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined
Playback channels: Mono
Capture channels: Mono
Limits: Playback 0 - 31 Capture 0 - 35
Mono: Playback 16 [52%] [-7.00dB] [off] Capture 35 [100%] [23.00dB] [on]
Simple mixer control 'Auto Gain Control',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
No idea how to see if they are muted, but I did an sset Speaker unmute anyways.
I then tried:
# speaker-test --channels 2
speaker-test 1.2.8
Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 2048 to 16384
Period size range from 1024 to 1024
Using max buffer size 16384
Periods = 4
was set period_size = 1024
was set buffer_size = 16384
0 - Front Left
1 - Front Right
Time per period = 5.638720
0 - Front Left
1 - Front Right
I got white noise, worked fine. Still nothing in KDE/VLC. The KDE control panel for sound can't test the sound and tells me "invalid state".
Further down the page I read to try:
lsmod | grep '^snd' | column -t
snd_seq_dummy 16384 0
snd_hrtimer 16384 1
snd_seq 94208 7 snd_seq_dummy
snd_soc_dmic 16384 1
snd_acp3x_pdm_dma 16384 1
snd_acp3x_rn 16384 3
snd_sof_amd_rembrandt 16384 0
snd_sof_amd_renoir 16384 0
snd_sof_amd_acp 53248 2 snd_sof_amd_rembrandt,snd_sof_amd_renoir
snd_sof_pci 24576 2 snd_sof_amd_rembrandt,snd_sof_amd_renoir
snd_sof 335872 2 snd_sof_amd_acp,snd_sof_pci
snd_sof_utils 20480 1 snd_sof
snd_soc_core 393216 4 snd_acp3x_rn,snd_sof,snd_soc_dmic,snd_acp3x_pdm_dma
snd_compress 28672 1 snd_soc_core
snd_usb_audio 397312 6
snd_hda_codec_hdmi 86016 1
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_intel 61440 10
snd_usbmidi_lib 45056 1 snd_usb_audio
snd_pci_ps 20480 0
snd_rpl_pci_acp6x 20480 0
snd_intel_dspcfg 36864 2 snd_hda_intel,snd_sof
snd_rawmidi 49152 1 snd_usbmidi_lib
snd_intel_sdw_acpi 20480 1 snd_intel_dspcfg
snd_acp_pci 16384 0
snd_seq_device 16384 2 snd_seq,snd_rawmidi
snd_pci_acp6x 20480 0
snd_hda_codec 188416 2 snd_hda_codec_hdmi,snd_hda_intel
snd_pci_acp5x 20480 0
snd_hda_core 118784 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec
snd_rn_pci_acp3x 24576 0
snd_pcm 172032 14 snd_sof_amd_acp,snd_hda_codec_hdmi,snd_pci_acp6x,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_sof,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_acp3x_pdm_dma,snd_pci_ps,snd_pcm_dmaengine
snd_acp_config 16384 4 snd_rn_pci_acp3x,snd_sof_amd_rembrandt,snd_acp_pci,snd_sof_amd_renoir
snd_soc_acpi 16384 2 snd_sof_amd_acp,snd_acp_config
snd_timer 49152 3 snd_seq,snd_hrtimer,snd_pcm
snd_pci_acp3x 20480 0
snd 131072 54 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
Seeing a bunch of "sof" in there, I installed sof-firmware. Rebooted, tried again. Now nothing works anymore.
# amixer
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958',3
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
speaker-test --channels 2
speaker-test 1.2.8
Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directory
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic_1 [HD-Audio Generic], device 3: HDMI 0 [ASUS VG34V]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic_1 [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic_1 [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic_1 [HD-Audio Generic], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Device [USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
How nice, it probably detected all the HDMI channels and neglected to use my actual sound card.
I am decent in the commandline but I have no idea what I'm doing now. I also don't want to install a 1000 packages in hopes I'll get the one which fixes it. The 418 I needed for Plasma already gave me a minor heart attack.
So please tell me what to do here. Or tell me where in the wiki it can be found, because all I can find there is "ALSA usually works out of the box"
Last edited by Orionis (2023-05-13 20:25:45)
Offline
Apparently also installing alsa-firmware fixed it. Honestly, it's so difficult getting things to work. Can somebody explain it to me a bit more? What are all the extra devices showing up? When would I need all the pipewire-related things that Plasma pulled in? How would I know that I needed those -firmware packages? Is there an easy command which shows me I need them?
Last edited by Orionis (2023-05-07 05:09:13)
Offline
Good thing I didn't close it yet.
I installed from scratch because after installing kfrb both Plasma and SDDM were completely fubar. This time I installed alsa-utils, sof-firmware and alsa-firmware. The kernel thought it would be funny to not make my sound card the default:
cat /proc/asound/modules
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
3 snd_acp3x_rn
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic_1 [HD-Audio Generic], device 3: HDMI 0 [ASUS VG34V]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic_1 [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic_1 [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic_1 [HD-Audio Generic], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Device [USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
1 and 3 actually don't do anything.
Following the instructions on the ALSA page I told the kernel otherwise
cat << EOF >> /etc/modprobe.d/alsa-base.conf
options snd_usb_audio index=0
options snd_hda_intel index=1
EOF
No idea what it does with 2 identically named devices.
In the terminal it works fine. But in the desktop it doesn't.
Basically I have to go to the audio properties, and under Speakers I have to turn "Analog Stereo Output + Mono Input" down to something else and then back again. Until I do everything is frozen and a test tells me "Invalid state"
I have to do this every time a new audio stream opens. So even after every YT video in a browser.
So please please please just tell me what I need to do this time to fix it, because it is really getting on my nerves.
And in case you're tempted, telling me to install Ubuntu because it is Linux for Dummies does not qualify as an answer.
Last edited by Orionis (2023-05-13 13:34:30)
Offline
The aplay -l output appears to be missing some parts (card 1 and 3) , please check it.
cat /proc/asound/modules
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
3 snd_acp3x_rn
one of the hda_intel drivers is the HDMI output of your videocard (typically the 1st one) , the other is probably the built-in soundchip of your system .
Which card do you prefer as first and 2nd ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Nope, that is literally the output of aplay -l. Here's what it looks like after I shuffled them around in the modprobe.
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 3: HDMI 0 [ASUS VG34V]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
cat /proc/asound/modules
0 snd_usb_audio
1 snd_hda_intel
2 snd_hda_intel
3 snd_acp3x_rn
I think the reason they're missing from aplay is because they have nothing associated with them. If I start alsamixer and select them the screen is blank. No chip and no controls.
I've never used the HDMI audio. May at some point but for now I'll be happy to have the on-board audio work, which is identified as the USB audio.
Offline
If you're using pulse/pipewire the ALSA index focus is quite irrelevant and doing a modprobe.d to the effect you have it might lead to loading failures for the "not accounted for" cards.
FWIW the snd_acp3x_rn device is afaik only for the mic, not sure what card 2 is, likely mic related as well
I suggest you remove the alsa-base.conf and post
sudo fuser -v /dev/snd/*
pactl list cards
pactl list sinks
pactl list sink-inputs
while reproducing the problematic situation/playing back something. I'm assuming all you need to do is define the correct default card in pulseaudio/pipewire
Last edited by V1del (2023-05-13 17:54:01)
Online
Honestly, I really don't care where my sound comes from. But since Plasma wants to pull in pipewire I looked up the recommended choices for its JACK and session-manager packages and pulled those in. I did my best to not explicitly install anything pulseaudio-related.
Anyways, here's what you asked for:
fuser -v /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/controlC0: joe 1235 F.... pipewire
joe 1243 F.... wireplumber
joe 1448 F.... pulseaudio
/dev/snd/controlC1: joe 1235 F.... pipewire
joe 1243 F.... wireplumber
joe 1448 F.... pulseaudio
/dev/snd/controlC2: joe 1235 F.... pipewire
joe 1243 F.... wireplumber
joe 1448 F.... pulseaudio
/dev/snd/controlC3: joe 1235 F.... pipewire
joe 1243 F.... wireplumber
joe 1448 F.... pulseaudio
/dev/snd/seq: joe 1235 F.... pipewire
pactl list cards
Card #0
Name: alsa_card.pci-0000_05_00.1
Driver: module-alsa-card.c
Owner Module: 6
Properties:
alsa.card = "0"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xfc8c8000 irq 101"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:05:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:05:00.1/sound/card0"
device.bus = "pci"
device.vendor.id = "1002"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
device.product.id = "1637"
device.product.name = "Renoir Radeon High Definition Audio Controller"
device.string = "0"
device.description = "Renoir Radeon High Definition Audio Controller"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Profiles:
HiFi: Play HiFi quality Music (sinks: 4, sources: 0, priority: 40768, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: HiFi
Ports:
[Out] HDMI4: HDMI / DisplayPort 4 Output (type: HDMI, priority: 1400, latency offset: 0 usec, not available)
Part of profile(s): HiFi
[Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 1300, latency offset: 0 usec, not available)
Part of profile(s): HiFi
[Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 1200, latency offset: 0 usec, not available)
Part of profile(s): HiFi
[Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 1100, latency offset: 0 usec, available)
Properties:
device.product.name = "ASUS VG34V"
Part of profile(s): HiFi
Card #1
Name: alsa_card.usb-C-Media_Electronics_Inc._USB_Audio_Device-00
Driver: module-alsa-card.c
Owner Module: 7
Properties:
alsa.card = "2"
alsa.card_name = "USB Audio Device"
alsa.long_card_name = "C-Media Electronics Inc. USB Audio Device at usb-0000:05:00.4-3, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:05:00.4-usb-0:3:1.0"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:05:00.4/usb3/3-3/3-3:1.0/sound/card2"
udev.id = "usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.bus = "usb"
device.vendor.id = "0d8c"
device.vendor.name = "C-Media Electronics, Inc."
device.product.id = "0014"
device.product.name = "Audio Adapter (Unitek Y-247A)"
device.serial = "C-Media_Electronics_Inc._USB_Audio_Device"
device.string = "2"
device.description = "Audio Adapter (Unitek Y-247A)"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Profiles:
input:mono-fallback: Mono Input (sinks: 0, sources: 1, priority: 1, available: yes)
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes)
output:analog-stereo+input:mono-fallback: Analog Stereo Output + Mono Input (sinks: 1, sources: 1, priority: 6501, available: yes)
output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes)
output:iec958-stereo+input:mono-fallback: Digital Stereo (IEC958) Output + Mono Input (sinks: 1, sources: 1, priority: 5501, available: yes)
output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3) Output (sinks: 1, sources: 0, priority: 300, available: yes)
output:iec958-ac3-surround-51+input:mono-fallback: Digital Surround 5.1 (IEC958/AC3) Output + Mono Input (sinks: 1, sources: 1, priority: 301, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: output:analog-stereo+input:mono-fallback
Ports:
analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown)
Properties:
device.icon_name = "audio-input-microphone"
Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback, output:iec958-stereo+input:mono-fallback, output:iec958-ac3-surround-51+input:mono-fallback
analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability unknown)
Properties:
device.icon_name = "audio-speakers"
Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback
iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:mono-fallback
pactl list sink-inputs
Sink Input #1
Driver: protocol-native.c
Owner Module: 11
Client: 6
Sink: 4
Sample Specification: float32le 2ch 44100Hz
Channel Map: front-left,front-right
Format: pcm, format.sample_format = "\"float32le\"" format.rate = "44100" format.channels = "2" format.channel_map = "\"front-left,front-right\""
Corked: no
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Buffer Latency: 46439 usec
Sink Latency: 0 usec
Resample method: copy
Properties:
application.icon_name = "chromium-browser"
media.name = "Playback"
application.name = "Chromium"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "35"
application.process.id = "2326"
application.process.user = "joe"
application.process.host = "HARC5000"
application.process.binary = "chromium"
application.language = "en_US.UTF-8"
window.x11.display = ":1"
application.process.machine_id = "1cc5e3b1d03c4030af0d1b7f49b94439"
application.process.session_id = "2"
module-stream-restore.id = "sink-input-by-application-name:Chromium"
As far as the pactl list sinks goes, with 5 entries it's TLDR, but I'll post just the relevant one unless you want me to post the rest as well.
Sink #4
State: SUSPENDED
Name: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo
Description: Audio Adapter (Unitek Y-247A) Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 7
Mute: no
Volume: front-left: 27111 / 41% / -23.00 dB, front-right: 27111 / 41% / -23.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "2"
alsa.card_name = "USB Audio Device"
alsa.long_card_name = "C-Media Electronics Inc. USB Audio Device at usb-0000:05:00.4-3, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:05:00.4-usb-0:3:1.0"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:05:00.4/usb3/3-3/3-3:1.0/sound/card2"
udev.id = "usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.bus = "usb"
device.vendor.id = "0d8c"
device.vendor.name = "C-Media Electronics, Inc."
device.product.id = "0014"
device.product.name = "Audio Adapter (Unitek Y-247A)"
device.serial = "C-Media_Electronics_Inc._USB_Audio_Device"
device.string = "front:2"
device.buffering.buffer_size = "352800"
device.buffering.fragment_size = "176400"
device.access_mode = "mmap+timer"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "Audio Adapter (Unitek Y-247A) Analog Stereo"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown)
Active Port: analog-output-speaker
Formats:
pcm
I assume the SUSPENDED part is what you're looking for? After my little workaround it turns into this:
Sink #4
State: RUNNING
Name: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo
Description: Audio Adapter (Unitek Y-247A) Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 7
Mute: no
Volume: front-left: 27111 / 41% / -23.00 dB, front-right: 27111 / 41% / -23.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo.monitor
Latency: 36076 usec, configured 23220 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "2"
alsa.card_name = "USB Audio Device"
alsa.long_card_name = "C-Media Electronics Inc. USB Audio Device at usb-0000:05:00.4-3, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:05:00.4-usb-0:3:1.0"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:05:00.4/usb3/3-3/3-3:1.0/sound/card2"
udev.id = "usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.bus = "usb"
device.vendor.id = "0d8c"
device.vendor.name = "C-Media Electronics, Inc."
device.product.id = "0014"
device.product.name = "Audio Adapter (Unitek Y-247A)"
device.serial = "C-Media_Electronics_Inc._USB_Audio_Device"
device.string = "front:2"
device.buffering.buffer_size = "352800"
device.buffering.fragment_size = "176400"
device.access_mode = "mmap+timer"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "Audio Adapter (Unitek Y-247A) Analog Stereo"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown)
Active Port: analog-output-speaker
Formats:
pcm
Until the stream stops, then it is disabled again.
Manjaro is becoming ever more tempting. But I really want to learn.
Last edited by Orionis (2023-05-13 18:42:06)
Offline
Don't know if it matters, but WirePlumber isn't doing much here:
wpctl status
PipeWire 'pipewire-0' [0.3.70, root@MYPC, cookie:1001653371]
└─ Clients:
31. wpctl [0.3.70, root@HARC5000, pid:3063]
32. WirePlumber [0.3.70, root@HARC5000, pid:3066]
33. WirePlumber [export] [0.3.70, root@HARC5000, pid:3066]
Audio
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Settings
└─ Default Configured Node Names:
Offline
You mix pulseaudio and wireplumber which explains all of the sporadic invalid state issues. If you want to stick to pipewire replace pulseaudio with pipewire-pulse
As for "avoiding pulseaudio" that's basically an outdated goal based on year old horror stories, the majority of normal audio expectations are handled and provided by pulseaudio (... or by relevant reimplementations like pipewire-pulse) and all of the desktop mixers expect integration with it.
Last edited by V1del (2023-05-13 19:18:26)
Online
I searched my install logs. Looks like Arch's Plasma needs some tweaking then. The install at the start of this post used plasma-meta, the latest one uses the plasma group. Both contain both pulseaudio as well as pipewire. And even ask me which package I wish to use for jack and pipewire-session-manager. Like I mentioned, I never explicitly asked for it. It looks like kpipewire and plasma-pa are the culprits pulling pipewire and pulseaudio in. I would think that deserves at least a warning of some kind during install.
I will replace pulseaudio with pipewire-pulse and see what happens. Thank you so far.
Offline
Well, that appears to have done it.
And this one looks better:
wpctl status
PipeWire 'pipewire-0' [0.3.70, joe@MYPC, cookie:190209657]
└─ Clients:
31. xdg-desktop-portal [0.3.70, joe@HARC5000, pid:1029]
32. WirePlumber [0.3.70, joe@HARC5000, pid:1273]
33. WirePlumber [export] [0.3.70, joe@HARC5000, pid:1273]
68. pipewire [0.3.70, joe@HARC5000, pid:1465]
69. Plasma PA [0.3.70, joe@HARC5000, pid:1135]
72. Plasma PA [0.3.70, joe@HARC5000, pid:1787]
74. kwin_wayland [0.3.70, joe@HARC5000, pid:1019]
76. wpctl [0.3.70, joe@HARC5000, pid:2483]
80. Chromium input [0.3.70, joe@HARC5000, pid:2078]
81. Chromium [0.3.70, joe@HARC5000, pid:2078]
82. libcanberra [0.3.70, joe@HARC5000, pid:1787]
88. plasmashell [0.3.70, joe@HARC5000, pid:1135]
Audio
├─ Devices:
│ 39. Renoir Radeon High Definition Audio Controller [alsa]
│ 40. Audio Adapter (Unitek Y-247A) [alsa]
│
├─ Sinks:
│ 41. Renoir Radeon High Definition Audio Controller HDMI / DisplayPort 4 Output [vol: 1.00]
│ 42. Renoir Radeon High Definition Audio Controller HDMI / DisplayPort 3 Output [vol: 1.00]
│ 43. Renoir Radeon High Definition Audio Controller HDMI / DisplayPort 2 Output [vol: 1.00]
│ 44. Renoir Radeon High Definition Audio Controller HDMI / DisplayPort 1 Output [vol: 0.40]
│ * 45. Audio Adapter (Unitek Y-247A) Analog Stereo [vol: 0.40]
│
├─ Sink endpoints:
│
├─ Sources:
│ * 46. Audio Adapter (Unitek Y-247A) Mono [vol: 1.00]
│
├─ Source endpoints:
│
└─ Streams:
87. Chromium
71. output_FR > USB Audio Device:playback_FR [active]
78. output_FL > USB Audio Device:playback_FL [active]
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
73. kwin_wayland
83. output_1 > plasmashell:input_1 [init]
89. plasmashell
90. input_1 < kwin_wayland:output_1 [init]
Settings
└─ Default Configured Node Names:
Guess I'll find out soon enough if the sound works in Teams and Discord as well. On to the next issue for now, systemd-homed users not showing in KDE's users. But that is for another thread.
Thank you for your help, getting stuck is no fun.
Offline
That's generally a bit of historical relevance of why the setup is as it is. Originally pipewire was mainly a tool/protocol to do screen/video sharing on Wayland and it didn't provide audio, as such its a dependency for compositors on Wayland to do properly negotiated screen sharing. The audio components were tacked on later, and one could use pulseaudio together with pipewire, assuming you'd use pipewire-media-session as the session manager. Wireplumber is more aggressive by default and will occupy the audio devices, despite not having integration with pulse clients without pipewire-pulse, which leads to some conflicts there.
During install you will have been asked for installing a provider for pipewire's session manager, where you picked wireplumber and for pulseaudio where you picked pulseaudio. That this is somewhat of a logical conflict is indeed something you have to know, but that's somewhat of the deal with Arch with it not making default assumptions for how your system should be set up, if one wants you can configure wireplumber to not provide/occupy sound cards
In any case, please mark as [SOLVED] by editing the title in your first post
Last edited by V1del (2023-05-13 20:15:48)
Online
I was simply following the Arch wiki:
Currently, the only recommended session manager is: WirePlumber
The following session manager is deprecated in favor of WirePlumber: PipeWire Media Session
And it did not at any point ask me anything regarding pulseaudio. On the most barebone install I had before installing Plasma all I got were these 3:
:: There are 2 providers available for jack:
:: Repository extra
1) jack2 2) pipewire-jack
Enter a number (default=1): 2
:: There are 2 providers available for pipewire-session-manager:
:: Repository extra
1) wireplumber
:: Repository community
2) pipewire-media-session
Enter a number (default=1): 1
:: There are 2 providers available for phonon-qt5-backend:
:: Repository extra
1) phonon-qt5-gstreamer 2) phonon-qt5-vlc
Enter a number (default=1): 2
The Arch wiki recommended wireplumber, the KDE site recommended phonon-qt5-vlc and I could find no good recommendation for jack (except that pipewire-jack was newer), but I figured if I'm going to be forced into pulling in pipewire anyway I might as well be consistent.
So the mistake wasn't for lack of doing my due diligence.
Anyways, so far so good, I'm happy for the time being.
EDIT: Missed the opportunity to say I couldn't find jack about jack...
Last edited by Orionis (2023-05-13 20:29:53)
Offline
Hmm mkay, I would've expected that a dependency on pulseaudio would ask for which of the two pulseaudio providers should be installed.
FWIW regarding jack, that's generally only relevant for audio production applications and yes pipewire provides a jack integration as well
Online