You are not logged in.

#1 2024-11-17 15:12:47

ten98
Member
Registered: 2024-11-17
Posts: 4

[SOLVED] Laptop Speakers not working Pipewire/Wireplumber

**SOLUTION:  See post #4,  forcing KDE to play a sound on login prevented the audio sinks from getting stuck in a suspended state.  **

Hello, I've been trying to troubleshoot this issue for over a month.  Gone through many similar forum posts and tried copying their solutions, but none of them have worked so far.  Occasionally the speakers will work after a kernel update, but generally wont last more then 1-2 reboots before stop working again.

Audio works fine via the headphone jack and via any external DAC that I connect.  Only issue with the internal laptop speakers.

*EDIT: one thing I just noticed as I was compiling the below information, I had speaker-test running while I was collecting the info, I closed my laptop lid, and when I later opened it back up I could hear speaker-test playing and sound was working.  It continued to work until I hit the suspend-timeout and after which it stopped working again.  I did some more testing on this and I can re-create this each time I close the lid as long as I have something playing in the background when the lid is closed.  If nothing is playing then typically I'll hit the suspend timeout before I have a chance to play something and it wont work.

So it appears there may be two issues at play here, one being why the audio isn't working prior to closing the lid, and two being why wont it restart after the audio sink is suspended?

Thanks in advance for any help you can give.

Here's the standard outputs I've seen others post as a starting point for troubleshooting:

$ yay -Q | grep pipewire
kpipewire 6.2.3-2
lib32-libpipewire 1:1.2.6-1
lib32-pipewire 1:1.2.6-1
libpipewire 1:1.2.6-1
pipewire 1:1.2.6-1
pipewire-alsa 1:1.2.6-1
pipewire-audio 1:1.2.6-1
pipewire-jack 1:1.2.6-1
pipewire-pulse 1:1.2.6-1
$ inxi -A
Audio:
  Device-1: Intel Raptor Lake High Definition Audio driver: snd_hda_intel
  Device-2: NVIDIA driver: snd_hda_intel
  API: ALSA v: k6.11.8-arch1-2 status: kernel-api
  Server-1: PipeWire v: 1.2.6 status: active
$ uname -a
Linux littlebox 6.11.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 x86_64 GNU/Linux
$ lspci -A | grep Audio
00:1f.3 Multimedia audio controller: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11)
        Subsystem: Lenovo Device 3856
        Flags: bus master, fast devsel, latency 32, IRQ 237, IOMMU group 17
        Memory at 6403130000 (64-bit, non-prefetchable) [size=16K]
        Memory at 6403000000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: [50] Power Management version 3
        Capabilities: [80] Vendor Specific Information: Len=14 <?>
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel, snd_soc_avs, snd_sof_pci_intel_tgl

01:00.1 Audio device: NVIDIA Corporation Device 22bb (rev a1)
        Subsystem: Lenovo Device 3f96
        Physical Slot: 1
        Flags: bus master, fast devsel, latency 0, IRQ 17, IOMMU group 18
        Memory at 86080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Endpoint, IntMsgNum 0
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [160] Data Link Feature <?>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
$ sudo lshw -C multimedia
  *-multimedia              
       description: Audio device
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0.1
       bus info: pci@0000:01:00.1
       logical name: card0
       logical name: /dev/snd/controlC0
       logical name: /dev/snd/hwC0D0
       logical name: /dev/snd/pcmC0D3p
       logical name: /dev/snd/pcmC0D7p
       logical name: /dev/snd/pcmC0D8p
       logical name: /dev/snd/pcmC0D9p
       version: a1
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:17 memory:86080000-86083fff
  *-usb:3
       description: Video
       product: Integrated Camera
       vendor: 8SSC21K12273V1SR3BS21FE
       physical id: c
       bus info: usb@1:c
       version: 0.08
       serial: 01.00.00
       capabilities: usb-2.01
       configuration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
  *-multimedia
       description: Multimedia audio controller
       product: Raptor Lake High Definition Audio Controller
       vendor: Intel Corporation
       physical id: 1f.3
       bus info: pci@0000:00:1f.3
       logical name: card1
       logical name: /dev/snd/controlC1
       logical name: /dev/snd/hwC1D0
       logical name: /dev/snd/hwC1D2
       logical name: /dev/snd/pcmC1D0c
       logical name: /dev/snd/pcmC1D0p
       logical name: /dev/snd/pcmC1D3p
       logical name: /dev/snd/pcmC1D7p
       logical name: /dev/snd/pcmC1D8p
       logical name: /dev/snd/pcmC1D9p
       version: 11
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list
       configuration: driver=snd_hda_intel latency=32
       resources: iomemory:640-63f iomemory:640-63f irq:237 memory:6403130000-6403133fff memory:6403000000-64030fffff
