Hacker News new | past | comments | ask | show | jobs | submit login
CyanogenMod 10.0 Release (cyanogenmod.org)
135 points by rbanffy on Nov 14, 2012 | hide | past | favorite | 73 comments



The problem with the CM project is most of the devices it tries to support are not open source. What I mean is that the drivers for the radio, GPU, audio, etc. chips are not available in source form like Android itself (via AOSP). In order to compile a ROM for any device, the developers have to rely on binary blobs ripped from an official update or a different device. Unfortunately, that means bad support for devices that don't get updates by their manufacturer.

Case in point - Samsung Galaxy S2. The S2 had an official ICS ROM release by Samsung and devs managed to get a stable build of CM9 running on it. However, as of now there is no official JB update for the S2 and CM 10 is far from stable on that device. There are problems with the Yamaha sound chip (low volume), problems with the graphics chip (Hardware Composer), USB, TV-out, etc.

I am really hopeful about the new Nexus devices though. The Nexus 10 is the most OSS friendly Android device I've seen - everything except the GPU driver is available as open source.


Yep, I bought an HTC One S with the same issues. I've learnt my lesson- my first Android phone was a Nexus One so I didn't know how annoying it is. I'm buying a Nexus 4 and selling the One S.


I have CM10 running on my Galaxy S2 Epic 4g touch just fine. No stability issues whatsoever. Only problem is it can't ever find GPS.


There is a list of known issues with the latest nightlies[1]. I was talking about the international version of S2 (i9100), because that is what I tried CM10 on a few weeks ago.

[1]http://teamhacksung.org/wiki/index.php/CyanogenMod10:GT-I910...


Email Samsung and ask when they're releasing the platform documentation. It's really the only thing you can do, and it sucks.


A few months ago I was about to get rid of my quite old Galaxy Vibrant, so with nothing to lose I installed CyanogenMod on it. It's worked so well I'm keeping it as my main phone for now - it's clean, stable, and looks much nicer than the Samsung ROM. The only downside is significantly reduced battery life, but I can live with that for now.

Will definitely be trying CM10 if it's supported for the Vibrant.


Try using BetterBatteryStats to find what application are causing the most 'partial wakelocks'. Once I cleaned those up and moved the default scheduler from 'interactive' to 'ondemand', my battery life went up a lot. Even better, if you can get a third party kernel supporting the 'badass' or 'smartass2' schedulers, you'll get even better battery life.


I'm assuming people here know a bit more about this than I do, so I'll ask. Why is CM still a 3rd party developer? I'm curious as to why Google/Samsung/Motorola etc hasn't bought them out and applied their talent to make the stock setup better? Honestly, I'd much rather buy a "XYZ phone, CyanogenMod version" over to the stock Touchwiz/SenseUI etc front end. Excuse my ignorance if this is a dumb question.


Cyanogen, the initial author, was hired by Samsung some time ago. But CM is still a volunteer project, the developers don't get monetary compensation for their work, so there's nothing to buy out.


It should be fairly easy to "buy them out". Pick out the ones that do the most work and/or the work relevant to what you need done, and shoot them a letter with an NDA/check that offers them a contracting gig to get CM up and running on a device before launch.

They of course could keep on working on CM in general, and do contracting for other people as well, but at least your phone would have CM support out of the box.

I imagine the CM people could organize a bit to facilitate such contracting, but I suspect the reason this hasn't already been happening is that there just isn't really any demand from the manufacturers. I can't really say I know anything about the industry at all though, so I might just be talking crap.


Not a dumb question. Samsung hired, Steve Kondik, CM's lead developer in 2011. I'm not sure I've seen how this has affected Samsung, but I haven't really paid to much attention to their newer phones. Still, we won't ever see a CM phone by Samsung. Although I agree, that it would be preferred to any TouchWiz phone. http://www.theverge.com/2011/08/15/samsung-hires-cyanogenmod...


Just a FYI, I had a SG3 for 3 weeks and I recently got the note 2 and I have no complaints. A lot of the tweaks they implemented are pretty f'in awesome and I find myself saying "that makes sense" quite often, so maybe hiring this guy helped.

Thanks for the answers and I'm happy to see that samsung did that. I know for a fact, that if I was a company and someone was making MY product better....for free, that I'd be offering them a job. That is the kind of employee I want in house, self motivated and creative.


Great point. That's exactly the kind of employee all companies should aim to hire - someone who is genuinely excited and passionate.


I can't wait till we get to the point where you can pretty much buy any phone, download your favorite Linux/Android distribution, hit install and watch it come alive.

