Classic confinement for `subsurface`

Subsurface is an open source divelog program for recreational, tech, and free-divers that runs on Windows, Mac and Linux.

A big piece of its functionality is the ability to import log dives from a multitude of dive computers. A lot of them are connected via USB, often through a virtual serial port.

While we wait for hotplug support I’d like to publish the snap under classic confinement to allow access to the dive computers without resorting to devmode.

The snap is being built from a Launchpad import and I’m working on getting the snapcraft.yaml upstream.

Does the raw-usb interface not work for you? If not, why?

In many cases (including mine) the USB connection is just a FTDI serial port ending up as /dev/ttyUSB0, does raw-usb give access to that? Although I can’t see a denial, the app prints:

Starting download from  /dev/ttyUSB0
Starting the thread 0
[0.000723] ERROR: Operation not permitted (1) [in serial_posix.c:299 (dc_serial_open)]
[0.000771] ERROR: Failed to open the serial port. [in suunto_vyper2.c:110 (suunto_vyper2_device_open)]

When installed in devmode or classic, it works fine. Some computers probably would work with raw-usb (some of them are HID devices), but usb-serial connections are all too common.

There are two issues with the raw-usb interface which should be resolved here: https://github.com/snapcore/snapd/pull/5282

Oh well, that’s even better :wink:

/me can’t wait

The fix got cherry-picked into the 2.33 branch so it will be part of the next stable release.