5,597,501 Members 31,518 Now Online
XDA Developers Android and Mobile Development Forum

[KERNEL]Netarchy Nexus for NS + NS4G (22-Oct-2011) Testing: 1.4.1

Tip us?
 
netarchy
Old
(Last edited by netarchy; 23rd October 2011 at 07:40 AM.)
#1  
netarchy's Avatar
Senior Recognized Developer - OP
Thanks Meter 1330
Posts: 1,439
Join Date: Jun 2010
Location: San Antonio, TX

 
DONATE TO ME
Default [KERNEL]Netarchy Nexus for NS + NS4G (22-Oct-2011) Testing: 1.4.1

Netarchy Nexus represents my foray into the world of kernel development for the Nexus S, having previously been working on kernel builds for the Evo 4g.


Quote:
Current Change List vs the stock kernel:
- BFS (Courtesy of work by Con Kolivas) *In builds as marked*
- Overclocking up to 1.4ghz enabled *overclocking not active by default, use a tool such as SetCPU or CM7's cpu performance settings to overclock* (Remember kids, not all phones tolerate overclocking equally)
- BFQ (Courtesy of work by Paolo Valente)
- Voodoo Sound driver - Courtesy of Project Voodoo
- Voodoo Color (as of 1.2.4) - Courtesy of Project Voodoo
- CIFS support
- TUN support
- NFS support (as of 1.2.4)
- Updated kernel base
- Cpu policy fix to avoid crashes with SetCPU and screen off profiles (Courtesy of work by coolbho3000)
- EXT4 remount tweak
- Interactive Governor (Use a tool such as SetCPU to change governors if you want to use it *still in need of some tuning*)
- BLN on i9020 models (As of 1.3.0.1) Thanks to work by Neldar.
- BLN on i9023 models (as of 1.3.0.8) Thanks to work by akent.
- Sysfs interface to custom-under/over volt in realtime (As of 1.3.0.4)
- Smartass Governor (as of 1.3.0.11)
- SLQB (as of 1.3.1)
- Ezekeel's backlight dimmer sysfs interface (As of 1.4.0)
- Ezekeel's Deep Idle modifications (As of 1.4.1)
Quote:
Kernel builds are currently tested against a stock rom and CM7, while they may work unchanged in other roms, your mileage may vary.

All source code is available on my github (see signature).

Be safe, -ALWAYS- make a backup before flashing!
*Standard Disclaimer: All packaged builds are provided with no guarantees as to their safety. By flashing, you assume any and all potential risks that running a custom kernel might entail.*

*A note to overclockers: If your phone is unstable when running an overclock speed, your particular phone probably can't handle that overclock and you should choose a lower clock.*

All kernel builds mirrored HERE.

*It is generally a good idea to wipe Cache and Dalvik-Cache when flashing a new kernel build to avoid certain problems usually related to Dalvik-Cache*

Downloads:

Experimental Version: 1.4.1 (These are testing builds that are more likely to have issues)

2.3.4+ based roms (Nexus-S AND Sprint Nexus-S 4G Phones):

CFS BUILDS:
Netarchy Nexus - 1.4.1-cfs (For stock 2.3.4 or higher roms)

Netarchy Nexus - 1.4.1-cfs-universal (Universal for non-stock 2.3.4 or higher roms)

BFS BUILDS:
Netarchy Nexus - 1.4.1-bfs (For stock 2.3.4 or higher roms)

Netarchy Nexus - 1.4.1-bfs-universal (Universal for non-stock 2.3.4 or higher roms)

"Stable" Version: 1.3.7

2.3.4+ based roms (Nexus-S AND Sprint Nexus-S 4G Phones):

CFS BUILDS:
Netarchy Nexus - 1.3.7-cfs-2.3.4 (For stock 2.3.4 roms)

Netarchy Nexus - 1.3.7-cfs-2.3.4-universal (Universal for non-stock 2.3.4 roms)

BFS BUILDS:
Netarchy Nexus - 1.3.7-bfs-2.3.4 (For stock 2.3.4 roms)

Netarchy Nexus - 1.3.7-bfs-2.3.4-universal (Universal for non-stock 2.3.4 roms)

Been helped by my efforts? Feel free to

(Funds go towards world domination... or possibly beer)

[My Github] [My Twitter]
[Got win? TeamWin]

The Following 144 Users Say Thank You to netarchy For This Useful Post: [ Click to Expand ]
 
