[KERNEL][GPL][16 OCT] franco.Kernel-r21

Status
Not open for further replies.
Search This thread

franciscofranco

Recognized Developer
Dec 9, 2010
24,724
136,402
Carcavelos
I don't like to write big first posts, so lets cut to the chase:

This kernel features:
* Completely 100% warning free kernel - clean as butter
* Compiling fixes from showp1984 (awesome job)
* Compiling fixes from riemervdzee (awesome as well)
* Some merges from TripNRaVer
* CRC32 library updated
* Simple I/O scheduler as default and optimized for flash devices
* Several hotplug patches for maximum stability - hotplug is onlining/offlining CPU's on demand
* Maximum debug stripped out without ruining Wi-Fi module
* fsync() calls disabled for maximum I/O throughput
* CPU frequency transitions latency reduced from 300 * 1000 to 10 * 1000
* Partitions properly mounted in the ramdisk for maximum performance
* VM parameters tuned for battery and performance enhancements
* Lowmemorykiller backported from 3.4 kernel - this should help with memory management
* Memory system calls improved using glibc version
* Ondemand governor is the default and is tweaked for my personal prefered values for battery and performance improvements
* Some other minor tweaks and optimizations available to be seen on my github repository
* GPU overclock interface
* Companion core max frequency interface
* Custom lowmemorykiller driver to force the system to have 250-300 memory ram available
* Based on the latest 2.17.401.2 source

Changelog:
r21:

* Major refactoring of the GPU OC interface. Now you just choose whatever max frequency you want the GPU to scale to instead of setting the whole array of frequencies. For example echo 550 > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc. This also scales the voltage used based on what GPU clock you choose. My One X freezes if I set anything => 650Mhz. Have fun.

r20:

* GPU overclock interface. Now you're able to choose which frequency you want your GPU to run:
To check the frequencies just do this: cat sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
The default clocks are: 416 416 416 380 332 285 234.
To change to other clocks just do this: echo X X X 380 332 285 234 > sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
Substitute the X with 484, 520, 550, 600 or 700 if you'd like. Be careful that on higher clocks the device might get extremely hot and unstable. You're on your own.
* Added interface for you to choose which max frequency you want the companion core to run:
echo X > sys/devices/system/cpu/cpu0/cpufreq/cpu_lp_max
substitute the X with 100, 200, 300, 400 or 500. 500 is the default value.
* Added some custom driver changes to lowmemorykiller to force the device to have at least roughly 250-300 mb ram free - we don't want the device to run out of memory and we know how memory hog Sense is.
* Fixed CPU voltage interface with the correct values

r18:

* Add back UV interface
* Refactored CPU frequency table: now it goes from 100Mhz to 1500Mhz in 100Mhz increments
* Adjusted memory bandwidth according to the new frequency table
* Tweak ondemand governor sampling time - now its the same as the cpu frequency transition latency
* Now all cores scale to 1500Mhz - previously single core mode scaled to 1500Mhz and when in multi-core it scaled to 1400Mhz. I think faux discovered this fix, so if he did, credits to him

r17:
* Complete rebase into the new 2.17.401.2 sources

r13:
* Merge latest HTC One X sources
* Fixed lots of HTC derps again in the newer source merge
* Some performance improvements on the ramdisk

r12:
* Attempt to fix most of the screen flicker. Like I said on the previous post its mostly fixed but its still partly visible on the lowest brightness. This is what I can see on my device, but there are 6 or 7 different panels around so I can't predict whats going to happen with all the users
* Enable fsync() calls back to the tree. If you enjoyed the extra IO speed I created a module_param where you can enable/disable fsync whenever you want (echo N to disable).: echo Y > /sys/module/sync/parameters/fsync_enabled
* Revert one of my previous cleanup patches that was causing some extra mAh usage during idle
* Some ramdisk tweaks

r10:
* Add userspace voltage control. You can control the voltages via my own app or via terminal commands

