|Original author(s)||Linus Torvalds|
|Developer(s)||Dirk Hohndel, Linus Torvalds, and many others|
|Initial release||September 22, 2011|
4.8.1 / July 13, 2018
|Written in||C, C++, Bourne Shell, Perl|
|Operating system||Linux, OS X, Windows, Android, iOS, (POSIX)|
|License||GNU General Public License v2|
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, but downloading directly from dive computers is currently not supported. 
Until version 3.9.2, Subsurface used GTK+ for its graphical user interface, and with version 4.0 it was switched to Qt 4. At the LCA2014, Torvalds and Hohndel explained why they choose to re-write the GUI using Qt.[clarification 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 runs on Android and iOS.
As Subsurface binary software deployment for Linux users for the various Linux distributions turned out to be problematic, the packaging was changed to a portable, self-contained, distro-agnostic[clarification needed] AppImage in 2015.
Supported dive computers
As of release 4.6.4 in April 2017, Subsurface supports the downloading and processing of dive log data from the following dive computers:
|Wikimedia Commons has media related to Subsurface (software).|
- "Subsurface release announcement". Retrieved 2014-05-12.
- "News Archives". Retrieved 14 August 2018.
- "GitHub Subsurface v1.0 commit log". GitHub.com. Retrieved 2016-06-17.
- "Subsurface README file". GitHub.com. Retrieved 2016-06-17.
- "Subsurface User Manual". subsurface-divelog.org. Retrieved 2016-11-09.
- "Subsurface 4.0 has been released". 2013-12-15.
- "Gtk to Qt – a strange journey". 2014-01-09. Archived from the original on 2015-03-21.
- "Gtk to Qt – a strange journey Video" (WebM). YouTube. 2014-01-09.
- Linus Torvalds (2014-08-29). "Q&A with Linus Torvalds" (video). DebConf 2014 Portland. debian.net. Retrieved 2016-05-14.
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.
- 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."" (2015-11-25)
- This is just very cool. by Linus Torvalds on Google+ "I finally got around to play with the "AppImage" version of +Subsurface, and it really does seem to "just work"." (2015-11-25)
- "Supported Dive Computers | Subsurface". Retrieved 2017-07-06.