Firefox TW latest updates as of Sunday 2/11/24 EST c. 11p UTC

I have notice that running Plasma Wayland for the last few weeks that from time to time Firefox fails to play audio.

Initially I tried rebooting, checking dmesg, etc. nada

Then I found that fiddling with the audio(plasmoid?) and tweaking the ‘application volume’ for firefox ‘fixed’ this problem. It was minor enough that I did NOT complain as it was easily worked around.

Then we had the HUGE glibc update last week, and I did NOT notice the problem until yesterday where it appeared again, same workaround worked HOWEVER w/the assistance of a helpful and very knwledgeable forum member I found the follow:

journalctl -b | grep pipewire

Feb 11 18:13:15 localhost.localdomain plasmashell[2274]: kpipewire_logging: Window not available PipeWireSourceItem_QML_1016(0x555edfb92c60, parent=0x555edfbc8570, geometry=0,0 176x80)

many of those repeated, sorry cannot check immediately right now…

wpctl status

Could not connect to PipeWire
System:
Kernel: 6.7.4-1-default arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
Console: pty pts/4 DM: SDDM Distro: openSUSE Tumbleweed 20240209

Looking through a private thread, apparently it was February 6, 2024 that I first noticed it.

other specs:
ASROCK x670e PG lightning
AMD Ryzen R9 7900X
4x16GB DDR5
Intel Arc a770 LE 16GB

booting off of spinning rust Toshiba 4GB drive, on a 2TB partition

Did a reboot yesterday after noticing again and tried running xwayland apps to see if they maybe triggered it or not, but fresh boot no xwayland apps, and firefox presented no audio when attempting to play a video(a peer tube video in that instance, first notice was youtube IIRC I did not note although this appears to be extraneous info)

looks possibly like pipewire not running is the problem, but I am not sure how to proceed ATM and do not have access to the machine right now. I’ll probably check that pipewire is setup to start, and go from there, but any guidance would be greatly appreciated.

@cutterjohn @deano_ferrari may have some tips…

systemctl --user list-unit-files | grep pipewire
pipewire-pulse.service                                      disabled  disabled
pipewire-session-manager.service                            alias     -
pipewire.service                                            disabled  disabled
pipewire-pulse.socket                                       enabled   enabled
pipewire.socket                                             enabled   enable

there we go as I suspected… its not starting or enabled for some reason

yes clearly piperwire is NOT starting, so Ill go from here…

zypper se pipewire
Loading repository data...
Reading installed packages...

S | Name                           | Summary                                                            | Type
--+--------------------------------+--------------------------------------------------------------------+-----------
  | gstreamer-plugin-pipewire      | Gstreamer Plugin for PipeWire                                      | package
  | kpipewire-devel                | Development files for kpipewire                                    | package
i | kpipewire-imports              | QtQuick bindings for kpipewire                                     | package
i | libKPipeWire5                  | PipeWire integration for KDE Plasma - main library                 | package
  | libKPipeWire5-lang             | Translations for package libKPipeWire5                             | package
i | libKPipeWireDmaBuf5            | PipeWire integration for KDE Plasma - DMA-BUF support              | package
i | libKPipeWireRecord5            | PipeWire integration for KDE Plasma - recording support            | package
i | libpipewire-0_3-0              | A Multimedia Framework designed to be an audio and video server -> | package
i | libpipewire-0_3-0-32bit        | A Multimedia Framework designed to be an audio and video server -> | package
i | pipewire                       | A Multimedia Framework designed to be an audio and video server -> | package
i | pipewire-alsa                  | PipeWire media server ALSA support                                 | package
i | pipewire-alsa-32bit            | PipeWire media server ALSA support                                 | package
  | pipewire-aptx                  | PipeWire Bluetooth aptX codec plugin                               | package
  | pipewire-aptx                  | PipeWire Bluetooth aptX codec plugin                               | srcpackage
  | pipewire-aptx-debuginfo        | Debug information for package pipewire-aptx                        | package
  | pipewire-aptx-debugsource      | Debug sources for package pipewire-aptx                            | package
  | pipewire-devel                 | Development Files For PipeWire, A Multimedia Framework             | package
  | pipewire-doc                   | PipeWire media server documentation                                | package
i | pipewire-jack                  | PipeWire JACK implementation                                       | package
  | pipewire-lang                  | Translations for package pipewire                                  | package
i | pipewire-libjack-0_3           | PipeWire libjack replacement libraries                             | package
  | pipewire-libjack-0_3-32bit     | PipeWire libjack replacement libraries                             | package
  | pipewire-libjack-0_3-devel     | Development files for pipewire-libjack-0_3                         | package
  | pipewire-module-x11-0_3        | X11 support For PipeWire, A Multimedia Framework                   | package
  | pipewire-module-xrdp           | Enable xrdp to generate sound with pipewire                        | package
