Error while trying to upgrade from Silverblue 35 to Silverblue 36

Hi there,

Followed these instructions

The output of the above rebase steps follows. By the way I figured out that when you run “rpm-ostree status”, the pin entries are 0-based indexed.

[davidm@fedora ~]$ ostree remote refs fedora |grep 36
fedora:fedora/36/aarch64/kinoite
fedora:fedora/36/aarch64/silverblue
fedora:fedora/36/aarch64/testing/kinoite
fedora:fedora/36/aarch64/testing/silverblue
fedora:fedora/36/ppc64le/kinoite
fedora:fedora/36/ppc64le/silverblue
fedora:fedora/36/ppc64le/testing/kinoite
fedora:fedora/36/ppc64le/testing/silverblue
fedora:fedora/36/x86_64/kinoite
fedora:fedora/36/x86_64/silverblue
fedora:fedora/36/x86_64/testing/kinoite
fedora:fedora/36/x86_64/testing/silverblue
[davidm@fedora ~]$ rpm-ostree status
ignoring ``: invalid filter directive
State: idle
Deployments:
● fedora:fedora/35/x86_64/silverblue
                   Version: 35.20220418.0 (2022-04-18T16:35:12Z)
                BaseCommit: 4d2a8d49742803124634a62cd466155e6afed80dbcde6f1dc75dcabcfa631626
              GPGSignature: Valid signature by 787EA6AE1147EEE56C40B30CDB4639719867C58F
           LayeredPackages: 'gcc-c++' alsa-lib-devel chromium clang easyeffects emacs ffmpeg gimp google-cloud-cli libxcb-devel openfortivpn remmina svt-av1
             LocalPackages: rpmfusion-free-release-35-1.noarch rpmfusion-nonfree-release-35-1.noarch

  fedora:fedora/35/x86_64/silverblue
                   Version: 35.20220417.0 (2022-04-17T21:57:14Z)
                BaseCommit: 83575cdc5c977aaea0ea53fd8a68f42a0e9518e7759c916acf670624afcc5d6a
              GPGSignature: Valid signature by 787EA6AE1147EEE56C40B30CDB4639719867C58F
           LayeredPackages: 'gcc-c++' alsa-lib-devel chromium clang easyeffects emacs ffmpeg gimp google-cloud-cli libxcb-devel openfortivpn remmina svt-av1
             LocalPackages: rpmfusion-free-release-35-1.noarch rpmfusion-nonfree-release-35-1.noarch
[davidm@fedora ~]$ sudo ostree admin pin 0
[sudo] password for davidm: 
Deployment 0 is now pinned
[davidm@fedora ~]$ rpm-ostree rebase fedora:fedora/36/x86_64/silverblue
ignoring ``: invalid filter directive
⠤ Writing objects: 1 
Writing objects: 1... done
Checking out tree cebf230... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora rpmfusion-free-updates rpmfusion-free rpmfusion-nonfree-updates rpmfusion-nonfree phracek-PyCharm google-chrome rpmfusion-nonfree-nvidia-driver rpmfusion-nonfree-steam google-cloud-cli updates-archive
Updating metadata for 'fedora-cisco-openh264'... done
Updating metadata for 'updates'... done
Updating metadata for 'fedora'... done
Updating metadata for 'rpmfusion-free-updates'... done
Updating metadata for 'rpmfusion-free'... done
Updating metadata for 'rpmfusion-nonfree-updates'... done
Updating metadata for 'rpmfusion-nonfree'... done
Updating metadata for 'phracek-PyCharm'... done
Updating metadata for 'google-chrome'... done
Updating metadata for 'rpmfusion-nonfree-nvidia-driver'... done
Updating metadata for 'rpmfusion-nonfree-steam'... done
Updating metadata for 'google-cloud-cli'... done
Updating metadata for 'updates-archive'... done
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264'; generated: 2021-09-22T15:57:13Z solvables: 4
rpm-md repo 'updates'; generated: 2022-02-08T18:40:57Z solvables: 0
rpm-md repo 'fedora'; generated: 2022-04-19T09:43:44Z solvables: 67991
rpm-md repo 'rpmfusion-free-updates'; generated: 2022-02-17T15:50:15Z solvables: 0
rpm-md repo 'rpmfusion-free'; generated: 2022-04-19T12:09:35Z solvables: 506
rpm-md repo 'rpmfusion-nonfree-updates'; generated: 2022-02-17T15:50:29Z solvables: 0
rpm-md repo 'rpmfusion-nonfree'; generated: 2022-04-19T13:27:14Z solvables: 225
rpm-md repo 'phracek-PyCharm'; generated: 2022-04-07T04:16:43Z solvables: 5
rpm-md repo 'google-chrome'; generated: 2022-04-14T21:02:04Z solvables: 3
rpm-md repo 'rpmfusion-nonfree-nvidia-driver'; generated: 2022-04-10T17:05:13Z solvables: 29
rpm-md repo 'rpmfusion-nonfree-steam'; generated: 2022-02-13T17:48:12Z solvables: 2
rpm-md repo 'google-cloud-cli'; generated: (invalid timestamp) solvables: 2735
rpm-md repo 'updates-archive'; generated: 2022-02-11T15:18:19Z solvables: 0
Resolving dependencies... done
error: Could not depsolve transaction; 2 problems detected:
 Problem 1: conflicting requests
  - nothing provides system-release(35) needed by rpmfusion-free-release-35-1.noarch
 Problem 2: conflicting requests
  - nothing provides system-release(35) needed by rpmfusion-nonfree-release-35-1.noarch

