Subsurface (software)

Last updated
Subsurface
Subsurface-icon.svg
Original author(s) Linus Torvalds
Developer(s) Dirk Hohndel, Linus Torvalds, and many others
Initial releaseSeptember 22, 2011;9 years ago (2011-09-22) [1]
Stable release
4.9.7 / September 24, 2020;3 months ago (2020-09-24) [2]
Repository OOjs UI icon edit-ltr-progressive.svg
Written in Qt, C, C++, Bourne Shell, Perl
Operating system Linux, OS X, Windows, Android, iOS, (POSIX)
License GPLv2
Website subsurface-divelog.org OOjs UI icon edit-ltr-progressive.svg

Subsurface is a piece of software for logging and planning scuba dives. It was initially designed and developed by Linus Torvalds and Dirk Hohndel in 2011. [3]

Contents

Subsurface is free and open-source software distributed under the terms of the GNU General Public License version 2. [4]

Overview

Subsurface allows a scuba diver or free diver to keep track of their dive data. It allows dive record data to be downloaded from many different makes and models of dive computers and can represent this data both graphically (depth profile, gas usage) and in tabular format. Digital photographs taken during the dive can be added to the log and the location of the dive site is displayed on a map. Decompression information based on the Bühlmann model or the VPM-B model and gas usage information can be displayed. The program also includes an interactive dive planner. The logbook can be exported in many file formats and to a Git-based cloud storage. There is a version running on mobile devices that can display the log book data as well as providing a limited ability to download new dives from a dive computer. [5]

Until version 3.9.2, Subsurface used GTK+ for its graphical user interface, and with version 4.0 it was switched to Qt 4. [6] At the LCA2014, Torvalds and Hohndel explained why they chose to re-write the GUI using Qt. [7] [8] [9] [ clarification needed ]

Subsurface further depends on GConf, SQLite, ATK and makes use of OpenStreetMap and/or OpenSeaMap.[ citation needed ]

Subsurface officially runs on Linux, OS X and Microsoft Windows. It is written using the POSIX API and not the Linux API, so it should be portable to any POSIX-compliant operating system. The mobile version using Qt Quick via KDEs Kirigami framework allows it to run on Android and iOS.

As Subsurface binary software deployment for Linux users for the various Linux distributions turned out to be problematic, [10] [11] the packaging was changed to a portable, self-contained, distro-agnostic[ clarification needed ] AppImage in 2015. [12] [13]

Supported dive computers

As of release 4.9.3 in September 2019, Subsurface supports the downloading and processing of dive log data from the following dive computers: [14]

MakerModels
Aeris
  • 500 AI
  • A300
  • A300 AI
  • A300CS
  • Atmos 2
  • Atmos AI
  • Atmos AI 2
  • Compumask
  • Elite
  • Elite T3
  • Epic
  • F10
  • F11
  • Manta
  • XR-1 NX
  • XR-2
Apeks
  • Quantum X
Aqualung
  • i100
  • i200
  • i200C
  • i300
  • i300C
  • i450T
  • i550
  • i550C
  • i750TC
  • i770R
Atomic Aquatics
  • Cobalt
  • Cobalt 2
Beuchat
  • Mundial 2
  • Mundial 3
  • Voyager 2G
Citizen
  • Hyper Aqualand
Cochran
  • Commander I
  • Commander II
  • Commander TM
  • EMC-14
  • EMC-16
  • EMC-20H
Cressi
  • Cartesio
  • Drake
  • Edy
  • Giotto
  • Goa
  • Leonardo
  • Newton
Deepblu
  • Cosmiq+
Dive Rite
  • NiTek Q
  • NiTek Trio
DiveSystem
  • Orca
  • iDive DAN
  • iDive Deep
  • iDive Easy
  • iDive Free
  • iDive Pro
  • iDive Reb
  • iDive Stealth
  • iDive Tech
  • iDive X3M
Genesis
  • React Pro
  • React Pro White
Heinrichs Weikamp
  • Frog
  • OSTC
  • OSTC 2
  • OSTC 2 TR
  • OSTC 2C
  • OSTC 2N
  • OSTC 3
  • OSTC 4
  • OSTC Mk2
  • OSTC Plus
  • OSTC Sport
  • OSTC cR
Hollis
  • DG02
  • DG03
  • TX1
Mares
  • Airlab
  • Darwin
  • Darwin Air
  • Genius
  • Icon HD
  • Icon HD Net Ready
  • M1
  • M2
  • Matrix
  • Nemo
  • Nemo Air
  • Nemo Apneist
  • Nemo Excel
  • Nemo Steel
  • Nemo Titanium
  • Nemo Wide
  • Nemo Wide 2
  • Puck
  • Puck 2
  • Puck Air
  • Puck Pro
  • Quad
  • Quad Air
  • Smart
  • Smart Air
  • Smart Apnea
