A Little Explanation and Clarification for CM9

Search This thread

dragonzkiller

Inactive Recognized Developer
Jun 29, 2011
267
1,367
Wouldn't You Like To Know?
It has come to my attention that a few people have been misunderstanding a few recent posts by myself. This is post is to clear the waters up a bit and to explain my position as a developer here on XDA.

As many of you guys know, we're probably the most lively "dead" device on XDA. At least in my opinion that is. We have been through a lot as a community but we still manage to survive. But recently things have been getting a little tense.

I received this device last summer like most of you have. When I got it, I immediately started figuring out how to get CM7 on it. Problem is that it was my first Android phone and with all the ways that Motorola locked it down I had a lot to learn and no time to learn it. After I learned off and on how to get things working on the X2 during the NO free time I had last fall I cranked out a pretty much solid CM7 in a week.

Now for the explanation for CM9/ICS. Most people probably think that since I could crank out CM7 so fast that I would be able to do the same with CM9 and make it just as good and amazing as CM7. Although I had it booted on the first build, it was FULL of errors and the touch screen didn't even work. ICS and CM9 is definitely not as easy as CM7. CM7 was already a year and a half in the making and had most of the problems worked out on all the devices that when it finally came time for us, it would just as smooth as butter as soon as it was booted. CM9 hasn't had time to develop into a "smooth" ROM for most devices; especially non-official like ours. The code for the touchscreen to work wasn't even in CM9 on my first build, for example. The problems for CM9/ICS can be narrowed down to a few things:
  1. Graphics Memory
  2. No Official ICS
  3. Kernel Improvements

Graphics Memory and No Official ICS: Due to the way that ICS handles the way it puts stuff on our screen we run into Video RAM (VRAM) problems on our device. Basically the routines that control it are expecting the memory to be mapped (stored) in a certain way in VRAM. On a device that has ICS officially, this isn't as big as a problem as the proprietary files (props) are coded to respond to those requests and mappings and as such run smoother. If a device doesn't have ICS, most it usually has a similar device in which props can be pulled and ran accordingly.
This is not the case for Tegra 2 phones as no Tegra 2 device has official ICS. In fact the Tegra kernel (just looked this up) is only at 2.6.34-rc3 officially and have a 3.1.10 kernel in developement (Motorola can update it again to .35 if they wish to do so like for the ATRIX). Because of the lack of an official Tegra 2 kernel for Linux 3.X, and likewise the props for such kernel, we can't have props that handle the requests the system is asking for. And even if another phone gets updated, we're locked and stuck, so It doesn't matter either way. This means that VRAM problems will probably always be there and that there is nothing that I can do for it. Best thing I can hope for (and this is slowly making it's way through CM9) is that the code in CM9 is updated to allow us to handle the VRAM differently like in CM7/GB.

Kernel Improvements: The kernel (that's supposed to be) for ICS is 3.0 or higher. This includes changes in memory as stated above, touchscreen handling, device interaction with the kernel and many others. That being said, we don't have those improvements thus causing problems. These include memory as stated above, touchscreen not working (obviously fixed), data usage not working, data monitoring not working, and a few various ways other routines to draw to the screen and handle other things (such as why Chrome is picky). Some of these can be backported (downgraded) to our kernel with mixed results.
Problem is they have to be complied with our kernel and must match the kernel version in every way. That is why the kernel check is in CM7 and CM9. I can slowly work through implementing these routines through drivers known as kernel modules (mods). I have made mods for data usage (with a few issues) and another one (which not sure what it's supposed to do yet). I cannot (as in it's impossible) write them to change the memory handling. If I could even build them the kernel won't let me load them due to routines of same name fighting for control.
Think of it like the phone is a car and you and your friend are in the front (the kernel routines) and you have the exact same name. Meanwhile, you have another friend in the back (the OS). The OS says, "Hey Routines Named the Same, grab the wheel and turn turn left!" You would turn it to your left, but your friend (the other routine) has a different view of what left is and instead wants to go to your right. Obviously some problems arise.

Regarding the Soft Keys Issue: I know a few of you guys are a little upset regrading the fact that I won't add the soft keys in there by default. I have a justifiable reason behind not adding them: our phone already has buttons.
Our phone was designed to have hardware buttons that separate from the screen. Adding more buttons to the screen for buttons that already exist is not advantageous. It also unnecessarily takes up screen space that makes our phone our phone. Now you may be thinking, "Well the GNex has the soft keys on the screen..." You are correct. But the screen itself has actually been extended (as in a non-standard physical height) to accommodate for the soft keys and also has no hardware buttons for the menu and home, etc. In fact! The Nexus S (a still HIGHLY developed for, supported device and previous "Google Phone") doesn't even have the soft keys enabled from the software directly available from Google themselves.
With that being said, XDA user csking33 has made the option of softkeys available to the public should you choose to enable it. He has it working on the current Alpha 4 and I look forward to him getting them working on Alpha 5 when I release it. You can download it here: http://xdaforums.com/showthread.php?t=1727680.

That is just a short (believe me when I say it's short) explanation as to why ICS is just a FUN FUN FUN thing to work with.

Personal Problems (I have a lot): This is not meant to be a whine-a-thon, more of an explanation of why I can't be as dedicated as I'd like to be. I have explained why ICS is a pain, I'm here to give you a brief rundown as to why I (personally) can't just make things work. I am a student studying Aerospace Engineering (not Computer Science or whatever else). It has kept me so insanely busy that I can't even begin to describe how much little time I have. I spend all day at school and all night doing the homework for it. I was lucky (once) when my Flight Structures II homework only took 5 hours to do. With so many long homework assignments and group projects it's a miracle I even survive. Next semester will be worse because now I have to actually design and build a model plane from scratch that does whatever my professors says it has to do. This is includes the whole design, approval process, building, testing, breaking, fixing, getting approved again, get it flown, doing it's mission and presenting our project. All that on top of the homework I have to do.
Whenever I do get free time during the day, I try to spend it with my girlfriend and/or friends or (if it's a few days) I go to visit my family (this weekend I am, for example). Family and friends have always a top priority of mine since forever and I won't let a phone be the reason why I don't see them IF I see them. In fact the donation money you guys have supported me with is going to get new tires for my car before I go visit my family. It has also bought me spare batteries and cables for when I really mess things up.
After all this is said and done, I stay up to 4 am working on the phone so that you guys can have a semi-legitimate Android experience. I do it because I want to and because we as a community deserve it.
It saddens me to know that I'm (essentially) the only one left working on the X2. Others pop their head in every once and awhile to help or to do what they want and that is GREAT. I love it. I'm always more than willing to help others out if they ask. And all they have to do is ask. PM me here on XDA, join me in the IRC or tweet me on Twitter. I'll be sure to get to it eventually.


TL;DR:
  • CM9/ICS will be unstable for as long as I can see in the future. There is not much I can do.
  • No I won't enable soft keys, there is no point in a default build. See the post if you wish to enable them.
  • I'm a really, really busy man but I do what I can. You guys have helped tremendously in supporting my work and helping me live a little easier :p
 
Last edited:

RyanThaDude

Senior Member
Jul 20, 2011
259
55
Nexus 6
Google Pixel 2 XL
Thanks for the explanation. At this point I guess all we can do is hope that someone at Motorola feels sorry for us and leaks us some goodies. I bet with the unlocked goodness ICS would scream on this phone, even with it's less-than-optimal amount of RAM.

I just want to personally thank you for everything you have done with this phone. I still use CM7 as my daily driver and love it despite the Wifi and the root issues and will continue to use it until I say F you to Motorola and get a different phone a little more dev friendly.
 

droidzika

Senior Member
Apr 6, 2012
849
216
42.6525° N, 73.7567° W
You are doing a great job keeping the DX2 afloat. If you can get ICS in this phone you'll have a very bright future ahead of you. I wish you the best of luck but I don't think you need it :)

I don't know anything about developing, modding or themes and I won't imagine how hard it must be to do what you have done for the DX2. For that and more: Thank You! Im sure we'll be happy to throw a dollar or two your way.. it's the least we can do. :good:

M-
 
  • Like
Reactions: twc14559

jsgraphicart

Senior Member
Nov 25, 2011
6,295
1,884
OnePlus 7T
Google Pixel 7 Pro
I'm glad you came out with this post. I have had this phone since last summer like you and since then I have used both of your ROMs and have followed your work. Mainly because there are not very many developers still developing for this phone. Lol. I think a lot of people needed to hear this. you don't come in here that much and are not very active in the forums. Not that it's your fault or anything. we all know that you're busy. But people are used to regular updates. Even if they are just verbal ones. So when a dev takes their time and no one hears anything, they don't understand. Most of us in here explain your situation when someone comes in here asking about stuff. We are all grateful for what you have given us so far and the things that are coming down the road. Without you there would be no development for this phone. As much as everyone would like to believe, we all know you are not just some guy sitting behind a desk all day working for us. By the sound of it, it looks like school is going to be getting a lot more busy for you which means less updates for us. By the time you get around to developing again for this phone I may have moved on to another. Just want to say again. Thanks :good:
 
Last edited:
also just wanted to add that I'm surprised you felt the need to explain yourself, pretty stand up thing to do,

i would HOPE no one gives you guff for having a real life with , priorities, but then again this is x d a haha
this is something you do for fun, we all should realize that, and it's awesome that you have gotten as far as you have
keep plugging away bro (at real life)
 

jsgraphicart

Senior Member
Nov 25, 2011
6,295
1,884
OnePlus 7T
Google Pixel 7 Pro
also just wanted to add that I'm surprised you felt the need to explain yourself, pretty stand up thing to do,

i would HOPE no one gives you guff for having a real life with , priorities, but then again this is x d a haha
this is something you do for fun, we all should realize that, and it's awesome that you have gotten as far as you have
keep plugging away bro (at real life)

I would think this is more for the newcomers here that don't know what's going on behind the scenes. Have you SEEN the kind of things people ask him on twitter? Lol
 

LaserChicken

Senior Member
Apr 27, 2010
316
103
+1

also just wanted to add that I'm surprised you felt the need to explain yourself, pretty stand up thing to do,

i would HOPE no one gives you guff for having a real life with , priorities, but then again this is x d a haha
this is something you do for fun, we all should realize that, and it's awesome that you have gotten as far as you have
keep plugging away bro (at real life)



Sent from my DROID X2 using xda app-developers app
 

LaserChicken

Senior Member
Apr 27, 2010
316
103
I'm not a dev, but I am a project manager who works very closely with them, on very large scale deployments. Something that has always impressed me about you Bryan, is your prioritization and time management. Knowing where to focus energy in order to achieve maximum result, especially when strapped with limited resources, is a skill not as common as one might think--you've got it in spades.

I guarantee when you enter the work force, it's going to be something that sets you apart from a group of otherwise smart guys. Project managers and directors will LOVE you for that skill set.

That being said, thanks for giving us a portion of a sorely needed resource, it's appreciated.
 
  • Like
Reactions: kenjesse

Travisdroidx2

Senior Member
Sep 9, 2011
3,699
976
Bay Area California
DK you are the man! Thanks for everything!!! You and nitro saved the x2 without you two the x2 would be crap! Family is always first. Good luck with everything!

---------- Post added at 02:58 AM ---------- Previous post was at 02:54 AM ----------

also just wanted to add that I'm surprised you felt the need to explain yourself, pretty stand up thing to do,

i would HOPE no one gives you guff for having a real life with , priorities, but then again this is x d a haha
this is something you do for fun, we all should realize that, and it's awesome that you have gotten as far as you have
keep plugging away bro (at real life)

+1000
 
  • Like
Reactions: ashclepdia

Pixelation

Senior Member
Jan 14, 2012
559
103
Jersey
Edit: I can't believe the asterisks...lol

**** whoever said what, ungrateful bastard!
Life first, just include Android in it :)

You are the miracle maker dragonzkiller, if anyone ever says less keep your head high and **** em...never a need to explain.
Keep doing what your doing, it rocks!!!


Ps sorry bout the language, it's a Jersey thing...lol

DROID DOES, Apple did...like I forgot when
 

Scur827

Senior Member
Jul 17, 2011
187
62
I'm with the others, it's always nice to hear what's what, but you should never have felt it any kind of explanation was owed to us.
Even if you suddenly had to put it all to the side permanently, you'll always have my gratitude.

Droid X2 > Eclipse 2.2.1 > Tapatalk
 

coolpoete

Senior Member
Cheers DZK!! Thanks for your time which is not owed to anyone. Side projects are good esp. when going into difficult job fields. The distractions are going to be what keeps you going. Best of luck to you!

I do wonder now though if it makes more sense to continue to tweak CM7 than CM9.
 

bsannes

Senior Member
Jul 27, 2010
147
6
Google Pixel 7 Pro
Hey just want to stop in and say thanks for the work you do on this phone. And I agree with the what others have said you don't owe us anything we are just greatful with what ever time we can steal from you.

Sent from my Incredible 2 using xda app-developers app
 

dragonzkiller

Inactive Recognized Developer
Jun 29, 2011
267
1,367
Wouldn't You Like To Know?
Look, thanks every and as such. For those of you who think that I have to explain myself, I pretty much do. A lot of you guys know the basics behind what it is I'm dealing with, but don't KNOW. If that makes any sense. I really enjoy working on this device and working with the community. I know it seems like I might get snappy sometimes or I'm short with my answers, but please just keep in mind that I have a lot of things on my plate and that I mean well.

Someone pointed out that the XOOM is running a Tegra 2. I did forget that fact, however even with that being the case, it has helped us very little in our endeavors. In fact it's still on 2.6.35 if I remember correctly and the props are still designed with that in mind. However it is still an updated kernel to work with ICS and such still causes some problems.
 

SlimMan

Senior Member
Aug 20, 2011
706
145
Abingdon
DZK, man I appreciate all your efforts! I don' t have the plate you do to deal with but I can surely understand where you are coming from.

I do believe that the majority of the community appreciates tremendously what you do for us, and the ones that can't be patient and understand well they can just flip off! :)

Thanks man!
 

Travisdroidx2

Senior Member
Sep 9, 2011
3,699
976
Bay Area California
Dragonzkiller you have done so much for this community and our X2. Would you be interested in a 2 month old PERFECT condition Dinc2? At least you would get a phone with official ICS and it actually already does since UKB is using the official kernel from the China released OTA. Its a great phone with great battery life just a smaller screen. You have done so much for us I would be happy to hook you up with a great deal. One I won't be able to tell my wife about lol
 

Omega360

Senior Member
Apr 19, 2012
134
29
Ohio
google.com
DZK, I too am an engineering student currently, and I fully understand what you are/will be dealing with. Free time is something we engineering students don't have the luxury to afford :p

With that being said, I truly appreciate what you have done in the development of this phone and how much time you have devoted to doing so. Keep your head high and let the haters hate.
 

LaserChicken

Senior Member
Apr 27, 2010
316
103
Dragonzkiller you have done so much for this community and our X2. Would you be interested in a 2 month old PERFECT condition Dinc2? At least you would get a phone with official ICS and it actually already does since UKB is using the official kernel from the China released OTA. Its a great phone with great battery life just a smaller screen. You have done so much for us I would be happy to hook you up with a great deal. One I won't be able to tell my wife about lol

HEY!!! I see what you're trying to do! Quit trying to kang our dev for the Dinc2 community!!! :p



Language warning! Don't open in front of boss or kids!

http://i.imgur.com/dWZMF.jpg
 

Top Liked Posts

  • There are no posts matching your filters.
  • 56
    It has come to my attention that a few people have been misunderstanding a few recent posts by myself. This is post is to clear the waters up a bit and to explain my position as a developer here on XDA.

    As many of you guys know, we're probably the most lively "dead" device on XDA. At least in my opinion that is. We have been through a lot as a community but we still manage to survive. But recently things have been getting a little tense.

    I received this device last summer like most of you have. When I got it, I immediately started figuring out how to get CM7 on it. Problem is that it was my first Android phone and with all the ways that Motorola locked it down I had a lot to learn and no time to learn it. After I learned off and on how to get things working on the X2 during the NO free time I had last fall I cranked out a pretty much solid CM7 in a week.

    Now for the explanation for CM9/ICS. Most people probably think that since I could crank out CM7 so fast that I would be able to do the same with CM9 and make it just as good and amazing as CM7. Although I had it booted on the first build, it was FULL of errors and the touch screen didn't even work. ICS and CM9 is definitely not as easy as CM7. CM7 was already a year and a half in the making and had most of the problems worked out on all the devices that when it finally came time for us, it would just as smooth as butter as soon as it was booted. CM9 hasn't had time to develop into a "smooth" ROM for most devices; especially non-official like ours. The code for the touchscreen to work wasn't even in CM9 on my first build, for example. The problems for CM9/ICS can be narrowed down to a few things:
    1. Graphics Memory
    2. No Official ICS
    3. Kernel Improvements

    Graphics Memory and No Official ICS: Due to the way that ICS handles the way it puts stuff on our screen we run into Video RAM (VRAM) problems on our device. Basically the routines that control it are expecting the memory to be mapped (stored) in a certain way in VRAM. On a device that has ICS officially, this isn't as big as a problem as the proprietary files (props) are coded to respond to those requests and mappings and as such run smoother. If a device doesn't have ICS, most it usually has a similar device in which props can be pulled and ran accordingly.
    This is not the case for Tegra 2 phones as no Tegra 2 device has official ICS. In fact the Tegra kernel (just looked this up) is only at 2.6.34-rc3 officially and have a 3.1.10 kernel in developement (Motorola can update it again to .35 if they wish to do so like for the ATRIX). Because of the lack of an official Tegra 2 kernel for Linux 3.X, and likewise the props for such kernel, we can't have props that handle the requests the system is asking for. And even if another phone gets updated, we're locked and stuck, so It doesn't matter either way. This means that VRAM problems will probably always be there and that there is nothing that I can do for it. Best thing I can hope for (and this is slowly making it's way through CM9) is that the code in CM9 is updated to allow us to handle the VRAM differently like in CM7/GB.

    Kernel Improvements: The kernel (that's supposed to be) for ICS is 3.0 or higher. This includes changes in memory as stated above, touchscreen handling, device interaction with the kernel and many others. That being said, we don't have those improvements thus causing problems. These include memory as stated above, touchscreen not working (obviously fixed), data usage not working, data monitoring not working, and a few various ways other routines to draw to the screen and handle other things (such as why Chrome is picky). Some of these can be backported (downgraded) to our kernel with mixed results.
    Problem is they have to be complied with our kernel and must match the kernel version in every way. That is why the kernel check is in CM7 and CM9. I can slowly work through implementing these routines through drivers known as kernel modules (mods). I have made mods for data usage (with a few issues) and another one (which not sure what it's supposed to do yet). I cannot (as in it's impossible) write them to change the memory handling. If I could even build them the kernel won't let me load them due to routines of same name fighting for control.
    Think of it like the phone is a car and you and your friend are in the front (the kernel routines) and you have the exact same name. Meanwhile, you have another friend in the back (the OS). The OS says, "Hey Routines Named the Same, grab the wheel and turn turn left!" You would turn it to your left, but your friend (the other routine) has a different view of what left is and instead wants to go to your right. Obviously some problems arise.

    Regarding the Soft Keys Issue: I know a few of you guys are a little upset regrading the fact that I won't add the soft keys in there by default. I have a justifiable reason behind not adding them: our phone already has buttons.
    Our phone was designed to have hardware buttons that separate from the screen. Adding more buttons to the screen for buttons that already exist is not advantageous. It also unnecessarily takes up screen space that makes our phone our phone. Now you may be thinking, "Well the GNex has the soft keys on the screen..." You are correct. But the screen itself has actually been extended (as in a non-standard physical height) to accommodate for the soft keys and also has no hardware buttons for the menu and home, etc. In fact! The Nexus S (a still HIGHLY developed for, supported device and previous "Google Phone") doesn't even have the soft keys enabled from the software directly available from Google themselves.
    With that being said, XDA user csking33 has made the option of softkeys available to the public should you choose to enable it. He has it working on the current Alpha 4 and I look forward to him getting them working on Alpha 5 when I release it. You can download it here: http://xdaforums.com/showthread.php?t=1727680.

    That is just a short (believe me when I say it's short) explanation as to why ICS is just a FUN FUN FUN thing to work with.

    Personal Problems (I have a lot): This is not meant to be a whine-a-thon, more of an explanation of why I can't be as dedicated as I'd like to be. I have explained why ICS is a pain, I'm here to give you a brief rundown as to why I (personally) can't just make things work. I am a student studying Aerospace Engineering (not Computer Science or whatever else). It has kept me so insanely busy that I can't even begin to describe how much little time I have. I spend all day at school and all night doing the homework for it. I was lucky (once) when my Flight Structures II homework only took 5 hours to do. With so many long homework assignments and group projects it's a miracle I even survive. Next semester will be worse because now I have to actually design and build a model plane from scratch that does whatever my professors says it has to do. This is includes the whole design, approval process, building, testing, breaking, fixing, getting approved again, get it flown, doing it's mission and presenting our project. All that on top of the homework I have to do.
    Whenever I do get free time during the day, I try to spend it with my girlfriend and/or friends or (if it's a few days) I go to visit my family (this weekend I am, for example). Family and friends have always a top priority of mine since forever and I won't let a phone be the reason why I don't see them IF I see them. In fact the donation money you guys have supported me with is going to get new tires for my car before I go visit my family. It has also bought me spare batteries and cables for when I really mess things up.
    After all this is said and done, I stay up to 4 am working on the phone so that you guys can have a semi-legitimate Android experience. I do it because I want to and because we as a community deserve it.
    It saddens me to know that I'm (essentially) the only one left working on the X2. Others pop their head in every once and awhile to help or to do what they want and that is GREAT. I love it. I'm always more than willing to help others out if they ask. And all they have to do is ask. PM me here on XDA, join me in the IRC or tweet me on Twitter. I'll be sure to get to it eventually.


    TL;DR:
    • CM9/ICS will be unstable for as long as I can see in the future. There is not much I can do.
    • No I won't enable soft keys, there is no point in a default build. See the post if you wish to enable them.
    • I'm a really, really busy man but I do what I can. You guys have helped tremendously in supporting my work and helping me live a little easier :p
    7
    also just wanted to add that I'm surprised you felt the need to explain yourself, pretty stand up thing to do,

    i would HOPE no one gives you guff for having a real life with , priorities, but then again this is x d a haha
    this is something you do for fun, we all should realize that, and it's awesome that you have gotten as far as you have
    keep plugging away bro (at real life)
    2
    also just wanted to add that I'm surprised you felt the need to explain yourself, pretty stand up thing to do,

    i would HOPE no one gives you guff for having a real life with , priorities, but then again this is x d a haha
    this is something you do for fun, we all should realize that, and it's awesome that you have gotten as far as you have
    keep plugging away bro (at real life)

    I would think this is more for the newcomers here that don't know what's going on behind the scenes. Have you SEEN the kind of things people ask him on twitter? Lol
    1
    You are doing a great job keeping the DX2 afloat. If you can get ICS in this phone you'll have a very bright future ahead of you. I wish you the best of luck but I don't think you need it :)

    I don't know anything about developing, modding or themes and I won't imagine how hard it must be to do what you have done for the DX2. For that and more: Thank You! Im sure we'll be happy to throw a dollar or two your way.. it's the least we can do. :good:

    M-
    1
    I'm not a dev, but I am a project manager who works very closely with them, on very large scale deployments. Something that has always impressed me about you Bryan, is your prioritization and time management. Knowing where to focus energy in order to achieve maximum result, especially when strapped with limited resources, is a skill not as common as one might think--you've got it in spades.

    I guarantee when you enter the work force, it's going to be something that sets you apart from a group of otherwise smart guys. Project managers and directors will LOVE you for that skill set.

    That being said, thanks for giving us a portion of a sorely needed resource, it's appreciated.