Question: why rpmfusion vs negativo?

Okay, so I’m not trying to start a conflict or anything, this is just something I’ve been a bit curious about.

On the Fedora Discord, I’ve helped quite a few people install the NVIDIA drivers, and, in general, I’ve seen a slightly higher success rate with the negativo repo than the rpmfusion repo. Now, I know that rpmfusion was picked for fedora-workstation-repositories, though the discussion is a bit…err, messy. From my perspective, it seemed to be part concern of negativo being a one-person-maintained repo, as well as rpmfusion having (in theory?) better optimus support.

However, I have noticed this trend:

  • Neither rpmfusion or negativo has worked for anyone I’ve helped with Optimus, and I usually end up guiding them to just disable nouveau & nvidia altogether and use the iGPU instead.
  • I tend to see more akmods issues with rpmfusion.
  • If you have an old GPU, you have to use rpmfusion & the old drivers, but in general those drivers aren’t what anyone will install first off anyway.
  • For either one, it’s a 75/25 chance of flat-out not working with few logs or errors left behind (though of course I’m blaming the driver itself for this one).

I know my experiences with others are hardly a significant source. This does lead me to my questions::

  • Is there a general Fedora recommendation for which to use? I know rpmfusion was used for fedora-workstation-repositories as mentioned above, but it’s still kind of hard to tell which one has the higher success rate.
  • Why is there even a difference? How does the difference in packaging affect them so drastically?

I did not even know negativo before you’ve talked about it, but I’ve found this:
https://discussion.fedoraproject.org/en/question/97476/is-negativo17org-repositories-safe/

There it is claimed that some packages may replace Fedora lib’s, so this is not that good, IMHO…

I don’t think the choice should be seen as a value judgement or any sort of “rejection” of negativo17 / “endorsement” of rpmfusion, and I would be very surprised if “slightly higher success rate” was any part of the factors considered. It’s a question of logistics and resources.

And a privately-maintained repo, and a self-hosted repo, and a repo with little in the way of formal support resources (most people seek help in the comments on the negativo17 blog).

I personally feel that negativo17 accomplishes an amazing amount with scant resources, especially given that it’s a “one-man show”, and the amount of effort and dedication are truly impressive. And it’s good work, too, I’ve gotten myself out of a few jams through strategic application of packages from the negativo17 repos.

But rpmfusion isn’t just a collection of packages, it’s an infrastructure for maintaining those packages in sync with the fedora project, for all of its supported releases, on all of the architectures they support (which isn’t relevant to the nvidia drivers, but that’s basically the only package it’s not relevant for).

The manner in which that infrastructure is set up also more closely mirrors the core Fedora structure itself. rpmfusion operates a public build server (koji.rpmfusion.org), and builds packages out in the open, with full logging and monitoring. It has -testing repos, so new builds aren’t released directly into the wild. It maintains a central bug tracker (bugzilla.rpmfusion.org) for managing reported issues. Last (but far from least), it’s run by a group of contributors, the core of whom are all heavily involved in maintaining Fedora as well as rpmfusion. That means responsibility, and workload, can be spread around so that (ideally) nothing hinges on the availability of any one person.

To me, all of those things make more of a difference than a “slightly higher success rate”, because unless that success rate is 100% the people who aren’t instant success stories are going to need support. And I don’t think it would be right or fair to dump all of that on any one person, even one as capable as negativo17.

(Disclaimer: I am an rpmfusion packager. I maintain exactly one package. I’m barely a footnote on the project, and have nothing to gain by “promoting” it. So I have no real dog in this fight, other than what I feel are the best interests of Fedora users.)

3 Likes

Thanks! I’m still trying to figure out how exactly they differ, but this definitely is helpful regarding the reasons the choice was made.

Well… apparently the answer is, at least in part, “intentionally”. From negativo17’s “Nvidia driver, CUDA tools and libraries” blog post:

Making the nvidia drivers available on Fedora means taking the release files distributed by Nvidia — which include, in part, binary components of a kernel module for which the source code is not available — and restructuring them in a way that’s compatible with the Fedora Packaging Guidelines, so that they can be packaged and distributed in RPM form. Nvidia has no interest in conforming to the Guidelines and their own releases would be unacceptable to the project even if they were distributed in RPM format (which they’re not).

The rpmfusion akmodsbuild tools are used to build the actual kernel module from the binary distribution (that’s true regardless; negativo17 uses those tools as well), but there are a lot of decisions that have to be made along the way — about how the kernel module is built, how the userland driver libraries are built and installed, and how the ancillary support utilities and configuration files are packaged and installed.

If there were no differences in negativo17’s approach vs. rpmfusion’s approach, there wouldn’t be any reason to have separate repos, because the packages would be identical. But since most of the choices are judgement calls with no objective “right” or “wrong” answer, they’re equally valid (or that’s a matter of opinion, I suppose) and it just comes down to competing approaches to achieving the same basic goals.

1 Like