Oceanic
  • Atom 1.0
  • Atom 2.0
  • Atom 3.0
  • Atom 3.1
  • Datamask
  • F10
  • F11
  • Geo
  • Geo 2.0
  • Geo 4.0
  • OC1
  • OCS
  • OCi
  • Pro Plus 2
  • Pro Plus 2.1
  • Pro Plus 3
  • Pro Plus X
  • VT 4.1
  • VT Pro
  • VT3
  • VT4
  • VTX
  • Veo 1.0
  • Veo 180
  • Veo 2.0
  • Veo 200
  • Veo 250
  • Veo 3.0
  • Versa Pro
Ratio
  • iDive Color Deep
  • iDive Color Easy
  • iDive Color Fancy
  • iDive Color Free
  • iDive Color Pro
  • iDive Color Reb
  • iDive Color Tech+
  • iDive Deep
  • iDive Easy
  • iDive Fancy
  • iDive Free
  • iDive Pro
  • iDive Reb
  • iDive Tech+
  • iX3M GPS Deep
  • iX3M GPS Easy
  • iX3M GPS Fancy
  • iX3M GPS Pro
  • iX3M GPS Reb
  • iX3M GPS Tech+
  • iX3M Pro Deep
  • iX3M Pro Easy
  • iX3M Pro Fancy
  • iX3M Pro Pro
  • iX3M Pro Reb
  • iX3M Pro Tech+
Reefnet
  • Sensus
  • Sensus Pro
  • Sensus Ultra
Scubapro
  • Aladin H Matrix
  • Aladin Sport Matrix
  • Aladin Square
  • Chromis
  • G2
  • G2 Console
  • G2 HUD
  • Mantis
  • Mantis 2
  • Meridian
  • XTender 5
Seabaer
  • T1
  • H3
  • HUDC
Seac
  • Guru
  • Jack
Seemann
  • XP5
Shearwater Research
  • Nerd
  • Nerd 2
  • Perdix
  • Perdix AI
  • Petrel
  • Petrel 2
  • Predator
  • Teric
Sherwood
  • Amphos
  • Amphos Air
  • Insight
  • Insight 2
  • Vision
  • Wisdom
  • Wisdom 2
  • Wisdom 3
Subgear
  • XP Air
  • XP-10
  • XP-3G
  • XP-Air
Suunto
  • Cobra
  • Cobra 2
  • Cobra 3
  • D3
  • D4
  • D4f
  • D4i
  • D5
  • D6
  • D6i
  • D9
  • D9tx
  • DX
  • EON Core
  • EON Steel
  • Eon
  • Gekko
  • HelO2
  • Mosquito
  • Solution
  • Solution Alpha
  • Solution Nitrox
  • Spyder
  • Stinger
  • Vyper
  • Vyper 2
  • Vyper Air
  • Vyper Novo
  • Vytec
  • Zoop
  • Zoop Novo
Techdiving
  • DiveComputer.eu
Tusa
  • Element II (IQ-750)
  • IQ-700
  • Talis
  • Zen (IQ-900)
  • Zen Air (IQ-950)
Uemis
  • Zürich SDA
Uwatec
  • Aladin 2G
  • Aladin Air Twin
  • Aladin Air Z
  • Aladin Air Z Nitrox
  • Aladin Air Z O2
  • Aladin Prime
  • Aladin Pro
  • Aladin Pro Ultra
  • Aladin Sport
  • Aladin Sport Plus
  • Aladin Tec
  • Aladin Tec 2G
  • Aladin Tec 3G
  • Galileo Luna
  • Galileo Sol
  • Galileo Terra
  • Galileo Trimix
  • Memomouse
  • Smart Com
  • Smart Pro
  • Smart Tec
  • Smart Z
Zeagle
  • N2iTiON3

See also

Related Research Articles

Linus Torvalds Creator and lead developer of Linux kernel

Linus Benedict Torvalds is a software engineer who is the creator and, historically, the principal developer of the Linux kernel for Linux distributions and other operating systems such as Android and Chrome OS. He also created the distributed revision control system Git and the scuba dive logging and planning software Subsurface.

Qt (software) Object-oriented framework for GUI creation

Qt is a free and open-source widget toolkit for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

Maxima (software)

Maxima is a computer algebra system (CAS) based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android. It is free software released under the terms of the GNU General Public License (GPL).

GNU Project Free software project

The GNU Project is a free software, mass collaboration project that Richard Stallman announced on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collaboratively developing and publishing software that gives everyone the rights to freely run the software, copy and distribute it, study it, and modify it. GNU software grants these rights in its license.

The SWORD Project

The SWORD Project is the CrossWire Bible Society's free software project. Its purpose is to create cross-platform open-source tools—covered by the GNU General Public License—that allow programmers and Bible societies to write new Bible software more quickly and easily.

Git Free and open source software (FOSS) for revision control

Git is a distributed version-control system for tracking changes in any set of files, originally designed for coordinating work among programmers cooperating on source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

In software development, distributed version control is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centralized version control, this enables automatic management branching and merging, speeds up most operations, improves the ability to work offline, and does not rely on a single location for backups. Git, the world's most popular version control system, is a distributed version control system.

AppImage