$ wpctl status
PipeWire 'pipewire-0' [1.2.6, jeremy@littlebox, cookie:2249649665]
 └─ Clients:
        32. plasmashell                         [1.2.6, jeremy@littlebox, pid:1256]
        33. pipewire                            [1.2.6, jeremy@littlebox, pid:13423]
        34.                                     [1.2.6, jeremy@littlebox, pid:1256]
        36.                                     [1.2.6, jeremy@littlebox, pid:1189]
        37. WirePlumber                         [1.2.6, jeremy@littlebox, pid:13424]
        49. WirePlumber [export]                [1.2.6, jeremy@littlebox, pid:13424]
        50. xdg-desktop-portal                  [1.2.6, jeremy@littlebox, pid:1032]
        66. kwin_wayland                        [1.2.6, jeremy@littlebox, pid:1023]
        72. PipeWire ALSA [speaker-test]        [1.2.6, jeremy@littlebox, pid:21203]
        78. wpctl                               [1.2.6, jeremy@littlebox, pid:21252]

Audio
 ├─ Devices:
 │      51. HDA NVidia                          [alsa]
 │      52. Built-in Audio                      [alsa]
 │  
 ├─ Sinks:
 │  *   60. Built-in Audio Analog Stereo        [vol: 0.66]
 │  
 ├─ Sources:
 │  *   61. Built-in Audio Analog Stereo        [vol: 0.50]
 │  
 ├─ Filters:
 │  
 └─ Streams:
        73. PipeWire ALSA [speaker-test]                                
             74. output_FL       > ALC287 Analog:playback_FL    [active]
             75. output_FR       > ALC287 Analog:playback_FR    [active]

Video
 ├─ Devices:
 │      35. Integrated Camera                   [v4l2]
 │      48. Integrated Camera                   [v4l2]
 │  
 ├─ Sinks:
 │  
 ├─ Sources:
 │  *   64. Integrated Camera (V4L2)           
 │  
 ├─ Filters:
 │  
 └─ Streams:
        67. kwin_wayland                                                
             70. output_1        > plasmashell:input_1  [init]
        68. plasmashell                                                 
             71. input_1         < kwin_wayland:output_1        [init]

Settings
 └─ Default Configured Devices:
$ pactl list cards
Card #51
        Name: alsa_card.pci-0000_01_00.1
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.alsa.card = "0"
                api.alsa.card.longname = "HDA NVidia at 0x86080000 irq 17"
                api.alsa.card.name = "HDA NVidia"
                api.alsa.path = "hw:0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:01:00.1"
                device.description = "HDA NVidia"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_01_00.1"
                device.nick = "HDA NVidia"
                device.plugged.usec = "6178826"
                device.product.id = "0x22bb"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
                device.vendor.id = "0x10de"
                device.vendor.name = "NVIDIA Corporation"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "49"
                object.id = "51"
                object.serial = "51"
                object.path = "alsa:acp:NVidia"
                alsa.card = "0"
                alsa.card_name = "HDA NVidia"
                alsa.long_card_name = "HDA NVidia at 0x86080000 irq 17"
                alsa.driver_name = "snd_hda_intel"
                alsa.mixer_name = "Nvidia GPU a4 HDMI/DP"
                alsa.components = "HDA:10de00a4,17aa3f96,00100100"
                alsa.id = "NVidia"
                device.string = "0"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
                output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                pro-audio: Pro Audio (sinks: 4, sources: 0, priority: 1, available: yes)
        Active Profile: off
        Ports:
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "video-display"
                                card.profile.port = "0"
                        Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
                hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "video-display"
                                card.profile.port = "1"
                        Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 3, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 3"
                                device.icon_name = "video-display"
                                card.profile.port = "2"
                        Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
                hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 4"
                                device.icon_name = "video-display"
                                card.profile.port = "3"
                        Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3

