Bug 511997 - Discover cannot perform updates if fwupd's systemd service is missing
Summary: Discover cannot perform updates if fwupd's systemd service is missing
Status: ASSIGNED
Alias: None
Product: Discover
Classification: Applications
Component: fwupd Backend (other bugs)
Version First Reported In: unspecified
Platform: NixOS Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-12 14:32 UTC by surlaget
Modified: 2025-12-27 18:06 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description surlaget 2025-11-12 14:32:59 UTC
SUMMARY
Starting with 6.5, Discover will now show an error message on launch if fwupd is disabled, and it will be unable to check for new updates from other backends.

STEPS TO REPRODUCE
1. Remove the fwupd systemd service
2. Launch Discover

OBSERVED RESULT
The following error is given: "The name org.freedesktop.fwupd was not provided by any .service files"
See full logs below.

EXPECTED RESULT
Discover should be able to ignore the fwupd backend if missing, and still use the other backends.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: NixOS unstable 25.11.20251105.ae814fd
KDE Plasma Version: 6.5.2
KDE Frameworks Version: 6.19.0
Qt Version: 6.10.0

ADDITIONAL INFORMATION
On NixOS, Discover is built with fwupd as a build input, but it will only be running on the system if enabled elsewhere.

Below is a log from opening Discover, seeing the error popup, then going to the updates page and clicking refresh (and getting another popup)