AppImage is a format for distributing portable software on Linux without needing superuser permissions to install the application. It tries also to allow Linux distribution-agnostic binary software deployment for application developers, also called upstream packaging. Released first in 2004 under the name klik, it was continuously developed, then renamed in 2011 to PortableLinuxApps and later in 2013 to AppImage.

GCompris

GCompris is a software suite comprising educational entertainment software for children aged 2 to 10. GCompris was originally written in C and Python using the GTK+ widget toolkit, but a rewrite in C++ and QML using the Qt widget toolkit is since early 2014 in process. GCompris is free and open-source software subject to the requirements of the GNU General Public License version 3 and has been part of the GNU project.

Transmission (BitTorrent client) BitTorrent client

Transmission is a BitTorrent client which features a variety of user interfaces on top of a cross-platform back-end. Transmission is free software licensed under the terms of the GNU General Public License, with parts under the MIT License.

Portable application Type of computer program

A portable application, sometimes also called standalone, is a program designed to read and write its configuration settings into an accessible folder in the computer, usually in the folder where the portable application can be found. This makes it easier to transfer the program with the user's preferences and data between different computers. A program that doesn't have any configuration options can also be a portable application.

Linux Family of free and open-source software operating systems based on the Linux kernel

Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution.

Linux kernel Free and open-source Unix-like operating system kernel

The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was conceived and created in 1991 by Linus Torvalds for his i386 based PC, and it was soon adopted as the kernel for the GNU Operating System, which was created as open source and free software, and based on UNIX as a by-product of the fallout of the Unix wars. Since then, it has spawned a plethora of operating system distributions, commonly also called Linux.

GTK Cross-platform widget toolkit for creating graphical user interfaces

GTK is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary software to use it. Along with Qt, it is one of the most popular toolkits for the Wayland and X11 windowing systems.

GNOME Desktop environment for Linux and Unix-like systems

GNOME is a free and open-source desktop environment for Unix-like operating systems. GNOME was originally an acronym for GNU Network Object Model Environment, but the acronym was dropped because it no longer reflected the vision of the GNOME project.

Lennart Poettering German software engineer

Lennart Poettering is a German software engineer who created PulseAudio, Avahi, and systemd.

HeinrichsWeikamp, based in Germany, is a company that produces sports precision instruments for scuba diving including personal dive computers and oxygen partial pressure monitors for diving rebreathers.

Windows Subsystem for Linux Compatibility layer for running Linux binary executables natively on Windows

Windows Subsystem for Linux (WSL) is a compatibility layer for running Linux binary executables natively on Windows 10 and Windows Server 2019.

The Linux kernel is a free and open-source, monolithic, Unix-like operating system kernel. It was conceived and created in 1991 by Linus Torvalds.

Lector (software)

Lector is a free e-book reading application for desktop GNU/Linux systems that also has basic collection management features.

References

  1. "Subsurface release announcement" . Retrieved 12 May 2014.
  2. "Subsurface 4.9.7 released". 24 September 2020. Retrieved 25 September 2020.
  3. "GitHub Subsurface v1.0 commit log". GitHub.com. Retrieved 17 June 2016.
  4. "Subsurface README file". GitHub.com. Retrieved 17 June 2016.
  5. "Subsurface User Manual". subsurface-divelog.org. Retrieved 9 November 2016.
  6. "Subsurface 4.0 has been released". 15 December 2013.
  7. "Gtk to Qt – a strange journey". 9 January 2014. Archived from the original on 21 March 2015.
  8. "Gtk to Qt – a strange journey Video" (WebM). YouTube. 9 January 2014.
  9. "The Biggest Problem With GTK & What Qt Does Good". Phoronix. 12 January 2014. Retrieved 13 April 2020.
  10. Linus Torvalds (29 August 2014). "Q&A with Linus Torvalds" (video). DebConf 2014 Portland. debian.net . Retrieved 14 May 2016. 6:31 I have seen this first hand with the other project I'm involved with, which is my dive log app. We make binaries for Windows and OSX, we basically don't make binaries for Linux. Why? Because making binaries for Linux desktop applications is a major fucking pain in the ass.
  11. This is just very cool. by Linus Torvalds on Google+ Dirk Hohndel: "I, as the app maintainer, don't want my app bundled in a distribution anymore. Way to much pain for absolutely zero gain. Whenever I get a bug report my first question is "oh, which version of which distribution? which version of which library? What set of insane patches were applied to those libraries?". No, Windows and Mac get this right. I control the libraries my app runs against. [...] With an AppImage I can give them just that. Something that runs on their computer."" (25 November 2015)
  12. Torvalds, Linux (25 November 2015). "This is just very cool". Google+ . I finally got around to play with the "AppImage" version of +Subsurface, and it really does seem to "just work".
  13. Torvalds, Linux (25 November 2015). "This is just very cool". Google+ via archive.org. Archived from the original on 13 September 2017. I finally got around to play with the "AppImage" version of +Subsurface, and it really does seem to "just work".
  14. "Supported Dive Computers". Subsurface. Retrieved 24 February 2020.