Card #52
        Name: alsa_card.pci-0000_00_1f.3
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.alsa.card = "1"
                api.alsa.card.longname = "HDA Intel PCH at 0x6403130000 irq 237"
                api.alsa.card.name = "HDA Intel PCH"
                api.alsa.path = "hw:1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:00:1f.3"
                device.description = "Built-in Audio"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_00_1f.3"
                device.nick = "HDA Intel PCH"
                device.plugged.usec = "7666368"
                device.product.id = "0x7a50"
                device.product.name = "Raptor Lake High Definition Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card1"
                device.vendor.id = "0x8086"
                device.vendor.name = "Intel Corporation"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "49"
                object.id = "52"
                object.serial = "52"
                object.path = "alsa:acp:PCH"
                alsa.card = "1"
                alsa.card_name = "HDA Intel PCH"
                alsa.long_card_name = "HDA Intel PCH at 0x6403130000 irq 237"
                alsa.driver_name = "snd_hda_intel"
                alsa.mixer_name = "Realtek ALC287"
                alsa.components = "HDA:10ec0287,17aa38c3,00100002 HDA:80862818,80860101,00100000"
                alsa.id = "PCH"
                device.string = "1"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: yes)
                output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes)
                output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5965, available: no)
                output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
                output:hdmi-stereo-extra1+input:analog-stereo: Digital Stereo (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
                output:hdmi-stereo-extra2+input:analog-stereo: Digital Stereo (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
                output:hdmi-stereo-extra3+input:analog-stereo: Digital Stereo (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
                output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-surround+input:analog-stereo: Digital Surround 5.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: no)
                output:hdmi-surround71+input:analog-stereo: Digital Surround 7.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: no)
                output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround-extra1+input:analog-stereo: Digital Surround 5.1 (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
                output:hdmi-surround71-extra1+input:analog-stereo: Digital Surround 7.1 (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
                output:hdmi-surround-extra2+input:analog-stereo: Digital Surround 5.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
                output:hdmi-surround71-extra2+input:analog-stereo: Digital Surround 7.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
                output:hdmi-surround-extra3+input:analog-stereo: Digital Surround 5.1 (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
                output:hdmi-surround71-extra3+input:analog-stereo: Digital Surround 7.1 (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
                output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 65, available: yes)
                pro-audio: Pro Audio (sinks: 5, sources: 1, priority: 1, available: yes)
        Active Profile: output:analog-stereo+input:analog-stereo
        Ports:
                analog-input-internal-mic: Internal Microphone (type: Mic, priority: 8900, latency offset: 0 usec, availability group: Legacy 1, availability unknown)
                        Properties:
                                port.type = "mic"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "0"
                        Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-surround71-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3+input:analog-stereo
                analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "mic"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "1"
                        Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-surround71-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3+input:analog-stereo
                analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability group: Legacy 3, availability unknown)
                        Properties:
                                port.type = "speaker"
                                port.availability-group = "Legacy 3"
                                device.icon_name = "audio-speakers"
                                card.profile.port = "2"
                        Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
                analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "headphones"
                                port.availability-group = "Legacy 4"
                                device.icon_name = "audio-headphones"
                                card.profile.port = "3"
                        Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 5, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 5"
                                device.icon_name = "video-display"
                                card.profile.port = "4"
                        Part of profile(s): output:hdmi-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71, output:hdmi-surround71+input:analog-stereo
                hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 6, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 6"
                                device.icon_name = "video-display"
                                card.profile.port = "5"
                        Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-surround71-extra1, output:hdmi-surround71-extra1+input:analog-stereo
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 7, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 7"
                                device.icon_name = "video-display"
                                card.profile.port = "6"
                        Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2, output:hdmi-surround71-extra2+input:analog-stereo
                hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 8, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 8"
                                device.icon_name = "video-display"
                                card.profile.port = "7"
                        Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3, output:hdmi-surround71-extra3+input:analog-stereo
[jeremy@littlebox ~]$ pactl list sinks
Sink #60
        State: RUNNING
        Name: alsa_output.pci-0000_00_1f.3.analog-stereo
        Description: Built-in Audio Analog Stereo
        Driver: PipeWire
        Sample Specification: s32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 43254 /  66% / -10.83 dB,   front-right: 43254 /  66% / -10.83 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        Properties:
                alsa.card = "1"
                alsa.card_name = "HDA Intel PCH"
                alsa.class = "generic"
                alsa.components = "HDA:10ec0287,17aa38c3,00100002 HDA:80862818,80860101,00100000"
                alsa.device = "0"
                alsa.driver_name = "snd_hda_intel"
                alsa.id = "ALC287 Analog"
                alsa.long_card_name = "HDA Intel PCH at 0x6403130000 irq 237"
                alsa.mixer_name = "Realtek ALC287"
                alsa.name = "ALC287 Analog"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.sync.id = "00000000:00000000:00000000:00000000"
                api.alsa.card.longname = "HDA Intel PCH at 0x6403130000 irq 237"
                api.alsa.card.name = "HDA Intel PCH"
                api.alsa.path = "front:1"
                api.alsa.pcm.card = "1"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "7"
                device.api = "alsa"
                device.class = "sound"
                device.id = "52"
                device.profile.description = "Analog Stereo"
                device.profile.name = "analog-stereo"
                device.routes = "2"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Built-in Audio"
                node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
                node.nick = "ALC287 Analog"
                node.pause-on-idle = "false"
                object.path = "alsa:acp:PCH:7:playback"
                port.group = "playback"
                priority.driver = "1009"
                priority.session = "1009"
                factory.id = "19"
                clock.quantum-limit = "8192"
                client.id = "49"
                node.driver = "true"
                node.loop.name = "data-loop.0"
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "60"
                object.serial = "60"
                node.max-latency = "16384/48000"
                api.alsa.period-size = "1024"
                api.alsa.period-num = "32"
                api.alsa.headroom = "0"
                api.acp.auto-port = "false"
                api.alsa.card = "1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.bus = "pci"
                device.bus_path = "pci-0000:00:1f.3"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_00_1f.3"
                device.nick = "HDA Intel PCH"
                device.plugged.usec = "7666368"
                device.product.id = "0x7a50"
                device.product.name = "Raptor Lake High Definition Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card1"
                device.vendor.id = "0x8086"
                device.vendor.name = "Intel Corporation"
                device.string = "1"
        Ports:
                analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability group: Legacy 3, availability unknown)
                analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 4, not available)
        Active Port: analog-output-speaker
        Formats:
                pcm
[jeremy@littlebox ~]$ systemctl --user status pipewire.service pipewire.socket pipewire-pulse.socket wireplumber.service
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled)
     Active: active (running) since Sun 2024-11-17 06:28:29 PST; 42min ago
 Invocation: ed65ed5faf6741e78841396b9b785ea2
TriggeredBy: ● pipewire.socket
   Main PID: 13422 (pipewire)
      Tasks: 3 (limit: 76588)
     Memory: 6.5M (peak: 7M)
        CPU: 2.763s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─13422 /usr/bin/pipewire

Nov 17 06:28:29 littlebox systemd[971]: Started PipeWire Multimedia Service.

● pipewire.socket - PipeWire Multimedia System Sockets
     Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; preset: enabled)
     Active: active (running) since Sun 2024-11-17 06:28:29 PST; 42min ago
 Invocation: 509c852d989d48b78a5abc526e389032
   Triggers: ● pipewire.service
     Listen: /run/user/1000/pipewire-0 (Stream)
             /run/user/1000/pipewire-0-manager (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire.socket

Nov 17 06:28:29 littlebox systemd[971]: Listening on PipeWire Multimedia System Sockets.

● pipewire-pulse.socket - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.socket; enabled; preset: enabled)
     Active: active (running) since Sun 2024-11-17 06:28:29 PST; 42min ago
 Invocation: bd2f7be73e934595bd715c3bb45c4765
   Triggers: ● pipewire-pulse.service
     Listen: /run/user/1000/pulse/native (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-pulse.socket

Nov 17 06:28:29 littlebox systemd[971]: Closed PipeWire PulseAudio.
Nov 17 06:28:29 littlebox systemd[971]: Stopping PipeWire PulseAudio...
Nov 17 06:28:29 littlebox systemd[971]: Listening on PipeWire PulseAudio.

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-11-17 06:28:29 PST; 42min ago
 Invocation: ca3535ed525c446db135b9491765e6ec
   Main PID: 13424 (wireplumber)
      Tasks: 6 (limit: 76588)
     Memory: 12.6M (peak: 13.1M)
        CPU: 569ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─13424 /usr/bin/wireplumber

Nov 17 06:28:29 littlebox systemd[971]: Started Multimedia Service Session Manager.
Nov 17 06:28:29 littlebox wireplumber[13424]: wp-internal-comp-loader: Loading profile 'main'
Nov 17 06:28:30 littlebox wireplumber[13424]: wp-device: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Nov 17 06:28:30 littlebox wireplumber[13424]: s-monitors-libcamera: PipeWire's libcamera SPA plugin is missing or broken. Some camera types may not be supported.

Last edited by ten98 (2024-11-17 17:30:24)

Offline

#2 2024-11-17 15:48:01

ten98
Member
Registered: 2024-11-17
Posts: 4

Re: [SOLVED] Laptop Speakers not working Pipewire/Wireplumber

So I disabled suspend in the wireplumber config and now sound continues to work after I close and open my laptop lid regardless of how much time passes.  I'm guessing that's not a great workaround as they implemented suspend for some purpose I would hope.  I still stuck about why sound through the internal speakers isn't working on boot.

For reference, I disabled suspend in wireplumber by copying /usr/share/wireplumber/wireplumber.conf to ~/.config/wireplumber/wireplumber.conf and then editing the file to the following in the node config hooks section, and then rebooting:

 ## Node configuration hooks
  {
    name = node/create-item.lua, type = script/lua
    provides = hooks.node.create-session-item
    requires = [ si.audio-adapter, si.node ]
  }
#  {
#    name = node/suspend-node.lua, type = script/lua
#    provides = hooks.node.suspend
#  }
  {
    name = node/state-stream.lua, type = script/lua
    provides = hooks.stream.state
  }
  {
    name = node/filter-forward-format.lua, type = script/lua
    provides = hooks.filter.forward-format
  }
  {
    type = virtual, provides = policy.node
    requires = [ hooks.node.create-session-item ]
#    wants = [ hooks.node.suspend
    wants = [ hooks.stream.state
              hooks.filter.forward-format ]
  }
  {

Last edited by ten98 (2024-11-17 15:48:43)

Offline

#3 2024-11-17 17:18:08

ten98
Member
Registered: 2024-11-17
Posts: 4

Re: [SOLVED] Laptop Speakers not working Pipewire/Wireplumber

So after further troubleshooting I've come up with a workaround that appears to fix the issue.  I don't consider this resolved, it's purely a workaround so I'm still open to advice on the proper resolution for this issue.

It appears that on boot, the audio sink suspend kicks in and once it's suspended it wont resume without closing and opening the lid.

When I close and re-open the lid and check 'pactl list sinks' before trying to play anything the sinks still show as suspended; however, as soon as I try to play something they will come out of suspend, run as needed and then revert to idle after done.  Not sure why this behavior isn't present on boot, only after closing and opening the lid.

As a workaround I have configured KDE to play a sound on login which appears to prevent the audio sinks from going into a suspended state.  From there the disable suspend workaround from above kicks in and the sinks work as expected reverting to "idle" when not in use instead of suspended.

Still hoping there's a way to just make the suspend behavior work as intended on boot.

Offline

#4 2024-11-17 17:26:58

ten98
Member
Registered: 2024-11-17
Posts: 4

Re: [SOLVED] Laptop Speakers not working Pipewire/Wireplumber

I guess sometimes just talking to yourself can help your diagnostic skills.  I've reached the point where I'm willing to consider this resolved even though I'm not sure why the behavior is as it is.

After implementing the above KDE play sound on login event, I went back and deleted the custom wireplumber.conf I created to disable the sink suspend and lo, everything still works.

So in the end, the resolution to my internal laptop speakers not working on boot was to simply have KDE play a sound on login that prevented the audio sinks from getting stuck in suspend.  The audio sinks now suspend and resume as expected.   Possible bug?

Offline

Board footer

Powered by FluxBB