netarchy
Old
(Last edited by netarchy; 23rd October 2011 at 02:02 AM.)
#2  
netarchy's Avatar
Senior Recognized Developer - OP
Thanks Meter 1330
Posts: 1,439
Join Date: Jun 2010
Location: San Antonio, TX

 
DONATE TO ME
Code:
Changelog:
Revision 1.4.1:
- Updated Ezekeel's Touchkey Dimmer to version 3.0 bugfix 4
- Integrated Ezekeel's Deep Idle mod, current to bugfix 5
- 45,333 rabid naked bunnies were harmed during the making of this kernel

Revision 1.4.0:
- Revert a patch that caused random reboots in certain usage situations
- Added Ezekeel's backlight dimmer sysfs interface (See instructions in second post on how to use)

Revision 1.3.9:
- Return to Deadline as default IO scheduler, using BFQ v2 could cause bugged encounters such as a never ending boot
- Applied kernel tweaks from the recent 2.3.5 OTA (mostly relevant for sprint users)

Revision 1.3.8:
- BFQ updated to BFQv2-r1
- Some build options that may have contributed to random reboots have been modified

Revision 1.3.7:
- Voodoo Sound driver updated to v10
- Testing out tiny rcu
- Touchscreen tweaks are no longer applied by default on boot. Users can still custom tweak touchscreen settings if desired
   by editing /system/etc/init.d/98touchscreen and rebooting as before.

Revision 1.3.6:
- Wifi driver changes, rolled back some code that was causing problems
- Added Cyaniris' touchscreen tweaks back in the form of a user customizable sysfs interface (courtesy of work by Cyaniris). 
   Users can set custom values by editing /system/etc/init.d/98touchscreen , followed by a reboot for the changes to take effect.
   Currently the default values are set, users that find the defaults not optimal might want to try some suggested settings by Cyaniris
   of 35 for touchthr, and 20 for noisethr.
- Corrected a bug that would have caused reboots and/or other assorted badness when having the phone sleep at a frequency other than 800mhz
   (Confession: I was an idiot and forgot to move over this fix from my 2.3.3 kernel trees when making the new kernel trees for 2.3.4, woops!)

Revision 1.3.5:
- Wifi driver updates, bugfixes
- JHash3 Added
- Cpu cache clearing fixes
- New compiler toolchain for builds, using gcc 4.5.2
- Interactive governor adjustments
- IO scheduler set to Deadline, seems to have a nice balance in performance

Revision 1.3.4:
- Remove touchscreen adjustments for now, they were causing problems on some phones. 
   Touchscreen tweaks will be revisited for a future build
- Add auto group process scheduler for CFS builds

Revision 1.3.3:
- Touchscreen adjustments that may improve touch response
- Update Voodoo Sound driver to version 9

Revision 1.3.2:
- Update BFS builds to BFS404
- Add Simple IO Scheduler and set as default

Revision 1.3.1:
- Smartass screen-off speed adjusted to address unresponsive programs during screen-off
- Smartass adjustments to improve responsiveness
- SLQB slab allocator added to help optimize memory allocation performance
- Some build configuration changes that may improve overall feel
- Ondemand governor up threshold adjusted to improve battery usage while still maintaining responsiveness

Revision 1.3.0.12:
- Adjustments to smartass to improve performance (there is probably still room for improvement)
- Default I/O Scheduler set to CFQ (previously BFQ), this may prove to be more stable in certain situations
- Some adjustments made to the CFS scheduler that may result in a better overall feel to CFS builds

Revision 1.3.0.11:
- Added Smartass Governor 
   (Not enabled by default, use setcpu or CM's cpu performance 
    settings to change if you want to try it out)
- Raised voltage cap to 1600mV for crazy people that 
    want to turn their phone into a reactor ;D
- Set config options in 2.3.4 kernel builds that should enable
    NS4G compatibility for our newly arriving sprint friends.
    Welcome to club nexus ;D

Revision 1.3.0.10:
- Update kernel base to 2.6.35.13
- Excessive stuttering in apps such as Gun Bros should be resolved
   or significantly improved; some problems with memory handling 
   were introduced in 2.6.35.12 and are resolved in .13

Revision 1.3.0.9:
- The cause of super-lag has been found (Big thanks to twitch153 for helping me test)
- Introducing Universal builds! These universal builds are designed to be flashed on any
   non-stock rom of the series marked (ie; Universal 2.3.3)
