Upgrade F37 to F38 with mesa-va-drivers-freeworld installed

When upgrading Fedora 37 to 38 using system-upgrade and have mesa-va-drivers-freeworld installed¹, you may run into the following error message:

Error: 
 Problem: problem with installed package mesa-va-drivers-freeworld-22.3.7-1.fc37.x86_64
  - mesa-va-drivers-freeworld-22.3.7-1.fc37.x86_64 does not belong to a distupgrade repository
  - nothing provides mesa-filesystem(x86-64) >= 23.0.2 needed by mesa-va-drivers-freeworld-23.0.2-1.fc38.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

Contrary to what dnf suggests, adding --skip-broken does not solve the issue.

Instead, I recommend following these steps:

  1. Revert back to Fedora’s own mesa-va-drivers package by executing dnf swap mesa-va-drivers-freeworld mesa-va-drivers
  2. Follow the system-upgrade instructions
  3. After a successful update (after successfully rebooting into F38), revert to RPMFusion’s mesa-va-drivers-freeworld by executing dnf swap mesa-va-drivers mesa-va-drivers-freeworld.
    • Update: This last step is currently (as of 2023-04-16) broken. Please update to F38 without mesa-va-drivers-freeworld for now.

PS: I don’t know how this looks like with GNOME software or other GUI tools or PackageKit based tools. They will probably have related issues.


¹ You may have installed it following the Firefox hardware acceleration guide or RPMFusion’s guide for example, by executing dnf swap mesa-va-drivers mesa-va-drivers-freeworld

Note that the current release of mesa-va-drivers for fedora 37 is version 22.3.7 and the release of mesa-va-drivers-freeworld is version 23.0.1. The version mismatch is causing your failure and should quickly be resolved without need to remove the freeworld package.

Using the --exclude mesa-va-freeworld option with dnf should avoid the failure without need to use the workaround you suggest. It also would also retain the benefits of the current freeworld package.

It would appear this is caused by a timing issue between package updates in different repos.

EDIT:
I just realized that you are doing an upgrade from F37 to F38. My suggestion is applicable for upgrades within the same release version, but your workaround may be needed for a release upgrade.

The step of dnf upgrade --refresh should reveal the issue and allow one to fix it before doing the upgrade if following the recommended steps.

I think the mesa-va-drivers package gets installed because of weak dependencies. you should be able to just skip it in the upgrade “-x mesa-va-drivers”

Even better would be to do a dnf upgrade mesa-va-drivers-freeworld --enablerepo updates-testing which would get the package updated.
Once that is done then the upgrade from F37 to F38 should work properly.