Company / developer | Cyanogen (Steve Kondik), CyanogenMod team |
---|---|
Programmed in | C (core), C++ (some third party libraries), Java (UI) |
Source model | open source |
Initial release | 3.1 (Dream & Magic) |
Latest stable release | 7.1.0 (various) / October 10, 2011 |
Marketing target | Firmware replacement for Android Mobile Devices |
Supported platforms | ARM |
Kernel type | Monolithic, Linux kernel modified |
Default user interface | ADW.Launcher |
License | Apache License 2 and GNU General Public License v2[1] |
Official website | www.cyanogenmod.com |
CyanogenMod is an after-market replacement for the firmware (ROM image) of over 60 mobile phones and Internet tablets. Based on the Android mobile computer operating system, it offers features and options not found in the official firmware distributed by vendors of these devices.
Features supported by CyanogenMod include native theming support (also called the "T-Mobile Theme Engine"), a codec for the Free Lossless Audio Codec (FLAC), a large Access Point Name list, an OpenVPN client, a reboot menu, support for Wi-Fi, Bluetooth, and USB tethering, CPU overclocking, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth and GPS), as well as other interface enhancements. CyanogenMod is also stated to increase performance and reliability compared with official firmware releases.[2] Over time, Stock releases of Android (which CyanogenMod is based upon) have come to include features first included in CyanogenMod, such as USB Tethering.
CyanogenMod is developed as free and open source software based on the official releases of Android by Google, with added original and third-party code.
Although only a subset of total CyanogenMod users elect to report their use of the firmware,[3] as of 7 December 2011, CyanogenMod has recorded over 900,000 active installs on a multitude of devices.[4]
Contents[hide] |
Soon after the introduction of the HTC Dream (named the "T-Mobile G1" in the United States) mobile phone in September 2008, a method was discovered to attain privileged control (termed "root access") within Android's Linux-based subsystem.[5] Having root access, combined with the open source nature of the Android operating system, allowed the phone's stock firmware to be modified and re-installed onto the phone.
In the following year, several modified firmwares for the Dream were developed and distributed by Android enthusiasts. One, maintained by a developer named JesusFreke, quickly became popular among Dream owners. In August, 2009, JesusFreke stopped work on his firmware, and suggested users switch to a version of his rom that had been further enhanced by developer Cyanogen (Steve Kondik) called "CyanogenMod".[6]
CyanogenMod quickly grew in popularity, and a small community of developers, called the CyanogenMod Team (and informally as "Team Douche"),[7] made contributions. Within a few months, the number of devices and features supported by CyanogenMod blossomed and CyanogenMod quickly became one of the most popular Android firmware distributions.
Steve Kondik released CyanogenMod 6, based on Android 2.2 codenamed Froyo, for the Nexus One, Dream, Magic, Droid, Aria, Legend, Desire, Evo 4G, Hero, Wildfire, Incredible and myTouch 3G Slide.[8] A release candidate of CyanogenMod 6 became available on 11 July 2010,[9] and the stable version was released on 28 August 2010.[10]
CyanogenMod 7 firmware is based on Android 2.3 Gingerbread with additional custom code contributed by the CyanogenMod Team. The custom portions of CyanogenMod are primarily written by Cyanogen (Steve Kondik) but include contributions from the xda-developers community (such as an improved launcher tray, dialer, and browser) and code from established open source projects (as with the inclusion of BusyBox in the shell).[11]
CyanogenMod 7 development began when Google released Android 2.3's source code.[12] On 15 February 2011, the first release candidates of CyanogenMod 7 was rolled out on several of the supported devices.[13][14] The fourth release candidate was released on 30 March 2011 and brought increased support for the Nook Color and similar devices as well as many bug fixes.[15] On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3.[16] The latest stable version, CyanogenMod 7.1, was released on 10 October 2011, based on Android 2.3.7.[17]
CyanogenMod version 8 was planned to be based on Android 3.x Honeycomb. However, no source code for Honeycomb was provided by Google until it appeared in the tree history of the Android 4.0 Ice Cream Sandwich source release. Since Honeycomb was superseded by Ice Cream Sandwich, the release schedule will advance from CyanogenMod 7 directly to CyanogenMod 9.
CyanogenMod 9 is based on Google's Android 4.x Ice Cream Sandwich.[18] Steve Kondik and his team have announced that they have begun work on the new release after Google released the source code of Android 4.0.1.[19] By the last days of November, some alpha versions had been distributed, in particular for the Samsung mobile phones Nexus S and Galaxy S.[20]
The CyanogenMod source code repository also contains the ClockworkMod Recovery (a "recovery image", maintained by Koushik "Koush" Dutta), which is used to install CyanogenMod and other custom upgrades. A recovery image is a special boot mode, which is used to back up or restore the device's storage and repair or upgrade system software. ClockworkMod Recovery can be automatically installed onto many rooted devices supported by CyanogenMod with Dutta's companion app, "Rom Manager", which is available on the Android Market.
Until recently, the response of tablet and smartphone manufacturers and mobile carriers has typically been unsupportive of third-party firmware development. Manufacturers had expressed concern about improper functioning of devices running unofficial software[21] and related support costs. Moreover, firmware such as CyanogenMod sometimes offers features for which carriers would otherwise charge a premium (e.g. tethering). As a result, technical obstacles such as locked bootloaders and restricted access to root permissions were common in many devices.
However, as community-developed software has grown popular[22][23] and following a statement by the Librarian of Congress (US) that permits the use of "jailbreaking" mobile devices,[24] manufacturers and carriers have softened their position regarding CyanogenMod and other unofficial firmware distributions, with some, including HTC,[25] Motorola[26] and Sony Ericsson [27], even actively providing support and encouraging development.
In 2011, the need to circumvent hardware restrictions to install unofficial firmware lessened as an increasing number of devices shipped with unlocked or unlockable bootloaders, similar to the Nexus series of phones. Device manufacturer HTC has announced that it would support aftermarket software developers by making the bootloaders of all new devices unlockable,[21] and Samsung sent several Galaxy S II phones to the CyanogenMod team with the express purpose of bringing CyanogenMod to the device.[28] Mobile carrier T-Mobile has voiced its support for the CyanogenMod project, tweeting "CM7 is great!"[29]
Until version 4.1.11.1, CyanogenMod included several proprietary software applications by Google, such as Gmail, Maps, Market, Talk, and YouTube, as well as several proprietary hardware drivers. These packages were included with the vendor distributions of Android, but not licensed for free distribution. After Google sent a cease and desist letter to CyanogenMod's chief developer, Steve Kondik, in late September 2009 demanding he stop distributing the aforementioned applications, development ceased for a few days.[30][31][32][33] The reaction from many CyanogenMod users towards Google was hostile, with some claiming that Google's legal threats hurt their own interests, violated their informal corporate motto "don't be evil" and was a challenge to the open source community Google claimed to embrace.[34][35][36]
Following a statement from Google clarifying its position[37] and a subsequent negotiation between Google and Cyanogen, it was resolved that the CyanogenMod project could continue, albeit in a form that did not directly bundle in the proprietary "Google Experience" components.[38][39] It was determined that the proprietary Google apps may be backed-up from the Google-supplied firmware on the phone and then re-installed onto CyanogenMod releases without infringing copyright.
Cyanogen has also warned that while issues no longer remain with Google, there are still potential licensing problems regarding proprietary, closed-source device drivers.[40] However, he is rebuilding the source tree, and believes the licensing issues with drivers can be worked out. He is also receiving assistance from Google employees.[41]
CyanogenMod has been used on an HTC G1 Android phone coupled with an Arduino board to create the autonomous "brain" of a robot.[42]
CyanogenMod Version | Android version | Release date |
Notable changes |
---|---|---|---|
3.1 | Android 1.5 (Cupcake) | 2009 | |
3.2 | 2009 | ||
3.3.x | 2009 | ||
3.4.x | 2009 | ||
3.5.x | 2009 | ||
3.6.x | 2009 | 3.6.8 onwards based on Android 1.5r3 | |
3.9.x | 2009 | 3.9.3 onwards has FLAC support | |
4.0.x | Android 1.5/6 (Cupcake/Donut) | 2009 | |
4.1.x | 2009 | 4.1.4 onwards based on Android 1.6 (Donut); QuickOffice removed from 4.1.4 onwards; Google proprietary software separated due to cease and desist from 4.1.99 onwards | |
4.2.x | 2009 | 4.2.3 onwards has USB tethering support; 4.2.6 onwards based on Android 1.6r2; 4.2.11 onwards added pinch zoom for Browser, pinch zoom and swipe for Gallery | |
5.0.0 | Android 2.0 / 2.1 (Eclair) | 2010-02-14[43] | |
5.0.1 | 2010-02-14[44] | ||
5.0.2 | 2010-02-14[45] | ||
5.0.3.x | 2010-02-20[46] | ||
5.0.4.x | 2010-02-27[47] | ||
5.0.5.x | 2010-03-19[48] | ||
5.0.6 | 2010-04-16[49] | ||
5.0.7 | 2010-05-25[50] | ||
5.0.8 | 2010-07-19[51] | Introduced ADWLauncher as the default launcher | |
6.0.0 | Android 2.2 (Froyo) | 2010-08-28[10] | Introduced dual camera and ad-hoc wifi support |
6.1.x | 2010-12-06[52] | 6.1.0 onwards based on Android 2.2.1 | |
7.0.x | Android 2.3 (Gingerbread) | 2011-04-10[16] | 7.0.0 onwards based on Android 2.3.3 |
7.1.0 | 2011-10-10[53] | Based on Android 2.3.7 |
CyanogenMod officially supports over 60 devices, with many non-official ports also available. Devices that are considered officially-supported include the following:[54]
Manufacturer | Model | Code name | Device type | Notes | Latest CM support |
---|---|---|---|---|---|
Advent | Vega | vega | tablet | 7.1.x | |
Barnes and Noble | Nook Color | encore | tablet | 7.1.x | |
Commtiva | Z71 | z71 | phone | Also sold as Apanda A60, Chinavision Excalibur, Cincinnati Bell Blaze, Gigabyte Gsmart G1305, Motorola XT502, Muchtel A1, Nexian Journey, Optimus Boston, Orange Boston, Spice Mi-300, Vibo A688, WellcoM A88 | 7.1.x |
GeeksPhone | One | one | phone | 7.1.x | |
GeeksPhone | Zero | zero | phone | 7.1.x | |
Nexus One | passion | phone | Made by HTC | 7.1.x | |
Nexus S | crespo | phone | Made by Samsung | 7.1.x | |
Nexus S 4G | crespo4g | phone | Made by Samsung | 7.1.x | |
Hewlett Packard | TouchPad | tenderloin | tablet | As of 2011 has pre-full official CM support (alpha) | |
HTC | Aria | liberty | phone | 7.1.x | |
HTC | Desire (GSM) | bravo | phone | 7.1.x | |
HTC | Desire (CDMA) | bravoc | phone | 7.1.x | |
HTC | Desire HD | ace | phone | Also marketed as AT&T Inspire 4G | 7.1.x |
HTC | Desire S | saga | phone | 7.1.x | |
HTC | Desire Z | vision | phone | Also marketed as T-Mobile G2 | 7.1.x |
HTC | Dream | dream_sapphire | phone | Also marketed as T-Mobile G1 & Era G1 | 6.1.x |
HTC | Eris | desirec | phone | 7.1.x | |
HTC | Evo 3D (CDMA) | shooter | phone | As of 2011 has pre-full official CM support (alpha) | |
HTC | Evo 4G | supersonic | phone | 7.1.x | |
HTC | Evo Shift 4G | speedy | phone | 7.1.x | |
HTC | Hero (CDMA) | heroc | phone | 7.1.x | |
HTC | Hero (GSM) | hero | phone | 7.1.x | |
HTC | Incredible | inc | phone | 7.1.x | |
HTC | Incredible 2 | vivow | phone | 7.1.x | |
HTC | Incredible S | vivo | phone | 7.1.x | |
HTC | Legend | legend | phone | 7.1.x | |
HTC | Magic | dream_sapphire | phone | Also marketed as T-Mobile myTouch 3G, Rogers HTC Magic, DoCoMo HT-03A | 6.1.x |
HTC | myTouch 4G | glacier | phone | Also marketed as HTC Panache. | 7.1.x |
HTC | myTouch 4G Slide | doubleshot | phone | As of 2011 has pre-full official CM support (alpha) | |
HTC | myTouch 3G Slide | espresso | phone | 7.1.x | |
HTC | Sensation | pyramid | phone | As of 2011 has pre-full official CM support (alpha) | |
HTC | Tattoo | click | phone | 7.1.x | |
HTC | Wildfire | buzz | phone | 7.1.x | |
Huawei | U8220 | u8220 | phone | Also marketed as T-Mobile Pulse | 7.1.x |
LG | T-Mobile G2x | p999 | phone | 7.1.x | |
LG | Optimus 2X | p990 | phone | Also marketed as LG Optimus Speed | 7.1.x |
LG | Optimus Black | p970 | phone | As of 2011 has nightly only official CM support | |
Motorola | Atrix 4G | olympus | phone | As of 2011 has nightly only official CM support | |
Motorola | Backflip | motus | phone | 7.1.x | |
Motorola | Cliq | morrison | phone | Also marketed as Motorola Dext | 7.1.x |
Motorola | Cliq XT | zeppelin | phone | Also marketed as Motorola Quench | 7.1.x |
Motorola | Defy | umts_jordan | phone | 7.1.x | |
Motorola | Droid | sholes | phone | Official CM support for only the Motorola Droid, not the Motorola Milestone | 7.1.x |
Motorola | Droid 2 | cdma_droid2 | phone | 7.1.x | |
Motorola | Droid 2 Global | cdma_droid2we | phone | 7.1.x | |
Motorola | Droid X | cdma_shadow | phone | 7.1.x | |
Samsung | Captivate | captivatemtd | phone | 7.1.x | |
Samsung | Fascinate | fascinatemtd | phone | 7.1.x | |
Samsung | Galaxy S | galaxysmtd | phone | Official CM support for only the International Version (GT-I9000), Bell Vibrant (GT-I9000M), and Telcel Galaxy S (GT-I9000T); no other models | 7.1.x |
Samsung | Galaxy S II | galaxys2 | phone | Official CM support for only the International Version (GT-I9100), Bell Vibrant (GT-I9100M), and Telcel Galaxy S (GT-I9100T); no other models | 7.1.x |
Samsung | Galaxy S II (AT&T) | galaxys2att | phone | 7.1.x | |
Samsung | Mesmerize | mesmerizemtd | phone | 7.1.x | |
Samsung | Showcase | showcasemtd | phone | 7.1.x | |
Samsung | Vibrant | vibrantmtd | phone | 7.1.x (Support removed) [55] | |
Sony Ericsson | Xperia Arc | anzu | phone | 7.1.x | |
Sony Ericsson | Xperia Neo | hallon | phone | 7.1.x | |
Sony Ericsson | Xperia Mini | smultron | phone | 7.1.x | |
Sony Ericsson | Xperia Mini Pro | mango | phone | 7.1.x | |
Sony Ericsson | Xperia Play (GSM) | zeus | phone | 7.1.x | |
Sony Ericsson | Xperia Ray | urushi | phone | 7.1.x | |
Sony Ericsson | Xperia X8 | shakira | phone | 7.1.x | |
Sony Ericsson | Xperia X10 | es209ra | phone | As of 2011 has nightly only official CM support | |
Sony Ericsson | Xperia X10 Mini | robyn | phone | 7.1.x | |
Sony Ericsson | Xperia X10 Mini Pro | mimmi | phone | 7.1.x | |
ViewSonic | G Tablet | smb_a1002 | tablet | 7.1.x | |
ZTE | Blade | blade | phone | Also marketed as Orange San Francisco | 7.1.x |
ZTE | V9 | v9 | tablet | 7.1.x |
|