On June 11th, I wrote a semi-rant “Droid 3.. to be or not to be (ICS’d)”, and I discussed the exact reasons why I was “giving up” on ICS for the Droid 3. Many of you who follow me on twitter (@hashcode0f) have seen hints that something has changed in the Droid 3 world and are seeing words like “kexec” floating around.
Here’s a review of some of the points I brought up in my earlier post and the counter point to what has changed since then.
1. 512MB RAM isn’t supported in Texas Instrument’s (maker of the OMAP4430 CPU in the Droid 3) stock kernel
Not true any more. As of a month ago, TI has merged in new memory handling to support running their stock 3.0 kernel on 512MB devices. You can see this development branch here at omapzoom.org under the “p-android-omap-3.0″. This kernel source customized with Motorola’s drivers for the Droid 3 would enable an up-to-date ICS/JB experience just like the RAZR/Droid 4 and Bionic are currently getting.
2. The “ducati” HD codec binary doesn’t support 512MB RAM devices (similar to how the 3.0 kernel doesn’t)
My original argument: even if you could customize a 3.0 kernel to run on 512MB (which I have done for the Kindle Fire), I can’t compile my own 512MB complaint ducati binary. And the one I use on the Kindle Fire probably won’t work for the Droid 3′s dual camera setup.
Not true as well now. About 3 weeks ago TI merged in code to support building the ducati binary using a 512MB memory mapping. NOTE: To-date TI has never actually built a FULL ducati binary using that 512MB memory map, but I’m working on this (more below).
3. To get a 3.0 kernel loaded on the Droid 3, we would need to use a technique known as “kexec”. This allows an existing kernel to be fully replaced in memory almost like the device was rebooted. You may have already heard of this on the RAZR where developers [mbm] and Kholk successfully booted a slightly custom version of the original 2.6 kernel (at the time). My argument was that this process for getting a kexec system to work was also time consuming.
Since then, I’ve met another Droid 3 owner (and developer) named jonpry. He was interested in putting a custom kernel on the Droid 3. So, during out discussions, I told him: “if you make kexec work on the Droid 3, then I’ll take my best shot at getting a 3.0 kernel running on it.” And he did. Not only did he rebuild their process and get it working on the Droid 3, but also solved several issues that they had on the RAZR. For example: the 2nd CPU now works as well!
Looks like I had some work to do. But where to start …
4. My last argument was that the Droid 3 doesn’t have a usable 3.0 kernel to run on it. And developing one from scratch would takes months of time and run into all of the first 3 issues.
As of the beginning of July, Motorola released the 3.0 kernel source for the RAZR and it’s a VERY good starting point for a kexec kernel to use on the Droid 3.
So, if all of these issues are now “solved” why doesn’t the Droid 3 have an ICS/CM9 ROM which works and acts like it should?
The short answer is: We do (sort of.. in progress). As of a week ago, I have a full CM9 build using a new 3.0 kernel which has been heavily modified to more closely resemble a stock kernel from TI.
- It’s using Jelly Bean ready graphics drivers
- And has the code ready to load a 512MB memory mapped ducati binary enabling HD codecs and possibly camera. NOTE AGAIN: this ducati binary actually doesn’t currently exist. But, more on that later.
Status RIGHT NOW of the ICS/CM9 build using the new 3.0 kernel:
- The newly updated graphics drivers create a fluid and fast UI like it should be in ICS and beyond (IMHO it’s actually a bit smoother than the current MotoICS-based RAZR, Droid 4 and Bionic builds due to their framebuffer issues)
- Main audio is not working, but BT/Speaker phone are
- Radio is up and running, calls work and 3G has been reported as working (VZW only, more testing for XT860 and other variants)
- Touchscreen and other sensors are fully working
- Internal SD card is not mounting for whatever reason, but external SD is
- Wifi comes up VERY solid is perhaps the best it’s ever been on the Droid 3
- Hard keyboard needs work in the device tree to fix key mappings
In general, this build is encouraging as it demonstrates how close the Droid 3 is to being brought up-to-date with the other devices that I support (RAZR, Droid 4 and Bionic). And how well it cam run ICS and the Jelly Bean builds to come.
If you’re curious about seeing this build of CM9:
- You’ll need to install Safestrap 2.0 (with kexec support) from here
- Download the KEXEC CM9 ROM from here and install as you would any other ROM in Safestrap
NOTE regarding a new 512MB ducati: I made a contact at Texas Instruments who is working with me to build this binary. It’s not the normal thing that he does, and Texas Instruments is a bee hive of activity these days. (read as: he is VERY busy with Jelly Bean changes and more). So it may take some time to figure out the new ducati build and get a working 512MB binary, but with a little patience we’ll hopefully work it out and have what we need to make this the “complete” solution that all of us Droid 3 owners are looking for.
WHAT CAN I HOPE FOR BY USING A NEW 3.0 KERNEL-BASED ROM?
- Future-proof display drivers not only supporting the ICS changes that were so badly broken prior to this kexec build, but also new features like triple buffering and vsync limits for Jelly Bean and beyond
- Functional HD codecs for YouTube and Netflix as well as other encoding / decoding features that would never have been possible in the Gingerbread-based builds
- Working camera (back, front or both possibly) using TI’s latest camera drivers which support instant picture taking, panorama, and face recognition
- The latest (and future) Wifi drivers which support new functions such as Wifi Direct and Wifi Display as well as bug fixes straight from TI’s repositories
WHAT IF I’M USING A RAZR, DROID 4 or BIONIC AND I WANT THIS TOO?
My current plan is to finish more testing on the Droid 3 and then begin using this new kernel on ALL of our supported Motorola devices. So this isn’t just good news for Droid 3 owners, it’s great news for everyone as long as we can work out the kinks and get a few missing pieces.
I will try and post more information as it happens via twitter (@hashcode0f) or on such sites as Droid Hive, XDA Droid 3 Development section, DroidRZR and/or Droid Forums, but don’t hate me if it doesn’t hit your particular forum of choice.
Pingback: [ROM] Droid3 / Milestone 3 - CyanogenMod 9 Android 4.0 ICS Solana SELFKANG - Seite 14 - Android-Hilfe.de
This is excellent news! Thank you so much for working so hard at making us not regret our droid 3 purchase.
Motorola should give you a medal for all this work.
That’s excellent! Thanks for keeping us up to date on the roadblocks and successes with the Droid 3!
Woot! This is very excite! Keep up the hard work, looking forward to this.
Wow, what a guy. Thanks for all the work.
You’ve got a guy inside TI that’s helping you? That’s awesome! I’m really excited to try this out on my D3, and can’t wait for the changes to make their way to the D4. Great news!
Great job Hash! Now I just have to wait for my d3 to come back from repair
The best news of the day, thank HASH for your hard work, you do not deserve a medal from motorola, you should be receiving salary from motorola!
Please do not forget to release fix pacht’s for Brazilian GSM operators.
A hug from a brazilian user.
As someone who received their Droid 3 the day after the Droid 4 was announced, I must say I am happy to hear of these recent developments. Between news of newer models and lack of software updates, I was growing increasingly concerned that I’d chosen the wrong phone. But knowing now that most of the cm9 hurdles have been cleared, I’m relieved, and excited for the future.
I’m really encouraged by this post, and very happy that you’ve decided to continue development for the Droid 3. I really like the phone since I wasn’t interested in the Droid 4 (I use the phone enough to have to change batteries at least once a day and I live in a rural area that’s unlikely to get LTE for some time to come). I’m not even eligible for an upgrade until March 2013, and I’m not sure I’ll want to by then. If we have solid Ice Cream Sandwich or Jellybean ROMs in the next few months, I may not buy another phone for a while.
I’m pretty comfortable with a backup/flash/ohSHIT/recover procedure that works well and I’m out of work right now with more spare time than I know what to do with. I’m no programmer and can’t help with that part, but would be willing to real-world test ROMs for you if you need an additional D3 guinea pig.
My email is available to you here, or I’m @TextEngineering on Twitter.
Keep up the great work!
Although it can run Safestrap 2.0, KEXEC CM9 ROM does not support Milestone 3(ME863@Hong Kong version)
I also did not get the x862
I think I love you a little bit. I have been cursing my D3 lately, and you’ve given me enough glimmer of hope to stick with it a little while longer.
I’d like to add my thanks for all your work with the Droid 3…I’m very appreciative!
I’m really pumped for this. This must be what terminally ill patients feel like when they find out some scientist is nearly done with the cure for what ails them.
“Radio is up and running, calls work and 3G has been reported as working (VZW only, more testing for XT860 and other variants)”:
3G is working just fine on XT860 on Bell Canada.
Didn’t test calls as I figured there was no audio anyway.. will test on BT and SP soon.
Going to wait until the new build is a bit more solid, but super hyped. I’ve been waiting around for the GB build to be started up again.. guess I now understand why we haven’t heard anything.
So glad that so many of the issues that were there before have found solutions! I guess all it takes is a rant about giving up and people decided they want to help out.
Woohooo!
Pingback: How to Eat a Hat Droid 3 developments … « Hash-of-Codes | Ansaldo Computing
Verily, Motorola ought hire you.
installed safestrap 2.0 and my screen only stuck at Motorola Logo~
Tian he, I had the same problem, I had to flash the sbf file from xda. On top of that my titanium backups weren’t running automatically so I lost a couple months on my phone. sigh. oh well.
Yeah, i also flash sbf file to recover my droid. :p
Amazing job! I would dive in but I can’t survive without main audio, right now I’m using CM 9 and its great, dont really mind not having camcorder up and running as it was slow and choppy through MotoBlur and not having video playback hasnt been that much of a deal breaker either… Great work and I will be switching for your latest the moment it has main audio!
+1 for a salary from Motorola for you!
I downloaded the kexec build and it works awesome, the only thing that’s keeping me from keeping it is that ICS won’t let me configure the APN (I know, I read that I have to backup the config file or something like that, but I read that a long time ago and I don’t have much time now to search for it) and the fact that the internal SDCard won’t mount. Oh, and the audio. Specially the audio. But otherwise, it works tremendously great!
P.S.:Am I the only one who’s getting a GoDaddy page instead of the files list? That’s not good…
I’m getting GoDaddy page too
I’m uploading the kexec build I’ve downloaded to my dropbox account so people can keep testing it, will publish link as soon as it’s up there
Well, it took like forever because my internet connection really, REALLY sucks. But here it is. http://dl.dropbox.com/u/2220809/KEXEC-cm-9-20120718-UNOFFICIAL-solana.zip
can someone upload Safestrap 2.0 (with kexec support)? His links are broken.
https://www.box.com/s/6043cd9c8e6b0f29c019
Here you go
It’s a great news!! Thanks for your efforts to keep our handset up-to-date. I have the ICS that you released here in my Droid 3 and it works better thant the stock rom.
I would like to test the new version, but i’m in Brazil. How can i configure to work with the operators here??
Thanks a lot!
Hash you are a god! This is another fine example of doing anything as long as you put your mind to it. Thank you so much for everything hash your truley amazing
Thanks a lot for all this job.
Good job Hash!! i live in Brazil too, how can i configure the operators?
Does the AOKP rom that was released on the 25th have the 3.0 Kernel? Thanks
There are no public builds using the new kernel yet. :/ still working on a graphics driver crash bug and audio issues.
Take your time! I’d rather wait for a functioning build than have you rush one out that will crash every 5 seconds (like some other roms out there :P) Thanks for all your hard work!
P.S. If you ever need a tester for like anything D3 related, I’m your guy :P
I was literally browsing around for some used Google Nexus’s and found this post on DF. I shall definitely not be getting rid of my D3 now. You are a god among men.
Hey got the kexec rom today and I must say its far smoother and much better looking than previous builds. Thanks so much for the hard work! I know the sd card won’t mount so that’s expected. However I wanted to know if its a known problem that the home button does absolutely nothing? Also, the lock screen simply won’t show up for me at all. Is that just part of this build? Just wanna know if I’m doing anything wrong! Thanks.
Hi,
Which latest ROM I should use for DROID3?
http://rombot.droidhive.com/
Regards,
Nitin
I used cm-9-20120725-UNOFFICIAL-solana.zip and outside of the initial download rush of applications, it’s working great. Was my first alternate MOD on any phone so was a little nervous but it seems to be working fine. Haven’t tried the phone features yet (bluetooth is in the car) but so far it’s very speedy and smooth.
Thanks for all the great work you’ve done on this.
So, i’ve been meaning to check out one of these alphas, but i’m still sitting on safestrap 1. How do i switch from one to the other? Can I just flash safestrap 2 on top of safestrap 1 and have everything be okay? or will that cause issues? Do I have to uninstall safestrap 1 first somehow? I really don’t want to end up bricking my phone..
just install the safestrap 2.0 apk and open it. It should say you have an old version installed. Press install safestrap and it will overwrite the old one. If you want to be extra safe, you can uninstall the old one from the same app.
Awesome thanks a lot. I’m really paranoid when it comes to this kind of thing because I’m always afraid I’m going to screw something up. Hahah.
Anyone know whats new in the 08/04 kexec rom? Also the 2.01 Safestrap?
I tried out both. It didn’t feel like it booted up right as a new OS. Camera and WiFi (sort-of) didn’t work for me but the phone portion seemed fine. But it was also late at night, I was tired and probably not the best time to be messing with my phone.
I cant connect to the camera either. Wifi is actually the strongest ive ever seen (and ive tried like every D3 Rom i could find). Other than a few things here and there, and the camera, this is the best ICS build for the D3.
At the risk of coming off as a whiney bastard who doesn’t appreciate the hard work an independent developer puts into these projects (I appreciate it, I really do), are there any release notes which might explain the different versions? The change log links 404 and I really don’t understand the difference between the AOKP, CM9 and KEXEC trains.
Thanks again.
AOKP is a modded base so to say. They are a separate group from hashcode that mods the core of the stock rom and hashcode ported that to D3. CM9 is basically the same thing. Just with different ideas behind each. Kexec however, is a whole other thing. Kexec is , if im not mistaken, a way to boot a new kernel that is not known to the device. This new kernel allows hashcode to fix all those things that are broken in AOKP and CM9. I personally prefer AOKP but am testing the kexec rom currently. You could look up the AOKP and Cyanogen Mod (thats what the CM in CM9 stands for) websites to get a better idea of what they do.
Thanks, I switched to the kexec train.
the 8/6 alpha is running very smoothly! calls work on speakerphone, 3g works, i’ve had 2 random reboots today, but other than that, this alpha can be considered a daily driver! unless you need your camera. its a HUGE improvement over the 8/4 build, which i found very sluggish. battery life is kinda poor again, but it hasnt died on me yet since i flashed earlier today.
Battery life is quite poor it seems, but almost everything is working now! I too use this as a daily driver now. Thanks hashcode!
I’ve gotten quite a few lock-ups requiring battery pulls, and a handful of random reboots. Some apps still seem to hang, and become unresponsive.
I too have quite a few annoying lockups. Often times apps seem to crash for me (possibly running out of memory?) and that is quite annoying as well. How often do you get reboots? It seems to happen about 4 or 5 times a day to me.
today, surprisingly, i havent had any random reboots, but it was easily 3-5 the first couple days on the 8/6 build. and yeah, apps are crashing quite a bit. in particular, handcent sms crashes every couple of texts, and i usually lock up when receiving text messages.
I think its just the fact that ICS uses so much memory that a lot of apps are running out and having a panic attack. That’s just my guess. However, I installed go task manager and just clear the memory every chance i get. This seems to have solved most of my freezing problems. Also, there’s a script out there called speedy that might help you with the battery problems.
i’m sitting around 74% memory used most of the time, which isnt too far off what it was running back in the GB days… but that is still a very likely culprit.
Do the Kexec builds have sound?
yes! all audio seems to be working in the 8/6 build
Any chance this will lead us to a stable and simple to use overclocking solution for our droid 3?
I believe that it is possible now that we can flash custom kernels to the device. The previous attempts that I’ve seen at overclocking have been quite unstable. That very well could change with kexec
I’m running the kexec 8/6 build. Phone audio works fine as long as I have bluetooth disabled. And bluetooth works much better in this build than in others I tried.
As others have noted, battery life is pretty poor and the camera doesn’t work. I’ve had no crashes/reboots but I may not use the phone as much as others might.
WiFi works great on open networks. My own network is secured with WPA2 and has a MAC address ACL. When trying to connect the readout is oscillating between “Connecting…” and “Saved, secured with WPA2″ and it never actually connects. Checking against my MAC ACL, the MAC address on this device no longer matches. Does the source code change what the device is reporting as the WIFI MAC address?
The other thing of mention this morning is that droidhive.com (where the source code is stored) has been replaced with a GoDaddy placeholder page.
I think the Bluetooth problem (no audio with BT enabled) has existed for quite some time even back in versions of CM9. Would be awesome to have that fixed for 9.0.0.1. In the meantime, toggle BT off. Keep up the great work, Hashcode!
Can someone tell me the state of HDMI mirroring on the droid 3 with cm9?
Hash, You wrote on xda:
“- GSM function requires a patch”
What patch? Give link please
He probably means someone has to make one
WOW!! Great news Hash, I was so disappointed when I read your last entry about giving up that started to look for a new phone altogether. Fortunately it takes me months of analysis and comparisons to buy new gadgets hehehe. I am really fond of my Droid 3 so I’ll happily wait for you and the community to advance a little more in this new direction… In a word: THANKS!!
Just saw that Motorola is finally starting to unlock bootloaders on their phones in their website. So far there’s only one supported, but more are planned to roll out.
If the droid 3 gets an official bootloader unlock, how would this affect Hash’s project?