You are not logged in.

#1 2023-05-07 04:54:37

Orionis
Member
Registered: 2018-01-19
Posts: 42

[SOLVED] How to configure audio on new install

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

#2 2023-05-07 05:06:53

Orionis
Member
Registered: 2018-01-19
Posts: 42

Re: [SOLVED] How to configure audio on new install

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

#3 2023-05-13 13:34:05

Orionis
Member
Registered: 2018-01-19
Posts: 42

Re: [SOLVED] How to configure audio on new install

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

#4 2023-05-13 15:33:29

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: [SOLVED] How to configure audio on new install

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.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2023-05-13 17:29:20

Orionis
Member
Registered: 2018-01-19
Posts: 42

Re: [SOLVED] How to configure audio on new install

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

#6 2023-05-13 17:42:47

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,425

Re: [SOLVED] How to configure audio on new install

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)

Offline

#7 2023-05-13 18:39:52

Orionis
Member
Registered: 2018-01-19
Posts: 42

Re: [SOLVED] How to configure audio on new install

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

#8 2023-05-13 18:56:29

Orionis
Member
Registered: 2018-01-19
Posts: 42

Re: [SOLVED] How to configure audio on new install

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

#9 2023-05-13 19:11:17

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,425

Re: [SOLVED] How to configure audio on new install

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)

Offline

#10 2023-05-13 19:41:15

Orionis
Member
Registered: 2018-01-19
Posts: 42

Re: [SOLVED] How to configure audio on new install

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

#11 2023-05-13 20:05:33

Orionis
Member
Registered: 2018-01-19
Posts: 42

Re: [SOLVED] How to configure audio on new install

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

#12 2023-05-13 20:12:23

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,425

Re: [SOLVED] How to configure audio on new install

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)

Offline

#13 2023-05-13 20:24:46

Orionis
Member
Registered: 2018-01-19
Posts: 42

Re: [SOLVED] How to configure audio on new install

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

#14 2023-05-13 20:36:42

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,425

Re: [SOLVED] How to configure audio on new install

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

Offline

Board footer

Powered by FluxBB