GPSDRIVE(1)                 General Commands Manual                GPSDRIVE(1)

       gpsdrive - displays GPS position on a map

       gpsdrive [options]

       Gpsdrive is a car (bike, ship, plane) navigation system.  Displaying
       your position on a map and a lot of other functions are implemented.

       GpsDrive displays your position provided from your NMEA capable GPS
       receiver on a zoomable map . The maps are autoselected depending on
       your position. You can set prefered scale, which the program tries to
       get from available maps.

       GpsDrive was tested with a GARMIN GPS III and a Crux II GPS PCMCIA
       card. All Garmin GPS reveivers with a serial output should be usable.
       Other GPS reveivers that sends NMEA protocol over the serial output
       should work with GpsDrive.

       These GPS receivers are known to work with gpsdrive:

       Magellan 310, 315, 320
       Garminn GPS III
       Garmin etrex
       GPS 45
       Crux II GPS PCMCIA card
       Holux GM-200 serial version
       Holux GM-200 USB (needs USB to serial support in kernel)
       GPSMAP 295
       GNS 530

       Disclaimer: Do not use for navigation!

       -d     Shows some debugging information.

       -D     Shows a lot of debugging information. If you have problems or
              program crashes, send this output to the author. You should also
              combine this with -d. See also the BUGS section.

       -v     Shows program version together with the CVS version of the
              mainfile gpsdrive.c. If you send a bug report, also include this

       -h     Displays a short help message.

       -o outputfile
              With this option, you can write the NMEA sentences to a PTY
              master, file or serial device. This is useful if you use
              GpsDrive in simulation mode to provide other GPS applications
              with test data.

       -t device
              Serial port device (e.g.  /dev/ttyS0 ). You can also set it in
              the setup menu.

       -l language
              Sets the language for the speech output. You have to provide the
              voice files in festival yourself (see below). At the moment
              german , spanish and english are provided.

       -x     Creates own window for the menu buttons, status and map. This is
              helpful on small displays as the Compaq iPaq or on Head Mounted
              Displays, where the menu should be hidden.

       -s height
              Set the height of the screen, if autodetection don't satisfy
              you, height is i.e. 768,600,480,200

       -r width
              Set the width of the screen, if autodetection don't satisfy you.
              Works only in combination with -s

       -f friendsserver
              Define a friendsserver to exchange position information with
              other people. You can start your own friendsserver with the
              program friendsd , which is included.

       -n yourname
              Sets yourname which is displayed at your icon in friendsserver

       -1     Set special mode if you only have 1 mouse button, i.e. on

       -a     Disable display of battery status. Some implementations of the
              APM-BIOS are broken, so use this option if gpsdrive crashes.

       -b servername
              Use a remote NMEA server. You can start gpsd on another host ,
              which has the GPS receiver connected and display the position on
              your local machine.

       -c waypointname
              Initial position for simulation mode. Specify a waypoint name
              from your currently used waypoint list.

       -q     Disables SQL support. Only usefull if you have SQL support
              compiled in.

       First you have to choose if you want use the GARMIN or NMEA mode.

       NMEA mode.
       This is the most used mode. This mode is provided by most GPS
       receivers. To use NMEA mode, you have to start the provided program
       gpsd first. The simplest way to do this is by pressing the Start GPSD
       button in the GpsDrive menu after setting the parameters in the
       settings menu.

       This program runs as daemon in background and provides a server, which
       sends the GPS data on port number 2947.  The settings /dev/gps and 4800
       BPS are precompiled if you start gpsd by yourself. If you start it from
       GpsDrive, the settings defined in the Settings menu are used.

       You can also change the gpsd settings i.e. to ttyS1 call it with:
       gpsd -p /dev/ttyS1

       but as mentioned, it's easier to do this in GpsDrive.

       Be sure to select NMEA protocol and a baudrate of 4800 BPS in your GPS

       To see the output of you GPS do telnet localhost 2947 and after the
       connect hit the R key to see the NMEA sentences.

       NMEA sentences used
       Following NMEA sentences are used for specified informations:

       GPRMC: Position, Speed, Heading
       GPGSV: Satellite signal level display
       GPGGA: Altitude (not available on all receivers) and position of no
       GPRMC is available. In this case, speed and heading are calculated by
       PGRME: Display EPE (estimated position error), perhaps only available
       on GARMIN receivers

       GARMIN mode
       In this mode, the program only gets lat/long data, the speed and
       direction it calculates itself. There is also no display of the
       satellite signal level (this data is not supported by GARMIN protocol).

       GARMIN mode is faster (more data packets per second, in NMEA mode there
       are only 1-2 packets every 2 seconds), but the calculations the program
       makes may not be as accurate.

       If you want to use Garmin mode, simply connect the GPS receiver to your
       serial port.  Garmin mode is only provided by some GARMIN receivers.

       GpsDrive autodetects GARMIN or NMEA mode if enabled in settings menu. I
       would recommend to use NMEA mode.

