Upgrade Silverblue Fedora 37 to 38 "Unable to Upgrade" "Could not depsolve Transaction" "Conflicting Requests"

Been trying to upgrade (rebase?) silverblue from 37 to 38 and I’m confident there’s something I’m misunderstanding, either in ordering or something else. If anyone can explain the process that would be helpful.

Here’s the current output of rpm-ostree status:

$ rpm-ostree status
State: idle
Deployments:
● fedora:fedora/37/x86_64/silverblue
                  Version: 37.20230505.0 (2023-05-05T13:45:03Z)
               BaseCommit: 7b6f7a7d55e0c4ddb0fb435ce1fcce7c608cb8761a01b7174a816d7b1a285069
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
      RemovedBasePackages: mesa-va-drivers 23.0.3-1.fc37
          LayeredPackages: akmod-nvidia distrobox gstreamer1-plugin-libav gstreamer1-plugins-bad-free-extras
                           gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly gstreamer1-vaapi htop langpacks-en
                           mesa-va-drivers-freeworld rpmfusion-free-release rpmfusion-nonfree-release xorg-x11-drv-nvidia-cuda

  fedora:fedora/37/x86_64/silverblue
                  Version: 37.20230428.0 (2023-04-28T01:31:44Z)
               BaseCommit: 5bb9c7a748e7f28fd3740d4f98d160b50d64b77885b94777897558589d985dc9
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
      RemovedBasePackages: mesa-va-drivers 23.0.2-2.fc37
          LayeredPackages: akmod-nvidia distrobox gstreamer1-plugin-libav gstreamer1-plugins-bad-free-extras
                           gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly gstreamer1-vaapi htop langpacks-en
                           mesa-va-drivers-freeworld rpmfusion-free-release rpmfusion-nonfree-release xorg-x11-drv-nvidia-cuda

  fedora:fedora/37/x86_64/silverblue
                  Version: 37.20230218.0 (2023-02-18T00:43:51Z)
               BaseCommit: 4657f0e132bbc1eb6a3a8c131349f9806106c870df5faafbff2e4c73e5c5db5a
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
      RemovedBasePackages: mesa-va-drivers 22.3.5-1.fc37
          LayeredPackages: akmod-nvidia distrobox ffmpeg gstreamer1-plugin-libav gstreamer1-plugins-bad-free-extras
                           gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly gstreamer1-vaapi htop langpacks-en
                           mesa-va-drivers-freeworld xorg-x11-drv-nvidia-cuda
            LocalPackages: rpmfusion-free-release-37-1.noarch rpmfusion-nonfree-release-37-1.noarch
                   Pinned: yes

And a screenshot of what gnome-software output when it failed to upgrade:

Screenshot from 2023-05-06 14-59-44

I have a general understanding that I need to remove (I think) some of the rpm-fusion add-ons, but I’ve not yet understood how to do that while also removing the other packages that seem to cause conflicts for upgrading to f38 at the same time (if that makes sense).

In any case, I thought I’d post here with what information I have (that older threads seem to have found helpful) and hope to gain both a solution others can search for as well as a more general understanding (if useful) of where I might be going wrong.

Thanks kindly!


Edit: @CleoMenezesJr@floss.social suggested this link. I believe I’ve already followed this, but will try again.

The easy process (and the one I’d recommend:

  1. Record your list of layers and removed packages (which you’ve done here).
  2. Run rpm-ostree reset (which removes all changes to the base layer).
  3. Run rpm-ostree rebase fedora:fedora/38/x86_64/silverblue, then reboot.
  4. Run the following command to install the RPM Fusion repositories (then reboot):
rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
  1. (because you are removing a package) Run rpm-ostree override remove <removed packages>, then reboot.
  2. Run rpm-ostree install <list of layers>, then reboot.

Yes, it’s a bit of a hassle - and yes, it’s quite a few reboots :sweat_smile: but it’s a clear and sensible path that should get you out of the woods and leave you with a reliable, working system. Until this bug gets fixed you will pretty much always need to do this when removing base packages, anyway.