libs QList("/nix/store/d4awilxyxi83f33607anxb3v1r5m7a9w-discover-6.5.2/lib/qt-6/plugins", "/nix/store/2i1821p281zr84kmlah0wsnm5838lwy9-purpose-6.19.0/lib/qt-6/plugins", "/nix/store/jk0kfmma7k6g99rv0iksj3rckn3cxyw6-kaccounts-integration-25.08.2/lib/qt-6/plugins", "/nix/store/ak0gjff9f8qqqm373c0zdblmsdbcplnf-kidletime-6.19.0/lib/qt-6/plugins", "/nix/store/q8b1skd8jp57dlhzd5xpy275kinxswap-qqc2-desktop-style-6.19.0/lib/qt-6/plugins", "/nix/store/59b421a1i4zffqfjmykn7ww2sdvcvc0z-sonnet-6.19.0/lib/qt-6/plugins", "/nix/store/k159f1apgsv08k7l6pmps9wbghypx1zp-kio-6.19.1/lib/qt-6/plugins", "/nix/store/f0rzkv0aam9fldslapr7a40pm6c728i7-kiconthemes-6.19.0/lib/qt-6/plugins", "/nix/store/l9rsvgqgqwa3ck39nf9kr8kmk3g81vs1-ki18n-6.19.0/lib/qt-6/plugins", "/nix/store/11szlrm56x0s47wg64y0qr088q93nd3f-kauth-6.19.0/lib/qt-6/plugins", "/nix/store/6agza57avf6mj4vax2y2czydq7w2imaq-kwindowsystem-6.19.0/lib/qt-6/plugins", "/nix/store/y2c7y5izaqvc7c9ivrdhjlz2hvr1k3gb-qtwebview-6.10.0/lib/qt-6/plugins", "/nix/store/rpf9l6xii2xhl1mqj2l7lhg4xrls12vh-qtwebengine-6.10.0/lib/qt-6/plugins", "/nix/store/9wr6ss4hrmziab0mrmh0s4whjvbfcwyx-qtpositioning-6.10.0/lib/qt-6/plugins", "/nix/store/rz0lc8irp5knfzwakm86p3ifkflr1w1i-qtdeclarative-6.10.0/lib/qt-6/plugins", "/nix/store/h987nkqyalnmrlp9k33hzcdc9vdalz9j-qtsvg-6.10.0/lib/qt-6/plugins", "/nix/store/r7wdw4nkkjii690wwnzkgj68cg4shh2v-qtbase-6.10.0/lib/qt-6/plugins", "/nix/store/pkr8v6abdl7y49jw2z2i0w95zzdbsqar-qtwayland-6.10.0/lib/qt-6/plugins", "/nix/store/jnm7fadni21ln7x0pvcxhsxzgzrnagl2-kde-cli-tools-6.5.2/lib/qt-6/plugins", "/nix/store/kd187d860aww258nsxviypr3nk1xbmkf-plasma-workspace-6.5.2/lib/qt-6/plugins", "/nix/store/5mwqmk29p45g5g7wr3n9qdj12df84qdi-plasma5support-6.5.2/lib/qt-6/plugins", "/nix/store/i456qv90l9qhxajbmc1q9pxj5j90cy5n-libksysguard-6.5.2/lib/qt-6/plugins", "/nix/store/806z05i768j7l3riczp2l80mn2jrdqj6-kwin-6.5.2/lib/qt-6/plugins", "/nix/store/y7487p0s2nmmfj7pv3j673dsx4pwn7l4-breeze-6.5.2/lib/qt-6/plugins", "/nix/store/lpxbfzk9cr76lp3li368ryvhyq5mpr5r-frameworkintegration-6.19.0/lib/qt-6/plugins", "/nix/store/8qg08rh44lvdkrc9d0wwdi3ynwzsf1a7-aurorae-6.5.2/lib/qt-6/plugins", "/nix/store/i0yxsqg3pdajjgvpvfbrh2kl3fj3cjx6-ktexteditor-6.19.0/lib/qt-6/plugins", "/nix/store/a643ayydb2jcg34laql95v3zy73dl8jr-kscreenlocker-6.5.2/lib/qt-6/plugins", "/nix/store/758kl9n745bkcmcds7b12fmfms4pwm05-libplasma-6.5.2/lib/qt-6/plugins", "/nix/store/p9z0fpwxvc6wy7yvn18fqvjfwndbiwcl-libkscreen-6.5.2/lib/qt-6/plugins", "/nix/store/gxkk95dqdl5hd4mchz7x4v4sx7arvzi4-layer-shell-qt-6.5.2/lib/qt-6/plugins", "/nix/store/bcp4fiqfmm6wd2ysywjrqnw060s0c84l-kio-extras-25.08.2/lib/qt-6/plugins", "/nix/store/563g3fbz5yay284xf1gc3yj7shd68w0k-kglobalacceld-6.5.2/lib/qt-6/plugins", "/nix/store/rch9pan8qz7v6mc95wxfz8b22vabmzd9-kactivitymanagerd-6.5.2/lib/qt-6/plugins", "/nix/store/2kvybrk22hk2j6kylxiv60sibl1b9hlv-baloo-6.19.0/lib/qt-6/plugins", "/nix/store/790442isnz4jjim1qlnzxm6hcvrymrjh-kfilemetadata-6.19.0/lib/qt-6/plugins", "/nix/store/7m6x1rnyzbgi8bfpwh1qg8h1jrk2mwza-qqc2-breeze-style-6.5.2/lib/qt-6/plugins", "/nix/store/j3nkw0wa4vmvnyvchv98vv38mgzcphgk-qtlocation-6.10.0/lib/qt-6/plugins", "/nix/store/g3w1a7p09sfl3ijn483qs8b7iii3qsjw-system-path/lib/qt-5.15.17/plugins", "/nix/store/g3w1a7p09sfl3ijn483qs8b7iii3qsjw-system-path/lib/qt-6/plugins", "/run/wrappers/lib/qt-6/plugins", "/home/teamil/.local/share/flatpak/exports/lib/qt-6/plugins", "/var/lib/flatpak/exports/lib/qt-6/plugins", "/home/teamil/.nix-profile/lib/qt-6/plugins", "/nix/profile/lib/qt-6/plugins", "/home/teamil/.local/state/nix/profile/lib/qt-6/plugins", "/etc/profiles/per-user/teamil/lib/qt-6/plugins", "/nix/var/nix/profiles/default/lib/qt-6/plugins", "/run/current-system/sw/lib/qt-6/plugins", "/home/teamil/dotfiles/lib/qt-6/plugins", "/home/teamil/dotfiles/lib/qt-6/plugins", "/nix/store/d4awilxyxi83f33607anxb3v1r5m7a9w-discover-6.5.2/bin")
org.kde.plasma.libdiscover: OdrsReviewsBackend: Fetch ratings: false
Fwupd Error 2 GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.fwupd was not provided by any .service files
qrc:/qt/qml/org/kde/discover/qml/DiscoverWindow.qml:336:5: QML Dialog: Binding loop detected for property "y":
qrc:/qt/qml/org/kde/kirigami/dialogs/Dialog.qml:300:5
Invalidated backend, deactivating "fwupd-backend"
qrc:/qt/qml/org/kde/discover/qml/UpdatesPage.qml:40:5: QML OverlaySheet: Binding loop detected for property "y":
qrc:/qt/qml/org/kde/kirigami/templates/OverlaySheet.qml:117:5
Fwupd Error 10 The name org.freedesktop.fwupd was not provided by any .service files
Fwupd Error 10 The name org.freedesktop.fwupd was not provided by any .service files
Comment 1 Bug Janitor Service 2025-11-13 00:01:26 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/discover/-/merge_requests/1206
Comment 2 Aleix Pol 2025-11-15 10:32:31 UTC
Would you be able to test the proposed patch?
Comment 3 surlaget 2025-11-16 00:33:33 UTC
That patch doesn't work, but with the below diff I was able to get it to not give any error popups. With that, Discover almost works like it did pre-6.5. There is still one thing not working, though: clicking the manual "Refresh" button in the updates screen causes it to infinitely hang on "Refreshing Firmware Updates". Update fetching on launch does work fine, though.

33c33
< +            && !(perror->code == 3 && msg != QLatin1String("The name org.freedesktop.fwupd was not provided by any .service files"))) {
---
> +            && !((perror->code == 2 || perror->code == 10) && msg.contains(QLatin1String("The name org.freedesktop.fwupd was not provided by any .service files")))) {
Comment 4 Aleix Pol 2025-11-24 00:50:08 UTC
What does it mean that it "works fine"? It should be completely no-op, right?
Comment 5 surlaget 2025-11-24 03:56:59 UTC
I am referring to fetching updates from other backends, i.e. flatpak.
Comment 6 Aleix Pol 2025-11-25 00:01:26 UTC
Where are "perror->code == 2 || perror->code == 10" from your patch coming from?
Comment 7 surlaget 2025-11-25 00:57:22 UTC
The error code is printed in the logs

> Fwupd Error 2 GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.fwupd was not provided by any .service files
> Fwupd Error 10 The name org.freedesktop.fwupd was not provided by any .service files