SUMMARY Using kde plasma on archlinux with pipewire makes Elisa stutter when starting every track that it tries to play. Works fine otherwise. STEPS TO REPRODUCE 1. Use KDE plasma with pipewire as a replacement for pulseaudio 2. Install elisa music player with pacman 3. Play any track OBSERVED RESULT Elisa plays the first half-second of the track before pausing and stuttering. After a short pause it plays the rest of the track as expected. This happens for the start of every song that plays whether it is started manually or via a playlist. EXPECTED RESULT Elisa should ideally not stutter at the start of each track playing. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.22.5 KDE Frameworks Version: 5.86.0 Qt Version: 5.15.2 Kernel Version: 5.14.8-zen1-1-zen (64-bit) Graphics Platform: X11 Processors: 12 × AMD Ryzen 5 3600 6-Core Processor Memory: 15.5 GiB of RAM Graphics Processor: AMD Radeon Pro W5500 ADDITIONAL INFORMATION Pipewire Version: Compiled with libpipewire 0.3.38 Linked with libpipewire 0.3.38
Hmm, I'm using PipeWire and I don't experience this.
(In reply to Nate Graham from comment #1) > Hmm, I'm using PipeWire and I don't experience this. I remember Elisa working just fine back when I was using PulseAudio and then the problem suddenly starting after an update or two and after switching to PipeWire. It might not be PipeWire I just thought that was the most likely culprit. Let me know if there is anything that I can try or provide to make squashing this bug easier. I can give systemd journals if that helps. I looked into a similar error that was raised on here a while ago that blamed VLC audio libraries during compilation or something? I don't think that would affect me since I didn't compile Elisa from source. Is there anything else unusual that might cause something like this? Thanks for answering I really like Elisa and most kde stuff otherwise.
Okay I tried Elisa again recently on a KDE wayland session and it worked just fine. No stutters at all. I am still on pipewire so it is working with pipewire without stuttering using a wayland session. I will try with an x session again to see if the stutters return.
Hmm.. It seems to also be working within an x session too now. I wonder if an upstream change fixed it or something. I am running elisa 21.08.2
So the stutters came back after I used my computer to do other things for a while. Same issue returns after a while. Here is the journalctl output from around when the stutters happened: Oct 13 21:11:59 cinnamon kernel: audit: type=1131 audit(1634177519.152:208): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=> Oct 13 21:13:39 cinnamon plasmashell[880]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:27:1: QML Panel: Binding loop detected for property "state" Oct 13 21:13:39 cinnamon plasmashell[880]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:27:1: QML Panel: Binding loop detected for property "state" Oct 13 21:13:41 cinnamon elisa[3381]: libpng warning: iCCP: known incorrect sRGB profile Oct 13 21:13:52 cinnamon plasmashell[880]: kde.dataengine.mpris: "org.mpris.MediaPlayer2.elisa" has an invalid URL for the xesam:url entry of the "Metadata" property Oct 13 21:13:59 cinnamon plasmashell[880]: qrc:/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml:233: TypeError: Cannot read property 'visible' of null Oct 13 21:14:05 cinnamon elisa[3381]: kf.kirigami: Units.devicePixelRatio is deprecated (since 5.86 ): This returns 1 when using Qt HiDPI scaling. Oct 13 21:14:05 cinnamon elisa[3381]: kf.kirigami: Previous message repeats 2 times. Oct 13 21:14:09 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-background: GetAppState called: no parameters Oct 13 21:14:17 cinnamon elisa[3381]: kf.kirigami: Units.devicePixelRatio is deprecated (since 5.86 ): This returns 1 when using Qt HiDPI scaling. Oct 13 21:14:17 cinnamon elisa[3381]: kf.kirigami: Previous message repeats 2 times. Oct 13 21:14:39 cinnamon plasmashell[880]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:27:1: QML Panel: Binding loop detected for property "state" Oct 13 21:14:39 cinnamon plasmashell[880]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:27:1: QML Panel: Binding loop detected for property "state" Oct 13 21:14:39 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-background: GetAppState called: no parameters Oct 13 21:14:44 cinnamon plasmawindowed[8852]: <Unknown File>:1: TypeError: Cannot read property 'Layout' of null Oct 13 21:14:44 cinnamon plasmawindowed[8852]: QObject::disconnect: Unexpected nullptr parameter Oct 13 21:14:54 cinnamon plasmashell[880]: kf.plasma.quick: Couldn't create KWindowShadow for PlasmaQuick::Dialog(0x560382238610) Oct 13 21:14:54 cinnamon plasmashell[880]: kf.plasma.quick: Couldn't create KWindowShadow for PlasmaQuick::Dialog(0x560382238610) Oct 13 21:14:54 cinnamon plasmashell[880]: kf.plasma.quick: Couldn't create KWindowShadow for PlasmaQuick::Dialog(0x560382238610) Oct 13 21:14:55 cinnamon plasmashell[880]: qrc:/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml:233: TypeError: Cannot read property 'visible' of null Oct 13 21:15:04 cinnamon plasmashell[880]: kf.plasma.quick: Couldn't create KWindowShadow for PlasmaQuick::Dialog(0x560382238610) Oct 13 21:15:04 cinnamon plasmashell[880]: kf.plasma.quick: Couldn't create KWindowShadow for PlasmaQuick::Dialog(0x560382238610) Oct 13 21:15:04 cinnamon plasmashell[880]: kf.plasma.quick: Couldn't create KWindowShadow for PlasmaQuick::Dialog(0x560382238610) Oct 13 21:15:07 cinnamon plasmashell[880]: qrc:/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml:233: TypeError: Cannot read property 'visible' of null Oct 13 21:15:09 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-background: GetAppState called: no parameters Oct 13 21:15:12 cinnamon plasmashell[880]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:27:1: QML Panel: Binding loop detected for property "state" Oct 13 21:15:12 cinnamon plasmashell[880]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:27:1: QML Panel: Binding loop detected for property "state" Oct 13 21:15:19 cinnamon elisa[3381]: libpng warning: iCCP: known incorrect sRGB profile Oct 13 21:15:23 cinnamon elisa[3381]: kf.kirigami: Units.devicePixelRatio is deprecated (since 5.86 ): This returns 1 when using Qt HiDPI scaling. Oct 13 21:15:23 cinnamon elisa[3381]: kf.kirigami: Previous message repeats 2 times. Oct 13 21:15:25 cinnamon plasmashell[880]: qrc:/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml:233: TypeError: Cannot read property 'visible' of null Oct 13 21:15:25 cinnamon plasmashell[880]: qrc:/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml:233: TypeError: Cannot read property 'visible' of null Oct 13 21:15:34 cinnamon systemd[713]: Started Konsole - Terminal. Oct 13 21:15:34 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-wayland-integration: Adding output: Oct 13 21:15:34 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-wayland-integration: manufacturer: "Acer Technologies" Oct 13 21:15:34 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-wayland-integration: model: "G226HQL/LYLAA0018502" Oct 13 21:15:34 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-wayland-integration: resolution: QSize(1920, 1080) Oct 13 21:15:34 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-wayland-integration: Adding output: Oct 13 21:15:34 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-wayland-integration: manufacturer: "Acer Technologies" Oct 13 21:15:34 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-wayland-integration: model: "SB220Q/85993775" Oct 13 21:15:34 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-wayland-integration: resolution: QSize(1920, 1080) Oct 13 21:15:34 cinnamon kded5[852]: Got an error Oct 13 21:15:34 cinnamon kded5[852]: Got an error Oct 13 21:15:39 cinnamon xdg-desktop-portal-kde[6904]: xdp-kde-background: GetAppState called: no parameters Oct 13 21:15:44 cinnamon plasmashell[880]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:27:1: QML Panel: Binding loop detected for property "state" Oct 13 21:15:44 cinnamon plasmashell[880]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:27:1: QML Panel: Binding loop detected for property "state"
Okay so it persists on reboot now as well. This is extremely strange to me.
Update: So the stuttering is only happening when I listen through bluetooth headphones. Everything works perfectly when I use my speakers plugged into my computer.
Bluetooth headphones+1
I can confirm this. It is specific to Bluetooth devices. Codec (AAC or SBC) doesn't seem to matter. Happens on track switch.
Went back and reproduced this bug again in version 22.04.1. Same situation was observed. Using Bluetooth headphones causes Elisa to stutter and pause a half second into track start and also just delays track start in general.
This issue is happening to me too, but I'm not on Bluetooth, and only happens on some FLAC albums, and not others. Might be unrelated to the Bluetooth issue. I'm also using Pipewire, but have not tested PulseAudio.
Same here with a bluetooth device
This happens for me too when using a bluetooth headset, but only with the aptX profile. With the aac profile it works as expected.
This happens for me too! Using Flatpak Elisa 23.08.4 on Fedora 40 Wayland session
I can confirm that I have this issue as well, latest Elisa Flatpak from Flathub 24.05.1, KF 6.3.0, Qt 6.7.2. Only happens when playing music via bluetooth headset. Does not happen when playing using internal laptop speakers.
I confirm the stuttering with Bluetooth headphones in aptX profile, kubuntu 24.04.
I have the same problem with Pipewire 1.2.5-1 and: Operating System: Arch Linux KDE Plasma Version: 6.1.5 KDE Frameworks Version: 6.6.0 Qt Version: 6.7.3 Kernel Version: 6.11.2-zen1-1-zen (64-bit) Graphics Platform: X11 Stutters if a «High Fidelity Playback» profile is used (SBC, SBC-XQ, AAC, LDAC) but not with a (poor audio quality) «Headset Head Unit» profile (CVSD, mSBC). I observe that very often, there’s two stutters: one very very shortly after the beginning of the music and lasts for a short time, the other one slightly later and during something on the order of 1s. But sometimes it’s only one, and a bit more rarely it’s none at all.
With Elisa 24.12.0 on Fedora Kinoite 41 (Pipewire 1.2.7, libwireplumber 0.5.5) I'm currently experiencing stutters at the beginning of each track regardless of the output audio interface. (tried with internal desktop speaker, Bluetooth headset, wired headset connected via USB-C to 3.5mm adapter and it's all the same) These are my new observations so far (with headphones connected to a USB-C to 3.5mm adapter and using Analog Stereo Duplex profile): - After stuttering at the start of any track, when I click "skip backward" to go back to the start of the track again, it will not stutter. - As an EasyEffects user, disabling EE (installed via Flatpak, and it uses PipeWire 0.3.69 inside the Flatpak container) eliminated the stuttering at the start of any track. Will file a bug at EE's repo as well.
With the same audio setup and playing the same file (2 channels, 134kbit/s, 48kHz), GNOME's Amberol does not stutter at all. However, running pw-top revealed some interesting info. My output device is HTC_Type-C_to_3.5mm_Headphone_Jack which the format is "S24LE 2 48000" which matched the specs that says 24bit/48K. With EasyEffects applied: - Amberol's format is "S16LE 2 48000", with Amberol's quantum set to 4320 and output device's quantum set to 2048 - Elisa's format is "F32LE 2 48000" which has more bits than my output device (32bit vs 24bit), with Elisa's quantum set to 1920 and output device's quantum set to 1024 (much lower than Amberol's) - EasyEffects' format is "F32P 2 48000" and quantum set to 0. With EasyEffects disabled, the format/quantum is same, but there's no stutter. My stuttering in Elisa always looks like this: - Playback starts (status shows "R") - In less than a second, it stutters (during stutter shows "I") - The player continued playing for less than a secound (status shows "R") - Stutters again (this time status still shows "R") - After that the music plays normally to the end of the track.
Since I use Elisa installed via Flatpak, I tried turning off the socket=pulseaudio permission (to find out whether Elisa will use PipeWire natively, since pw-cat did not stutter even though f32le just like in Elisa and not s16le like in Amberol). Now this showed up in the logs: ``` [0000561740ee7790] vlcpulse audio output error: PulseAudio server connection failure: Connection refused ``` So I tried playing the same file with VLC itself (3.0.21 installed via flatpak, using pulseaudio backend) and VLC stutters too. I think this is now a VLC issue and not an Elisa issue since Elisa seemed to use VLC components to play the audio file. See also: https://code.videolan.org/videolan/vlc/-/issues/28346
(In reply to Pongpeera Wongprasitthiporn from comment #19) > With the same audio setup and playing the same file (2 channels, 134kbit/s, > 48kHz), GNOME's Amberol does not stutter at all. However, running pw-top > revealed some interesting info. > > My output device is HTC_Type-C_to_3.5mm_Headphone_Jack which the format is > "S24LE 2 48000" which matched the specs that says 24bit/48K. > > With EasyEffects applied: > - Amberol's format is "S16LE 2 48000", with Amberol's quantum set to 4320 > and output device's quantum set to 2048 > - Elisa's format is "F32LE 2 48000" which has more bits than my output > device (32bit vs 24bit), with Elisa's quantum set to 1920 and output > device's quantum set to 1024 (much lower than Amberol's) > - EasyEffects' format is "F32P 2 48000" and quantum set to 0. > > With EasyEffects disabled, the format/quantum is same, but there's no > stutter. > > My stuttering in Elisa always looks like this: > > - Playback starts (status shows "R") > - In less than a second, it stutters (during stutter shows "I") > - The player continued playing for less than a secound (status shows "R") > - Stutters again (this time status still shows "R") > - After that the music plays normally to the end of the track. I have exact the same problem when playing via my bluetooth boxes. No problem when I use the notebook speakers.
I'm also getting the stuttering at the beginning using my Bluetooth in-ear headphones. Elisa: 25.08.0 KDE Flatpak runtime (Wayland) KDE Frameworks: 6.13.0 Qt: Using 6.9.0 and built against 6.9.0 Build ABI: x86_64-little_endian-lp64 Kernel: linux 6.14.11-300.fc42.x86_64
I can reliably reproduce this. Quick facts: - Tested via SBC, AAC, AptX. - Tested using ogg, mp3, m4a, wav. - The stuttering always occurs within the first 4 seconds of the track. - Nothing in the UI indicates any difference. - The stuttering also occurs when seeking in the track OR when starting the track on a cabled speaker and then moving to a Bluetooth speaker in the Audio Volume applet. It sounds as if the track is not pre-loaded enough or something. Really ruins the beginning of a track. This does NOT happen when playing via Clementine / Strawberry / mpv using the same hardware and audio files. Interesting, VLC also has this issue, but only at the beginning. Seeking is fine. It also shows a yellow loading bar during the stuttering. It does not happen with cabled speakers. # STEPS TO REPRODUCE 1. Connect via Bluetooth to an audio device. 2. Play any track in Elisa. 3. Stuttering occurs in the first 4 seconds of the track. # SOFTWARE/OS VERSIONS Elisa: 25.12.2 (Flatpak) KDE Flatpak runtime (Wayland) KDE Plasma Version: 6.5.5 KDE Frameworks Version: 6.22.0 Qt: Using 6.10.2 and built against 6.10.2 Pipewire: 1.4.10 Wireplumber: 0.5.13 No EasyEffects or similar. Hardware: Intel Wi-Fi 6E AX210 Build ABI: x86_64-little_endian-lp64 Kernel: linux 6.12.70-1-lts
Created attachment 189849 [details] Recording of Elisa Bug 443184 Attaching a recording of the issue in case it helps someone who needs this. I'm playing the 2 MB mp3 test file from freetestdata.com. The song is being restarted at timestamps (you can hear the mouse-click): 0:01 0:15 0:25
*** Bug 512972 has been marked as a duplicate of this bug. ***
Nate wrote in Bug 512972 (duplicate): > Yep, a colleague of mine confirmed the same thing. Seems to be > Flatpak-related indeed. > > I can reproduce it with the version on Flathub as well as the version in the > KDE nightly Flatpak repo. > > The Fedora Flatpak version is fine, interestingly. > > A difference is that the Fedora Flatpak version uses the QtMultimedia > backend with its own GStreamer backend, while the Flathub/Nightly builds use > the LibVLC backend with its own ffmpeg backend. > Looks like this is a known upstream issue that's already been fixed: > https://code.videolan.org/videolan/vlc-ios/-/issues/1339 > > Unfortunately it's only fixed in libvlc 4.0 which has been in development > for ages with no clear timeline for a release. > > In the meantime, maybe we should switch to the QtMultimedia backend. Or just > drop the Libvlc backend and its abstraction later entirely and only rely on > QtMultimedia.
Can confirm that the Fedora Flatpak works fine. No stuttering issues there. # WORKING SOFTWARE/OS VERSIONS Elisa: 25.12.2 (Fedora Flatpak) Fedora 43 (Flatpak runtime) (Wayland) Runtime: runtime/org.fedoraproject.KDE6Platform/x86_64/f43 KDE Frameworks: 6.22.0 Qt: Using 6.10.1 and built against 6.10.1 @Nate: Thumbs up to switching the Flathub Flatpak to QtMultimedia! Guide to switching: > flatpak remote-add --if-not-exists --user fedora oci+https://registry.fedoraproject.org > flatpak install fedora org.kde.elisa --reinstall Note: You may prefer not using `--user`.
# WORKING SOFTWARE/OS VERSIONS Elisa: 25.12.2 (kdePackages.elisa) NixOS 26.05 (Yarara) (Wayland) Runtime: x86_64 KDE Frameworks: 6.23.0 Qt: Using 6.10.1 and built against 6.10.1 How to fix pkgs.kdePackages.elisa.override { libvlc = null; } I spent quite a few hours trying to hunt down why I was encountering the exact issue as everyone else here.
FWIW I've adjusted the nightly Flatpak build to use the QtMultimedia backend, and have submitted a change to the Flathub packaging to do the same: https://github.com/flathub/org.kde.elisa/pull/184 It may be time to retire libvlc and the entire backend abstraction around it, and just use QtMultimedia in the interests of architectural simplicity and reduced bugginess.
This worked for me on Arch Linux: installing vlc-plugin-pulse fixed the stutter on track transitions with Bluetooth output. sudo pacman -S vlc-plugin-pulse Without it, VLC falls back to ALSA and bypasses PipeWire entirely, causing the BT codec to re-negotiate on every track change. You can confirm this is your issue by checking pavucontrol while Elisa is playing — it will show "ALSA plugin [elisa]" instead of a proper PulseAudio stream. The package is not a listed as (even optional) dependency of elisa on Arch, so it's easy to end up without it.
sudo pacman -S vlc-plugin-pulse this does NOT fix... how can we not even manage to have a decent music player on linux...