- Misc other tweaks to the kernel config that may result in an even smoother overall
   experience

Revision 1.3.0.8a:
- Fix issue preventing USB debugging (and adb), and sdcard space from working

Revision 1.3.0.8:
- Updated to support the 2.3.4 rom update
- Lots of updates from upstream, including components needed to support
   the forthcoming nexus s 4g (yes that means that I will be supporting the ns4g)
- Back to the 2.6.35.12 kernel base, the sdcard tweak has been scaled back
   as it appears to have been causing excess lag
- BLN work for i9023 models from akent included (not tested), i9023 users may 
   find they can now use BLN

Revision 1.3.0.7:
- Revert back to 2.6.35.11 base until I can track down the cause of ridiculous lag in the .12 base
   (Not that .11 was a bad performer by any means ;D)
- BFS builds updated to BFS401
- BFS users should find that they have regained their bootanimation

Revision 1.3.0.6:
- Voodoo driver updated to v8
- Custom voltage sysfs interface has changed, 
   the method used in 1.3.0.4 and 1.3.0.5 is not compatible.
   See the guide in the 2nd post for details on the new method.

Revision 1.3.0.5:
- Raised max voltage cap by 50 mV for people who want to try raising the voltage a little bit on 1.4ghz
- More tweaks to try and address instances of "super-lag"

Revision 1.3.0.4:
- Corrected a bug that could cause a slightly higher voltage to be used at certain speeds (resulting in slightly faster battery drain)
- Added a sysfs interface for manipulating voltage levels at various speeds, see 2nd post for details
   (read: this allows the possibility of custom under/over volting in realtime)
- Used a different build configuration that may address the occasional "super-lag" that appeared in 1.3.0.3

Revision 1.3.0.3:
- Update kernel base from 2.6.35.11 to 2.6.35.12
- Updated BFS version from BFS 363 to BFS 400 (BFS builds only)
- Raised default read-ahead value from 128 to 2048 (read: sd speed tweak built-in, scripts not necessary)

Revision 1.3.0.2:
- Updated Voodoo Sound driver to version 7
- Fixed a bug that made the sysfs file "scaling_available_freqs" not exist
   Programs that must read this file for discovering/controlling available cpu speeds can now do so.
   (This also means that CM7 users can set their cpu speeds from the cyanogenmod performance
    settings instead of having to use SetCPU)

Revision 1.3.0.1:
- Add initial BLN support (Currently only functional on SAMOLED models [i9020])
   Download the BLN control app from the market to use BLN functionality

Revision 1.3.0.0:
- More adjustments to the default colours to try and de-smurf the 
   previous adjusted defaults while still avoiding "Yellow tint shock"
- Voodoo sound updates (see github commit if you want more details)
- Fixed a bug that caused boot times to take significantly longer than necessary

Revision 1.2.9:
- Voodoo Sound v5 driver update
- Adjust default colours to avoid the initial "Yellow tint shock"

Revision 1.2.8:
- Voodoo Color gamma fix

Revision 1.2.7:
- Voodoo Color driver updates/fixes

Revision 1.2.6:
- Bring panel code up to date with official kernel
- Update Voodoo Color driver to v2
- Release initial cm7 2.3.3 compatible builds

Revision 1.2.5:
- Add 2.3.3 compatible builds
- Incorporate many updates from the newer 2.3.3 kernel sources, 
   including wifi driver updates, touchscreen updates, drivers for 
   future SLCD nexus-s variants, and more 
   (far too many bugfixes and updates to list, review the commit list on my github if you want details)
- Ext4 tweak should be working again in stock builds

Revision 1.2.4:
- Add NFS modules
- Make TUN built-in rather than modular (this may address issues some have had loading the driver)
- Add Voodoo Color

Revision 1.2.3:
- Update kernel base to 2.6.35.11
- Removed the ~56fps cap
- Conservative governor tweaked to perform better for users that choose to use it
- Greater rom compatiblity, particularly with roms that use specialized init scripts

Revision 1.2.2:
- 1.3ghz and 1.4ghz added to the frequency table for overclockers
- Default cpu speed on boot is 1000mhz, use a tool such as SetCPU to overclock 
  (No doubt I'll get some flack for this, but it's a very bad idea to boot into the max possible overclock when not all phones can tolerate it, so I consider it a necessary evil)
