Jump to content

Compiling CM9 (and maybe CM10) for Blade


Guest sej7278

Recommended Posts

Guest targetbsp

Oh I see! I'll abort my compile and put that bootanimation patch in then :D

I'm not that fussed about boot animation, I just imagine the CM team would want a good looking full size one in anything official!

Edited by targetbsp
Link to comment
Share on other sites

Guest sej7278

Already done - http://review.cyanog....com/#/c/16056/ . As for official - first let the video recording patch be merged. Then I'll pull up the commit which adds the Blade for review.

whilst this seems to make the clock app launch quicker without such a visible "squishing", i'm finding that in general this really slows down the app drawer (swipe between app screens to see) and even the notification power widget (click the wifi toggle to see) due to too much animation - its all fades and wipes.

you seemed to have replaced both set to true to both unset (not sure what the defaults are) but here and elsewhere i've seen them set like this, never both the same:

<bool name="config_sf_limitedAlpha">false</bool>

<bool name="config_sf_slowBlur">true</bool>

which concurs with the docs here as you want alphas but you don't want blurs.

oh looks like your github and gerrit are different - you've got slowblur=true and alpha=false in github, methinks gerrit needs redo'ing.

Edited by sej7278
Link to comment
Share on other sites

Guest tilal6991

whilst this seems to make the clock app launch quicker without such a visible "squishing", i'm finding that in general this really slows down the app drawer (swipe between app screens to see) and even the notification power widget (click the wifi toggle to see) due to too much animation - its all fades and wipes.

you seemed to have replaced both set to true to both unset (not sure what the defaults are) but here and elsewhere i've seen them set like this, never both the same:

false
true[/CODE]

which concurs with the docs here as you want alphas but you don't want blurs.

oh looks like your github and gerrit are different - you've got slowblur=true and alpha=false in github, methinks gerrit needs redo'ing.

The default in frameworks base is slowbur true alpha false so its the same.

Link to comment
Share on other sites

Guest jventura

Hi all,

just made my first CM9 compilation today accordingly to the first post, by sej7278, and all went ok.

I've got a Xubuntu 12.04 machine with the latest packages as mentioned in http://wiki.cyanogen...ogenMod_(Linux), sun's java6, only had to install lib32z1-dev because I'm on a 64 bits machine.

I used to compile CM7 in Xubuntu 11.04/11.10 and everything works the same.

Sej, can I suggest you to consider to add some things in the first post, when you change it? Some sugestions:

- Packages you need like in the CM wiki.

- Mention which commands do what. For newbies, copy-paste automatically make them learn nothing. For instance, separate the commands to download repo and make it executable from the ones which create cm9 folder and download cm9 source

- When you download the zte proprietary libs, you have ~/cm9, I have ~/android/cm9, others may have other things. That rsync command to copy may be criptic, you could just use your File Manager to copy it.

- You should mention that when you download cm9 first time, there is also no device trees (except common and 1 or 2 others). In cm7 you downloaded them all, glad they changed it in cm9.

- Mention that when you start to compile first time, the zte blade tree will be downloaded as also the Kernel.

My suggestions are just to make your excelent post a little bit more pedagogical for newbies, hope you don't take it bad!

João Ventura

Edited by jventura
Link to comment
Share on other sites

Guest sej7278

The default in frameworks base is slowbur true alpha false so its the same.

yeah you're right, no idea what file i was looking at that had them different, must have been two windows of the same file lol.

Link to comment
Share on other sites

Guest sej7278

Sej, can I suggest you to consider to add some things in the first post, when you change it? Some sugestions:

- Packages you need like in the CM wiki.

i'd prefer that people refer to the wiki, although that's largely out-of-date, i've not really tracked which packages i've had to install, and i use debian/fedora not ubuntu. i might have something in the cm7 howto i did a while back, or the aosp one.

- Mention which commands do what. For newbies, copy-paste automatically make them learn nothing. For instance, separate the commands to download repo and make it executable from the ones which create cm9 folder and download cm9 source

maybe i should do that yes, i hadn't considered that people wanting to patch/compile android would have limited linux knowledge, that's pretty frightening.

- When you download the zte proprietary libs, you have ~/cm9, I have ~/android/cm9, others may have other things. That rsync command to copy may be criptic, you could just use your File Manager to copy it.

NO! you can't just copy the directories, you have to merge them (some add, some delete, some overwrite) so rsync is the only way. plus it makes it easier to manage when you get updates via github/repo. i don't use the directory structure in the howto myself.