Phones are computers these days. And this is how we deal with computers, right? We keep installing Ubuntus, Fedoras, Windows, even OS X on any x86 box. We've got decades of experience of doing that.

The current phone market resembles the 80's home computer market: there were dozens if not hundreds different computers that were incompatible with each other. In the 90's the PC architecture had won and Linux started to be usable with the most basic components. In the 00's it became commonplace to be able to install Linux on nearly any computer you could buy off the shelf and expect 99% of things to work out of the box.

It would take till 2040 to reach this on phones if it took the same time. However, given the faster development and evolution of the phone ecosystems I would expect that we'll hit that target in 2020's or so. By then, the cpu+gpu+modem variations have converged to a few well-known architectures for which open source drivers are available. They might be slower or consume a little more power than the original drivers but nevertheless at least you can boot your phone with your own software that you downloaded somewhere.


We aren't even there yet on the desktop, plenty of printers, pci cards, etc are still undocumented Windows blobs.

It is this strange belief on the part of hardware makers that making the lives of FOSS developers harder makes them more money or something. Because they already wrote the docs - they have engineers that made the stuff. They just don't put them on pastebin or something.


It really irks me that there are no builds for older devices. What is the point of installing CM and putting up with reduced and clunky functionality, just to be left by the wayside for updates? I don't know if this is due to CM or Google itself running amok on the upstream tree, but a philosophy that considers a two year old device obsolete is utterly preposterous.


Unofficial ports will happen. CM can only fully support devices where there is at least one developer who owns the device and is willing to do the work. All their work is in the open. Just the same as any other open source project: if you want it, you need to do some work or pay someone to do it for you.


Eh? The device was supported at one time.

Ubuntu doesn't say "too bad, we no longer own any six year old Thinkpad T60's" when they release a new version. They simply leave the drivers for such devices, make changes that aren't expected to break specific hardware models, and get some stablish prereleases so they can take the occasional bug report for the leaky abstractions that did break.

Contrast to Google who AFAIK throws globs of code over the wall with all of the support for older devices ripped out. And then CM presumably uses that tree as a starting point to make changes, instead of merging into a master CM tree.

CM might just be doing the best they can to cope with Google's broken process, but the whole philosophy of brittle trees tailored for specific devices is the philosophy of embedded development, not open source. So CM comes off as aiming to be the latest eye candy fluff mod for tinkerers, rather than a solid computing base for your phone.


> Ubuntu doesn't say "too bad, we no longer own any six year old Thinkpad T60's" when they release a new version.

It's not a huge problem because new x86-based computers still have to run Windows XP (they can probably run MS-DOS too) and, therefore, cannot be that much different from the six year old Thhinkpad of your example.


But we're talking about source compatibility, not binary compatibility. So getting around the quirks of the old devices is an already solved problem, even if it needs to be #ifdef'd out for the newer devices. The problem isn't technical, it's a philosophy that treats every device as an opaque special case, rather than factoring out the common parts and abstracting out the differences. Of course the incidental complexity continues to pile up.

I've got 18 years of experience running Linux, compiling my own kernel and packages on a Slackware base up until 2002 or so. In that time I also did embedded design and development for about five years, using cp/zip/email as the ultimate revision control. I know the two philosophies pretty damn well, and I'm unequivocally stating that Android and CM are being run as embedded development projects, where code flexibility and maintainability take a back seat to just making working blobs for specific device configurations. This is ridiculous for what purports to be an open source OS running on a computer roughly equivalent to a desktop PC circa 2000.

But alas, I'm being downvoted into oblivion by non-technical fanboys who probably think that flashing a phone is a highly technical activity, rather than just annoyance due to manufacturer obfuscation (this isn't you - which is why I'm replying to your comment. it's general frustration with the non-thinking HN masses these days). The incidental complexity from the non-scalable development philosophy has built up so much that most people are incapable of even seeing my simple point.

So then, I'm out. I'll keep dreaming of being in a place where I'd have the time to dedicate to making an actual open source user-centric mobile OS to run on mass market hardware. Android will make a great Windows XP.


No, sorry. You are wrong.

Every phone is a horrible special case, and those #ifdefs do not simply map forward from one version of the OS to another, unlike on a PC where a single set of drivers will get most computers to a basic working state.

More importantly, how do you suggest they debug? When a phone OS is incorrectly configured, the most likely behaviour is simply hanging with a black screen. Distributing such releases would be worse than useless. If you want to put in the work to make CM work on your device, there are plenty of people who would help you.


> The problem isn't technical, it's a philosophy that treats every device as an opaque special case, rather than factoring out the common parts and abstracting out the differences.