- Interactive Governor added, use a tool such as SetCPU to change to it if you want to try it out (Probably needs a bit of tuning to avoid annihilating battery, we shall see)
- CFS and BFS variants are now available
- Infused with the power of 1000 rabid naked bunnies

Revision 1.2.1:
- Ext4 hack should be working properly now

Revision 1.2:
- Fixed a condition where limiting max speed to 1000 would result in
  potential underclocking to 800 (Thanks DebauchedSloth)
- Set hi-res timer to 1000hz
- Gave a little more power to the cpu at 1.2ghz, this may help those
  having trouble running at 1.2 be more stable
- Integrated ext4 hack into the ramdisk builds
  (ext4 hack is not technically a kernel issue but worth pointing out)

Revision 1.1:
- 1.2ghz overclock *really* works now -Thanks for the help Morfic-
- Cpu policy fix to avoid crashes with SetCPU and screen off profiles
  (Courtesy of work by coolbho3000)

Revision 1.0:
- Initial release
- Add BFS scheduler
- Add 1.2ghz overclock
- Add BFQ
- Add Voodoo Sound driver
- Add CIFS support
- Add TUN support
- Update kernel base to 2.6.35.10
Custom Under/Over volting 101:
Code:
**As of 1.3.0.6 the method of custom voltage control has changed, read carefully!**

It is now possible for users to define custom levels of under/over 
volting via a new interface in sysfs.
The interface file in sysfs can be found at 
/sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table

By default, the custom values are all zeroed out, so a 
` cat /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table `
will show:
1400mhz: 1450 mV
1300mhz: 1400 mV
1200mhz: 1350 mV
1000mhz: 1250 mV
800mhz: 1200 mV
400mhz: 1050 mV
200mhz: 950 mV
100mhz: 950 mV

Modification of voltages is possible by echoing a string of 8 values 
to the sysfs interface via the console, where the order of values
goes left to right from highest frequency affected to lowest.
To adjust the mV for a particular higher or lower than the default, 
echo values divisible by 5 like in the following example from an adb shell (this is JUST an example, not guaranteed working values ;D):

` echo "1500 1400 1325 1275 1200 1050 900 850" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table `

Which has the following effect when examining UV_mV_table: 

1400mhz: 1500 mV
1300mhz: 1400 mV
1200mhz: 1325 mV
1000mhz: 1275 mV
800mhz: 1200 mV
400mhz: 1050 mV
200mhz: 900 mV
100mhz: 850 mV

Rom developers, you can conceivably create custom scripts to 
apply various under/over volt settings

For reference, these are the default voltages:
Default Frequency Voltage Table:
1400mhz: 1450 mV
1300mhz: 1400 mV
1200mhz: 1350 mV
1000mhz: 1250 mV
800mhz: 1200 mV
400mhz: 1050 mV
200mhz: 950 mV
100mhz: 950 mV

Additionally, there is currently a safety cap of 1600mV for max voltage,
setting a value higher than 1600mV will currently not have an effect greater than 1600mV.
(Read: You can set a value higher than 1600, but it will get dropped to 1600 behind the scenes)

This can be altered for future builds if I get feedback asking for it.
Backlight Dimmer:
Quote:
Originally Posted by Ezekeel View Post
Based on the latest BLN version 9, I made some modifications to implement a backlight dimmer which does not need an external program (like cron) to trigger an off-switch.

To activate the dimmer, just echo the dim interval in ms (this is milliseconds; 1000ms = 1s) into /sys/class/misc/backlightnotification/in-kernel-dimmer. If you pass a value of 0, the dimmer will be deactivated.
FAQ:
Code:
Q: I'm getting a "Device or Kernel version not supported" error in Voodoo Control Plus!
A:The error is referring to the generic modules that voodoo control plus comes with to support 
    kernels that don't already have voodoo built-in (such as a completely stock kernel). 
    You can safely ignore this error, as voodoo is already built into the kernel.

Q: I'm getting SOD's (Sleep of Death) when undervolting!
A: You are probably undervolting too far

Q: OMG I'm getting a black screen (no boot animation) when booting a 2.3.3-based rom!
A: This tends to happen mostly on BFS builds, though it *can* occur on cfs builds (and even on the
    stock kernel). The exact cause of this glitch is not known at this time, however, it is purely cosmetic. 
    You will notice that the bottom buttons are lit, and if you were to run adb logcat, you will see that the
    phone is active. The phone is actually booting, just be patient. 

Q: What are BFS and CFS?
A: They are task schedulers (they determine what processes get cpu time, how much, etc).

