Sound died with zypper up 7 days ago

So what about

amixer -C1

as hinted at already?

Apparently I missed it. Lots of pieces in this puzzle.

> amixer -C1
amixer: invalid option -- 'C'
Invalid switch or option -? needs an argument.
amixer: invalid option -- '1'
Invalid switch or option -? needs an argument.
> amixer -c1
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 44 [69%] [-20.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Front',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Front Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'Front Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Surround',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Center',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'LFE',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 0 [0%] [-34.50dB] [on]
Simple mixer control 'Line Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 46 [100%] [30.00dB] [on]
  Front Right: Capture 46 [100%] [30.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 0 [0%] [-16.00dB] [on]
  Front Right: Capture 0 [0%] [-16.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Channel Mode',0
  Capabilities: enum
  Items: '2ch' '4ch' '6ch'
  Item0: '2ch'
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Front Mic' 'Rear Mic' 'Line'
  Item0: 'Rear Mic'
Simple mixer control 'Input Source',1
  Capabilities: cenum
  Items: 'Front Mic' 'Rear Mic' 'Line'
  Item0: 'Rear Mic'
Simple mixer control 'Loopback Mixing',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Rear Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [on]
  Front Right: Playback 0 [0%] [-34.50dB] [on]
Simple mixer control 'Rear Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%] [20.00dB]
  Front Right: 2 [67%] [20.00dB]
>

Ok, that looks as expected.

If you change device?

aplay -D plughw:1,0 /usr/share/sounds/alsa/test.wav

That does work. :slight_smile: 19,20

Ok, so that is the hardware/ALSA layer verified as working. Let’s work on the PA layer.

Run

pactl list sinks

Find the desired analog sink, then do

pactl set-default-sink <name of sink>

This could also be the sink number eg

pactl set-default-sink 41
> pactl list sinks
Sink #0
        State: SUSPENDED
        Name: auto_null
        Description: Dummy Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 11
        Mute: no
        Volume: front-left: 57664 /  88% / -3.33 dB,   front-right: 57664 /  88% / -3.33 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: auto_null.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS
        Properties:
                device.description = "Dummy Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm
> pactl set-default-sink 0
> aplay /usr/share/sounds/alsa/test.wav
Playing WAVE '/usr/share/sounds/alsa/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
#

No sound output. :frowning:

Sink #0 pertains to a dummy output, so that obviously won’t work. Not sure why PulseAudio does not pick up all the available ALSA sinks though. Maybe locate ~/.config/pulse/ and remove any stale user config there first.

Also, please provide the output from

sudo fuser -v /dev/snd/*
> ls -Ggrt ~/.config/pulse
total 51
-rw------- 1   256 Aug 30  2022 cookie
-rw------- 1 24576 Aug 30  2022 35ded9077b77491aa74c0fb3384342c8-card-database.tdb
-rw------- 1 12288 Jul 15 13:56 35ded9077b77491aa74c0fb3384342c8-stream-volumes.tdb
-rw------- 1 12288 Jul 16 16:00 35ded9077b77491aa74c0fb3384342c8-device-volumes.tdb
-rw------- 1     1 Jul 17 18:42 35ded9077b77491aa74c0fb3384342c8-default-source
-rw------- 1    10 Jul 17 18:42 35ded9077b77491aa74c0fb3384342c8-default-sink
> cat ~/.config/pulse/*default*
auto_null

> which fuser
/usr/bin/fuser
> fuser -v /dev/snd/*
                     USER      PID  ACCESS COMMAND
/dev/snd/controlC0:  me        1741 F....  kmix
                     me        1759 F....  pulseaudio
/dev/snd/controlC1:  me        1741 F....  kmix
                     me        1759 F....  pulseaudio
>

Whether as me or root, fuser output is identical.

Should I logout, empty ~/.config/pulse/, then try?

I would give that a shot.

The fuser output just shows that both cards are under the control of PulseAudio as hoped. I was just making sure nothing else was preventing card #1 from being accessible to PulseAudio. For reference, I’m using PipeWire (and pipewire-pulseaudio also installed), so I get ‘wireplumber’ and ‘pipewire’ in the fuser output, which is consistent with what I’d expect in that situation.

Which desktop are you using? I wonder if kmix is part of the issue here with preventing PA from accessing all available ALSA sinks. I recall with older KDE versions that it could be configured explicitly as a PA client (interfacing to the PA server).

https://www.freedesktop.org/wiki/Software/PulseAudio/Desktops/KDE/

KDE3. I suspect it won’t be up to speed with the current version of that wiki page.

I found something to check out looking at 15.3 from which this was zypper dup’d. In 15.3 is autospawn = yes in /etc/pulse/client.conf.d/50-system.conf. It’s no in 15.4. I need to boot 15.3 to see if it still works ........

Booted to 15.3, logged into:

## test user
> aplay /usr/share/sounds/alsa/test.wav
Playing WAVE '/usr/share/sounds/alsa/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
> aplay -D --hwplug:1,0 /usr/share/sounds/alsa/test.wav
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM --hwplug:1,0
aplay: main:830: audio open error: No such file or directory
>

No sound from either instance.

Booted back into 15.4, with same test user, same results, so I logged out of it and reset its content to that of /etc/skel/ plus settings for mc and fcl, and then:

> aplay -D --hwplug:1,0 /usr/share/sounds/alsa/test.wav
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM --hwplug:1,0
aplay: main:831: audio open error: No such file or directory
> alsactl init
Absolute path to 'alsactl' is '/usr/sbin/alsactl', so running it may require superuser privileges (eg. root).
> /usr/sbin/alsactl init
Found hardware: "HDA-Intel" "Intel Haswell HDMI" "HDA:80862807,80860101,00100000" "0x1462" "0x7850"
Hardware is initialized using a generic method
Found hardware: "HDA-Intel" "Realtek ALC887-VD" "HDA:10ec0887,1462d850,00100302" "0x1462" "0xd850"
Hardware is initialized using a generic method
> alsamixer
> aplay /usr/share/sounds/alsa/test.wav
Playing WAVE '/usr/share/sounds/alsa/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
 aplay -D --hwplug:1,0 /usr/share/sounds/alsa/test.wav
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM --hwplug:1,0
aplay: main:831: audio open error: No such file or directory
>

Thus the main issue must have nothing to do with individual user settings kept in ~/. aplay -D --hwplug:1,0 still works in my regular login.

I did find another difference between 15.3 and 15.4. /etc/pulse/client.conf.d/50-system.conf in 15.3 has autospawn = yes. 15.4 has autospawn = no. I tried switching and rebooting, but have so far not detected anything has changed.

Actually that freedesktop page relates to KDE4. (I recall similar to KDE 3 so you should be able to check the desktop audio configuration?) That was all removed from KDE 5 at some point in its evolution, and then relied on the default device, with the mixer now functioning as a PA client (similar to pavucontrol itself). Recent KDE versions will work natively with PipeWire, though some applications still require PA or ALSA support.

I don’t use PA directly at all, but I do have the pipewire-pulse service (just in case some app depends on it). For the most part I rely solely on pipewire now.

I have an idea. Login to a VT at runlevel 3, or exit your KDE desktop and change to a VT. Execute

pactl list sinks

or capture the output for later posting

pactl list sinks > out

Does PA show the analog sink(s) when KDE is not active? Can you play sounds successfully with aplay or paplay (PA utility) like that? Both commands allow you to point to a particular device (sink) as required.

Run from vtty3 without any X except KDM running:

> pactl list sinks
Sink #0
	State: IDLE
	Name: auto_null
	Description: Dummy Output
	Driver: module-null-sink.c
	Sample Specification: s16le 2ch 44100Hz
	Channel Map: front-left,front-right
	Owner Module: 11
	Mute: no
	Volume: front-left: 57664 /  88% / -3.33 dB,   front-right: 57664 /  88% / -3.33 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: auto_null.monitor
	Latency: 1997532 usec, configured 2000000 usec
	Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
	Properties:
		device.description = "Dummy Output"
		device.class = "abstract"
		device.icon_name = "audio-card"
	Formats:
		pcm

That’s different from running it in Konsole:

> pactl list sinks
Sink #0
        State: SUSPENDED
        Name: auto_null
        Description: Dummy Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 11
        Mute: no
        Volume: front-left: 57664 /  88% / -3.33 dB,   front-right: 57664 /  88% / -3.33 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: auto_null.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS
        Properties:
                device.description = "Dummy Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

None of the following produced sound after logging out of KDE3 and logging in in vtty3:

aplay /usr/share/sounds/alsa/test.wav
paplay -d 0 /usr/share/sounds/alsa/test.wav
paplay -d 1 /usr/share/sounds/alsa/test.wav
paplay -d plughw:1,0 /usr/share/sounds/alsa/test.wav
paplay -D plughw:1,0 /usr/share/sounds/alsa/test.wav
paplay /usr/share/sounds/alsa/test.wav

2 of the paplays did not generate error messages, IIRC, plain and -d 0. I couldn’t grok man paplay, due to the usual man page lack of examples.

The following did work, and still does, now that I’m back in KDE3:

aplay -D plughw:1,0 /usr/share/sounds/alsa/test.wav

I have no love lost for PA. IIRC, the only reason I ever had it had to do with web browser A/V functionality. If I can get rid of it now that pipewire is supposed to be taking its place, I’m ready, if KDE3 is ready. In KDE3 sound system hardware setup it still has only the same 5 choices I remember from antiquity:

1 autodetect
2 ALSA
3 "No Audio Input/Output"
4 Open Sound System
5 Threaded Open Sound System

I just checked on TDE on Bookworm, and it has the exact same 5 selections, no mention of PA, PW or WP, just like TDE and KDE3 on my 15.5s.

I’m really not sure what stops PulseAudio from being able to see all the ALSA devices in your environment. I wouldn’t expect PipeWire to be any different to be honest. The fuser output showed that kmix was one of the processes accessing /dev/snd/* nodes. I don’t know what is impacting here, but you could refer to this troubleshooting guide…

https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Users/Troubleshooting/

You could try running with pipeiwre, wireplumber, and pipewire-alsa installed perhaps. The latter should allow TDE virtual access to the audio hardware. Check the user status of each service. The pipewire and pipwire-alsa services can be activated by their reseptive .socket units, whereas wireplumber.service will need to be explicitly activated.

More info…
https://en.opensuse.org/openSUSE:Pipewire

This can be used to see if all relevant sinks are seen…

wpctl status