IIRC, the Android kernel will merge with mainline by 3.7. At that point, all such problems will be solved.


Last I checked, CM was free, done by the work of volunteers. Sooooooo, yeah. Either help (if you have the knowledge) or don't complain about it. I'm not trying to be a dick here, but come on, it's free! Don't look a gift ROM in the mouth.


Ubuntu is a commercial venture. It pays people salaries. You do the same to someone working on a CM ROM for your phone and I'm sure your request will be granted.


I only picked Ubuntu for a timely example. This philosophy has applied to the Linux kernel and Linux distributions for at least the past 15 years.


You're not listening. Linux on the PC works on pretty much any computer because Intel eradicated the competition. If you buy a new computer, you're almost certainly running an Intel chipset with an Intel CPU, and probably Intel graphics, NIC, etc.

That makes supporting the Linux kernel for computers relatively trivial.

This is not the case with mobile.

You have dozens of CPU variants for each generation. Nevermind the unique brew of components that goes into every different model even from the same manufacturer. Every phone needs at least one developer who spends his time maintaining the kernel and drivers for that phone for each and every update.

Now, follow along. Developers are nerds. Nerds like new and shiny things. The probability of any developer sticking around with an old phone is zero. Hence, no updates. If this is a problem, learn how to code and keep your obsolete hardware working. Nobody owes you anything. It's up to you.

The cyanogenmod project doesn't maintain any phones. They just help organize various developers who are interested in specific phones and combine their work into a cohesive product. No interest in a phone? No release for that phone.


No, I've been listening. It's just that nobody has been making any actual points besides 'stfu'. So thank you for bringing the discussion back to technicals.

Your point re: Intel peripherals is true today, but wasn't really true ten years ago. It's also a bit hard to talk about the Linux kernel today, as there is obviously a lot of money and other support such that every little piece is fully tended to by someone.

So my real question is why do the old drivers have to leave the tree or at least become perma deprecated? Is there that many breaking interface changes for which drivers cannot be mostly mechanically updated? I know this is a problem that the kernel devs managed just fine over the years (sure there's been individual broken drivers accompanying major changes, but there's a big difference between saying 'the latest kernel breaks your network card' and indefinitely unsupporting your entire computer.

Maybe I'm just looking at the wrong level of CM publishes (just the releases) and hence I'm out of touch on the actual status of "unsupported" workings on various devices.

And sheesh, the alleged entitlement is the same as with any open source project - I put my faith in the project and would like to continue doing so. I'm not asking for them to conjure up someone to magically do extra work to support my device, I'm asking why they don't change their process such that this extra work is unnecessary in the first place.


> Intel peripherals is true today, but wasn't really true ten years ago.

Absolutely. Linux was a nightmare to get properly working then. Trust me, I remember. You essentially bought hardware that you knew was going to work. You couldn't buy anything just off-the-shelf and expect it work.

Same problem with mobile.

> So my real question is why do the old drivers have to leave the tree or at least become perma deprecated?

Because Google keeps messing with the kernel? Which is fine, they have to move the platform forward.

> Is there that many breaking interface changes for which drivers cannot be mostly mechanically updated?

Most drivers are closed source. You only have binaries. This is truly unfortunate. So if the manufacturer of the component doesn't release the source (almost never happens) or a new device goes on the market with the same component and updated Android (almost never happens), you're stuck in a very unfortunate place.

Even the slightest change will break everything.

> I know this is a problem that the kernel devs managed just fine over the years

No, they didn't manage shit. They hacked. Hacking takes effort and time. Nobody wants to spend time on old hardware.

> I'm not asking for them to conjure up someone to magically do extra work to support my device ..

You are asking that because ...

> I'm asking why they don't change their process such that this extra work is unnecessary in the first place.

... this isn't possible.


Every version of Android generally uses a newer kernel release, but many Android drivers are binary-only and thus cannot be updated to work with newer kernels. To get ICS working on the G2, for example, hackers had to create a frankenkernel that could load old 2.6.x drivers but had the 3.x features that ICS needs. This is a lot of work and it has to be done for every SoC. Also, I get the impression that the custom ROM community is not well-organized.


Finally an actual simple explanation about where the source of the problem actually stems from! A similar thing happened to my ATI X1400 with newer X.Orgs (So when that motherboard died, I upgraded to Intel graphics).

Reading the oldnewthing MS money story the other day, I couldn't help but feeling that something was lost with the emphasis on source compatibility and programming to the abstraction. Clearly there's countless of benefits of doing such, but I'm starting to feel as if making ABIs more prominent wouldn't be the worst thing either.


The Intel CPU with AMD64 instruction set :)