From the looks of it, I’m still in Fedora Silverblue 35. I would have thought it would have given me a smooth upgrade without encountering this. How do I overcome this obstacle? Thank you in advance.

Hello @omac777 ,
Welcome to :fedora: discussion.
So yeah it looks as though you didn’t get updated. This is a problem with the rpm-fusion free and non-free repos, you need to uninstall the related packages then remove the repos before upgrading. After upgrade you can (try) to reinstall them, F36 is still in beta so keep that in mind as the 3rd party repos usually are behind the release cadence. If you do a search over at ask.fedoraproject.org there is going to be someone else that has/is dealing with this same thing. The alternative is to wait for the release and the 3rd party repos to catch up after, then do the upgrade.

I appreciate you suggesting to remove rpmfusion packages and then removing the repos and then doing the upgrade and then reinstalling them.

What would be the best way to find out which installed packages are from rpmfusion repos, then make a list to keep track of what I need to uninstall/reinstall those packages? I’m guessing I would also have to repeat this with all other non fedora repos as well. Does the installer keep track of this package-repoorigin information? I think it should if it doesn’t.

UPDATE:

rpm -qa --qf="%{name} %{vendor}\n" |grep "RPM Fusion"
x264-libs RPM Fusion
xvidcore RPM Fusion
vo-amrwbenc RPM Fusion
opencore-amr RPM Fusion
librtmp RPM Fusion
x265-libs RPM Fusion
ffmpeg-libs RPM Fusion
libavdevice RPM Fusion
ffmpeg RPM Fusion
rpmfusion-nonfree-release RPM Fusion
rpmfusion-free-release RPM Fusion
rpm -qa --qf="%{name} %{vendor}\n"|egrep -v "(Fedora Project|RPM Fusion)"
google-cloud-cli (none)

One thing is for sure, users shouldn’t have to deal with this.
It should all be automatic if it needs to be done.

I want to say I really do want to upgrade to the fc36 beta silverblue, but this doesn’t make it easy for sure. I imagine for those using Nvidia cards it will also bring up yet another painpoint as well when upgrading to fc36 beta silverblue.

I’ve got to boxes that I would try this on. One with amd cpu/amd gpu. The other with intel cpu/nvidia gpu. I wasn’t expecting to encounter this issue with amd cpu/amd gpu, but I did. It’s definitely a painpoint and it’s going to stop existing users from trying you fc36 beta goodness for sure.

Not since these are third party repo’s and aren’t a part of the official Fedora Linux repo.

That is true if you need to use the proprietary nVidia drivers, but not for the Fedora Linux provided ones.

I run an AMD Ryzen 5600G, it does fine ootb.

This is Simplifying updates for RPM Fusion packages (and other packages shipping their own RPM repos)

1 Like

I wanted to share that on my amd cpu/gpu machine yes, the rebase to silverblue 36 succeeded after uninstalling a few packages:

sudo rpm-ostree upgrade
sudo systemctl reboot
ostree remote refs fedora
ostree remote refs fedora |grep 36
rpm-ostree status
sudo ostree admin pin 0
rpm-ostree rebase fedora:fedora/36/x86_64/silverblue

