I've been around these forums for over 6 months now, and we've all been anxiously waiting for the source code of ICS kernels. Everyone always says that it's not the OTA we want, but the kernel source. Even I have been really excited to get it... but recently I've been wondering... why? What exactly does the kernel source allow us to do? I'm not a developer by any means, but from the limited knowledge I have, these are the features the source will allow us to do:
- OC/UV without having to use Tegrak
- Custom kernels
What else? This post isn't mean to criticize or anything... I'm just genuinely curious how the kernel source will help us on ROMs. If you know anything, please post.
Kernel source gives us the opportunity to add a variety of things like:
OV/UV
More/different CPU Governors
A variety of I/O Schedulers
Different kernel modules
Support for more/different filesystems
And the big one we are hoping for with GSII is a fix to that dang ICS recovery bug! :/
MandaNick said:
Kernel source gives us the opportunity to add a variety of things like:
OV/UV
More/different CPU Governors
A variety of I/O Schedulers
Different kernel modules
Support for more/different filesystems
And the big one we are hoping for with GSII is a fix to that dang ICS recovery bug! :/
Click to expand...
Click to collapse
Thanks for the informative response. Yeah I was gonna mention the superbrick bug but I think developers found a workaround using TWRP and Agat's recoveries these days.
Sorry for being a noob, but what are different kernel modules?
Hahaha don't be sorry man, we are all noobs in some way! They did find a workaround for it, but they are also not sure that their workaround will work in 100% of all use cases. If you read their first post there is some worry about "super wipe" packages over-riding their safe binary.
A kernel module is a piece of functionality written after the kernel is compiled. It is compiled into what is called the module, and then loaded into the kernel. This allows developers to add bits of functionality without having to rebuild their whole kernel.
The kernel is like the motor that helps our phone run. When tuned properly, it will purr, give us good gas mileage and make the driving experience more enjoyable.
Sent from my SPH-D710 using XDA
Hahaha well that's one way of putting it! The kernel sits in-between the hardware and the software, and essentially enables them to interact together. I guess you could call it the middle-man, putting things into a language both the application's and then hardware itself will understand
Source code is the map to put the engine together correctly. Given enough time a dev might be able to build the kernel from scratch, but what's the point of driving yourself mad like that. Right now it's like they're tinkering with a demo engine but can't be fully sure that they're putting the parts in the right place.
It's more like all the parts to put the correct engine for your device together(The map would be the make files ). Right now they are using different parts from various different engines to try and assemble one that works for our "car".
Haha thanks for the responses. I forgot about this thread for some reason but I'm back to give you guys thanks And yeah I know what a kernel is heh but just the basics... I know basically next to nothing about development of kernels at least
Since is up I will add the all important to some of us reason. CyanogenMod9. I always knew I would one day ditch Samsung firmware for CM9 but i didnt know our phone would get it so soon. Once we have kernel source our developers will be able to write a proper CM kernel easier than it has been for developers like sbrissen to do one from scratch. Once that is done we can get rolled into official CM releases.
Other than PRL updates I am never going back to Stock firmware.
Related
Please stay ON TOPIC to kernel DEV and missing code. Don't report every bug the Android build your using is having or it will be deleted as OFF TOPIC
As you all might be knowing that hd2 is pretty much a android native device now. Its just like any another snapdragon device. The current kernel code we are using in HD2 is pretty obsolete and missing a lot of things. It more like something working at its minimal efficiency. While i was porting over all the HD2 board files getting it on par with the other snapdragon devices I found out a lot of code was missing and some was obsolete. Eg. The gsensor code from microp was pretty minimal, a lot of things were missing in microp code. I suspect that it isnt the only code, a lot of bluetooth related stuff was missing and much more. I am not really gonna work on backporting the stuff to .32 kernel so i would like the kernel devs here to backport the stuff to the .32 kernel so a lot of bugs can be fixed and stuff can be made more stable until the .37 kernel is ready. All the commits can be found here
https://github.com/charansingh/cm-kernel/tree/master
There might be some bravo or passion instances in there cuz i am comparing the code with these two devices and taking what is necessary and sometimes i have to leave my work due to some other work and forget which file i was working on so would appreciate the more bugs.
Also Mods can we get this a sticky so we can track the progress here
Yap.. i'm not a really pro developer but i suspected those bugs before.. finally a real developer suspected that.. eager to see who's going to help fixing them
charnsingh_online said:
Also Mods can we get this a sticky so we can track the progress here
Click to expand...
Click to collapse
Ok sticky for the moment to see if it helps.
@charnsingh_online
I am really happy that you put so much power in this project big respect for that.
The reason for the missing code is because most of the drivers are reversed engineerd from winmo by cotulla. Wich make it possible to make working android parts but they don't work optimal by that. Also we miss some skilled active coders. After cotulla almost everything is created by markinus he did a incredible part big credit to him but looks like he isn't that active anymore..
Current development are mostly little things a guy who sees a little part from that and a little part from that like : you, tytung, darkstone, gauner,letama, the guy from the bluetooth fix.
We probaly don't have so much real kernel programmers because they buy a native linux / android phone.
The last two major things left with HD2 Android are buggy speakerphone and missing assisted-gps function.
Speakerphone mode is not usable because mic gain does not change when speakerphone is enabled. Info here:
http://forum.xda-developers.com/showpost.php?p=12698204&postcount=22
GPS works but without assistance so most locks take 1 minute instead of like 15 seconds. Info here: (please read all 25 pages)
http://forum.xda-developers.com/showthread.php?t=1008252
memin1857 said:
The last two major things left with HD2 Android are buggy speakerphone and missing assisted-gps function.
Speakerphone mode is not usable because mic gain does not change when speakerphone is enabled. Info here:
http://forum.xda-developers.com/showpost.php?p=12698204&postcount=22
GPS works but without assistance so most locks take 1 minute instead of like 15 seconds. Info here: (please read all 25 pages)
http://forum.xda-developers.com/showthread.php?t=1008252
Click to expand...
Click to collapse
actually i think the gpu drivers are kinda unstable when comparing to the performance of other phones that carry the similar gpu...
@charnsingh_online
Good start.
After reading the github commits, I still don't understand what kernel devs can do so far.
Just see the microp stuff I added to the file. Also I have updated the board files. See wats the difference between the files. A lot of updated code
hi charansingh,
i am willing to help, but i think it would be helpfull to define packets to take over.
By looking in the kernelsources it looks good to me, but i know from own expiriences with porting that i have to look deep...
best regards
trilu
charnsingh_online said:
Just see the microp stuff I added to the file. Also I have updated the board files. See wats the difference between the files. A lot of updated code
Click to expand...
Click to collapse
It's better to start/clone from pure CM 2.6.37 kernel, then add new commits when adding any new functions.
Would you please add a new commit when adding a new function?
Otherwise, it's very easy to lost the way in the source code.
A commit "Update some board files" doesn't tell the whole story. I want to know why to change.
Comparing the source code manually and guessing its function is not convenient for any kernel devs.
For me, I won't add any code in my 2.6.32 kernel until I know the meaning of the changes of the source code.
Thanks.
Ok I'll do it tomorrow n also maintain the list in the op
I may be wrong, but this thread is not supposed to become a bug fix request thread. It is aimed at developpers, so that they collaborate on a merging of HD2 specific stuff onto a cyanogen 2.6.37 kernel...
This would most likely result in the resolution of a lot of our issues, but in the mean time, [DEV] in the thread title means it is for devs only......
Keep this thread clean please.. there are only a select few devs who actually work on kernels around here. Let them use this as a way of communication to generate a complete kernel, then we can test it for bugs.
Very excited about the prospects of this, if you guys get a working kernel with all the new commits shoot it over and I'll test it out on one of my HD2's.
I looked pushed code and it's ok, at least for first few commits. But it needs some deep cleaning an optimization, also there is some bravo naming convention used in leo specific files. You should put this tree on gitorious so we can do more work on it, but anyway i will clone tree and do some cleaning and porting new stuff.
This could be of interest, and not too much off-topic.
This kernel: http://forum.xda-developers.com/showthread.php?t=966786
is being abandoned and it had some patches for performance that I think are valuable. It had linpack scores that can be achieved only with heavy overclocks on other kernels... The problem is, the source is being distributed by a .zip, no commits, nothing... the only way to get those would be to issue a diff with... something and guess where they are. Staying on topic, I've already adapted cm-kernel for another device so I think I'll be able to help when I get enough free time to spare.
D4rk50ul said:
Keep this thread clean please.. there are only a select few devs who actually work on kernels around here. Let them use this as a way of communication to generate a complete kernel, then we can test it for bugs.
Very excited about the prospects of this, if you guys get a working kernel with all the new commits shoot it over and I'll test it out on one of my HD2's.
Click to expand...
Click to collapse
Yes you are right. Unfortunately many threads like this one get's filled with off topic chatter, complaints etc. I will try to keep my eye on this thread so the dev's can communicate. If your not contributing to the DEV work on the HD2 kernel's, please don't post your wishes and thanks post as this will quickly clog up the thread. I'd hate to lose progress due to this. That's why many DEV's end up not using XDA and reverting to IRC only. Thanks
noellenchris
Hi,
Few days back there are some conversation about libsurfaceflinger.so for color banding issue http://forum.xda-developers.com/showthread.php?t=1012278 . Since Rom is changing continuesly with libs can we port the change for color issue.
HD2 GB-2.33-SENSE-2.1 LOCKSCREEN SENSE-3
tytung said:
It's better to start/clone from pure CM 2.6.37 kernel, then add new commits when adding any new functions.
Would you please add a new commit when adding a new function?
Otherwise, it's very easy to lost the way in the source code.
A commit "Update some board files" doesn't tell the whole story. I want to know why to change.
Comparing the source code manually and guessing its function is not convenient for any kernel devs.
For me, I won't add any code in my 2.6.32 kernel until I know the meaning of the changes of the source code.
Thanks.
Click to expand...
Click to collapse
tytung, has any1 of you done so? please let us know..
g30rg10u said:
tytung, has any1 of you done so? please let us know..
Click to expand...
Click to collapse
No, I didn't work on 2.6.37 kernel so far.
I didn't see that charnsingh_online added a TODO list in the OP.
Fried my laptop charger. New one on way. Hd2 arrived
I already saw a lot of kernel developers here, each of them posting their own version.
I don't think that "download sources / fix them / apply patches" by every one of them is ok.
If all could focus on a single source-tree and fix / apply patches to that we would get to a stable/improved version a lot faster.
I can provide a linux machine for the developers interested by this project.
Hardware: 2 x Xeon X7550, 16GB RAM (can be extended to about 60GB), 300GB of storage (can be extended) - RAID6, FC dedicated storage.
Example:
$ time make ARCH=arm clean
[...]
real 0m2.479s
user 0m0.953s
sys 0m1.151s
$ time make -j32 ARCH=arm CROSS_COMPILE=arm-eabi-
[...]
real 1m4.720s
user 19m11.694s
sys 3m23.190s
Click to expand...
Click to collapse
Software:
Slackware 64bit 13.37, gcc 4.5.2, gcc-arm 4.6.1
OS can be changed if you have good enough arguments.
SSH access, no root.
If any developer is interested by an account, pm me with the desired username.
Have fun!
Ok, if no one is interested, I have to start this alone...
BETA
First release - ALiCE Kernel - with patches/tweaks from eternity/franco/bricked kernels and some of my own. Everything seems to work on my HOX.
- Sweep2wake included
- modules built in kernel, no need to flash anything else but boot.img
Attached:
zImage - for including into your own boot.img
boot.img - InsertCoin 5.3.0 boot.img with this kernel.
DELETED ATTACHMENTS - Kernel was virtually unusable.
You can use zImage injector ( http://forum.xda-developers.com/showthread.php?t=1647398 ) to update your own boot.img
I like the idea of this collaboration of kernels.
And I like how the modules are integrated into the kernel.
I'll be testing this out more tomorrow with a battery test for a work day
Keep up the good work
EDIT:
3G Does not work.
As in it shows 3G/H on the top, but no network connectivity.
WiFi does however work.
Great
I'm not a kernel dev, but this seems like a good idea.
Kernel devs working together to create a solid/stable base kernel.
If they want to add specifics they can always release one aside of this.
Also good to integrate modules into boot.img
Keep up the good work.
+1
Good idea, and go on
Good work.
Well I build kernel in 1 minute on i7 920 @4.2 ghz, no need for you machine ;-)
But common git would be nice.. I have zero time to maintain a kernel for HOX
Sent from my HTC One X
It will be nice if we can have a common github repository for the OneX sense kernel with all the patch applies by the devs.
AliceXES, do you have a git link of your repo ?
Because I currently compiling the franco's repo with some config tweek for my own need. And I would like to compiling yours just for testing.
Anyways, thanks for starting your project
Please send me your twitter account it's for helping you
The biggest problems ain't hosting or building times, just version-control. A common Git would be nice, although it seems most changes get picked by eachothers at github.
What about a GitHub organisation? You can have free ones where everyone is admin if you leave the source open. But then that requires a certain level of trust I suppose, heh.
The problem was with modules - for some strange reason, 3G doesn't work with them built-in the kernel.
Also my laptop crashed. The 2nd HP 4520s dead in my hands.
I will probably won't work on this anymore until it's repaired.
Still, if anyone needs access to the compile-server, the offer is still open.
AliceXES said:
The problem was with modules - for some strange reason, 3G doesn't work with them built-in the kernel.
Also my laptop crashed. The 2nd HP 4520s dead in my hands.
I will probably won't work on this anymore until it's repaired.
Still, if anyone needs access to the compile-server, the offer is still open.
Click to expand...
Click to collapse
Sad happenings. Hopefully it'll be fixed soon so you'll be back on track!
1: 3G problem indeed lies in the modules (linked to one of the binary baseband module)
2: getting collaborators won't be easy; many (apart from a select few) of today's "chefs" (dare not call them devs) prefer to act alone, get the credits, instead of working together, where the progress would've been much faster. This has been discussed too many a time on xda.
It is so much easier to rip someone's work & claim it as your own... Which is why many a dev resorted to "protecting" their roms (for example, from dumping).
Another reason why not many would like to join you, is that then it would come apparent that they don't have any real skills, since they won't be contributing any patches. ;]
Why compare ROMs with Kernels though? Maybe I'm unique at this, I don't know but, I never really cared about moving files around at ROM level or building AOSP ROMs. I prefer the kernel-space just a bit more
If people are afraid that their commits get stolen (which unintently happened just a few days ago, it seems) they should sign-off it properly.
Ćnyway I'm always interested in collaborating. Atm I'm just foring Franco's kernel and fixing a few compiling warnings.. I think what we really need is one main-maintainer which holds the master-branch, then the rest of our bunch just can push commits to him for reviewing. Who this lad is going to be, is also a tricky one.
I don't think I will have any success with this project
I started my own kernel thread (here: http://forum.xda-developers.com/showthread.php?t=1662781 ), sorry.
Anyway, the invitation is still open.
Sorry for not being able to be more specific in the title, but my question is this: What exactly is the outcome of this kernel ****storm? With the CM team doing something which makes it hard for kernel developers to adapt?
Let's say one flashes CM9 and some custom kernel which has an app for controlling its settings, say GLaDOS, Trinity or Franco. Now, using these three kernels takes away the ability to modify kernel settings through the CM menus, but if one is using said kernel control app, then what difference does it make if the settings aren't available in the CM menus?
Also, I get it that no nug reports are accepted if one is using this mix, but since when did the CM team ever accept bug reports for nightly builds? I don't think I've ever had a single problem running a custom kernel with CM9 seeing as how I've always utilized some sort of kernel control app (and a few bucks for it isn't much of a hassle)
Can anyone shed some light on this? What are your experiences?
I would love to hear some answers on this as well. I kind-of have a love affair with franco.Kernel right now.
Its the same as carriers do it "If you dont use the software they gave you, you get no warranty". They don't know what you did with the phone, or what you flashed, or what could possibly be broken in the rom, so if you don't have the software the way they intended, they can't/won't help you.
Same applies with CM9, if you don't use the kernel they made/gave you, then they don't know if the issues you might have are because of a bug in the rom, or a bug in th kernel. Its hard work as it is to develop roms, tracking down bugs due to user choice/error is far harder and time consuming.
Basically, if you want to submit bug reports/make sure all the features of CM9 (any custom rom really), then use what you are given. No one forces you to use their rom, nor use a different kernel. With freedom of use, come other restrictions.
theking_13 said:
Its the same as carriers do it "If you dont use the software they gave you, you get no warranty". They don't know what you did with the phone, or what you flashed, or what could possibly be broken in the rom, so if you don't have the software the way they intended, they can't/won't help you.
Same applies with CM9, if you don't use the kernel they made/gave you, then they don't know if the issues you might have are because of a bug in the rom, or a bug in th kernel. Its hard work as it is to develop roms, tracking down bugs due to user choice/error is far harder and time consuming.
Basically, if you want to submit bug reports/make sure all the features of CM9 (any custom rom really), then use what you are given. No one forces you to use their rom, nor use a different kernel. With freedom of use, come other restrictions.
Click to expand...
Click to collapse
Thank you, but that doesn't really answer my question.
Sent from my Galaxy Nexus using Tapatalk 2
http://forum.xda-developers.com/showthread.php?p=26457711
Ezekeel brought it to everyone's attention with this thread.
Why don't we have any kernels yet? There's plenty of development... is it a source issue? It's depressing that we're only 53% compatible with Kernel Tuner. I don't know much about kernels, but a few tweaks could go a long way, and I know anything custom wouldn't fly with a CM build kernel.
We really need to get someone to start pumping out custom kernels for this phone. I have no clue where to start or I'd definitely invest the time.
Someone go poke Snuzzo on the ReZound forum and get him on board. *Cough FlyHalf*
Features we need-
Logo to Menu (turns the HTC logo into a menu button)
Govs! -LionHeart, -SmartAss, etc
MPDecision
Audio Buffer Tweaks (improved quality from DSP)
Fast Charge (USB=1A draw)
Thermal tweaks (This phone gets almost too hot when gaming on CM10.2)
Anything Else I haven't thought of...
You have some strong points but in the mean time, I use this one.
http://forum.xda-developers.com/showthread.php?t=2236121
Interesting post....you might want to search the forum for three threads already discussing this. And you come off as demanding.
Yes it is a source issue. We don't have it. I am working on porting one for sense, but it is really difficult.
Sent from my Oney Bone.
jerrycycle said:
You have some strong points but in the mean time, I use this one.
http://forum.xda-developers.com/showthread.php?t=2236121
Click to expand...
Click to collapse
That kernel works on VZW One? Interesting. Anything broken with it? Thanks for the info, awaiting future reply before attempting to flash =)
So I have unlocked bootloader and really enjoy being able to flash CM The only thing which is missing is the availabilty of custom kernels for CM 13. SuperExe Kernel is only in testing phase and I don't know whether it will be developped further, and I'm not sure about GoogyMax Kernel in this case, too. The only really "active" kernel is Llama Sweet. My wish is to have another, batteryfriendly, fully customizable kernel, which supports many governors, undervolting, hotplugging and so on and so on.
I really would like to develop it by myself, but I read the doc about kernel building and just realized that I don't really have an idea about this
So I just wanted to ask if:
-there would be any interest in having another, new kernel for the G4, based on CM/AOSP
-anyone has the time and the interest to help me/to build a new kernel.
I hope this sounds not too crazy or too demanding, it's only a request and furthermore, I want to excuse my limited English
Thanks in advance for many views and perhaps some interested people/replies, hopefully.
Noone?
As you can see, many of us read your thread, but the problem is that you can't simply tell "Let's build another Kernel". This requires time,patience and a lot of knowledge in building it, as you said ("but I read the doc about kernel building and just realized that I don't really have an idea about this" ). You see, there are only 3 options : Support the actual kernels,the developers like @codeworkx and @genesixxbf3 and so on(SuperEXE,Googy,Imeperium and so on so on) knew what our device really need (btw, Llama Sweet kernel is going R5 and there will be lots of improvements!) (the best one in my opinion),hope that other kernels will come or will be updated with what you need or start building one, which is the hardest one. You can ask some developers to help you ( I can help you too, but I'm noob at building kernels),but remember, it takes time and a lot of effort! Hope that I answer to your question, see you
azZA_09 said:
As you can see, many of us read your thread, but the problem is that you can't simply tell "Let's build another Kernel". This requires time,patience and a lot of knowledge in building it, as you said ("but I read the doc about kernel building and just realized that I don't really have an idea about this" ). You see, there are only 3 options : Support the actual kernels,the developers like @codeworkx and @genesixxbf3 and so on(SuperEXE,Googy,Imeperium and so on so on) knew what our device really need (btw, Llama Sweet kernel is going R5 and there will be lots of improvements!) (the best one in my opinion),hope that other kernels will come or will be updated with what you need or start building one, which is the hardest one. You can ask some developers to help you ( I can help you too, but I'm noob at building kernels),but remember, it takes time and a lot of effort! Hope that I answer to your question, see you
Click to expand...
Click to collapse
Thank you for your kind answer! Yeah it's right, Llama Sweet will get an update and I'm looking forward to it! SuperEXE is dead, the developer said he is on iOS right now. And GoogyMax didn't receive an update for a long time and it hasn't additional governors when I'm right. And yeah that's my problem too, I would know what the kernel should be able to, but I have no knowledge in building. Perhaps any developer will have time in the future : [fingers crossed)