CFS (Completely Fair Scheduler) is the default scheduler in the official mainline kernel. It's a tried, tested, stable scheduler.

BFS (Brain **** Scheduler) is a third party scheduler written by Con Kolivas that must be patched into the kernel, and replaces the CFS scheduler. It tends to be faster in certain tasks, and is usually pretty stable, but sometimes there can be performance quirks.

Been helped by my efforts? Feel free to

(Funds go towards world domination... or possibly beer)

[My Github] [My Twitter]
[Got win? TeamWin]

The Following 24 Users Say Thank You to netarchy For This Useful Post: [ Click to Expand ]
 
RinTinTigger
Old
#3  
RinTinTigger's Avatar
Senior Member
Thanks Meter 24
Posts: 610
Join Date: Nov 2009
Downloading and Testing! THx

Is using setCPU advised?
 
netarchy
Old
(Last edited by netarchy; 27th February 2011 at 08:44 PM.)
#4  
netarchy's Avatar
Senior Recognized Developer - OP
Thanks Meter 1330
Posts: 1,439
Join Date: Jun 2010
Location: San Antonio, TX

 
DONATE TO ME
EDIT: Removed to avoid confusion as the info previously contained in this post is now outdated and invalid.

Been helped by my efforts? Feel free to

(Funds go towards world domination... or possibly beer)

[My Github] [My Twitter]
[Got win? TeamWin]

The Following 4 Users Say Thank You to netarchy For This Useful Post: [ Click to Expand ]
 
dingdonghei
Old
#5  
Senior Member
Thanks Meter 4
Posts: 160
Join Date: Sep 2009
Location: Oslo
Someone give a shout out if this works with cm! Haven't got time to test it myself today. And thanks for your work!

Sent from my Nexus S using XDA App
 
MrNameless
Old
#6  
MrNameless's Avatar
Senior Member
Thanks Meter 41
Posts: 414
Join Date: Jan 2010
Location: Italy
I will put this in my ROM
Follow Me on Twitter


If you like my hard work and the time it takes me, please consider buying me a coffee!



AndroidITA .com
<--- My site About Android

Ex Maintainer of GingerS ROM for Nexus S
 
demo23019
Old
(Last edited by demo23019; 31st January 2011 at 06:06 PM.)
#7  
demo23019's Avatar
Senior Member
Thanks Meter 612
Posts: 2,171
Join Date: Dec 2007
Thanks

Just a heads up
Doesn't work with CyanogenMod 7 nightly
HTC Hermes
HTC Touch Diamond
HTC Nexus One
Samsung Vibrant

__________________

http://i.imgur.com/hxgQgq6.png
 
RinTinTigger
Old
#8  
RinTinTigger's Avatar
Senior Member
Thanks Meter 24
Posts: 610
Join Date: Nov 2009
Quote:
Originally Posted by netarchy View Post
SetCPU is not necessary.

You're free to use it of course, just remember that the NS idles at 800mhz, so if you use a screen off profile, take that into account.
Done. Works great with MoDaCo r10
The Following User Says Thank You to RinTinTigger For This Useful Post: [ Click to Expand ]
 
hoseth0711
Old
#9  
Senior Member
Thanks Meter 67
Posts: 598
Join Date: Oct 2009
Location: Copenhagen
Quote:
Originally Posted by demo23019 View Post
Thanks

Just a heads up
Doesn't work with CyanogenMod 7 nightly
Thanks for heads up, thats sad. But thanks to the OP for the kernel its so nice to see.

Sent from my Nexus S using Tapatalk
 
morfic
Old
#10  
morfic's Avatar
Recognized Developer
Thanks Meter 12390
Posts: 7,112
Join Date: Aug 2008
Location: San Antonio
Welcome.

Coolbho3k has a fix up. rewriting policies to enter sleep at 800 and restoring after.
Don't have link handy. You find it on his twitter.

Sent from my Nexus S
Email me, i suck at replying to PMs.



Direct link to my GIT - http://www.bitbucket.org/morfic/
Direct link to my *old* GIT - http://morfic.euroskank.com/git/

twitter - @morfique
Talk to me on freenode's #trinitykernel
1KBSMtMTDSTr9XU23sYr9wZJBfb2RwpWnf

You may call me "gun powder"

The Following User Says Thank You to morfic For This Useful Post: [ Click to Expand ]
THREAD CLOSED
Subscribe
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes