rpm-ostree
rpm-ostree copied to clipboard
mesa->mesa-va-drivers-freeworld version mismatch regularly breaks mesa features
Description
Replacing mesa-va-drivers
(fedora) with mesa-va-drivers-freeworld
(rpmfusion) is a common procedure if the codec license situation does not affect the user for whatever reason. While the two repositories try to keep both packages in sync there are often days where one repository is ahead of the other.
This situation leads to breakage for the user because of the following issue seen on (rpm)-ostree managed systems.
Host system details
Silverblue 38
RemovedBasePackages: mesa-va-drivers
LayeredPackages: mesa-va-drivers-freeworld rpmfusion-free-release rpmfusion-nonfree-release
11th September 2023
mesa-freeworld updated to 23.1.7 on rpmfusion (stable). mesa 23.1.7 is currently in testing on fedora. latest available on fedora is 23.1.6 (stable).
Expected behavior
$ rpm-ostree update
Nothing to update. (mesa 23.1.6 has a dependency towards mesa-va-drivers 23.1.6, which is provided by mesa-va-drivers-freeworld 23.1.6)
Actual behavior
$ rpm-ostree update
Downgraded:
mesa-va-drivers-freeworld 23.1.6-1.fc38 -> 23.0.2-1.fc38
!! mesa-va-drivers-freeworld is instead mapped to its base version. This breaks hardware acceleration and potentially more on the system.
The issue solves itself once the repositories get back in sync. Still we should try to avoid these days of "Do not update or hardware acceleration will break on your system" everytime mesa updates.
There is not much rpm-ostree can do here. This is inherent to the repos being built on two different infras, etc.
Do you mean that the mesa version is effectively downgraded and does not pick the latest build from the RPM Fusion repos? This is unexpected.
Let's take today's stable repos for F38 as an example:
fedora offers
mesa-23.1.6-1.fc38
mesa-23.1.5-1.fc38
mesa-23.1.4-1.fc38
mesa-23.1.3-1.fc38
mesa-23.1.2-1.fc38
mesa-23.1.1-1.fc38
mesa-23.0.3-5.fc38
mesa-23.0.3-3.fc38
mesa-23.0.3-1.fc38
mesa-23.0.2-2.fc38
mesa-23.0.1-1.fc38
mesa-23.0.0-1.fc38
rpm-fusion offers:
mesa-freeworld-23.1.7-1.fc38 (newly released)
mesa-freeworld-23.1.6-1.fc38
mesa-freeworld-23.1.5-1.fc38
mesa-freeworld-23.1.4-1.fc38
mesa-freeworld-23.1.3-1.fc38
mesa-freeworld-23.1.2-1.fc38
mesa-freeworld-23.1.1-1.fc38
mesa-freeworld-23.0.3-1.fc38
mesa-freeworld-23.0.2-1.fc38
Running rpm-ostree update
on a system that has mesa 23.1.6
+ mesa-va-drivers-freeworld 23.1.6
installed will result in:
Downgraded:
mesa-va-drivers-freeworld 23.1.6-1.fc38 -> 23.0.2-1.fc38
The system is then mesa 23.1.6
+ mesa-va-drivers-freeworld 23.0.2
- which shows breakage.
Do you mean that the mesa version is effectively downgraded and does not pick the latest build from the RPM Fusion repos? This is unexpected.
It seems like the package manager is not recognizing mesa-freeworld 23.1.6 as a perfect fitting dependency, and instead falls back to the base version.
Isn't the idea that you remove mesa and replace it with mesa-freeworld as well?
The official rpmfusion docs (https://rpmfusion.org/Howto/OSTree) recommend only replacing mesa-va-drivers.
Excerpt from the docs:
rpm-ostree override remove mesa-va-drivers --install mesa-va-drivers-freeworld