So, because Linux distribution packagers have been able to provide you with free timely updates, you expect Cyanogen team to do so too?

Why do you think you deserve anything?


There have been unofficial CM10 builds for other devices before the first official ones started.

I'm running a fairly stable one on my HTC for daily use.


You are fully welcome to contribute. CM isn't a commercial product, it lives because of its volunteers.

You don't need to be a coder to help out. You can help out with documentation, helping people in the #cyanogenmod IRC channel, etc. These jobs free up CM developer time so they can work on code.


It would be in manufacturers interest to sponsor CM. It may even work out cheaper that maintaining their possibly less-competent/more-expensive in house teams.


You're likely under the mistaken assumption that the customer in this equation is the consumer, but you would be incorrect. The customer in this equation are the carriers. And CM doesn't really benefit them.


Others have already said that it's a community project and so YMMV with respect to older phones.

I have a Samsung Galaxy S (the first one). Since this phone has quite a following I got very lucky: CM has continuously been releasing updates for it, even though it's a very old phone by todays standards. I've been using CM7 on it, now have CM9 installed and am in the progress of upgrading to CM10. CyanogenMod's support for this phone has been awesome.


Been on the CM10 nightlies ever since they started coming out for the SGS. If you are upgrading from CM9, be warned that you will wind up with a new partition layout and new user data by the time you're done with the upgrade.

Till recently, it was pretty stable and a brilliant release. There was some issue that led to awful battery drain as I kept progressing through the daily builds in the past few weeks. Resolved it by going through a full wipe than just cache wipes.

My phone is 2-years-old now and it has been a good run. For its ruggedness (multiple and frequent drops, couple of dunks in water, clumsy usage), I just don't want to give it up, but it seems like they may have trouble doing CM11 on it.

Do turn off zRAM in the performance options for better stability.


I run CM9 on the same model but I'm reluctant to upgrade on account of the 100+ open issues on the bug tracker[1] and the forum feed-back[2]. I guess I'll wait a little longer.

[1]: http://code.google.com/p/sgscm10/issues/list

[2]: http://forum.xda-developers.com/showthread.php?t=1778526


> reduced and clunky functionality

What are you referring to? I consistently find that the functionality is much better than the vanilla ROMs.

I've been running the first nightly build of JellyBean for months now (it's not even a release candidate) and I've noticed almost no issues. It's easy to forget that I'm not running the standard Android experience!


Just various little things that are off - general laggier response than sense rom, a text message along with every voicemail, odd power management with the screen not turning on when it's supposed to, lack of FM radio, etc. All little niggling things that I've been willing to put up with for an immature project with a solid foundation, with the expectation that it will mature into something greater.


Are you sure you're using the actual official CM release, or just an unofficial port? I have no problems on my Galaxy S2 (T-Mobile even!) even remotely similar to yours.


I agree. For a long time Samsung Captivate users like me were stuck with CM7. By some miracle the Captivate is supported by CM10, so I'm very excited to try it. There are other ROMs out there though. Part of the fun of flashing new ROMs is to try out the lesser known ones. There are still a lot of developers who support the older models.

To your philosophical point, I completely agree. New phones are pushed so frequently that devices become obsolete quickly. I mean, my Captivate was the first Samsung Galaxy, and now we're on the 3rd iteration already, and it's only been two years. While, I always get excited for new gadgets, the lack of support for anything over a year old is unacceptable. Few people have the inclination or money to buy a new phone so frequently. I'm not sure who to blame, but the rapid increase in technology plays a major role.


> By some miracle the Captivate is supported by CM10

It's no miracle. A generous, competent and unpaid volunteer decided to build the support for the Captivate. If your device is not supported, you are free to download the source and fix whatever breaks yourself or pay for someone else to do it.


"rapid increase in technology plays a major role" some of this is true. For instance the difference between each iteration of the galaxy series seems to come with substantial hardware improvements.

Being a cynic though, I feel that a lot of phones coming out having nothing to do with technology upgrades but instead have more to do with sustaining or growing revenue streams. Some of the iPhone upgrades have been so incremental yet so many people can't live without the newest one, even though they couldn't necessarily tell you what is new about it. I feel this way about vehicles too. Yes the styling changes, in the last couple of years fleet fuel economy has improved, and yes maybe the hp/lb (W/kg) have improved but fundamentally they are the same thing.

