KDE Discover transaction failure on certain applications

Hey everyone. I installed Fedora KDE two days ago, however I immediately ran into a pretty severe issue with KDE Discover.

I am unable to install certain applications, for example Krita, Kdenlive and KMyMoney from the main menu. The installation process immediately fails with “transaction failure” with the following terminal output:

org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
PackageKit error: PackageKit::Transaction::ErrorTransactionError "Transaction failure" "Transaction failed: " 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated 
org.kde.plasma.libdiscover.backend.packagekit: percentage cannot be calculated

What apps I can install through Discover seems completely random. However, I can install the affected apps normally via dnf.

Unsuccessfully tried:

  1. Rebooting
  2. Running Discover as root
  3. Restarting PackageKit service
  4. Running sudo dnf update --refresh
  5. Running sudo dnf clean all
  6. Reinstalling Discover

My system:

Operating System: Fedora Linux 44
KDE Plasma Version: 6.7.4
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.2
Kernel Version: 7.1.12-200.fc44.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 9700X 8-Core Processor
Memory: 32 GiB of RAM (30.5 GiB usable)
Graphics Processor 1: AMD Radeon RX 9070
Graphics Processor 2: AMD Ryzen 7 9700X 8-Core Processor
Manufacturer: ASUS

Have you also noticed that this issue only seems to apply for KDE applications, or is that just me?

Are these RPMs (“Fedora Linux” in the Discover UI) or Flatpak?

They are RPMs.

Same here on a fresh install of Fedora KDE 44.
Discover seems to be fine with flatpaks, snaps, but some rpm packages refuse to install.
Specifically packages associated with KDE, so stuff like Krita, Kate, Kdenlive etc.
Using PackageKit to install them through the terminal (pkcon install krita) works just fine.

I can confirm identical behavior

I couldnt find issue or any related issue like this anywhere else, so i asked Copilot in the dnf5 Github repo about any fixes, it told to run the following commands

dnf5 clean all

dnf5 makecache

along with

  1. remove broken dependencies
  2. correct repo metadata
  3. make sure the package exists and is installable
  4. if package is missing or conflicting, resolve that before retrying

I think killing any other package manager might give some hopes?

Have any of you tried:
pkgcli refresh
or
pkgcli repair

Thanks

That seems to have fixed it for me. Thank you. Strange that you’d have to run a repair command on a fresh install, but happy to have it working.

This topic seems to be the same as Discover Update Issue on certain Apps, but will reply here as I’m having the same issue, and this thread is more visible from my Google search.

For context, I am just trying out Linux (desktop) coming from Windows, and so my system is a fresh install, plus dnf update then dnf upgrade. Rebooting didn’t help. I went out of my way to cerate this account (hello world!) to report how horrible my out-of-the-box experience is so far. (In fact, this is the 2nd issue I’m facing. I just worked around a completely different problem by quite literally reinstalling Fedora. Talk about stability.)

In my case, I’m trying to install Kdenlive from Plasma Discover.

Screencast_20261012_131800

For posterity, I’m reporting how far my troubleshooting went, as well as details of my system by the end.

What I checked so far, to no avail

  1. I started monitoring my system logs as I retried to install the application. Here’s what it showed (essentially the same as in the topic description).

    $ jounalctl -f
    Oct 12 14:19:17 fedora systemd[1804]: Started app-org.kde.discover@9355521daaaf412bb4897515126da537.service - Discover - Software Center.
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora PackageKit[8036]: new install-packages transaction /129_cbcaabba scheduled from uid 1000
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora PackageKit[8036]: install-packages transaction /129_cbcaabba from uid 1000 finished with success after 37ms
    Oct 12 14:19:20 fedora PackageKit[8036]: uid 1000 is trying to obtain org.freedesktop.packagekit.package-install auth (only_trusted:1)
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora PackageKit[8036]: new install-packages transaction /130_ecdbbcbc scheduled from uid 1000
    Oct 12 14:19:20 fedora PackageKit[8036]: uid 1000 obtained auth for org.freedesktop.packagekit.package-install
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: PackageKit error: PackageKit::Transaction::ErrorTransactionError "Transaction failure" "Transaction failed: "
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora plasma-discover[3432]: percentage cannot be calculated
    Oct 12 14:19:20 fedora PackageKit[8036]: install-packages transaction /130_ecdbbcbc from uid 1000 finished with failed after 469ms
    

    From the logs, I assume the root cause has something to do with PackageKit, which I learned is what Discover uses under the hood.

  2. I learned to mess around with PackageKit. Doesn’t seem to do anything.

    $ pkgcli refresh
    Refreshing software list     [████████████████████████████████████████] 100%
    ✔ Package metadata refreshed
    
    $ pkgcli update
    Starting                     [████████████████████████████████████████] 100%
    No packages require updating # ok, so skipping upgrade then
    
    $ pkgcli monitor
    # --- snipped; only shows a prettified version of the logs above
    
    $ pkgcli repair
    Starting                     [████████████████████████████████████████] 100%
    ✔ System repaired successfully
    
  3. At this point, unless maybe I analyze source code then I have no leads. I tried to dnf clean all; apparently there is no cache to even clean as stated in its output.

About my system

With a few irrelevant info about my potato PC redacted, here’s what I’m running on:

  • Operating System: Fedora Linux 44
  • KDE Plasma Version: 6.7.5
  • KDE Frameworks Version: 6.30.0
  • Qt Version: 6.11.2
  • Kernel Version: 7.2.9-200.fc44.x86_64 (64-bit)
  • Graphics Platform: Wayland
  • System Version: 1.0

I see this bug has already been filed, unfortunately I see no movement since then.

I wonder if there’s anything I can do to escalate the problem. I believe this is a hard blocker for anyone, me included, trying out Fedora.

I got to the bottom of this. Commenting my conclusion first, then troubleshooting that lead to it.

Bottom line

If your apps fail to install from Discover with nothing but the useless “Transaction failure” message, then give up Discover and install your apps directly from the command line.

In my case, to install Kdenlive, I ran dnf install kdenlive. I’m sure pkgcli install kdenlive works too.

Poof, Kdenlive installed. Problem solved. Nothing else can be done otherwise at the moment.

Root cause

There are two issues at play.

  1. Discover likes to install old Kdenlive version from the fedora repository for some reason. Related: Plasma Discover installs outdated native (RPM) packages from Fedora 44 repos.
  2. The old version of Kdenlive has dependency issues for some reason, regardless whether your system is updated or is fresh out of the box.

