ModRana is a flexible GPS navigation system for mobile Linux devices.

Section: user/navigation
Maintainers: Martin Kolman
TMO-Thread: Link
Package: Link
Bugtracker: Link


[edit] Feature overview

A guide to the modRana GUI
Map overlay with a route to a local search result (a restaurant)
The finger friendly main menu
Route elevation profile - the vertical line shows the current position on the route


  • big, finger friendly buttons
  • automatic landscape/portrait rotation

map display

  • from map tiles
  • semi-transparent layer-over-layer overlay is supported
  • map scaling (2X, 4X)
  • automatic map rotation

tile download

  • automatic (can be turned off)

batch tile download

  • current area, area currently shown on map, area around a tracklog
  • radius and zoomlevel range can be set
  • fully threaded, can be run in background, completion is signalized by a notification

tile storage

  • compatible with TangoGPS
  • optional sqlite tile storage (massive space savings)

online routing

  • using Google Directions
  • Point2Point, Adress2Address, to POI, Combined
  • detailed route info
  • result can be saved as a GPX tracklog
  • multilingual (English, Czech, Russian, Chinese, Spanish, German, ...)

offline routing

  • searches for routes without the need for Internet connection
  • routing is much faster than online routing
  • mode based results (Car, Walk, Cycle; Bus & Train get results for Car)
  • uses monav-server as backend
  • directions are currently quite basic
  • see the modRana offline routing guide for more information

Turn-by-turn navigation with voice directions

  • turn description shown per-turn with big friendly letters
  • navigation info box can by hidden into a button
  • voice directions work even when the screen is off
  • voice output can be turned off
  • power-users can edit voice parameters using the "manual" mode


  • in GPX format
  • optimized track display
  • route elevation profile
  • elevation data download from Geonames

track logging

  • configurable
  • statistics
  • directly to GPX

online POI search

  • using Google Local Search
  • search for ATMs, Pizza, WiFi, Landmarks, EV charging stations, etc.
  • addresses and telephone numbers for results
  • around current position, live distance display
  • custom query support


  • you can save as a POI:
    • your current position
    • a point on the map
    • local search results
    • manually entered coordinates
  • easily accessible routing from current position to POI
  • easy stored POI modification
  • categories
  • CSV export

configurable UI

  • configurations are per mode (bike,car,bus,walking,train,etc.)
  • size and position of all UI elements can be customized
  • using the main config file
  • interactive configuration <- PLANED

information widgets

  • semi transparent
  • time, speed, stats, coordinates, route profile, distance remaining, etc.
  • also per mode
  • same config
  • also should be interactively configurable in the future

[edit] Roadmap

See the roadmap wiki page for the current modRana roadmap. In short, the main item on the current roadmap is a new Qt based GUI, in addition to the current GTK based one.

[edit] Supported devices

[edit] Maemo 5 @ N900

ModRana is conveniently available directly from the location&navigation category in Extras-Devel.

[edit] MeeGo 1.2 @ N9,N950

Porting to Harmattan is a work in progress - see the roadmap for more info. It is already possible to run modRana with the currently available GTK GUI but it should be much more usable once the Qt based GUI is in a usable state.

[edit] SHR @ OpenMoko Neo FreeRunner

ModRana also runs on this good-old open hardware smartphone, get packages from the Neo download section.

[edit] Manual installation

First make sure you have the core dependencies:

  • Python 2.5+
  • GTK
  • PyGTK

There are also some optional dependencies that modRana will use if available:

  • espeak - for voice output

Then download the tarball, unpack it somewhere and run the file. You can make modRana use a specific device module by suppliing a command line argument:

  • neo - modRana will use the Neo FreeRunner device module
  • n900 - modRana will use the N900 device module
  • android_chroot - modRana will use the device module for Android chroot

[edit] Resources