Compilation without GARMIN protocol
       If you don't need the GARMIN protocol (i.e if you use only NMEA), you
       can compile GpsDrive yourself to not include the GARMIN protocol
       support. Do this with:

        ./configure --disable-garmin
        make clean
        make install

       This has the advantage to produce a smaller and faster executable.

       You can use GpsDrive without a GPS device connected. If you do so,
       GpsDrive will automatically start in Simulator mode on which the
       pointer can move on the map (if enabled in settings menu). Be sure that
       no gpsd is running for simulator mode.

       You can easily download maps from internet with the Download button.
       You may chose between Mapblast server ( and Expedia
       server (

       There are also the programs gpsfetchmap and provided to
       download multiple maps for a bigger area.
       Please consider the copyright information at and if you want to use their maps!

Route planing
       There is no route planing feature at the moment. Route planing would
       need the use of commercial maps and a database license which costs more
       than EUR 10.000.

       If you must access the internet via a proxy server, you have to set the
       enviroment variable HTTP_PROXY or http_proxy to a value like where 3128 in this example is the proxy

       You can switch on the Position mode by pressing "P" or select this
       option in the menu.

       Then, if you click with the left mouse button there a rectangle is the
       cursor and no position is shown. If you zoom or select another map
       scale with the slider, this is done for the position of the rectangle-
       cursor in the same manner as it would be your actual position.

       If you click with the left button near the border, GpsDrive will scroll
       the map or load the next map if you are on the margin of the map.

       The middle mouse button switches back to normal mode, also the "P" key
       or select the "Pos. mode" menu entry. The same if you select a target
       with the right mouse button.  Shift-left-mouse-button and shift-right-
       mouse-button changes the map scale.

       Please have also a look into the Help menu in GpsDrive to be informed
       about the actual mouse functions and key shortcuts.

Add new waypoints
       You can simply add new waypoints in two ways:

       o To add a waypoint at the current (GPS) position, simply press CTRL
       and RIGHT-mouse-click. You can also press the x key.

       o To add a waypoint at the mouse position, simply press CTRL and LEFT-
       mouse-click. You can also press the y key.

       In the popup window add the waypoint name (spaces will be converted to
       underscores) and a waypoint type (see below for predefined waypoint
       types). You can create a new waypoint type by typing it into the text
       field or choose a existing waypoint type from the list.  Important: The
       list (in SQL mode only) shows already used waypoint types, NOT the

Icons for waypoints
       You can define freely your waypoint type names. But there are special
       names, which results in special icons display in GpsDrive:

       WLAN   open WLAN accesspoint

              crypted WLAN accesspoint

       Rest   a restaurant

              a kind of restaurant

              another kind of restaurant

       Hotel  A hotel

       Shop   Shop

       Monu   Monument, touristic attraction

              Speedtrap (Radar), gives warning if this is in front of you


              a Airport

       Golf   Golf course

              a gas station

       Cafe   coffee bar

       The names are case insensitive.

       Please have also a look on README.SQL , for a actual list of waypoint

SQL support
       For managing a larger number of waypoints you should use SQL support.
       This needs to install a SQL server on your machine. At the moment, only
       MySQL is supported.

       Don't be afraid, MySQL don't need much resources, is very fast, but
       makes the management (including selection of waypoint types) of the
       waypoints much easier. In SQL mode you can select the shown waypoints
       in the setup menu.

       Please read README.SQL for information how to setup the SQL database.

       A route is a list of waypoints. GpsDrive guides you from one waypoint
       to the next on the route.  You can add waypoints to a route using the
       waypoint (select target) window. You can also add comments to a
       waypoint which will be spoken by the speech system and also be shown in
       the map window as scrolling text.

Comments for routes
       To add comments create a file with the same name as the waypoint file,
       but change the suffix to .dsc, i.e way-trip.txt and way-trip.dsc, then
       enter the comments in the way*.dsc file in the kind of:


       Now turn right, and you see the bar.


       another comment....

       There is no limit of the length of the comment. Important is to start
       the line with '$name' and the comment in the next lines.

KISMET support
       Gpsdrive supports kismet.  Kismet is a 802.11b wireless network (WLAN)
       sniffer. If you have kismet running, gpsdrive will detect it and
       program start and shows new WLAN accesspoints in realtime on the map.
       SQL mode is necessary to run Gpsdrive in Kismet mode. WLAN accesspoints
       which are already stored in the SQL database from prior wardrivings are
       ignored. If you have voice output in gpsdrive, you hear information
       about the new found accesspoint.

       Please see also the file README.kismet

       If you installed the program it will display messages in english,
       german, french, italian, dutch, dansk, hungarian, slovak, swedish,
       turkish or spanish if your language is set either with LANG or
       LANGUAGE. LANGUAGE overrides all other settings. Call "locale" to see
       the settings and call "set" if LANG or LANGUAGE is set. For german do:

       export LANGUAGE=de

       and then call gpsdrive in this shell.

       You can also start it with the line LANGUAGE=de gpsdrive without
       setting the language for the shell.

       Sometimes you have to do use LANG instead of LANGUAGE.

       If your own language isn't available, please contact me if you want to
       make the translations.

       If you want speech output you have to install the festival speech
       output system.  See for

       For german output you have to get the german festival from www.ims.uni-

       If you have a functional festival software call it as server with:

       festival --server

       When you start GpsDrive it will detect the server on port 1314 and puts
       out some status information as speech. You also have an additonal
       button (Mute) to switch off sound output.

       GpsDrive tries to select the correct language for your locale.  The -l
       option can force the languages for speech output. At the moment
       english, spanish, and german are supported. GpsDrive sets festival into
       the proper language. If the initialisation is not correct, have a look
       into gpsdrive.c and edit following defines do your needs:

       #define FESTIVAL_ENGLISH_INIT "(voice_ked_diphone)"

       #define FESTIVAL_GERMAN_INIT "(voice_german_de3_os)"

       #define FESTIVAL_SPANISH_INIT "(voice_el_diphone)"

       For this, you need the voices ked_diphone for english, german_de3_os
       for german (this is a MBROLA voice) and el_diphone for spanish.

       There is now an unsupported build of festival including english, german
       and spanish support.  Download it from GpsDrive homepage mirrors and
       extract the tar file in the directory /usr/local as root:

       cd /usr/local
       tar -xvzf festivalbuild.tar.gz

       Start the server with /usr/local/festival/bin/festival --server

       There is a server program, called friendsd which acts as server for the
       position of your friends. If you connect to the server with gpsdrive -n
       Yourname -f then you can see the position of all
       gpsdrive connected with this server. Be sure that Yourname is only one
       word and contains no spaces.

       The server uses port 50123 (TCP), so be sure that you open the port in
       your firewall. The server needs no root privileges and should run as
       normal user or a special user with no privileges. The server was NOT
       tested for security.

FRIENDSD data format (version 1)
       There is 1 data type: POS, where the format is as follows:

       POS: Fritz  47.082181  15.402043 18:11:42 101 38

       which means

       Commandtype name latitude longitude time(GMT) speed(km/h)

       The address for the mailing list is

       Subscribing can be done by sending a mail containing subscribe gpsdrive


       Please send bug reports to the author. Report version (gpsdrive -v),
       screen size and info how to reproduce the bug. It is also a big help to
       run gpsdrive for a minute with the -d option and send me the output.

       If gpsdrive crashes with a segfault, I need a backtrace of the program
       in addition. To create a backtrace do following:

       Extract the tar file, change to gpsdrive directory and do
        ./configure --with-debug
        make clean
        cd src
        gdb ./gpsdrive

       Inside the debugger do:

       run (if you use arguments write it after run)

       When you get the segfault make:


       and send me this output.

       Fritz Ganter

       This program is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       General Public License for more details.

       Copyright (c) 2001,2002 by Fritz Ganter
       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published by the
       Free Software Foundation; either version 2 of the License, or (at your
       option) any later version.