How I arrived at the root cause

  1. I temporarily enabled verbose logging for the packagekit.service. (Note about ExecStart quirk.) Got the idea after looking at the debug-logging action from source code. :tired_face:

    sudo systemctl edit packagekit.service  # set ExecStart=/usr/libexec/packagekitd --verbose
    
  2. Attempting to reinstall Kdenlive from Discover with verbose logging enabled shows that PackageKit tries to install Kdenlive, and fails.

    Oct 13 14:30:49 fedora packagekitd[38643]: 14:30:49        PackageKit-DNF5        Resolving package ID: name=kdenlive, version=25.12.3-1.fc44, arch=x86_64, repo=fedora
    Oct 13 14:30:49 fedora packagekitd[38643]: 14:30:49        PackageKit-DNF5        Resolved transaction has 0 packages
    
  3. I wondered what Kdenlive version PackageKit sees. Turns out it sees an old version from the fedora repository, and a newer version from updates.

    $ pkgcli resolve kdenlive
    Starting                          [████████████████████████████████████████] 100%
    ▣ kdenlive 25.12.3-1.fc44.x86_64 [fedora]
    ▣ kdenlive 26.08.1-1.fc44.x86_64 [updates]
    
  4. Why does PackageKit via Discover install an old Kdenlive version? I don’t know. All I noticed was that the same old Kdenlive version is being displayed in Discover.

    This looks like a bug, the same bug discussed in Plasma Discover installs outdated native (RPM) packages from Fedora 44 repos.

  5. At this point, I’ve boiled the problem down to PackageKit installing Kdenlive from the fedora repo instead of the updates repo. To verify this, I tried replicating the issue.

    # force kdenlive to be installed from the "fedora" repo, not from "updates"
    $ sudo dnf config-manager disable updates
    
    # install the old kdenlive version
    $ pkgcli refresh
    Refreshing software list          [████████████████████████████████████████] 100%
    ✔ Package metadata refreshed
    $ pkgcli resolve kdenlive
    Starting                          [████████████████████████████████████████] 100%
    ▣ kdenlive 25.12.3-1.fc44.x86_64 [fedora]
    $ kgcli install kdenlive
    Running                           [████████████████████████████████████████] 100%
    Error: Transaction failed: 
    

    Replication success. In other words, PackageKit has some problem installing the old Kdenlive version from the fedora repostiory. What problem specifically? I don’t want to know.

    Oh wait, is this a PackageKit problem in particular, or does dnf suffer the same problem? I asked myself. Only one way to find out.

    $ sudo dnf install kdenlive
    Updating and loading repositories:
    Repositories loaded.
    Failed to resolve the transaction:
    Problem: package kddockwidgets-qt6-2.4.0-6.fc44.x86_64 from fedora requires qt6-qtbase(x86-64) = 6.10.2, but none of the providers can be installed
      - cannot install both qt6-qtbase-6.10.2-2.fc44.x86_64 from fedora and qt6-qtbase-6.11.2-3.fc44.x86_64 from @System
      - package kdenlive-25.12.3-1.fc44.x86_64 from fedora requires libkddockwidgets-qt6.so.3()(64bit), but none of the providers can be installed
      - installed package kf6-kmime-6.31.0-1.fc44.x86_64 requires libQt6Core.so.6(Qt_6.11)(64bit), but none of the providers can be installed
      - conflicting requests
      - problem with installed package
    You can try to add to command line:
      --skip-broken to skip uninstallable packages
    

    Aha! The root error finally showed up. I’ll stop my digging deeper at assuming that this is a dependency issue.

This has been a wild ride for me as a new Linux desktop user, having to read manual pages and without any AI assistance. Good thing I am familiar with these stuff for a living. :^)

What I’ve learned from this journey:

  1. Discover is bugged. See: Plasma Discover installs outdated native (RPM) packages from Fedora 44 repos.
  2. PackageKit likes to keep errors to itself. Might be better off using dnf instead.
  3. If this “Fedora experience” keeps happening, I might switch over to Debian.

Have a great day!

Good investigation.

The versions in the fedora repo on F44 are built against Qt 6.10.

When you do a new install of F44, then sudo dnf upgrade, you’ll get the latest KDE bits, including an upgrade of Qt to 6.11. So nothing Qt-based in the fedora repo is installable anymore.

Is it possible that the “updates” repository is disabled in Discover?

Not in the bug as reported and confirmed, because once a package is installed, it does successfully get updates.

In other words, the problem isn’t that the “updates” repository isn’t seen at all - it just isn’t considered when trying to newly install a package.

I see. Although I’m having a hard time tying together how this info can help me avoid future problems of the same kind. Sounds like a paradox, in a sense that we want to keep our system updated but at the same time stuff can break. I assume “don’t dnf upgrade” isn’t the solution. So I wonder, is there anything else I, or the next non-technical person, could have done?

I can’t see a good workaround which doesn’t involve using the command line to do at least some operations.

Understandable. Anyway I’m satisfied with the workaround (for now!) and am happy to make my own little contribution to move this outstanding issue. I thought I was screaming at the void. :smile: So I appreciate you for looking into this!

No problem.

This one is a bit insidious. When first reported, it was a fairly minor irritation (you could just install the outdated version of the app in Discover, then immediately upgrade it). The Qt version bump has made it more severe, because now there’s no way of doing the initial install in Discover.

There’s a potential fix being built upstream here: dnf5: Report download, refresh and transaction progress by teian · Pull Request #1022 · PackageKit/PackageKit · GitHub which we think will fix alot of the issues. I am building the updated PackageKit in a copr here if anyone wishes to test it: Making sure you're not a bot! (Note: Usual disclaimers “Might break system, don’t do it unless you know what you are doing” applies)

This applies to Fedora 44 and 45, as well as rawhide. To undo, disable the repo, and you should be able to rollback with sudo dnf distro-sync.