r9:
* Revert back to stock Ondemand because I wanted to enable Two-phase algorithm that will possibly increase battery life (thats the goal for the algorithm)
* Decreased Ondemand up_threshold from 95% to 90%
* A little Ondemand tweak explained here: https://github.com/franciscofranco/One_X-2.6.39.4/commit/6cf7e62bb928e3d08a74dbdf998be69703ecf852
* Cleanup of some of cpu-tegra.c routines explained here: https://github.com/franciscofranco/One_X-2.6.39.4/commit/27caf295bcec946e92cfac6486286130d5476edc
* smp.c: fix ARM RCU stalls
* A little patch to nohz from 3.0.31
* Little config cleanup

r8:
* Fix shutdown bug where it restarted instead of shutting off
* Re-worked baseband-xmn-power2.c cleanup - now airplane doesn't restart the device and the odd signal issues should be fixed
* Re-worked tegra_aic3008.c (responsible for the sound) and now listening to music should use less power (not confirmed, just an assumption)
* One or two extra cleanups

r7:
* I present you the first HTC One X completely warning/section mismatch/error free with over 100 patches (maybe more) where I cleaned all HTC's derp. Check my repository to see what I've been doing

r6:
* Some fixes from TripNRaVeR - awesome job be sure to send him a beer or two
* Lots of warnings, ISO C90 warnings, unused variables and other ton of fixes on top of HTC source (that is bloody derped)
* All the fixes are visible on my github repository

r5:
* Ramdisk rebased to stock 1.29.401.11 (it should boot on every rom now)
* Added native init.d support for the ramdisk
* Added previous ramdisk optimizations
* Enable ARCH_POWER to use arm_cpu_topology power management features.
* Added 18 kernel patches from NVIDIA

r4:
* Proper compiler flags (I accidentally built for cortex-a8 last build)
* Allow CPU-supported unaligned accesses - should give a tiny bit of extra performance
* Remove htc_print_active_wake_locks - from TripNRaVer
* Remove HTC pokecpu - from TripNRaVer
* Remove htc_util - from TripNRaVer
* Fix ARM: Move leds idle start/stop calls to idle notifiers from previous process.c cleanup
* cpufreq: ISO C90 forbids mixed declarations and code - from TripNRaVer
* Revert "Decrease minimum VDD allowed for CPU from 850mV to 800mV." - I believe this was causing the extra screen flicker on lowest brightness and some users report of stuttering music while screen off
* CFS scheduler tweaks on the ramdisk for maximum UI responsiveness and smoothness - if you repack this kernel for other ramdisks you'll lose this tweaks
* Some config cleanups for better speed
This is a 1.29.401.7 ramdisk so you'll most likely have to repack it if you're running a 1.29.401.11 rom, so don't bother crying at me for non-booting issues.

r3:
* More fix-ups from showp1984 (danke you)
* Move x86_64 idle notifiers to generic - From Todd Poynor. This allows us to use the idle_notifiers interface for further patches
* Cleanup cpu_idle call from process.s
* Few compiler flags added
* config cleaned up a little bit
* Westwood+ TCP Congestion algorithm by default - should give an extra boost to internet speed and smoothness
* calibrate.c (loops_per_jiffy calculation file) updated to its latest version from Linux mainline
* A few ramdisk tweaks and cleanups

r2:
* Another round of fixes from riemervdzee (send him a beer sometime)
* Add ARM cpu topology definition
* Add Simple IO scheduler and made it default
* Ondemand governor updated to my 3.0.8 Galaxy Nexus branch
* Some MMC power management fixes
* Decrease minimum VDD allowed for CPU from 850mV to 800mV.
* Some PCIE patches from NVIDIA's repo
* Some other small patches available on my github

Downloads:
Kernel: http://minooch.com/franciscofranco/One X/
Modules: http://minooch.com/franciscofranco/One X/modules/
franco.Kernel updater app: https://market.android.com/details?id=com.franco.kernel
franco.Kernel updater app from AndroidPit: http://www.androidpit.com/en/android/market/apps/app/com.franco.kernel/franco-Kernel-updater

Instructions:
1 - Enter this command: fastboot erase cache
2 - Flash the boot.img on fastboot with: fastboot flash boot boot—rX.img (replace X by the release number)
3 - Reboot to recovery from the fastboot menu (before booting to system for the first time) and flash the modules package
?? - The device didn't boot and you're crying in the corner? Try this: http://xdaforums.com/showthread.php?t=1647398

