Projects / gpsd


gpsd is a daemon that listens to a GPS or Loran receiver and translates the positional data into a simplified format that can be more easily used by other programs, like chart plotters. The package comes with a sample client that plots the location of the currently visible GPS satellites (if available) and a speedometer. It can also use DGPS/ip.

Operating Systems

Recent releases

  •  06 Apr 2012 15:30

    Release Notes: This release doesn't fail when chrpath is unavailable; it falls back to static linking. This helps people not running Linux.

    •  04 Dec 2009 21:49

      Release Notes: GPSD-NG, the new JSON-based command protocol, is now deployed. As a consequence, AIS is now fully supported in both the daemon and client. Detection of the end of a fix-reporting cycle is now reliable. Accordingly, data is accumulated from cycle start and the "J" (nojitter) option on the both server and client is gone. A new driver was added for Motorola Oncore receivers. gpsfake can now accept multiple log files, interleaving test sentences from each. gpsd now accepts error estimates from the NMEA $GPGBS sentence.

      •  11 Feb 2009 00:56

        Release Notes: New drivers, new regression tests, new optimizations, and new correctness features.

        •  18 Feb 2008 06:27

          Release Notes: The C++ bindings, Garmin USB support, and multiple instances of ntp pps thread starting were fixed. Handling of odd PPS signals was improved. The eye candy in the PHP visualizers was fixed.

          •  01 Jan 2008 21:23

            Release Notes: While work has occurred on other drivers since the last release, the key reason for pushing this release is to fix a nasty brown-paper-bag bug in the handling of leap years. This caused the date to be wrong by one day until the leap day in February.

            Recent comments

            13 Jan 2007 14:27 gvy

            re license change
            > Many changes were made, perhaps the most obvious

            > being the switch from the GPL to the BSD license to

            > facilitate commercial use.

            Usually the author(s) are better off providing dual-licensed code, (L)GPL and commercial -- if it's 3rd party commercial use to be facilitated, they might earn some money (which is proper); if it's in-house, then authors aren't bound by the license they designated themselves as they can also use any other license for any other party or, well, themselves.

            Those crying for BSD license are usually either misunderstanding the licensing, or didn't even read and understand GPL themselves. Historically, BSDL (almost public domain statement but coming with arrogant and problematic advertising clause -- absent in "revised" one) started accompanying code written for government grants, which is way different from independent authors.

            Just in case someone bothered you enough... although this might be bothering as well. :-)

            12 Oct 2003 03:01 ciagon

            Re: Protocol Document
            Thanks, I wrote that :).


            16 Jun 2003 01:45 zcougar

            Re: Protocol Document
            You can find some documentation of protocol here: (

            21 Mar 2003 17:50 ciagon

            Protocol Document
            Is there any documentation on the gpsd protocol. Here is what I have figured out so far:

            P=lat lon
            D=utc (?)
            V=speed (unit?)
            R=0/1 (no idea?)
            S=status (?)
            M=mode (?)

            Also, is there a publicly available server to test on? My only gps is wired into my car, and its more fun to develop and test indoors.

            15 Jul 2002 23:56 jreich

            GPSD differential over IP
            I'm having some strange problems using the differential GPS over IP feature of GPSD.

            Running on a Win2K or WinXP PC using Cygwin 1.3.10-1, gpsd is misbehaving strangely. First of all, it can't seem to get a differential lock until I telnet to the gpsd port and hit "dp" a few times to grab some data. The first few dp's yield no data (i.e. coordinates are all 0.0), and then suddenly one of them gives real lat and long and the Ds show up on my GPS display. If I run at a higher debug level (-D 4), I don't see the dgps server data show up until I've done the 2 or 3 dps.

            Without doing this, I've waiting as long as 20 minutes without ever achieving a differential lock.

            This wouldn't be so bad, but I can also only keep gpsd running for about 10 minutes at a time. After that, the telnet port becomes unreponsive and the differential lock goes away. On the display of ps, a "0" appears next to the gpsd process.


            -- Jim


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.