Editing Free Maemo
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | + | = Free Maemo = | |
The purpose of this page is to document efforts to free the | The purpose of this page is to document efforts to free the | ||
[http://maemo.org Maemo] mobile environment as well as document the | [http://maemo.org Maemo] mobile environment as well as document the | ||
- | steps necessary to use the [ | + | steps necessary to use the [http://maemo.nokia.com/n900/ N900] |
+ | device as a fully free phone. | ||
- | At the time of writing, the N900 | + | At the time of writing, the N900 / Maemo 5 ship with a mix of free and |
+ | nonfree components. Our goal should be to figure out how to use only | ||
+ | free components while still maintaining a usable and enjoyable device. | ||
Some discussion is happening at http://maemo.org/community/maemo-developers/double_checking_free-nonfree_packages/. | Some discussion is happening at http://maemo.org/community/maemo-developers/double_checking_free-nonfree_packages/. | ||
Line 11: | Line 14: | ||
== Components in need of attention == | == Components in need of attention == | ||
- | Graph depicting status of free/nonfree components on the | + | Graph depicting status of free/nonfree components on the n900: |
[[Image:Top_level_architecture.png|800px]] | [[Image:Top_level_architecture.png|800px]] | ||
Line 17: | Line 20: | ||
(nonfree components are in red, free components are in black) | (nonfree components are in red, free components are in black) | ||
- | |||
- | '''NOTE:''' This list probably contains some items that are at the time of writing, actually free software. There is an [http://lists.maemo.org/pipermail/maemo-developers/2009-December/022747.html email thread aiming to clarify this], and once those clarifications are made certain items will be removed from the following list of non-free packages. | + | (taken from [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Top_Level_Architecture Toplevel Architecture] page on the Maemo wiki) |
+ | |||
+ | '''NOTE:''' This list probably contains some items that are actually at the time of writing, actually free software. There is an [http://lists.maemo.org/pipermail/maemo-developers/2009-December/022747.html email thread aiming to clarify this], and once those clarifications are made certain items will be removed from the following list of non-free packages. | ||
=== Sharing plugins / libsharing === | === Sharing plugins / libsharing === | ||
Line 42: | Line 46: | ||
From [http://maemo.org/api_refs/5.0/beta/libcityinfo/]: | From [http://maemo.org/api_refs/5.0/beta/libcityinfo/]: | ||
- | + | Cityinfo library allows to get some informations about set of cities | |
+ | from all over the world. Each city is connected with one timezone | ||
+ | (related to standard linux time zone database) so You can get local | ||
+ | time in given city by calling functions from libtime (clockd) | ||
+ | library. | ||
- | Maemo mapper is apparently a free replacement: http://maemo.org/downloads/product/OS2008/maemo-mapper/ | + | Maemo mapper is apparently a free replacement: |
+ | http://maemo.org/downloads/product/OS2008/maemo-mapper/ | ||
=== startup wizard === | === startup wizard === | ||
- | Presumably this is the "wizard" that appears when a user first logs in. This would be nice to be made free but is not critical. | + | Presumably this is the "wizard" that appears when a user first logs |
+ | in. This would be nice to be made free but is not critical. | ||
=== factory store / clear user data === | === factory store / clear user data === | ||
Line 60: | Line 70: | ||
http://gypsy.freedesktop.org/wiki/ | http://gypsy.freedesktop.org/wiki/ | ||
- | According to cool900: http://cool900.blogspot.com/2009/11/closed-source-components-in-maemo-5.html | + | According to cool900: |
+ | http://cool900.blogspot.com/2009/11/closed-source-components-in-maemo-5.html | ||
(2009-11-13: Gypsy daemon in location framework is in free.) | (2009-11-13: Gypsy daemon in location framework is in free.) | ||
Line 66: | Line 77: | ||
=== liblocation / location daemon === | === liblocation / location daemon === | ||
- | Some information here: http://maemo.org/api_refs/5.0/5.0-final/liblocation/LocationGPSDevice.html | + | Some information here: |
+ | http://maemo.org/api_refs/5.0/5.0-final/liblocation/LocationGPSDevice.html | ||
- | outdated stuff here: http://maemo.org/maemo_release_documentation/maemo4.1.x/node10.html#SECTION001027000000000000000 | + | outdated stuff here: |
+ | http://maemo.org/maemo_release_documentation/maemo4.1.x/node10.html#SECTION001027000000000000000 | ||
=== backup === | === backup === | ||
- | + | http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Generic_Platform_Components/Using_Backup_Application | |
=== Address book / "Contacts" application === | === Address book / "Contacts" application === | ||
- | + | http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Using_Generic_Platform_Components/Using_Address_Book_API | |
- | Sits on top of evolution backend stuff. So might not be too hard to build a UI replacement that conforms to the the same backend? | + | Sits on top of evolution backend stuff. So might not be too hard to |
+ | build a UI replacement that conforms to the the same backend? | ||
=== Media player === | === Media player === | ||
Line 86: | Line 100: | ||
=== mission control === | === mission control === | ||
- | This is a strange one because Mission Control is itself free software, which is a Telepathy component: | + | This is a strange one because Mission Control is itself free software, |
+ | which is a Telepathy component: | ||
http://mission-control.sourceforge.net/ | http://mission-control.sourceforge.net/ | ||
Line 110: | Line 125: | ||
???? | ???? | ||
- | Not even sure what this is. Supposedly single-signon related? | + | Not even sure what this is. Supposedly single-signon related? |
=== PulseAudio PEP === | === PulseAudio PEP === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#PulseAudio_Policy_Enforcement_Point]: |
- | + | PulseAudio plugin to manage volume levels, re-route streams and | |
+ | eventually forcefully shutdown streams. | ||
=== libplayback === | === libplayback === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#libplayback]: |
- | + | libplayback is a client API that allows an application to declare | |
+ | its playback state. The library uses D-Bus to talk to a central | ||
+ | component that manages the states. Media applications can use the | ||
+ | API to synchronize their playback state. | ||
=== EAP === | === EAP === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#EAP_and_AEP]: |
- | + | The EAP (Entertainment Audio Platform) package is used for audio | |
+ | post-processing (music DRC and stereo widening). | ||
=== AEP === | === AEP === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#EAP_and_AEP]: |
- | + | AEP (Audio Enhancements Package) is a full duplex speech audio | |
+ | enhancement package including echo cancellation, background noise | ||
+ | suppression, DRC, AGC, etc. Both EAP and AEP are implemented as a | ||
+ | PulseAudio module. | ||
=== FMTX middleware === | === FMTX middleware === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#FMTX_Middleware]: |
- | + | FMTX middleware provides a daemon for controlling the FM | |
+ | Transmitter. The daemon listens to commands from clients via dbus | ||
+ | system interface. The frequency of the transmitter is controlled via | ||
+ | Video4Linux2 interface. [...] | ||
=== Funambol SyncML === | === Funambol SyncML === | ||
- | Claims "Funambol is the leading mobile open source project and leading provider of open source mobile cloud sync and push email for billions of phones." | + | Claims "Funambol is the leading mobile open source project and leading |
+ | provider of open source mobile cloud sync and push email for billions | ||
+ | of phones." | ||
https://www.forge.funambol.org/DomainHome.html | https://www.forge.funambol.org/DomainHome.html | ||
Line 155: | Line 183: | ||
If it's "open source", is it really nonfree then? | If it's "open source", is it really nonfree then? | ||
- | Appears to be under the AGPL? https://core.forge.funambol.org/source/browse/core/trunk/LICENSE.txt?revision=28308&view=markup | + | Appears to be under the AGPL? |
+ | https://core.forge.funambol.org/source/browse/core/trunk/LICENSE.txt?revision=28308&view=markup | ||
=== xml2wbxml === | === xml2wbxml === | ||
- | Appears to be linked to the wbxmllib project, which is under the gpl? http://sourceforge.net/projects/wbxmllib/develop | + | Appears to be linked to the wbxmllib project, which is under the gpl? |
+ | http://sourceforge.net/projects/wbxmllib/develop | ||
=== ICD2 === | === ICD2 === | ||
Line 165: | Line 195: | ||
From [http://maemo.org/api_refs/5.0/beta/icd2/]: | From [http://maemo.org/api_refs/5.0/beta/icd2/]: | ||
- | + | The Internet Connectivity daemon, ICd2, is responsible for network | |
+ | connectivity in the device. It is started at system boot time from | ||
+ | the init script /etc/init.d/icd2, and stopped with the same script | ||
+ | at system shutdown. | ||
- | + | Applications requesting network connections do not interact directly | |
+ | with ICd2, but instead use the shared libconic library API. The | ||
+ | libconic library is the stable maintained API for network | ||
+ | connectivity, which uses internal D-Bus APIs com.nokia.icd and | ||
+ | com.nokia.icd2 APIs to communicate with ICd2. These D-Bus APIs are | ||
+ | internal and may change without further notice. | ||
libconic appears to be free though | libconic appears to be free though | ||
Line 178: | Line 216: | ||
Presumably should be replaced and made free by OFono: | Presumably should be replaced and made free by OFono: | ||
- | + | http://ofono.org/ | |
- | + | http://git.kernel.org/?p=network/ofono/ofono.git;a=summary | |
=== softupd === | === softupd === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Core_Domain#Softupd]: |
- | Program for flashing the eMMC contents | + | Program for flashing the eMMC contents |
- | + | - Unpacks a FIASCO image fed to it | |
- | + | - Copies the unpacked contents to eMMC | |
=== sysinfod === | === sysinfod === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Core_Domain#Sysinfod]: |
- | Provide interface for accessing device information | + | Provide interface for accessing device information |
- | Provide a DBUS interface to device specific information (HW id, WLAN MAC, …) | + | Provide a DBUS interface to device specific information (HW id, WLAN |
+ | MAC, …) | ||
=== CertMan === | === CertMan === | ||
- | Appears to be free or have a free implementation? http://gitorious.org/+mer/mer/certman | + | Appears to be free or have a free implementation? |
+ | http://gitorious.org/+mer/mer/certman | ||
=== OpenGL ES 2.0 === | === OpenGL ES 2.0 === | ||
Line 207: | Line 247: | ||
Can't seem to find out details about this package | Can't seem to find out details about this package | ||
- | There appear to be some free software implementation tests here, but not really usable?: http://www.khronos.org/developers/resources/opengles/ | + | There appear to be some free software implementation tests here, but |
+ | not really usable?: | ||
+ | http://www.khronos.org/developers/resources/opengles/ | ||
- | Vincent 3d is a free software implementation? http://www.vincent3d.com/Vincent3D/index.html | + | Vincent 3d is a free software implementation? |
+ | http://www.vincent3d.com/Vincent3D/index.html | ||
- | Hm, looks like the problem may be on the driver end: http://forum.openhandhelds.org/viewtopic.php?f=14&t=341 | + | Hm, looks like the problem may be on the driver end: |
+ | http://forum.openhandhelds.org/viewtopic.php?f=14&t=341 | ||
- | And it does not look likely that this is free or that it will be free soon. | + | And it does not look likely that this is free or that it will be free |
+ | soon. | ||
=== Nolo bootloader === | === Nolo bootloader === | ||
- | NoLo bootloader not only is proprietary and sucky, there's almost no documentation available for it anywhere. | + | NoLo bootloader not only is proprietary and sucky, there's almost no |
+ | documentation available for it anywhere. | ||
Some questions here: | Some questions here: | ||
http://maemo.org/community/maemo-developers/debian_on_the_n900-_configuring_nolo/ | http://maemo.org/community/maemo-developers/debian_on_the_n900-_configuring_nolo/ | ||
- | Could u-boot be a possible replacement?: http://www.denx.de/wiki/U-Boot | + | Could u-boot be a possible replacement?: |
+ | http://www.denx.de/wiki/U-Boot | ||
- | Nobody appears to have tried such a thing and there is no documentation on whether or not that will be possible. | + | Nobody appears to have tried such a thing and there is no |
+ | documentation on whether or not that will be possible. | ||
- | In the meanwhile people seem to be using bootmenu as a workaround for this completely unconfigurable bootloader: | + | In the meanwhile people seem to be using bootmenu as a workaround for |
+ | this completely unconfigurable bootloader: | ||
http://talk.maemo.org/showpost.php?p=344412&postcount=16 | http://talk.maemo.org/showpost.php?p=344412&postcount=16 | ||
- | However this isn't ideal, either from a practical or a free software perspective. U-boot is probably the best replacement option? | + | However this isn't ideal, either from a practical or a free software |
+ | perspective. U-boot is probably the best replacement option? | ||
=== Flasher === | === Flasher === | ||
- | + | http://wiki.maemo.org/Flasher | |
- | Not clear if this needs a free software replacement. If we can replace the bootloader, probably doesn't. | + | Not clear if this needs a free software replacement. If we can |
+ | replace the bootloader, probably doesn't. | ||
- | Is this a free software replacement?: http://www.nopcode.org/0xFFFF/ | + | Is this a free software replacement?: |
- | + | http://www.nopcode.org/0xFFFF/ | |
=== System UI === | === System UI === | ||
Line 245: | Line 296: | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/System_Software#System_UI]: |
- | + | SystemUI provides services to other components to display UI | |
+ | elements (dialogs, notifications, alarms) that does not have native | ||
+ | UI on their own. | ||
- | Powerlaunch aims to provide a free replacement: http://powerlaunch.garage.maemo.org/ | + | Powerlaunch aims to provide a free replacement: |
+ | http://powerlaunch.garage.maemo.org/ | ||
=== DSME === | === DSME === | ||
Line 260: | Line 314: | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/System_Software#Device_State_Management_Entity_.28DSME.29]: |
- | + | DSME is responsible of device state management , process lifeguard | |
+ | support, watch dogs and thermal management. DSME architecture is | ||
+ | based on modular plugin architecture. DSME core provides message | ||
+ | handling capabilities to modules. Each module is dynamically loaded | ||
+ | library. DSME runs in single process and is single threaded. The | ||
+ | D-Bus interface provides services to request reboot, shutdown or | ||
+ | powerup (from acting dead mode), indication of shutdown, thermal | ||
+ | events and data save. | ||
=== BME === | === BME === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/System_Software#BME]: |
- | + | Provides battery monitoring and charging service. | |
- | + | ||
- | + | Provides battery identification, monitoring, charging and BME API. | |
- | + | ||
+ | TSS interface for A/D converter calibration. | ||
+ | |||
+ | Emulation libraries for Nokia OS services. | ||
=== Clockd === | === Clockd === | ||
- | From [ | + | From [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/System_Software#Clockd]: |
- | Provides centralized place for handling time. | + | Provides centralized place for handling time. |
=== MCE === | === MCE === | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/System_Software#Mode_Control_Entity_.28MCE.29]: |
- | + | MCE is responsible of handling display control (active/dim/blank), | |
+ | activity monitoring (keys, buttons), keyboard backlight, ambient | ||
+ | light sensor (ALS), LEDs and device mode control. In addition, MCE | ||
+ | is responsible for providing interface to proximity, accelometer and | ||
+ | vibra devices. | ||
- | Powerlaunch aims to provide a free replacement: http://powerlaunch.garage.maemo.org/ | + | Powerlaunch aims to provide a free replacement: |
- | + | http://powerlaunch.garage.maemo.org/ | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
=== IPHBD === | === IPHBD === | ||
Line 303: | Line 367: | ||
From | From | ||
- | [ | + | [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/System_Software#Profiled]: |
- | + | Provides centralized place for handling (user) profiles related data | |
+ | and notifications. | ||
=== sounds === | === sounds === | ||
Line 311: | Line 376: | ||
=== fonts === | === fonts === | ||
=== themes === | === themes === | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- |
Learn more about Contributing to the wiki.