On 2018-03-30 20:02, Luca Boccassi wrote:
On Mon, 2018-03-26 at 18:45 +0200, Philipp Kern wrote:
I would like to understand better what the current set of packages
helps
with, though. It is true that I hadn't considered that you are
shipping
so many packages right now. However, you seem to also hardcode the
dependencies between them with a lot of substvars in the packaging,
which is understandable given the non-free nature of them. But at the
same time it makes it more muddy as to what problem that solves.
Well that's the Debian policy - one shared library per package, that's
what we follow.

While this is technically true, they are also far from the regular shared library packages, too. People generally don't link against these shared libraries. Files are installed not into the regular directories. Most of the time newer libraries are not actually co-installable. The installed file doesn't necessarily follow the SONAME. (I only spot checked as I have spotty connectivity right now.)

This is not about "you're doing it wrong or anything". Instead these are just awkward binary blobs that I think can be treated differently than usual shared libraries if needed. Especially in case you don't get the advantages of the split packaging with the binaries you are provided by NVidia.

I'll try to come up with a longer answer to the remaining bits. I suppose we should play this through as an example with the current packaging and then check what's acceptable and what's not acceptable.

Yes, the legacy drivers (340xx and 304xx at the moment, although the
latter is out of support so I guess we'll drop it in buster) are co-
installable. There are update-alternatives for those too. We have a
script to make it easier to manage those and the glx provider (mesa,
fglrx, nvidia), it's update-glx from the update-glx package.

You can find the scripts and configs in the git repo:
https://salsa.debian.org/nvidia-team/glx-alternatives

This means that users are expected to call update-glx on bootup if the driver in the installation doesn't match the installed hardware, right? My hope would be that if we get it to work consistently for minor revisions that we can support legacy drivers with the same mechanism: When a legacy module is loadable, we make sure that the GLX bits point to the correct library version for the card installed. I know that in regular desktop systems card architecture changes are rare and users expect to tend to the machine manually in this case. However in the case of bigger pool setups and imaging, modern Linux and X.org just works, except the NVidia bits.

Kind regards and thanks a lot for your responses!
Philipp Kern

Reply via email to