I am currently building an onboard computer based around the Beagleboard.
I've had a go at making OpenCPN
work on it. So far pretty good, here's a bit of feedback:
- The system: Beagleboard xM rev A + Ubuntu 10.10 omap
Getting the source: as easy as typing 'git clone'. (with a properly setup network)
- Compiling: I got hit by the 'missing gdk-pixbuf' bug (FS#161 : gdk-pixbuf/gdk-pixbuf.h: No such file or directory), but other than this it went fine. I just added the proper path in the CMakeCache.txt as advised.
- GPS: I am using a standard USB gps receiver. I used the gpslib method as suggested in the help. I worked fine despite a 'different gps lib version' warning. Not sure where it came from, perhaps I upgraded gpsd after compiling? Also, seeing that gpsd itself takes 1-2% of the CPU, I am wondering whether or not to run directly into NMEA mode to save some cylces.
- Charts: Got Marco's v30 of the NZ charts, perfect!
- Running: getting OpenCPN started was just fine. The whole browsing and zooming around works pretty well, although it feels overall kind of sluggish and non-intuitive at times. I get the same behaviour on my 'high-end' laptop, though, so it feels more like the software is not making much use of graphics acceleration rather than a limitation of the computer. The Beagleboard has an SGX graphics accelerator with OpenGL ES 2 support, so I may have a look at how to take advantage of that (or is there already something for that in the code?).
- Another issue that is slightly more problematic is memory usage. The BeagleBoard has 512MB of RAM, which is way enough to get the GDM and OpenCPN running correctly. However, every time OpenCPN loads a new chart for display, it takes a little chunk of memory which it never frees. After a while, the RAM gets completely full and the system just freezes. I am not quite sure how the system handles full-memory problems (there is no swap partition and I don't know about virtual memory). It might be handy to have an option to limit the chart cache size or the number of charts kept in memory.
That's it for now. I actually haven't taken it out for a ride yet as I still have to finish setting up the computer (and other pressing matters), but it definitely feels promising.