gpsd is a service daemon that monitors one or more GPSes or AIS receivers attached to a host computer through serial or USB ports, making all data on the location/course/velocity of the sensors available to be queried on TCP port 2947 of the host computer. The daemon collects information from GPSes, differential-GPS radios, or AIS receivers attached to the host machine.
With gpsd, multiple location-aware client applications can share access to supported sensors without contention or loss of data. Also, gpsd responds to queries with a format that is substantially easier to parse than the NMEA 0183 emitted by most GPSes. The gpsd distribution includes a linkable C service library, a C++ wrapper class, and a Python module that developers of gpsd-aware applications can use to encapsulate all communication with gpsd. Third-party client bindings for Java and Perl also exist.
Besides gpsd itself, the project provides auxiliary tools for diagnostic monitoring and profiling of receivers and feeding location-aware applications GPS/AIS logs for diagnostic purposes.
gpsd is also extremely widely deployed in mobile embedded systems: it’s a basic building block for navigation used by UAVs, robot submarines, and driverless cars as well as more conventional applications like marine navigation and military IFF systems.
Included in the package is a sample client called xgps. It connects to a gpsd at any host you tell it to, and requests raw data, so that it can display the current location of all visible GPS satellites your receiver ‘sees’.
Key Features
- Mature codebase – the software has been in development since 1998.
- There’s a large active development team
- Runs with zero configuration.
- High-quality, carefully-audited code.
- Cross-platform support – runs under Linux, the *BSD family, Android, with limited support for Mac OS X.
Website: gpsd.gitlab.io/gpsd
Support: Documentation, FAQ, Mailing Lists
Developer: Eric S. Raymond and many contributors
License: BSD license

gpsd is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| GPS Tools | |
|---|---|
| MOBAC | Create offline atlases for GPS handhelds and cell phone applications |
| GPXSee | GPS log file viewer and analyzer |
| Traccar | GPS Tracking Platform |
| gpsd | GPS service daemon |
| Viking | GPS data editor, analyzer and viewer |
| GPSBabel | GPS file conversion plus transfer to/from GPS units |
| GpsPrune | View, edit, and convert coordinate data from GPS systems |
| ZombieTrackerGPS | Fitness and GPS track manager designed for KDE |
| QMapShack | GPS mapping (GeoTiff and vector) and GPSr management |
| Navit | Car navigation system with routing engine |
| GPS Correlate | Correlates digital images with GPS data filling EXIF fields |
| Open Cache Manager | Easy to use program for managing your geocaches |
| Satellite | Displays GNSS information obtained from NMEA sources |
| OpenCPN | Ship-borne GUI navigation |
| Geotagging | Photography geotagging tool |
| FoxtrotGPS | GPS/GIS application designed for small screens |
| AAT Activity Tracker | Tracking sportive activities, with an emphasis on cycling |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