i | pipewire-modules-0_3           | Modules For PipeWire, A Multimedia Framework                       | package
i | pipewire-modules-0_3-32bit     | Modules For PipeWire, A Multimedia Framework                       | package
i | pipewire-pulseaudio            | PipeWire PulseAudio implementation                                 | package
i | pipewire-spa-plugins-0_2       | Plugins For PipeWire SPA                                           | package
i | pipewire-spa-plugins-0_2-32bit | Plugins For PipeWire SPA                                           | package
i | pipewire-spa-tools             | The PipeWire SPA Tools                                             | package
i | pipewire-tools                 | The PipeWire Tools                                                 | package
  | qemu-audio-pipewire            | Pipewire based audio support for QEMU                              | package

still searching… service is not starting

systemctl --user list-unit-files | grep pipewire
pipewire-pulse.service                                      disabled  disabled
pipewire-session-manager.service                            alias     -
pipewire.service                                            disabled  disabled
pipewire-pulse.socket                                       enabled   enabled
pipewire.socket                                             enabled   enable

sudo systemctl --user enable pipewire
Failed to connect to bus: No medium found

Im getting close to the end of my troubleshooting skills here given that plumbing and suse not an expert… need to dig more

,although I would expect the medium to be the onboard CODEC, which SHOULD be present… confused

pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 626
Tile Size: 65472
User Name: xxxxxx
Host Name: localhost.localdomain
Server Name: PulseAudio (on PipeWire 1.0.3)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_1a_00.6.analog-stereo
Default Source: alsa_output.pci-0000_1a_00.6.analog-stereo.monitor
Cookie: 0b56:91cc

sudo inxi -Fmxxz
System:
  Kernel: 6.7.4-1-default arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
  Console: pty pts/4 DM: SDDM Distro: openSUSE Tumbleweed 20240209
Machine:
  Type: Desktop Mobo: ASRock model: X670E PG Lightning serial: N/A UEFI: American Megatrends LLC.
    v: 1.24.AS02 date: 05/02/2023
Memory:
  System RAM: total: 64 GiB available: 62.51 GiB used: 33.77 GiB (54.0%)
  Array-1: capacity: 128 GiB slots: 4 modules: 4 EC: None max-module-size: 32 GiB note: est.
  Device-1: Channel-A DIMM 0 type: DDR5 size: 16 GiB speed: spec: 4800 MT/s actual: 6000 MT/s
    volts: 1.1 manufacturer: N/A part-no: F5-6000J3636F16G
  Device-2: Channel-A DIMM 1 type: DDR5 size: 16 GiB speed: spec: 4800 MT/s actual: 6000 MT/s
    volts: 1.1 manufacturer: N/A part-no: F5-6000J3636F16G
  Device-3: Channel-B DIMM 0 type: DDR5 size: 16 GiB speed: spec: 4800 MT/s actual: 6000 MT/s
    volts: 1.1 manufacturer: N/A part-no: F5-6000J3636F16G
  Device-4: Channel-B DIMM 1 type: DDR5 size: 16 GiB speed: spec: 4800 MT/s actual: 6000 MT/s
    volts: 1.1 manufacturer: N/A part-no: F5-6000J3636F16G
CPU:
  Info: 12-core model: AMD Ryzen 9 7900X bits: 64 type: MT MCP arch: Zen 4 rev: 2 cache:
    L1: 768 KiB L2: 12 MiB L3: 64 MiB
  Speed (MHz): avg: 1236 high: 4690 min/max: 400/5733 cores: 1: 400 2: 400 3: 400 4: 400 5: 400
    6: 400 7: 3548 8: 400 9: 3343 10: 400 11: 400 12: 400 13: 400 14: 400 15: 400 16: 400 17: 400
    18: 3516 19: 400 20: 4690 21: 400 22: 3932 23: 400 24: 3448 bogomips: 225260
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: Intel DG2 [Arc A770] driver: i915 v: kernel arch: Gen-12.7 pcie: speed: 2.5 GT/s
    lanes: 1 ports: active: DP-3,DP-4 empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2, HDMI-A-3
    bus-ID: 03:00.0 chip-ID: 8086:56a0
  Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4 compositor: kwin_wayland driver:
    X: loaded: modesetting unloaded: fbdev,vesa alternate: intel dri: iris gpu: i915 tty: 116x100
  Monitor-1: DP-3 model: 27E1QA res: 2560x1440 dpi: 108 diag: 685mm (27")
  Monitor-2: DP-4 model: 24N1A res: 1920x1080 dpi: 92 diag: 604mm (23.8")
  API: EGL v: 1.5 platforms: device: 0 drv: iris device: 1 drv: swrast surfaceless: drv: iris
    inactive: gbm,wayland,x11
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: mesa v: 23.3.5 note: console (EGL sourced)
    renderer: Mesa Intel Arc A770 Graphics (DG2), llvmpipe (LLVM 17.0.6 256 bits)
  API: Vulkan v: 1.3.275 surfaces: N/A device: 0 type: discrete-gpu driver: N/A
    device-ID: 8086:56a0
Audio:
  Device-1: Intel DG2 Audio driver: snd_hda_intel v: kernel pcie: speed: Unknown lanes: 63
    bus-ID: 04:00.0 chip-ID: 8086:4f90
  Device-2: AMD Family 17h/19h HD Audio vendor: ASRock driver: snd_hda_intel v: kernel pcie:
    speed: 16 GT/s lanes: 16 bus-ID: 1a:00.6 chip-ID: 1022:15e3
  API: ALSA v: k6.7.4-1-default status: kernel-api with: aoss type: oss-emulator
  Server-1: PipeWire v: 1.0.3 status: n/a (root, process) with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
Network:
  Device-1: Realtek RTL8125 2.5GbE vendor: ASRock driver: r8169 v: kernel pcie: speed: 5 GT/s
    lanes: 1 port: f000 bus-ID: 11:00.0 chip-ID: 10ec:8125
  IF: enp17s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi v: kernel pcie: speed: 5 GT/s
    lanes: 1 bus-ID: 14:00.0 chip-ID: 8086:2725
  IF: wlp20s0 state: up mac: <filter>
  IF-ID-1: docker0 state: up speed: 10000 Mbps duplex: unknown mac: <filter>
  IF-ID-2: veth7c1eec4 state: up speed: 10000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Intel AX210 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1
    bus-ID: 1-9:4 chip-ID: 8087:0032
  Report: btmgmt ID: hci0 rfk-id: 4 state: down bt-service: enabled,running rfk-block:
    hardware: no software: no address: <filter> bt-v: 5.3 lmp-v: 12
Drives:
  Local Storage: total: 8.27 TiB used: 933.72 GiB (11.0%)
  ID-1: /dev/nvme0n1 vendor: A-Data model: LEGEND 800 size: 931.51 GiB speed: 63.2 Gb/s lanes: 4
    serial: <filter> temp: 40.9 C
  ID-2: /dev/sda vendor: Toshiba model: HDWE150 size: 4.55 TiB speed: 6.0 Gb/s serial: <filter>
  ID-3: /dev/sdb vendor: Western Digital model: WD2003FZEX-00SRLA0 size: 1.82 TiB
    speed: 6.0 Gb/s serial: <filter>
  ID-4: /dev/sdc model: SB2 size: 447.13 GiB speed: 6.0 Gb/s serial: <filter>
  ID-5: /dev/sdd vendor: SanDisk model: SD8SBBU480G1122 size: 447.13 GiB speed: 6.0 Gb/s
    serial: <filter>
  ID-6: /dev/sde vendor: Transcend model: N/A size: 117.22 GiB type: USB rev: 3.0 spd: 5 Gb/s
    lanes: 1 serial: <filter>
Partition:
  ID-1: / size: 1.8 TiB used: 933.7 GiB (50.7%) fs: btrfs dev: /dev/sda4
  ID-2: /boot/efi size: 511 MiB used: 5.8 MiB (1.1%) fs: vfat dev: /dev/sda5
  ID-3: /home size: 1.8 TiB used: 933.7 GiB (50.7%) fs: btrfs dev: /dev/sda4
  ID-4: /opt size: 1.8 TiB used: 933.7 GiB (50.7%) fs: btrfs dev: /dev/sda4
  ID-5: /var size: 1.8 TiB used: 933.7 GiB (50.7%) fs: btrfs dev: /dev/sda4
Swap:
  ID-1: swap-1 type: partition size: 65 GiB used: 11.4 MiB (0.0%) priority: -2 dev: /dev/sda6
Sensors:
  System Temperatures: cpu: 46.8 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Processes: 612 Power: uptime: 22h 1m wakeups: 3 Init: systemd v: 254 default: graphical
  Packages: pm: flatpak pkgs: 59 Compilers: gcc: 13.2.1 Shell: Sudo v: 1.9.15p5
    running-in: pty pts/4 inxi: 3.3.33

here’s inxi not much help but…

Don’t use sudo, run the command as user…
systemctl --user enable pipewire pipewire-pulse

1 Like

Do you recommend doing this above regardless? That command creates 4 symlinks.

Yes, of course. The pipewire.service should be active for working sound in a modern desktop environment, and pipewire-pulse.service is used to support legacy applications that still rely on PulseAudio (likely not essential for most users though).

thanks for the help, and sorry about not responding for several days but I had to go out of town for a fewish days…

Just tried this and yes that worked!

OOC why would I run as a user v. root/sudo? it seems counterintuitive to me… for a systemwide service… (and yes Im not systemd expert and still feeling my way around it’s oddities, or perhaps better to say differences from prior ways of starting services…)

[EDIT]

Also, any other particular tips that my be helpful wrt to systemd and audio? Im not a pro user but, for example I do NOT use the GPU audio at all, and I notice that kde seems to shift around the audio volume controls for example from time to time which screws up muscle memory for adjusting the correct(or desired) volume setting, which can lead to undesired results…

ah well, eventually this will become second nature, I guess, but half of systemd seems to be incredibly obtuse…

[/EDIT]

Good to know sound is working as expected.

PipeWire is low-level framework with user space API used for handling multimedia (video and/or audio) streams. As it is designed to run within user session environments, it makes sense to be managed via a systemd user service. (From a multi-user context, it can be running in more than one session concurrently.)

Here’s a good explanatory article about systemd user services.