So this one would be a lot of work. I’m under no illusion there. It also will likely need classic confinement (at least until there are stable OpenCL/CUDA plugs available) as it relies heavily on GPU acceleration (and won’t even start without it).
To Snap something like this might require some thought about Snap itself, specifically handling apps that rely on GPU compute. But I think it’d be a worthwhile effort to try.
Resolve is a studio-class free video/audio editor and currently seems to be the industry-standard colour grading suite.
Resolve is basically the perfect candidate for a Snap. If you try and install it in its current distributed form you will see what I mean.
It supports Linux natively, but is a monolithic proprietary application which expects certain things to be true of the system it’s being installed on.
It’s designed as a professional video editor and post-production suite so the team seem quite happy to support only CentOS which seems to be commonly used in studio VFX and post-production pipelines. Even worse, the only officially supported version of CentOS is still 7.3 while fully updating a CentOS 7 system today will bring you to 7.8.
Despite this, Resolve can be installed on Ubuntu with some work. There is a script available called makeresolvedeb which takes the CentOS
.run file from Blackmagic Design and builds a deb package from it which can then be installed.
This is still a messy process and I haven’t tested it on Ubuntu 20.04 yet but I wouldn’t be surprised if it didn’t work there yet.
I also like the idea of snapping Resolve to take some load off the developers. Sure, this is a proprietary application that they sell to make money but it worries me that the Linux support that they offer for the free version essentially boils down to a single massive thread on their forum where the developers give the impression that they simply haven’t got the time to resolveha problems for all of the Linux users installing the free version on many different distros they don’t officially support.
I can understand the devs’ position completely but my fear is that if they get tired of producing the free version for Linux they could just end support entirely and stop publishing it in future. Since I think it’s a real boon for desktop Linux to have this available (honestly nothing else in its class exists on the desktop), I do think that having a Snap available might help ease this and stop it becoming a potential problem.
TL;DR: Resolve is great software but installing through any means other than the Blackmagic-produced CentOS 7.3 ISO that they’ll support the paid version on just leads to terrible pain.
Potential Issues with the Snap approach
- Resolve makes heavy use of GPU acceleration and won’t start without it.
- So it will need
classicconfinement for now I expect?
- It might also need some GPU libraries which are complex. Currently on an AMD system it doesn’t suffice to use the in-kernel drivers because they don’t provide a new enough OpenCL. It needs AMDGPU-PRO to be installed to work. (And likely some of the libraries inside the AMDGPU-PRO package. Could we even redistribute these inside the Snap?)
- So it will need
- The free/paid versions seem to be separate downloads so it’s likely they’d need to be separate Snaps.
- The license might mean the Snap would need to be handled by the upstream devs (I need to check).
snapcrafthas some issues with the ELF binaries inside the DaVinci Package but this is being worked on.