Garmin Nav devices run Gnome Linux
Jul 2, 2008 — by Eric Brown — from the LinuxDevices Archive — 61 viewsGarmin has posted Linux source code for its Nuvi 8xx and Nuvi 5xxx-series GPS navigation devices. The Nuvi 8xx offers a 4.3-inch, 480×272 display, and appears to be based on a Marvell PXA-3xx processor, Gnome Mobile Linux, and GeoClue location technology.
(Click for larger view of Nuvi 880)
It had been rumored since the Nuvi 880 and Nuvi 860 shipped several months ago that the devices were equipped with embedded Linux, but when LinuxDevices asked Garmin for source code in March, the company replied: “Unfortunately, the information about the operating system of Garmin devices is considered proprietary.” The Garmin Linux source code page, however, now lists source code for version 2.6, 2.7, and 2.8 of the Nuvi 8xx software, as well as versions 3.7 and 3.8 for the Nuvi 5xxx.
The Linux-based Nuvi 860 and 880 appear to be identical except for the latter's addition of MSN Direct traffic reports. The 850 model, which lacks the Bluetooth-based hands-free operation available in the 860 and 880, also appears to incorporate Linux.
Garmin's Nuvi 5000 |
In addition, Garmin's Linux-based Nuvi 5000 (pictured at right) is based on Linux. Designed for truckers, the 5000 model runs off automotive power only, and lacks the Nuvi 880's voice recognition, Bluetooth support, and some other advanced features. However, it offers a larger 5.2-inch display with a higher 800×480 resolution.
A quick look at the Nuvi 8xx source code indicates that the devices run a 2.6.17.7 Linux kernel on a Marvell “Monahans” processor, likely either the Marvell PXA-300 or -310. The kernel seems configured to use 64MB of RAM, and to be patched with Steven Rostedt's real-time patches.
Garmin's source code listing for the Nuvi 800 is nicely organized by license, certainly a civilized touch. And, an included patch file shows lots of kernel .config files. Here's a full list of included open source packages, with a few highlights shown below:
- gnome 2.4.0
- gnome-vfs-2.16.3
- xserver-kdrive-common-0.1
- busybox-1.01
- tinylogin-1.4
- alsa
- blueZ
- matchbox window manager
- geoclue-0.9
According to a blog by Henri Bergius, the source code list indicates that the unit is based on Gnome Mobile, which was announced over a year ago as part of the Gnome Mobile & Embedded Initiative (GMAE). The GMAE platform (see diagram below) is a subset of the Gnome desktop stack that, like Gnome, is licensed under the GNU LGPL (Lesser General Public License). It comprises C, C++, and Python APIs (application programming interfaces), and is said to include GTK+ (Gimp ToolKit), GStreamer support, Telepathy instant messaging and presence, the BlueZ Bluetooth stack, E-D-S contacts and calendaring, and Avahi network service discovery.
Gnome Mobile/GMAE architecture
According to Bergius, this is the first commercial implementation of GeoClue, a Linux-based “modular geoinformation service built on top of the D-Bus messaging system.” GeoClue is designed for creating location-aware applications on mobile Linux devices.
Consumer features of the Nuvi 880
The Nuvi 880 offers voice recognition for hands-free interaction and can recognize shortcut phrases such as “Find address,” says Garmin. The unit's Bluetooth radio enables users of compatible Bluetooth phones to make hands-free cellular calls using the 880's speaker and microphone.
The device provides voice directions in numerous voice styles, as well as City Navigator NT street maps, says the company. In addition to 2D maps, the device offers 3D digital elevation maps, plus “millions” of points of interest (POIs). Users can save their own custom POIs, as well as assign proximity alerts for upcoming POIs. For the near-sighted and forgetful, the Nuvi 880 can even be set to automatically mark a parking position when the device is removed from its optional windshield mount, enabling users to find their cars on foot.
Nuvi 880 |
The three free months of MSN Direct (not available with the Nuvi 850 or 860) provides real-time local weather, traffic, movie times, gas prices, stock information, and local news and events, says Garmin. The Nuvi 880 also offers a route planning feature that lets users save 10 routes, as well as an electronic bread crumb trail of up to 10,000 points for later trip review.
Additional features include an MP3 player, audio book player, JPEG picture viewer, currency converters, games, and an alarm clock. Audio can be fed through the car's sound system using the unit's wireless FM transmitter. There is also a new photo navigation feature that is said to let users download Google Panoramio pictures and “navigate to them.” Optional plug-in microSD cards provide Garmin Travel Guides for greater detail.
Specifications posted by Garmin, as well as gleaned from the source code, includes:
- Processor — Monahans (Marvell PXA/3xx)
- Memory — “solid state” storage, and probably 64MB of RAM
- Display — 4.3 inches (10.9 cm); 3.81 x 2.25 inches (9.7 x 5.7 cm); 480 x 272 pixels, WQVGA color TFT
- Expansion — 1 x microSD slot
- USB — 1 x USB port; optional USB mass storage device is compatible with Windows or Mac OS X only
- Bluetooth — 1 x Bluetooth 2.0; hands-free dialing feature
- Dimensions — 4.9 x 3.1 x 0.7 inches (12.5 x 7.8 x 1.8 cm)
- Weight — 6.2 ounces (176 grams)
- Battery — removable, rechargeable lithium-ion; up to 4 hours
- Other features — FM transmitter; headphone jack/audio line-out; Garmin Lock anti-theft feature
- Operating system — Gnome Linux 2.4.0
Other Linux-based navigation devices that have shipped to date include the popular TomTom Go, the Sony NV-XYZ, and the Naviflash Europe.
Availability
The Nuvi 880 is available now for $1,070, says Garmin, and the Nuvi 5000 is available for $857. Linux source code for the Nuvi 8xx and Nuvi 5xxx navigation devices should be available here. More information on Nuvi navigation devices may be found here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.