Dealing with my audio woes

This is with a new computer – around 1 month old.

There are no builtin speakers. My plan was to use headphones, since that’s my preferred way of listening.

When I got the computer, I remove the Windows 11 that came with it, and installed linux – both Leap 15.5 and Tumbleweed.

Booted to Leap 15.5, I started playing a youtube video, and plugged in my headphones. But no sound.

There’s an audio jack on the front panel, which gave no sound. So I tried the jack on my HDMI monitor. And there was sound. So I have been using that.

The image above is from the audio settings. It shows “Digital Stereo (HDMI) Output” as selected. However, this computer seems to have a mind of its own. Every now and then, for reasons I do not know, it switches to “Analog Stereo Output”. And when that happens, I can get sound from the jack on the front panel but not from the jack on the monitor.

Here’s an example.

Two days ago, I was listening to a youtube video. I was interrupted, so I paused the video to attend to the interruption. When I resumed the video, there was no sound. Checking, it had switched from the HDMI output to the analog stereo output.

I’ll note that my previous computer only had “Analog Stereo Output” and “Analog Stereo Duplex” as options.

I don’t need all of those extra bells and whistles. Why did they make things so complicated?

For now, I’m switching it to “Analog Stereo Output”, and I’ll see if that is more stable.

Strange…not sure where to start with this one. Perhaps try setting a default sink explicitly. First run

wpctl status

The output might already confirm the default device is set as required (as indicated by an asterisk), but if not set it as required

wpctl set-default <device number>

See if that helps to start with. I have read elsewhere a suggestion to add that to desktop startup script to make it persistent if desired.

My other suggestion is to fire up pavucontrol, change the profile as required, choose the appropriate output device and click the ‘Set as fallback’ button.

I empathize, but I guess everyone’s hardware environments and use cases vary considerably. When you have a spare hour, have a read of the links provided here re PipeWire and WirePlumber…

Here’s the output:

% wpctl status
PipeWire 'pipewire-0' [0.3.64, rickert@nwrdell, cookie:1778125398]
 └─ Clients:
        31. xdg-desktop-portal                  [0.3.64, rickert@nwrdell, pid:2686]
        32. WirePlumber                         [0.3.64, rickert@nwrdell, pid:3166]
        33. WirePlumber [export]                [0.3.64, rickert@nwrdell, pid:3166]
        36. wpctl                               [0.3.64, rickert@nwrdell, pid:14635]

 ├─ Devices:
 ├─ Sinks:
 ├─ Sink endpoints:
 ├─ Sources:
 ├─ Source endpoints:
 └─ Streams:

 ├─ Devices:
 ├─ Sinks:
 ├─ Sink endpoints:
 ├─ Sources:
 ├─ Source endpoints:
 └─ Streams:

 └─ Default Configured Node Names:

That does not seem to be telling me very much.

Here’s a thought. Maybe when KDE power management shuts down the screen display, that also shuts down the HDMI sound channel.

For a while, I had set the screen timeout to 30 minutes, and the audio seemed mostly stable. But I recently changed that to 15 minutes, and since then it has seemed worse. If that’s the problem, then my switch to using “Analog Stereo Output” should help. It’s too early to say what the effect of that has been.

Actually, that suggests pipewire and pipwire-pulse are inactive.

What is shown by the following command?

systemctl --user list-units | egrep -i "wire|pulse"

That had crossed my mind as well.

Here we go:

% systemctl --user list-units | egrep -i "wire|pulse"
  pipewire.service                                                                                                   loaded active running   PipeWire Multimedia Service
  pulseaudio.service                                                                                                 loaded active running   Sound Service
  wireplumber.service                                                                                                loaded active running   Multimedia Service Session Manager
  pipewire.socket                                                                                                    loaded active running   PipeWire Multimedia System Socket
  pulseaudio.socket                                                                                                  loaded active running   Sound System

Ok, that checks out as expected. (FWIW, I don’t use PA natively anymore, but rather pipewire-pulse instead).

1 Like

I found this thread discussing audio sink suspend on idle…

I haven’t had the need to change anything so far, and I have no idea whether this would help your situation, but user-specific configuration can be added to ~/.config/wireplumber/main.lua.d/ (copying /usr/share/wireplumber/main.lua.d/50-alsa-config.lua), and the relevant entries changed to suit a user’s requirements. For example, inhibiting the suspend timeout with…

["session.suspend-timeout-seconds"] = 0

After any changes are made, wireplumber needs to be restarted for those chnages to take effect…

systemctl --user restart wireplumber
1 Like

It looks complicated, but actually it’s as simple as can be: I have no headphones. However I unplugged the speakers (green cable) from the rear panel and plugged them into the header for the headphones on the front panel. Selected “Headphones” in the audio applet and got nice sound from the speakers.

This computer doesn’t have a place to plug in that green cable. It seems to be built on the assumption that speakers would be built into the monitor and use the HDMI channel.

In pavucontrol there is an option to turn off the onboard audio so audio will always come from the HDMI port.

Mine is different from yours because I am using xfce but you should probably have the option to turn it off.

That does not seem to be an option here.

What is the make and model? With current Tumbleweed both devices work simultaneously as advertised with one pair of speakers connected to the HDMI display and the second pair connected to the front panel headphones :

erlangen:~ # inxi -zaAM
  Type: Desktop Mobo: ASRock model: B450 Pro4 R2.0 serial: <filter>
    UEFI: American Megatrends v: P5.30 date: 03/01/2022
  Device-1: AMD Renoir Radeon High Definition Audio driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4
    speed: 16 GT/s bus-ID: 0b:00.1 chip-ID: 1002:1637 class-ID: 0403
  Device-2: AMD Family 17h/19h HD Audio vendor: ASRock driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4
    speed: 16 GT/s bus-ID: 0b:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.4.6-1-default status: kernel-api
    tools: alsactl,alsamixer,amixer
  Server-1: PipeWire v: 0.3.75 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    tools: pactl,pw-cat,pw-cli,wpctl
erlangen:~ # 

While audio was PITA in the past current configuration is stable and reliable.

% inxi -zaAM
  Type: Desktop System: Dell product: Inspiron 3020 v: N/A
    serial: <superuser required> Chassis: type: 3 serial: <superuser required>
  Mobo: Dell model: 0TNDVR v: A00 serial: <superuser required> UEFI: Dell
    v: 1.0.6 date: 01/31/2023
  Device-1: Intel Alder Lake-S HD Audio vendor: Dell driver: snd_hda_intel
    v: kernel alternate: snd_sof_pci_intel_tgl bus-ID: 0000:00:1f.3
    chip-ID: 8086:7ad0 class-ID: 0403
  Sound API: ALSA v: k6.4.6-lp154.4.g74a8144-default running: yes
  Sound Server-1: PulseAudio v: 15.0 running: yes
  Sound Server-2: PipeWire v: 0.3.64 running: yes

Hi, so I switched to KDE and mine is a bit different from the image you posted in your original post.

My inactive card is listed. You may probably need to install pavucontrol to simply turn off the card.

You seem to have two audio cards. I only have the one. That’s part of why what we see is different.

Just checking back in on this Neil. Did you switch to the analog output, and is that behaving more consistently for you?

Yes, it has been very stable since that switch.

That is good to know. Did you try the wireplumber suspend timeout configuration with respect to the HDMI sinks?