So what about
amixer -C1
as hinted at already?
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. 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.
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