I still have my cappy not because there aren't newer and better phones out but because with a good rom it runs great, even though phones have been coming out for 2 years since. How hard has everyone had to twist samsung's arm to release software upgrades for their devices? I don't think it really comes down to money between the carriers and the phone makers but instead they see it as a threat. If everyone had the latest and greatest rom they would find their hardware still runs well for much longer than the average person holds on to their phone. It is simply controlled obsolescence. I am really, REALLY, happy that someone worked hard to build CM10 for the cappy as I can continue to use my perfectly good hardware for a long time.


That's really nice, but I don't think I'll be touching anything until this page is completed:

http://wiki.cyanogenmod.org/wiki/Samsung_Galaxy_S_III_(Veriz...

It just freaks me out to follow directions found on some random forum.


My whole career has been based on following directions found on some random forum.


The start of my career was based on following directions on some forum until "Never mind, fixed it!" half the time.


In my experience, CM directions in general are incomplete. Not that steps are (always) missing or the like, but sometimes they'll use an acronym or vague instruction that is simply a full-stop to someone that is new to it and just wants to try it.

Android mods like this are great ideas, but this and the other super popular mods could really use a person that takes the role of technical or documentation editor.


On the other hand, you're asking for advice on a random forum :)


d2vz2 (Verizon GS3) is fully supported. However, 3G data has issues dropping, until a TouchWiz JB RIL source is released.


Yeah, that's a real shame. Well, at some point I'll actually be able to buy my N4 and I won't have to worry about this stuff any more.


Cool. May even make the switch before long as I am still waiting for Samsung to release JB on the Galaxy Note.


Given Samsung's past in providing updates for phones you may be waiting for a long time.


It depends. Samsung has promised a pretty big Jelly Bean rollout: SGS3, SGS2, Note, tablets and even some phones going directly from Gingerbread to Jelly Bean without stopping at ICS (e.g. Galaxy Beam).

If they keep those promises (and that's a big if, of course), they'd be one of the better manufacturers. In particular, I think they'd be the only manufacturer taking some 2011 devices all the way from Gingerbread to Jelly Bean.

Personally, I expect at least the SGS2 and the Note because those devices have gotten new life with their LTE versions, but we'll see.


It's true! Though apparently a 4.1.x ROM has leaked recently, so it looks like there is work here at least


My Nexus 7 updated itself to 4.2 yesterday. Am I correct in assuming that since it is based on 4.1, if I install CM 10.0, I will lose most of the improvements in the 4.2 update?

One improvement I really appreciate is an improvement in the dynamics of scrolling among the five screens or parts of the launcher / home screen.


Yes. You should wait for CM 10.1 if you want Android 4.2.

Personally, I only use Cyanogen as a last resort on phones that no longer receive updates or that have poor stock ROMs (Samsung Captivate, for example). I have no desire to install CM on my perfectly functional and supported Nexus 7.


Still nothing stable for the intl i9300 :(


Yeah, I'm disappointed with that. I bought the phone because it was popular and I was sure it was going to have support. Guess I was wrong.

Always buy a nexus!


I'm a bit surprised that CM10 isn't more stable on the international SGS3. The official update has started and the associated kernel source is out. Those are usually the two big roadblocks.


I'm using a nightly that's reasonably stable but occasionally freezes the browser when typing in input boxes


Don't care, I have a Nexus4 being delivered and won't ever have to install Cyanogen again! (I know its a little bit different but still I won't bother).


a) What does it have to do with this post?

b) Google doesn't provide updates for Nexus phones indefinitely.


Cyanogenmod also provides many features that aren't found in the stock ROMs, like the option to modify what on-screen buttons are available, modifications to the lock screen and home screen launcher, etc


and their awesome theme engine. it brings a breath of fresh air to the interface. Of course, 99% of the themes found on xda are utter garbage but a few of them are extremely well designed.


The Nexus S won't be getting Android 4.2 without going the Cyanogen route. So even with Nexus phones you still have to chose between buying a new phone every 2 years, not having the latest version of Android or installing Cyanogenmod.


Got a reference for that? I was assuming 4.2 would be coming to the Nexus S.



Shame. Thanks for the link.


cm > stock android, that's been my experience. When I got my Galaxy Nexus, I was on cm within 2 weeks.


I have to agree. I had CM7 on my atrix and it saved my phone. I was this close "_" to getting rid of my phone because I was frustrated with the stock OS. CM7 fixed that, and gave my phone the last few months I needed out of it.

I just got the note 2 (which is dead sexy btw), and I"m going to hold off on custom roms until I get annoyed with the stock setup(ie, 2 weeks:) ). Happy to see that CM10 is kicking ass.


On the same day my Galaxy Nexus was delivered to my work place, our IT support rooted my phone and installed CM10 for me. Never looked back since.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: