Well, I didn’t expect blender to work at all without libGL, most of the time when that is missing applications that need it will crash right away.
I suppose blender is an exception, presumably its GUI works with one of the toolkits and then uses libGL for preview rendering, instead of drawing windows with it. Which doesn’t help you much, but I think is really interesting, I should read their source sometime!
It’s also interesting that blender (or any other commercial entity) ships GPL licensed code without offering the source code to you. I guess they’re abusing a GPLv2 loophole?
libGL is listed in
./derivations/blender/blender-3.6.2-shell.nix - it IS required.
For completeness sake, I found a great post on StackExchange. I have not tested all the approaches listed yet so I can’t say anything about them atm.
I’m experimenting in using nixos as a vfx platform, houdini-centric, but there is a number of challenges:
- licensing: some license managers use hardcoded paths, so you need to know that (that is rarely documented too), and make wrappers to bind that to where you need. Also unless you are ready to start those license managers by hand (that’s what I do now) - some systemd service wrappers are needed and added to your system config.
- plugins: to use, say, houdini with htoa - you need not only matching builds, but to have both in the same FHS, so ideally there should be a function similar to
houdini.withPackages. that is doable, but needs people experienced in both vfx pipeline, and nix to write. And that requires adding and maintaining those plugins to nixpkgs.
- building things: there is a bunch of open-source plugins that require building with very specific versions of a bunch of libs, basically requiring centos/rocky environment, and selecting all those from nixpkgs is just a pain, since it’s unlikely that you find just one single commit that has all the specific versions of libs that you need. I guess you could be building everything in docker with specifically centos/rocky environment, and then just use binaries in FHS… but that still requires work to write
Other than that things seem to work quite fine: graphics, nvidia-offloading and opencl all work fine.
So overall i can apply this to everything vfx pipeline related: “that is doable, but needs people experienced in both vfx pipeline, and nix to write. And that requires adding and maintaining those plugins to nixpkgs.”