As always I'm not responsible for thermonuclear war on your device, so you're on your own

Source: https://github.com/franciscofranco/One_X-2.6.39.4

franco.Kernel updater app features:
* Added support for my HTC One X kernels (international Tegra 3 version ONLY) with the following features:
* Downloads boot.img and modules directly from the FTP
* CPU tools with the ability to change governor parameters and mess with the default governor and CPU frequencies
* Full control over the 4 cores - you can chose how many cores you want your device to use
* Live watch over the 4 cores by the second - you can see the device turning on/off the cores live

Enjoy and provide feedback please
 

Attachments

  • Screenshot_2012-05-10-14-28-34.jpg
    Screenshot_2012-05-10-14-28-34.jpg
    29.5 KB · Views: 33,010
Last edited:

the_maker

Senior Member
Jun 22, 2007
1,417
511
Republic of Macedonia
I got stuck on HTC screen..

Will try clearing cache and post..

EDIT: No go for me.. Still stuck, will revert to normal kernel.. I did everything as it should, of course..
 
Last edited:

3rdeyer

Senior Member
Sep 16, 2010
142
56
Stuck at HTC screen here as well. The boot.img is only 3mb while all the other I've tried so far are 4.xmb
 

TUN_SD

Inactive Recognized Themer
Oct 21, 2011
3,575
4,812
here and there
tunsd.de
OnePlus 8T
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 289
    I don't like to write big first posts, so lets cut to the chase:

    This kernel features:
    * Completely 100% warning free kernel - clean as butter
    * Compiling fixes from showp1984 (awesome job)
    * Compiling fixes from riemervdzee (awesome as well)
    * Some merges from TripNRaVer
    * CRC32 library updated
    * Simple I/O scheduler as default and optimized for flash devices
    * Several hotplug patches for maximum stability - hotplug is onlining/offlining CPU's on demand
    * Maximum debug stripped out without ruining Wi-Fi module
    * fsync() calls disabled for maximum I/O throughput
    * CPU frequency transitions latency reduced from 300 * 1000 to 10 * 1000
    * Partitions properly mounted in the ramdisk for maximum performance
    * VM parameters tuned for battery and performance enhancements
    * Lowmemorykiller backported from 3.4 kernel - this should help with memory management
    * Memory system calls improved using glibc version
    * Ondemand governor is the default and is tweaked for my personal prefered values for battery and performance improvements
    * Some other minor tweaks and optimizations available to be seen on my github repository
    * GPU overclock interface
    * Companion core max frequency interface
    * Custom lowmemorykiller driver to force the system to have 250-300 memory ram available
    * Based on the latest 2.17.401.2 source

    Changelog:
    r21:

    * Major refactoring of the GPU OC interface. Now you just choose whatever max frequency you want the GPU to scale to instead of setting the whole array of frequencies. For example echo 550 > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc. This also scales the voltage used based on what GPU clock you choose. My One X freezes if I set anything => 650Mhz. Have fun.

    r20:

    * GPU overclock interface. Now you're able to choose which frequency you want your GPU to run:
    To check the frequencies just do this: cat sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
    The default clocks are: 416 416 416 380 332 285 234.
    To change to other clocks just do this: echo X X X 380 332 285 234 > sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
    Substitute the X with 484, 520, 550, 600 or 700 if you'd like. Be careful that on higher clocks the device might get extremely hot and unstable. You're on your own.
    * Added interface for you to choose which max frequency you want the companion core to run:
    echo X > sys/devices/system/cpu/cpu0/cpufreq/cpu_lp_max
    substitute the X with 100, 200, 300, 400 or 500. 500 is the default value.
    * Added some custom driver changes to lowmemorykiller to force the device to have at least roughly 250-300 mb ram free - we don't want the device to run out of memory and we know how memory hog Sense is.
    * Fixed CPU voltage interface with the correct values

    r18:

    * Add back UV interface
    * Refactored CPU frequency table: now it goes from 100Mhz to 1500Mhz in 100Mhz increments
    * Adjusted memory bandwidth according to the new frequency table
    * Tweak ondemand governor sampling time - now its the same as the cpu frequency transition latency
    * Now all cores scale to 1500Mhz - previously single core mode scaled to 1500Mhz and when in multi-core it scaled to 1400Mhz. I think faux discovered this fix, so if he did, credits to him

    r17:
    * Complete rebase into the new 2.17.401.2 sources

    r13:
    * Merge latest HTC One X sources
    * Fixed lots of HTC derps again in the newer source merge
    * Some performance improvements on the ramdisk

    r12:
    * Attempt to fix most of the screen flicker. Like I said on the previous post its mostly fixed but its still partly visible on the lowest brightness. This is what I can see on my device, but there are 6 or 7 different panels around so I can't predict whats going to happen with all the users
    * Enable fsync() calls back to the tree. If you enjoyed the extra IO speed I created a module_param where you can enable/disable fsync whenever you want (echo N to disable).: echo Y > /sys/module/sync/parameters/fsync_enabled
    * Revert one of my previous cleanup patches that was causing some extra mAh usage during idle
    * Some ramdisk tweaks

    r10:
    * Add userspace voltage control. You can control the voltages via my own app or via terminal commands

    r9:
    * Revert back to stock Ondemand because I wanted to enable Two-phase algorithm that will possibly increase battery life (thats the goal for the algorithm)
    * Decreased Ondemand up_threshold from 95% to 90%
    * A little Ondemand tweak explained here: https://github.com/franciscofranco/One_X-2.6.39.4/commit/6cf7e62bb928e3d08a74dbdf998be69703ecf852
    * Cleanup of some of cpu-tegra.c routines explained here: https://github.com/franciscofranco/One_X-2.6.39.4/commit/27caf295bcec946e92cfac6486286130d5476edc
    * smp.c: fix ARM RCU stalls
    * A little patch to nohz from 3.0.31
    * Little config cleanup

    r8:
    * Fix shutdown bug where it restarted instead of shutting off
    * Re-worked baseband-xmn-power2.c cleanup - now airplane doesn't restart the device and the odd signal issues should be fixed
    * Re-worked tegra_aic3008.c (responsible for the sound) and now listening to music should use less power (not confirmed, just an assumption)
    * One or two extra cleanups

    r7:
    * I present you the first HTC One X completely warning/section mismatch/error free with over 100 patches (maybe more) where I cleaned all HTC's derp. Check my repository to see what I've been doing

    r6:
    * Some fixes from TripNRaVeR - awesome job be sure to send him a beer or two
    * Lots of warnings, ISO C90 warnings, unused variables and other ton of fixes on top of HTC source (that is bloody derped)
    * All the fixes are visible on my github repository

    r5:
    * Ramdisk rebased to stock 1.29.401.11 (it should boot on every rom now)
    * Added native init.d support for the ramdisk
    * Added previous ramdisk optimizations
    * Enable ARCH_POWER to use arm_cpu_topology power management features.
    * Added 18 kernel patches from NVIDIA

    r4:
    * Proper compiler flags (I accidentally built for cortex-a8 last build)
    * Allow CPU-supported unaligned accesses - should give a tiny bit of extra performance
    * Remove htc_print_active_wake_locks - from TripNRaVer
    * Remove HTC pokecpu - from TripNRaVer
    * Remove htc_util - from TripNRaVer
    * Fix ARM: Move leds idle start/stop calls to idle notifiers from previous process.c cleanup
    * cpufreq: ISO C90 forbids mixed declarations and code - from TripNRaVer
    * Revert "Decrease minimum VDD allowed for CPU from 850mV to 800mV." - I believe this was causing the extra screen flicker on lowest brightness and some users report of stuttering music while screen off
    * CFS scheduler tweaks on the ramdisk for maximum UI responsiveness and smoothness - if you repack this kernel for other ramdisks you'll lose this tweaks
    * Some config cleanups for better speed
    This is a 1.29.401.7 ramdisk so you'll most likely have to repack it if you're running a 1.29.401.11 rom, so don't bother crying at me for non-booting issues.

    r3:
    * More fix-ups from showp1984 (danke you)
    * Move x86_64 idle notifiers to generic - From Todd Poynor. This allows us to use the idle_notifiers interface for further patches
    * Cleanup cpu_idle call from process.s
    * Few compiler flags added
    * config cleaned up a little bit
    * Westwood+ TCP Congestion algorithm by default - should give an extra boost to internet speed and smoothness
    * calibrate.c (loops_per_jiffy calculation file) updated to its latest version from Linux mainline
    * A few ramdisk tweaks and cleanups

    r2:
    * Another round of fixes from riemervdzee (send him a beer sometime)
    * Add ARM cpu topology definition
    * Add Simple IO scheduler and made it default
    * Ondemand governor updated to my 3.0.8 Galaxy Nexus branch
    * Some MMC power management fixes
    * Decrease minimum VDD allowed for CPU from 850mV to 800mV.
    * Some PCIE patches from NVIDIA's repo
    * Some other small patches available on my github

    Downloads:
    Kernel: http://minooch.com/franciscofranco/One X/
    Modules: http://minooch.com/franciscofranco/One X/modules/
    franco.Kernel updater app: https://market.android.com/details?id=com.franco.kernel
    franco.Kernel updater app from AndroidPit: http://www.androidpit.com/en/android/market/apps/app/com.franco.kernel/franco-Kernel-updater

    Instructions:
    1 - Enter this command: fastboot erase cache
    2 - Flash the boot.img on fastboot with: fastboot flash boot boot—rX.img (replace X by the release number)
    3 - Reboot to recovery from the fastboot menu (before booting to system for the first time) and flash the modules package
    ?? - The device didn't boot and you're crying in the corner? Try this: http://xdaforums.com/showthread.php?t=1647398

    As always I'm not responsible for thermonuclear war on your device, so you're on your own

    Source: https://github.com/franciscofranco/One_X-2.6.39.4

    franco.Kernel updater app features:
    * Added support for my HTC One X kernels (international Tegra 3 version ONLY) with the following features:
    * Downloads boot.img and modules directly from the FTP
    * CPU tools with the ability to change governor parameters and mess with the default governor and CPU frequencies
    * Full control over the 4 cores - you can chose how many cores you want your device to use
    * Live watch over the 4 cores by the second - you can see the device turning on/off the cores live

    Enjoy and provide feedback please
    39
    I just wasted 30 minutes reading this thread and taking notes.

    My first and most important conclusion is that 50% of the users should be using an iPhone. If you want to tweak an Android device ****ing read and research. Posts like "omg how to flash" while instructions are on the OP severely insults me and the amount of work I ve put into this kernel. If you dont know how to flash it then either search or leave your device alone and buy an iPhone.

    Another comon post is: "amfg i had 40% batary flashed dis and 30m later batary died. Kernal suckz fiz now". No, fix your brain first. Or search. This ****ing One X is stupid like a cockroach, it doesnt adapt itself like the GN. It requires at least one or two battery cycles to be optimal. If you dont know this search or buy an iPhone.

    Another comon **** is that 75% of the users dont understand how Android works. Apps keep the devices awake with services to query your internet connections for new data. Apps like Facebook, Google Maps, Juice Defender and similar like to do this as a sport. Network Location service also ****s up some times and wake the device trying to poll for your location. Check your ****ing apps before complaining about battery life on the kernel that has proved itself that improves your battert longevity. If you dont know this search or buy an iPhone.

    I never ever ever have a single battery problem in all my devices no matter how experimental kernels I throw at them. Why? Because I searched, read and understand to control my devices, and not my devices controlling me.

    Its the last post from me explaining this ****. Next question of the likes and I will copy paste this again.

    Sent from my Galaxy Nexus using xda premium
    31
    r11 is up
    * Decrease minimum allowed UV from 600 5o 500mV
    * Lots of cleanups to cpu-tegra.c and cpu-tegra3.c routines - HTC and NVIDIA need new engineers...
    * A little cleanup to tegra3_clocks.c
    * Another cleanup to Ondemand governor to simplify their derp code
    * Add a new debug line during the undervolt routine for easy check if the voltages were really applied to the dvfs struct - check it via dmesg
    * Charging should now be faster
    24
    r6 should come out today. Mimicking Trip's warnings/ISO C90 warnings fixes etc I decided to do the same (it's pretty fun actually) and r6 already gots a lot of fixes on ****ing HTC derp code.