- You should mention that when you download cm9 first time, there is also no device trees (except common and 1 or 2 others). In cm7 you downloaded them all, glad they changed it in cm9.

- Mention that when you start to compile first time, the zte blade tree will be downloaded as also the Kernel.

that's true (both the same issue) i'll add something about that. it is a bit odd that you have to compile once to pull things down before you have the device and kernel trees, so you can't patch them first.

Link to comment
Share on other sites

Guest jventura

- When you download the zte proprietary libs, you have ~/cm9, I have ~/android/cm9, others may have other things. That rsync command to copy may be criptic, you could just use your File Manager to copy it.

NO! you can't just copy the directories, you have to merge them (some add, some delete, some overwrite) so rsync is the only way. plus it makes it easier to manage when you get updates via github/repo. i don't use the directory structure in the howto myself.

Does repo sync fetches also the proprietary files at github.com/koush? If not, if I git clone it directly to the target folder, will it mess with CM9 repo sync? Git cloning it directly would allow for git pushes directly, correct?

- You should mention that when you download cm9 first time, there is also no device trees (except common and 1 or 2 others). In cm7 you downloaded them all, glad they changed it in cm9.

- Mention that when you start to compile first time, the zte blade tree will be downloaded as also the Kernel.

that's true (both the same issue) i'll add something about that. it is a bit odd that you have to compile once to pull things down before you have the device and kernel trees, so you can't patch them first.

It is the only way that I could do..

Maybe there is another way? Like repo init -u ... device/zte/blade? But maybe it would mess with the git/repo tree, and mess repo sync's..

What I did was starting the compilation to download blade tree, then CTRL-C to stop it after download, so I could apply patches to the zte blade device tree..

João Ventura

Edited by jventura
Link to comment
Share on other sites

Guest sej7278

Does repo sync fetches also the proprietary files at github.com/koush? If not, if I git clone it directly to the target folder, will it mess with CM9 repo sync? Git cloning it directly would allow for git pushes directly, correct?

you could probably get away with that as its not in the manifest, repo should skip it.

What I did was starting the compilation to download blade tree, then CTRL-C to stop it after download, so I could apply patches to the zte blade device tree..

sneaky :D i didn't want to suggest that in case it confused the newbies. there doesn't seem to be an obvious Makefile flag to just do the device/kernel download. See also wiki

Link to comment
Share on other sites

Guest targetbsp

- Packages you need like in the CM wiki.

i'd prefer that people refer to the wiki, although that's largely out-of-date, i've not really tracked which packages i've had to install, and i use debian/fedora not ubuntu. i might have something in the cm7 howto i did a while back, or the aosp one.

I used the packages from the CM7 wiki. sun-java6-jdk is quite hard to track down these days! the rest of the outdated ones either don't appear to be needed or direct you to whatever has superseded them.

- Mention which commands do what. For newbies, copy-paste automatically make them learn nothing. For instance, separate the commands to download repo and make it executable from the ones which create cm9 folder and download cm9 source

maybe i should do that yes, i hadn't considered that people wanting to patch/compile android would have limited linux knowledge, that's pretty frightening.

Technically... I fall into that category. :D It took me I think 3 attempts to setup a build environment and a fair amount of googling to pick up the assumed knowledge for compiling CM7. I keep meaning to write a guide for compiling CM under Ubuntu for Windows users. But there's a lot of stuff I keep meaning to do so...

Link to comment
Share on other sites

Guest sej7278

I used the packages from the CM7 wiki. sun-java6-jdk is quite hard to track down these days! the rest of the outdated ones either don't appear to be needed or direct you to whatever has superseded them.

the best way is to just download the .bin file from oracle, although you'll probably need to setup some symlinks and/or rename stuff, but it does get you the latest 6u31 that way, not 6u24 or whatever was the last packaged version.

i blogged about how to do that on debian and fedora

google did start work on openjdk-7 support after nagging jbq a bit, but i think they've hit a lot of hurdles and its not a high priority, plus there's macosx issues.

Technically... I fall into that category. :D It took me I think 3 attempts to setup a build environment and a fair amount of googling to pick up the assumed knowledge for compiling CM7. I keep meaning to write a guide for compiling CM under Ubuntu for Windows users. But there's a lot of stuff I keep meaning to do so...

