Subsurface Mobile downloads

Dirk Hohndel dirk at
Wed Sep 12 17:33:36 PDT 2018

Install a development environment (specifically, you'll need git to get started)

mkdir ~/src
cd ~/src
git clone git:// <git://>
less subsurface/INSTALL
in there you'll find a list of packages to install, including the command to do it
after that has completed
./subsurface/scripts/build -both
should do the trick.
I have no personal experience with Mint 17.3 MATE - so it's entirely possible that this is one of the distros that make things harder than they have to be, but the steps above should get you a local build environment for desktop and mobile version
Building an Android .apk is a bit more painful, but subsurface/packaging/android/README should point you in the right direction.

Answering questions like this for every person who wants to engage with Subsurface doesn't scale. I'm copying the list so hopefully the next person will find this in the archives. But also so that if you have follow up questions you please copy the mailing list so that others might chime in.


> On Sep 12, 2018, at 5:25 PM, Bill Perry <bill at> wrote:
> Dirk,
> I'm back to looking at the Pelagic download issue for the Atmos AI.
> Things should go faster this time as I'm familiar with things in Subsurface
> and I think I have a handle on what the current issues are.
> I've lost my old development & build environment and I'll need to create a new Subsurface build environment to test things.
> You had given me some general directions in the past.
> As I recall it was a bit complicated to get things set up just right to do the builds.
> Could I get a few quick pointers or information as to where to the git sources, the needed build tree structure
> and how fire off the build for the mobile app?
> I'm currently using Linux Mint 17.3 MATE 64 bit.
> I'm assuming I can build subsurface mobile on this platform.
> In terms of what I've seen. There appears to be timing delay problems in a few places in libdivecomputer.
> The libdivecoputer code is trying to do certain timing delays but it appears that they are simply not working at all on Android. like nanosleep() is not working.
> I can put in some more robust code to ensure that the delays always work properly even if the calls to functions like nanosleep() are interrupted and return immediately.
> I think once this is fixed that the downloads on Android - at least for the Pelagic Data cable and for the Atmos AI should start working on the Galaxy S7.
> This delay issue is likely affecting all dive computers using FTDI cables as typically there are some critical timing delays that must be done during initialization and if the
> delays are too short the host will never be able to communicate with the PIC inside the data cable or dive computer.
> One thing that perhaps I may update as well is that there are 3 types of initializations that have to be done to be able to communicate with
> the dive computer and currently if any of them failed (at least with the early Pelagic devices) libdivecomputer logs a message that says it couldn't open up the serial device.
> This can be misleading.
> For example currently I'm seeing that the port open is working just fine and it is able to send data across the serial port and the first message to initialized the data cable is failing
> but yet the log says the port open failed.
> --- bill

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the subsurface mailing list