rpm -qa --qf="%{name} %{vendor}\n" |grep "RPM Fusion"
rpm -qa --qf="%{name} %{vendor}\n"|egrep -v "(Fedora.P|RPM.F)"
sudo rpm-ostree uninstall google-cloud-cli ffmpeg rpmfusion-nonfree-release rpmfusion-free-release
sudo systemctl reboot

sudo rpm-ostree rebase fedora:fedora/36/x86_64/silverblue
sudo rpm-ostree uninstall easyeffects
sudo rpm-ostree rebase fedora:fedora/36/x86_64/silverblue

Ok so I got around to upgrading my nvidia gpu based fedora silverblue 35 to fedora silverblue 36.

FIRST FIGURE OUT THE NON FEDORA PACKAGES INSTALLED COMING FROM RPM FUSION REPOS

rpm -qa --qf="%{name} %{vendor}\n" |grep "RPM Fusion"

Here is the list:
xorg-x11-drv-nvidia-470xx-kmodsrc RPM Fusion
xorg-x11-drv-nvidia-470xx-cuda-libs RPM Fusion
nvidia-persistenced RPM Fusion
xorg-x11-drv-nvidia-470xx-libs RPM Fusion
nvidia-settings-470xx RPM Fusion
xorg-x11-drv-nvidia-470xx RPM Fusion
akmod-nvidia-470xx RPM Fusion
xorg-x11-drv-nvidia-470xx-cuda RPM Fusion
xorg-x11-drv-nvidia-470xx-power RPM Fusion
rpmfusion-nonfree-release RPM Fusion
rpmfusion-free-release RPM Fusion

update all packages before starting

sudo rpm-ostree upgrade
sudo systemctl reboot

figure out the remote reference to release upgrade to
ostree remote refs fedora |grep 36|grep x86_64|grep silverblue

We’re not using testing, straight to the released of silverblue 36

fedora:fedora/36/x86_64/silverblue

Now we list the current versions of our installed tree of files

rpm-ostree status

Note: it’s a zero-based index, with the most recent tree commit at the top and the oldest tree commit at the bottom of the list.

So we’re going to preserve the latest tree commit numbered 0 as an available rollback via the pin command.

sudo ostree admin pin 0

Now we try to rebase to the latest fedora 36, but it will fail. old rpmfusion repos and associated installed packages are in the way.
rpm-ostree rebase fedora:fedora/36/x86_64/silverblue

This one uninstalls all the rpmfusion and nvidia gpu packages:

sudo rpm-ostree uninstall nvidia-settings-470xx akmod-nvidia-470xx xorg-x11-drv-nvidia-470xx-cuda xorg-x11-drv-nvidia-470xx-power rpmfusion-nonfree-release rpmfusion-free-release
sudo systemctl reboot

Try again:

sudo rpm-ostree rebase fedora:fedora/36/x86_64/silverblue

oops forget mesa vulkan

sudo rpm-ostree uninstall mesa-vulkan-devel
sudo systemctl reboot

oops forgot some x2go residue:

sudo rpm-ostree uninstall x2goserver
sudo systemctl reboot

Finally fedora 36 accepted the release upgrade

sudo rpm-ostree rebase fedora:fedora/36/x86_64/silverblue
sudo systemctl reboot

Reinstall the nvidia drivers specific to gpu quadro k4000 and cuda

sudo rpm-ostree install akmod-nvidia-470xx nvidia-settings-470xx xorg-x11-drv-nvidia-470xx-cuda xorg-x11-drv-nvidia-470xx-power
sudo systemctl reboot

This confirms the drivers and cuda are loaded:

sudo lspci -v | grep -A 20 VGA
nvidia-smi

That’s all I hope this helps others as well.

I just wanted to drop by and say BIG THANK YOU. I’ve been using Fedora Silverblue on both AMD GPU and NVidia GPU on different machines. Although it was a rough ride getting it set up on the older NVidia GPU, once I got the correct older non-mainstream driver installed, the os behaved as expected.

Also, I will state I never adapted to the “toolbox enter” and do stuff much with it except doing “dnf search” with it to find the wanted package names for installing outside of toolbox with rpm-ostree. Sure it might seem a bit tedious and all, but once I got into the habit of it and being patient with it that way, the end result was exactly what I wanted and the OS behaved very well even after a handful of updates.

I was so impressed with it, I started recommending Fedora Silverblue 36 to others and giving them Fedora Silverblue 36 installer thumb drives. It deserves more popularity.