And what is CAF?
Ty
What in the world is CAF?
Remember CAF? You might have seen that name all over the forums back when kernel developers for Qualcomm Snapdragon devices maintained two separate forks of their work. One for code based on Google’s AOSP, and another based on CAF. Code Aurora Forum is maintained by the Linux Foundation, and is where Qualcomm releases the reference sources for their various platforms. Most OEMs base their kernel source off of what’s provided by Qualcomm. On the other hand AOSP works off of a fork of CAF for each Android software iteration, introducing new features for all Android devices along the way. Over time, CAF then introduces its own optimizations intended specifically for Snapdragon devices.
"CAF stands for the Code Aurora Forum. It's the place where Qualcomm releases source code for their phone processors. It's directly supported by Qualcomm and it's generally a more optimized branch for Snapdragon phones.
Now, there are two mainlines for Qualcomm chipsets. We have CAF, and we have AOSP.
CAF is what Qualcomm provides to all hardware vendors, as references and documentation on the chipset. Because of this, almost all non-Nexus devices are running HALs, kernels, etc from the CAF line.
AOSP is direct from Google. Google will take a fork from the CAF like, and add or retract features that they deem necessary, and then produce that for Nexus phones.
So, what this means is CAF ROMs will likely perform marginally better, but they are lacking features added by Google's AOSP line.
As of 4.3 Jelly Bean, CyanogenMod uses a mixture of both CAF and AOSP base, to try and get the best of both worlds.
I hope that helped. "
Related
So, my question is, why do we want the 3.0 Kernel for Nook Tablet again? From what I recall, there were absolutely no changes from kernel 2.6 to 3.0, other than the naming. Only the "alpha-manliness", and the shuffle of old drivers or something along those lines.
Any Ducati stuff is provided in acclaim_update.zip isn't it?
Anyways, if someone could answer that, that'd be great.
Ok, I am not part of the dev team and I got my NT too late to have read the original reasoning behind development of a 3.0 kernel but after a bit of research I think I may have at least part of the picture.
The main reason for the development of a 3.0 kernel is to gain access to the Ducati hardware integrated into the OMAP 4430 that the NT uses. With the 2.6 kernel we can use only the dual core Cortex A9 part of the processor but if we can develop a Ducati driver it will allow use to use the Cortex M3 dual core (four cores total) for hardware video acceleration.
This is proving to be a challenge because TI will not release the source for the Ducati related kernel elements; they will only give us a binary version which is crippled for our device because it uses the wrong watchdog timer (GPtimer 11 vs GPtimer 10 which we need).
This all requires Kernel 3.0 because the binary for Ducati is built using this kernel. Aside from that, ICS is built for the 3.0 kernel branch and we should be keeping up (if not one step ahead) if possible.
That is what I've gotten so far but if any devs want to step in and correct, clarify, or add anything else, please feel free. Thanks guys for all your hard work!
Android ICS v4 was build upon kernel v3 and also the framework (api's)
It provides some elemental changes over Gingerbread like HWA of the gui so in plain words it takes the burden off the cpu and uses the gpu like Nvidia VDPAU (Video Decode and Presentation API for Unix)
http://en.wikipedia.org/wiki/VDPAU
And Windows DXVA V2
http://msdn.microsoft.com/en-us/library/windows/desktop/cc307941(v=vs.85).aspx
http://en.wikipedia.org/wiki/DirectX_Video_Acceleration
Hardware-accelerated 2D drawing
All Android-powered devices running Android 4.0 are required to support hardware-accelerated 2D drawing. Developers can take advantage of this to add great UI effects while maintaining optimal performance on high-resolution screens, even on phones. For example, developers can rely on accelerated scaling, rotation, and other 2D operations, as well as accelerated UI components such as TextureView and compositing modes such as filtering, blending, and opacity.
As everyone thinks that no changes where made on kernel transportation to v3 from 2.6, later on many arm optimizations where sync to git from different sources that help to make the v3 kernel more feature full over v2.6.
For starters,
Linaro is pushing more and more advancements to the git for v3.
Ubuntu decided to support arm hardware in Server and Userbase because of those changes.
They are putting out a Plasma tablet with Arm Cortex A9 cpu 512mb Ram with kde Plasma interface as well as pushing theirs code onto the git also.
So in the v3 kernel we see things done right.
Another proof that kernel v3 done miracles to arm is the XBMC project.
Now we have an xbmc version for arm also.
This is no coincidence at all.
An important factor to all this is that Android does not run on a stock Linux kernel. The source code for each Android release also includes a large number of Android-specific changes to the Linux kernel, including custom features and even entire subsystems. Each release of the Android OS is developed hand-in-hand with a specific kernel version and its changes, and ICS was developed around a modified 3.0.1 kernel. Using an older kernel version could potentially require work in patching newer changes into an old kernel or hacking in workarounds instead of just focusing on drivers. This is why most ROMs aren't just jumping straight to the newest Linux 3.3 either. I don't know any specifics about what changes are important though
Many drivers available from all these outside sources have been built around this same Android 3.0.1 kernel version too, so the chances of issues are much smaller if you stick to the same version
Also, to clarify about the Linux numbering: you're correct that the 3.0 version itself didn't include any big changes over 2.6.39 so as to keep the focus on simply replacing "2.6" with "3" while sticking with the same development process. However since they started the 2.6 branch many years ago they have constantly added new features, new frameworks, and all kinds of significant changes in the 2.6.X/3.X sub-versions as the code became ready. There wasn't simply a 2.6 kernel there were many 2.6 kernels, and it changed a lot over time from the initial 2.6.0 version just as it continues to evolve with each 3.X version
demetris_I said:
Android ICS v4 was build upon kernel v3 and also the framework (api's)
It provides some elemental changes over Gingerbread like HWA of the gui so in plain words it takes the burden off the cpu and uses the gpu like Nvidia VDPAU (Video Decode and Presentation API for Unix)
http://en.wikipedia.org/wiki/VDPAU
And Windows DXVA V2
http://msdn.microsoft.com/en-us/library/windows/desktop/cc307941(v=vs.85).aspx
http://en.wikipedia.org/wiki/DirectX_Video_Acceleration
Hardware-accelerated 2D drawing
All Android-powered devices running Android 4.0 are required to support hardware-accelerated 2D drawing. Developers can take advantage of this to add great UI effects while maintaining optimal performance on high-resolution screens, even on phones. For example, developers can rely on accelerated scaling, rotation, and other 2D operations, as well as accelerated UI components such as TextureView and compositing modes such as filtering, blending, and opacity.
As everyone thinks that no changes where made on kernel transportation to v3 from 2.6, later on many arm optimizations where sync to git from different sources that help to make the v3 kernel more feature full over v2.6.
For starters,
Linaro is pushing more and more advancements to the git for v3.
Ubuntu decided to support arm hardware in Server and Userbase because of those changes.
They are putting out a Plasma tablet with Arm Cortex A9 cpu 512mb Ram with kde Plasma interface as well as pushing theirs code onto the git also.
So in the v3 kernel we see things done right.
Another proof that kernel v3 done miracles to arm is the XBMC project.
Now we have an xbmc version for arm also.
This is no coincidence at all.
Click to expand...
Click to collapse
Sounds good. But the nook Tablet is running Gingerbread, and it gets Ducati features. Doesn't that mean a 2.6 Kernel suffices the Ducati Susbsystem? Does moving to Kernel 3.0.x make it easier to crack Ducati? Hmm.
soshite said:
Sounds good. But the nook Tablet is running Gingerbread, and it gets Ducati features. Doesn't that mean a 2.6 Kernel suffices the Ducati Susbsystem? Does moving to Kernel 3.0.x make it easier to crack Ducati? Hmm.
Click to expand...
Click to collapse
Ducati wasn't the point because as you pointed out it already works with the original kernel, and it not working yet with this 3.0 kernel is an unfortunate side effect of the real goal.
Moving to a newer Android kernel apparently makes it much easier to get proper graphics acceleration working for apps and general user interface components. This hardware acceleration of the UI is why ICS can feel so much smoother than Honeycomb or Gingerbread. Without the proper kernel I think they have to resort to dirtier hacks into the rest of ICS to make it run properly. I'm admittedly a little fuzzy on the details though
Lets just say that moving to Kernel v3 will make full use of our hardware, something GB doesn't do right now.
boomn said:
This hardware acceleration of the UI is why ICS can feel so much smoother than Honeycomb or Gingerbread.
Click to expand...
Click to collapse
AFAIK Honeycomb has already the UI acceleration. But I haven't had any device with HC, is ICS really much smoother then HC? I didn't think so.
Aleq said:
AFAIK Honeycomb has already the UI acceleration. But I haven't had any device with HC, is ICS really much smoother then HC? I didn't think so.
Click to expand...
Click to collapse
The thing is, Honeycomb is really heavy on the device. Honeycomb would be slower than ICS, as it would be ported and contains more contents than ICS. ICS was made to be the faster successor to HC.
Aleq said:
AFAIK Honeycomb has already the UI acceleration. But I haven't had any device with HC, is ICS really much smoother then HC? I didn't think so.
Click to expand...
Click to collapse
I was mistaken and you are correct. However, something under the hood was definitely changed or tweaked in regards to acceleration and how it is used because ICS does feel much smoother and more responsive throughout than Honeycomb did
I searched a bit and found this helpful article. Here are the most relevant quotes:
Android 3.0 Honeycomb gave developers the ability to turn on hardware acceleration, but it wasn’t toggled by default.
Click to expand...
Click to collapse
According to Romain Guy and Chet Haase (Android engineers):
“With this new pipeline, all drawing operations performed by the UI toolkit are carried out using the GPU. You’ll be happy to hear that Android 4.0, Ice Cream Sandwich, brings an improved version of the hardware-accelerated 2D rendering pipeline to phones, starting with Galaxy Nexus. In Android 4.0 (API level 14), hardware acceleration, for the first time, is on by default for all applications.”
Click to expand...
Click to collapse
I read on the net that according to some tests Linaro (http://www.linaro.org/) has created a version of Android Ice Cream Sandwich stocks without customization but rather with a modified source code and optimized for a given software really spectacular.
Been described as a result of 100% more powerful than the version developed by Google Android.
Shown in the demo, it was indeed able, with the same hardware features, to ensure response times and improved graphics performance well above that normally are used to observing. This success could not fail to intrigue the team Cyanogen, which is examining in detail the possibility to insert some code in the new CyanogenMod9.
So I wanted to ask if this code could possibly be included in the ROM that you’re developing.
I apologize if my remarks could be considered off-topic but I thought it was a matter that could be relevant
It is only for exynos and nova processors. Not for our snapdragon.
Sent from my MT11i using xda premium
I happened to come across a very interesting article regarding speed improvements for ICS on devices with (TI Pandaboard) OMAP 4430 processors. I believe the NT falls into this category. Supposedly the improvements will practically double the performance of the current build of ICS (4.0.4). The difference is really quite significant. It looks like it is being added to CM9 so we should hopefully see it on the NT!
From what I can gather...
They use a newer compiler and a special toolset built in. The use the linaro android system that has all string operations replaced for a faster build. They changed the way that the build system works. It sounds like the optimization is CPU based, so it should work even if Ducati isn't working. There are a lot of other optimization included, but I didn't really understand what the guy is talking about. You can find a video in the link below.
http://www.androidpolice.com/2012/0...e-and-now-parts-of-it-are-being-added-to-cm9/
https://wiki.linaro.org/Platform/Android
I guess the question is what we need to do to be sure that this gets implemented?
It sounds like some of it is being worked into the CM source. So I'd say we may see some after that unless some one feels like working it into a build themselves.
See the last few posts in this thread.
Hey guys,
I've seen a bunch of new kernels and roms pop up lately toting linaro toolchain patches and optimizations, specifically -03.
I found out what Linaro toolchain is through my own searching - Linaro is basically a non-profit organization a bunch of companies like Samsung and ARM to optimize Linux (in this case android) on the ARM architecture.
I also understand that they've been around since 2010, and Cyanogenmod along with Google have used their patched to optimize android to make it 30-100% faster (in benchmarks)
Lately I've been seeing a lot of this -03 popping up everywhere. Could someone explain to me what this -03 is about? thanks
..anybody?
Hey everyone
I know it's not polite to compare ROMs
But can someone suggest me the best ROM for performance and smoothness?
I don't care about battery or features.
All I need is buttery smooth experience.
AOSP based: Paranoid Android and Omnirom, MIUI based the xiaomi.eu rom
Στάλθηκε από το Redmi Note 4X μου χρησιμοποιώντας Tapatalk
Sjain11 said:
Hey everyone
I know it's not polite to compare ROMs
But can someone suggest me the best ROM for performance and smoothness?
I don't care about battery or features.
All I need is buttery smooth experience.
Click to expand...
Click to collapse
AOSP CAF based Roms are most smooth
I am on paranoid android
Nirav Tailor said:
AOSP CAF based Roms are most smooth
I am on paranoid android
Click to expand...
Click to collapse
I understand AOSP.
but can you explain what's meant by CAF?
CAF stands for the Code Aurora Forum. It's the place where Qualcomm releases source code for their phone processors. It's directly supported by Qualcomm and it's generally a more optimized branch for Snapdragon phones.
Now, there are two mainlines for Qualcomm chipsets. We have CAF, and we have AOSP.
CAF is what Qualcomm provides to all hardware vendors, as references and documentation on the chipset. Because of this, almost all non-Nexus devices are running HALs, kernels, etc from the CAF line.
AOSP is direct from Google. Google will take a fork from the CAF like, and add or retract features that they deem necessary, and then produce that for Nexus phones.
So, what this means is CAF ROMs will likely perform marginally better, but they are lacking features added by Google's AOSP line.
HalogenOS
CAF based.
not sure about the bugs. Last build is 24/06.
LineageOS is also AOSP + CAF based.
Paranoid Android is smoothest for me.
Zile995 said:
LineageOS is also AOSP + CAF based.
Paranoid Android is smoothest for me.
Click to expand...
Click to collapse
LOS merges CAF a lot slower than CAF dedicated ROMs (like HalogenOS)
LOS adds a lot more foreign code and hacks
If you want Pure CAF, Pure CAF speed, then a Non LOS CAF Rom is the way to go.
Zile995 said:
LineageOS is also AOSP + CAF based.
Paranoid Android is smoothest for me.
Click to expand...
Click to collapse
Correct me if wrong,
But I thought Lineage was the continuation of CM ROMs,an independent entity from AOSP Or CAF.
Paranoid android, period.
asusm930 said:
LOS merges CAF a lot slower than CAF dedicated ROMs (like HalogenOS)
LOS adds a lot more foreign code and hacks
If you want Pure CAF, Pure CAF speed, then a Non LOS CAF Rom is the way to go.
Click to expand...
Click to collapse
Yes, but they still use some CAF based code in.
Sent from my Redmi Note 4 using Tapatalk
Wow, how about Paranoid Android and Slim ROM?
Which is better? I haven't tried Paranoid Android, but I guess Slim ROM is worth a try. I've been using Slim ROM for a month now. But if Paranoid Android gives more buttery smooth experience, with stability and performance, guess I will try it?
I'm running paranoid android and halogen OS side by side with velvet kernel (governor - blu_active, IO - maple) and both of them are running mighty smooth. Animations are off except for transition set at .75x-1x.
Though I recommended paranoid android earlier, in this setup halogen seems to be ahead. It seems more to do with the kernel settings than anything else.
Edit: battery consumption seems a tad faster in PA.
zenjedi said:
I'm running paranoid android and halogen OS side by side with velvet kernel (governor - blu_active, IO - maple) and both of them are running mighty smooth. Animations are off except for transition set at .75x-1x.
Though I recommended paranoid android earlier, in this setup halogen seems to be ahead. It seems more to do with the kernel settings than anything else.
Edit: battery consumption seems a tad faster in PA.
Click to expand...
Click to collapse
Where do I find the Velvet Kernel?
Hirs_E_Fruit said:
Where do I find the Velvet Kernel?
Click to expand...
Click to collapse
https://www.androidfilehost.com/?w=files&flid=187565
zenjedi said:
https://www.androidfilehost.com/?w=files&flid=187565
Click to expand...
Click to collapse
Can you please share the thread link?
I can't find it.
Sjain11 said:
Can you please share the thread link?
I can't find it.
Click to expand...
Click to collapse
There is no thread for it.
Ок.
I find that the AOSP rom are mo buggy for me.
I like the future for lineage to change color profile.
I miss this in all other rom.
Halogen rom was my first rom that i try.
Its extremly fast but lack of a loot of futures.
So far i try ACIP - little laggy
AOSP Extended - buggy for me (keyboard, viber bug).
Legend - normal performance good battery life.
Halogen - really fast and stable rom no futures.
And now o dont know what to doo.
Im really like the lineage color temp profile.
I like the Android Paranoid but no colof profile.
Dont know what to do.
Sectorian said:
Ок.
I find that the AOSP rom are mo buggy for me.
I like the future for lineage to change color profile.
I miss this in all other rom.
Halogen rom was my first rom that i try.
Its extremly fast but lack of a loot of futures.
So far i try ACIP - little laggy
AOSP Extended - buggy for me (keyboard, viber bug).
Legend - normal performance good battery life.
Halogen - really fast and stable rom no futures.
And now o dont know what to doo.
Im really like the lineage color temp profile.
I like the Android Paranoid but no colof profile.
Dont know what to do.
Click to expand...
Click to collapse
volte present in halogen os?
Sjain11 said:
volte present in halogen os?
Click to expand...
Click to collapse
Yes