n800 notes
Based on talking with Josh, looks like at least these bits are proprietary:
- The userspace code (gstreamer stuff) to talk to the DSP. Kernel module
might be open, but is thin.
- only matters for sound output, you can skip the DSP and use the sound chip via omap alsa driver. Moving mp3 etc decoding from DSP to CPU has batterly live cost.
- Browser (based on opera). Not that this matters.
- There's a "umac" module, which is proprietary and is needed for wifi.
- The "flasher" program that is used to flash kernel etc seems to be proprietary itself, with a click-through: http://maemo.org/downloads/d3.php
- Boot loader is "NoLo". It supports booting off from SD cards as well.
Open bits:
- Every driver in kernel except wifi is GPL.
- X server seems to be "Xomap", which seems is open. There's stuff built into the kernel to support this.
- Other half of the wifi support is cx3110x with GPLed driver (firmware?)
- cx3110x reportedly works with modified prism54 driver, see below.
- prism54 project includes also a free firmware project
- camera
- touch screen
- etc.
Kernel guide and sources:
- http://maemo.org/platform/docs/howtos/howto_kernel_guide_bora.html
- http://repository.maemo.org/pool/maemo3.0/free/source/kernel-source-rx-34_2.6.18.orig.tar.gz
- http://repository.maemo.org/pool/maemo3.0/free/source/kernel-source-rx-34_2.6.18-osso29.dsc
- http://repository.maemo.org/pool/maemo3.0/free/source/kernel-source-rx-34_2.6.18-osso29.diff.gz
full GPL wifi driver:
Developer docs:
- http://maemo.org/platform/docs/how-to.html
- http://maemo.org/maemowiki/HowTo_EASILY_Boot_From_MMC_card
Neal Walfield has some very interesting info and thoughts: http://walfield.org//blog/2007/01/29/maemo.html