its weird, i kind of assumed you'd have to be into linux and programming to be interested in hacking android, but it seems the reverse is true - people have gotten into using linux purely to hack android!

Link to comment
Share on other sites

Guest targetbsp

The AOSP site looks to have somewhere to grab java from. :)

I'm a programmer, just in Windows. I haven't used Linux since my Uni days until I started compiling CM7!

The downside is that now I keep typing ls into DOS. :|

Link to comment
Share on other sites

Guest shezar

And I myself am more into web programming but I'm studying as an electrical engineer and I'm eager to learn more about mobile device programming and such. Android isn't unlike what I do it's only on a much larger scale. Anyways I'm constantly learning (and by doing that I'm neglecting my own exams lol)

Link to comment
Share on other sites

Guest jventura

I've recompiled with latest patches, but is it just me or (stock) CM9 is still far from the fluidity of ColdfusionX?

I'm talking mainly about the transition on the launcher and in the app drawer.. Maybe the default settings are different in ColdfusionX?

João Ventura

Edit: Maybe the comment in http://review.cyanogenmod.com/#/c/16056/ is correct? Will create a branch to test it..

Edited by jventura
Link to comment
Share on other sites

Guest shezar

Just a question: am I right that when I rebuild only by running make installclean beforehand only the changed parts will be rebuilt and the whole process will be significantly faster? I have made a new build in under an hour while the first one took about 6.

In other words: Should I clear the out folder every time or running the cleaning script is enough?

Link to comment
Share on other sites

Guest sej7278

I've recompiled with latest patches, but is it just me or (stock) CM9 is still far from the fluidity of ColdfusionX?

I'm talking mainly about the transition on the launcher and in the app drawer.. Maybe the default settings are different in ColdfusionX?

Edit: Maybe the comment in http://review.cyanog....com/#/c/16056/ is correct? Will create a branch to test it..

yup, the new change is definitely slower in notification power widget and app drawer than cfx or cm9 have ever been, due to all the fading.

whatever makes cfx app drawer seem faster than cm9's isn't due to this change as cfx had a faster app drawer for months not a few days since the github commit, however it does seem to fix the "exploding" clock issue (a bit, maybe not entirely, its just less noticeable as its faster, the screen still squishes).

maybe the combinations need playing with - we've had alpha=false/blur=true (unset defaults as now) and true/true (before patch), maybe blur=false/alpha=true or false/false need testing?

Edited by sej7278
Link to comment
Share on other sites

Guest sej7278

You don't even need to run the cleaning scripts.

you can't just say that without qualifying it.

if you don't run make installclean a lot of stuff won't get rebuilt that you may expect (environment variables don't get re-read for instance) and even if you do run it the kernel binary doesn't get rebuilt.

the safest, albeit slowest way is to delete the out/ directory entirely; but the minimum you should do is make installclean and be aware of the consequences, unless you're just rebuilding a framework for instance and not an entire rom.

Link to comment
Share on other sites

Guest C3C0

you can't just say that without qualifying it.

if you don't run make installclean a lot of stuff won't get rebuilt that you may expect (environment variables don't get re-read for instance) and even if you do run it the kernel binary doesn't get rebuilt.

the safest, albeit slowest way is to delete the out/ directory entirely; but the minimum you should do is make installclean and be aware of the consequences, unless you're just rebuilding a framework for instance and not an entire rom.

Well. When I was making frequent changes to couple of cpp files this was not necessary. Also kernel gets compiled without installclean if you make any changes to any of the c files. Anyway, builder should always pay attention to what is getting built and what not. The build output says it all. And timestamps of files in the output dir, too.

This is very helpful and quick if you're debugging some libs. Because all you need to do is run the build after modifying source code and push new libs into the phone so you don't need to flash the whole thing again. I even push new built libs even before the build process finishes to save more time but this is something I do not recommend :)

Edited by C3C0
Link to comment
Share on other sites

Guest shmizan

@tilal: yeah but it's unreal for some of us that have slow specs or running VMWare as compile times with clean out folder reach 3-5 hours.

I see you taken down the change? instead it now deletes the 2 added lines

Edited by shmizan
Link to comment
Share on other sites

Guest jventura

maybe the combinations need playing with - we've had alpha=false/blur=true (unset defaults as now) and true/true (before patch), maybe blur=false/alpha=true or false/false need testing?

False/False (Alpha/Blur) seems better than True/True and False/True.. Will try now True/False (I'm on vacation today.. :) ).

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.