[KERNEL][Z1] DooMKernel (v22-new)[20141019]

Search This thread

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune

----------------[ ANNOUNCEMENT ]--------------------

DooMKernel v22-new released!

----------------[ ANNOUNCEMENT ]--------------------




DooMKernel for Xperia Z1 !!!



[ intro ]


so friends i present to u the legendary DooMKernel!



thanks to all the testers who are testing this on their device!




[ screenshot ]

attachment.php




[ disclaimer ]


BOOTLOADER-CAMERA ISSUE IS FIXED IN 4.3 UPDATE!



OVERCLOCKING CAN BE DANGEROUS! U RISK THE HARDWARE GETTING DAMAGED!
PROCEED WITH CAUTION! U HAVE BEEN WARNED!



I AM NOT TO BE HELD RESPONSIBLE IF U DAMAGE UR PHONE / SPILL UR COFFEE / MISS UR ALARMS / ANY OTHER CALAMITY/MISHAP


DO NOT CROSS FLASH! THIS IS MENT ONLY FOR Xperia Z1 (C6902/03/06/43)




[ features ]

  • updated kernel ramdisk to 14.4.A.0.133 (should work on .108 too) [v22-new onwards]

  • updated kernel sources to 14.4.A.0.133 (.108) included, kernel will now work on latest 4.4.4 ROM [v22 onwards]

  • updated kernel ramdisk to 14.4.A.0.108 (should work on .133 too) [v22 onwards]

  • updated TWRP Recovery to v2.8.0.1 [v22 onwards]

  • updated PhilZ Recovery to v6.58.4 [v22 onwards]

  • updated intelli-plug to v3.8 with all latest patches [thanks to @faux123] [v22 onwards]

  • added intelli-thermal v2 [thanks to @faux123] [v22 onwards]

  • updated Sound Control to v3.6 with all latest patches [thanks to @faux123] [v22 onwards]

  • updated intelli-active CPU governor [thanks to @faux123] [v22 onwards]

  • DISABLED Double Tap 2 Wake! was causing HEAVY battery drain! [v21 onwards]

  • fixed issue: Device will now enter Deep Sleep! [v21 onwards]

  • added new patched intelli_plug driver - no need of custom WLAN modules now! (thanks to @faux123 ) [v20 onwards]

  • re-enabled Double Tap 2 Wake! with newer patches (thanks to @MohammadAG ) [v20 onwards]
    enabled by default

  • reverted back to stock WLAN modules & firmware [v20 onwards]

  • fixed issue: exFAT sdcard are now supported! [v20 onwards]

  • now uses custom built wifi wlan modules! (thanks to @dbolivar ) for the tip! [v19 ONLY]
    THIS BREAKS exFAT compatibility for now! if you have exFAT based external SDCARD IT WILL NOT WORK WITH THIS KERNEL VERSION!

  • added and enabled Intelli-KSM (kernel same page) (thanks to @faux123 ) [v19 onwards]

  • enabled and updated intelli-plug to v2.6 - intelli-plug is an alternative to MPDecision hotplug governor! (thanks to @faux123 ) [v19 onwards]

  • added some more PowerSuspend hooks (thanks to @Yank555.lu ) [v19 onwards]

  • added Kernel NEON mode support and fixed VFPmodule bounce crash at bootup (thanks to @myfluxi ) [v19 onwards]

  • added interface to control vibration intensity (thanks to @Kali- ) [v19 onwards]
    interface is located at: /sys/devices/virtual/timed_output/vibrator/vtg_level
    accepted values: 12 to 31

  • added two-way stereo call recording support! (thanks to @chdloc ) [v19 onwards]
    not sure if it works correctly!

  • added and enabled NEW CPU Undervolting interface! (thanks to @faux123 ) [v19 onwards]

  • added and enabled Simple GPU Algorithm with tweakable parameters! (thanks to @faux123 ) [v19 onwards]

  • added and enabled proper RAM Console support - now users can get /proc/last_kmsg (thanks to @Kali- ) [v19 onwards]

  • reverted and removed custom MP-Decision [v18 onwards]

  • re-enabled Stock Qualcomm MSM MP-Decision driver [v18 onwards]

  • added stock mpdecision binary to recovery package [v18 onwards]

  • added custom MP-Decision (100% kernel based multi core decision) which replaces Qualcomm's mpdecision! - ported from Bricked kernel for Nexus 5 (thanks to @show-p1984 ) {here is how to use it} [v17 ONLY]
    you will have to manually rename /system/bin/mpdecision to /system/bin/mpdecision.bak and reboot once!

  • shifted to GCC 4.9.1 Linaro toolchain with Cortex-A15 optimizations [v17 onwards]

  • added msm_sleeper driver! this is basically a kernel level screen off frequency setting driver (thanks to @flar2 ) {here is how to activate it} [v16 onwards]

  • added new I/O schedulers: [v16 onwards]
    • BFQ
    • ZEN
    • VR

  • fixed GPU governor - simple_ondemand crash (thanks to @myfluxi ) [v16 onwards]

  • added optimized memory read/write drivers [v16 onwards]

  • intelli-thermal is now working again! [v15 onwards]

  • added ZRAM driver [v15 onwards]

  • added msm_cpufreq_limiter "Snake Charmer" - now the cores are properly capped! (thanks to @faux123 ) [v14 onwards]

  • added smarter default voltage selection based on chip capabilities [v13 onwards]

  • shifted to GCC 4.8.3 Linaro toolchain with Cortex-A15 optimizations (thanks to @dbolivar ) [v13 onwards]

  • some patches to cpufreq driver [v13 onwards]

  • updated stock ramdisk to 14.3.A.0.757 firmware [v12 onwards]

  • updated with 14.3.A.0.757 firmware kernel sources [v12 onwards]

  • added MSM_Turbo driver (thanks to @faux123) - when only two cores are active this should push them to higher frequency [v12 onwards]

  • brought back CPU OverClock upto 2.4 GHz ! - device will boot by default at 2.26 GHz [v12 onwards]

  • added new tweaked CPU frequency governors: [v12 onwards]
    • LionHeart
    • SmartAssV2
    • LagFree

  • disabled DoubleTap2Wake for now - was causing increased battery drain [v12 onwards]

  • added and enabled LCD Color Control (thanks to @savoca for his work on Moto G) - ported to Xperia Z1 - use FauxClock or similar app to control this feature [v11 onwards]

  • added and enabled Double Tap 2 Wake by default! (huge thanks to @MohammadAG for porting it first to the Xperia Z1) [v10 onwards]

  • update all recoveries to latest! Philz Recovery 6.25.0 (thanks to @Phil3759 ) & CWM 6.0.4.7, TWRP 2.7.0.0 (thanks to @[NUT] ) [v10 onwards]

  • added and enabled new CPU governor: Intelli-active! (thanks to @faux123) [v09 onwards]

  • added and enabled Force Fast Charging (thanks to @faux123) - ported to Xperia Z1 - not sure if its working correctly yet! [v09 onwards]

  • fixed TWRP mounting issues [v09 onwards]

  • re-enabled NTFS R/W support [v09 onwards]

  • updated stock ramdisk to 14.3.A.0.681 firmware [v08 onwards]

  • updated with 14.3.A.0.681 firmware kernel sources (full KitKat support!) [v08 onwards]

  • stock wifi/wlan modules are now working again! [v08 onwards]

  • some features are disabled due to compatibility issues... working on fixing them... [v08 & v09 only]

  • added Xperia Reboot app support exclusively for my kernel users! now you can use app to enter into any recovery from the OS! [v07 onwards]

  • updated to latest recoveries (CWM & PhilZ Touch) [v07 onwards]

  • shifted combined ramdisk to LZMA compression [v07 onwards]

  • updated stock ramdisk to 14.2.A.1.136 firmware [v07 onwards]

  • updated with 14.2.A.1.136 firmware kernel sources [v07 onwards]

  • added Dynamic F-Sync v1.5 patched for msm8974 (thanks to @faux123) [v06 onwards]

  • ARM cortex-a15 targetting MSM Krait CPU [v06 onwards]

  • updated kernel level Sound Control driver to v3.2 - hopefully this should fix audio reset issues [v06 onwards]

  • fixed TWRP recovery partition table - now TWRP will correctly recognize the patitions (thanks to @[NUT]) [v06 onwards]

  • removed CPU-Boost driver from CAF - hopefully this should fix the CPU freqs misbehaving [v06 onwards]

  • added CPU-Boost driver from CAF [v05 only]

  • added new GPU governors: Simple & Conservative (thanks to @faux123 & @Entropy512 ) [v05 onwards]

  • added new power management mode "PowerSuspend" [v05 onwards]

  • ARM unaligned access enabled [v05 onwards]

  • added LZ4 compression/decompression support [v05 onwards]

  • added intellidemand (v5.0) CPU governor with optimizations for 8974 SOC (thanks to @faux123) [v05 onwards]

  • added intelli-thermal kernel thermal driver with optimizations for 8974 SOC (thanks to @faux123) [v05 onwards]

  • multi-recovery solution! {here is how to use it!} [v05 onwards]
    • added PhilZ touch recovery as a THIRD select-able recovery :D (thanks to @Phil3759) [v05 onwards]
    • updated to CWM 6.0.4.6 - official touch CWM recovery :) [v05 onwards]
    • updated to latest TWRP 2.6.3.0 [v05 onwards]

  • sped up rebooting into recovery [v05 onwards]

  • added fix for system remount in ramdisk! [v04 onwards]

  • update stock ramdisk to 14.2.A.0.290 firmware [v04 onwards]

  • updated kernel 14.2.A.0.290 firmware kernel sources [v04 onwards]

  • added GPU O/C freq bin: 487.5 MHz [v03 onwards]

  • update stock ramdisk to 14.1.G.1.534 firmware [v03 onwards]

  • updated kernel 14.1.G.1.534 firmware kernel sources [v03 onwards]

  • added kernel level sound control! (huge thanks to faux123!) {here is how to use it!} [v02 onwards]

  • added per-core overall stats [v02 onwards]

  • added compiler optimizations (thanks to franciscofranco) [v02 onwards]

  • added MSM CPU Frequency Limiter [v02 onwards]

  • added FIOPS I/O scheduler [v02 onwards]

  • added SIO I/O scheduler [v02 onwards]

  • added 533MHz GPU OVERCLOCK!, GPU will always boot at 450MHz (stock)! - implemented myself {here is how to use it!} [v02 onwards]

  • added 2.3GHz CPU OVERCLOCK! - implemented myself [v02 onwards]

  • added True CD-ROM emulation interface (thanks to FrozenCow) {here is how to use it!} [v02 onwards]

  • added CPU Voltage Control interface (VDD) {here is how to use it} [v01 onwards]

  • compiled using toolchain GCC 4.6 Linaro [v01 onwards]

  • shift to XZ compression [v01 onwards]

  • added dual recovery! standard CWM Recovery 6.0.3.7 + TWRP 2.6.3.0 {here is how to use it} [v01 onwards]
    TIP: if u are experiencing very slow backup in CWM do this

  • added DooMKernel bootlogo [v01 onwards]

  • startup script (init.d) support! {here is how to use it} [v01 onwards]

  • ramdisk tweaks [v01 onwards]
    • adb server is persistent
    • usb debugging enabled


MANY MORE FEATURES TO COME!


Known issue with overclocking


[ credits for features ]


  • FreeXperia Team (especially Jerpelea) - for too many things!
  • Faux123 - for voltage control, kernel level Sound Control GPL sources, lots of other patches, you rock dude!
  • FranciscoFranco - for Cortex-A15 optimizations, bunch of other things!
  • showp1984 - for his msm_mpdecision hotplug driver!
  • krabappel2548 - for CWM 6.0.3.7


THANK YOU GUYS FOR YOUR AWESOME WORK!


[ requirements ]

  • Xperia Z1 [C6902/03/06/43]
    • stock KitKat 4.4.4 FW
      • .108/.133 - v22, v22-new
    • stock KitKat 4.4.2 FW
      • .757/.761 - v12, v13, v14, v15, v16, v17, v18, v19, 20, v21
      • .681 - v08, v09, v10, v11
    • stock JellyBean 4.3 FW
      • 1.136 - v07
      • .290 - v04, v05, v06
    • stock JellyBean 4.2.2 FW
      • .534 - v03
      • .518/.526 - v01, v02
  • bootloader unlocked [ READ THE WARNING IN THAT THREAD BEFORE UNLOCKING BOOTLOADER ]
  • working fastboot
  • android app for overclocking/voltage control like SetCPU (paid) or NoFrills CPU Control (free) or Kernel Tuner (free)
  • android app for kernel level Sound Control - FauxSound Audio/Sound Control (paid)
  • android app for True CD-ROM Emulation control - DriveDroid (free)
  • android app for entering into multi-recovery solution - Xperia Reboot (paid)



[ how to install my kernel ] (via recovery) [RECOMMENDED]

  1. download the kernel package
  2. save it to the sdcard
  3. reboot into recovery
  4. flash the kernel package using recovery
  5. reboot from recovery into system
  6. the device should now start booting
  7. enjoy the kernel ;)


[ how to install my kernel ] (via fastboot)

  1. download the kernel package
  2. save it kernel to the folder containing fastboot binary
  3. flash the boot.img using fastboot:
    Code:
    fastboot flash boot boot.img
  4. reboot from fastboot
    Code:
    fastboot reboot
  5. the device should now start booting
  6. enjoy the kernel ;)




[ tips / recommendations ]


  1. before u report any battery drain issues please read this:
    [GUIDE] HOW-TO Properly Evaluate Battery Life and Provide Useful Reports

  2. faux123 has posted very nice info regarding most features



[ my kernel sources ]

Just a statement regarding kernel source: The Kernel Source is released for all at GITHUB repo given below. BUT Free software does NOT mean no work or time was spent working on it. A lot of my free time has gone into patching/testing this kernel/features integrated in this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source.

Thank you !


https://github.com/DooMLoRD/android_kernel_sony_msm8974



[ donations ]

if u feel that this work has helped u OR u think that the work i put into making this is worthy of donations, then click on the following link for buying me some coffee/beer/etc ;)

PAYPAL DONATION LINK

OR

you can buy one of my awesome apps from Play Store!






[ downloads ]

KINDLY DO NOT MIRROR MY FILES


NEW

please keep the advanced stock kernel recovery package on sdcard to avoid bootloops!

newer kernels wont boot on older stock ROM or ROMs based on older FW, you will get bootloops!


v22-new (changelog)

[Xperia Z1] DooMKernel v22-new
[ MD5HASH: 854742820bc5ca07480540dc3a0ac7b3 ]



OLD




v22 (changelog)

[Xperia Z1] DooMKernel v22
[ MD5HASH: bf40fd17f7f20cd035aec1de0d148e51 ]



v21 (changelog)

[Xperia Z1] DooMKernel v21 {MIRROR}
[ MD5HASH: 64ff302dd36ec910d01d2558b8f56baf ]


v20 (changelog)

[Xperia Z1] DooMKernel v20 {MIRROR}
[ MD5HASH: 03e49d29fe81102d8544e0c04f763286 ]



v19 (changelog)

[Xperia Z1] DooMKernel v19 {MIRROR}
[ MD5HASH: ad3c0f73cde5bdd9155843baa3191f3c ]


v18 (changelog)

[Xperia Z1] DooMKernel v18 {MIRROR}
[ MD5HASH: 85918c57241ab4d5d09a5e0701657ca9 ]



v17 (changelog)

[Xperia Z1] DooMKernel v17 {MIRROR}
[ MD5HASH: 9452b6667d9a4c5ff6bc29d89afe35c8 ]


v16 (changelog)

[Xperia Z1] DooMKernel v16 {MIRROR}
[ MD5HASH: 23531c3d79ea6e1b561d79e41062cf42 ]


v15 (changelog)

[Xperia Z1] DooMKernel v15 {MIRROR}
[ MD5HASH: fe7d1a9effb3b0f5aba81ddc95b7db6a ]



v14 (changelog)

[Xperia Z1] DooMKernel v14 {MIRROR}
[ MD5HASH: 94819231f5b5305c337204f66ad15aea ]



v13 (changelog)

[Xperia Z1] DooMKernel v13 {MIRROR}
[ MD5HASH: 0f702e4579ce2cfe4762d8b522941178 ]


v12 (changelog)

[Xperia Z1] DooMKernel v12 {MIRROR}
[ MD5HASH: 25bc820d5a930a21c571383dc6732f55 ]


v11 (changelog)

[Xperia Z1] DooMKernel v11 {MIRROR}
[ MD5HASH: fd5e33d81c068d8ccb2cf464bd98c035 ]



v10 (changelog)

[Xperia Z1] DooMKernel v10 {MIRROR}
[ MD5HASH: b05a9d4b38524b9a70e68b1a3a96e155 ]


v09 (changelog)

[Xperia Z1] DooMKernel v09 {MIRROR}
[ MD5HASH: 2333108a825b5ba7b86d8810b4f0665c ]


v08 (changelog)

[Xperia Z1] DooMKernel v08 {MIRROR}
[ MD5HASH: 68b8843088286750365eec2b42e99aaa ]


v07 (changelog)

[Xperia Z1] DooMKernel v07 {MIRROR}
[ MD5HASH: c3e3beefa08889ef78c311bc3922af00 ]


v06 (changelog)

[Xperia Z1] DooMKernel v06 {MIRROR}
[ MD5HASH: cd9496e3d15e461a472fc4092212e014 ]


v05 (changelog)

[Xperia Z1] DooMKernel v05 {MIRROR}
[ MD5HASH: 27aba605964564a18a0b489c451fd313 ]


v04 (changelog)

[Xperia Z1] DooMKernel v04 {MIRROR}
[ MD5HASH: 20fe6e1d29461ba24aada7c5c837010b ]


v03 (changelog)

[Xperia Z1] DooMKernel v03
[ MD5HASH: 4ad7099107134824b08ecaa63ddaa6ca ]



v02 (changelog)

[Xperia Z1] DooMKernel v02
[ MD5HASH: 1f58515c48c61463343e45bf49ae9a72 ]


v01 (changelog)

[Xperia Z1] DooMKernel v01
[ MD5HASH: 26e620882eaf4b1eccdd25044df4f7b9 ]




Please do as much testing as possible and report back if you are running into any issues!



READ THIS POST AND THE THREAD CAREFULLY BEFORE ASKING QUESTION!




icon8.gif


cheers!


regards,

DooMLoRD
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
Known issue with overclocking


It has been observed that the overclocking sometimes reverts back automatically to stock settings especially after heavy CPU load and if the device heats up.

I think have found why this happens:
  1. Android OS level
    • there is a binary called: /system/bin/thermald which writes lower CPU freq values to the CPU sysfs interface if the device starts heating
    • there is also an app "Overheat Control" which i suspect is doing something similar
  2. Kernel level
    • there seems to be some sort of fail-safe in place "msm_dcvs" which resets the CPU to 918Mhz or 1026Mhz or 1512Mhz
    • could also be some other things i am still searching


now there are ways to circumvent these issues but given the risk of the damage associated with overclock for long time i think its in our best interest to not screw with these fail-safes...



most of these will be will be taken care off in future kernel releases
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
To Do List:


Merge all features from my Xperia Z kernel:
http://xdaforums.com/showthread.php?t=2172888


detailed list:

  • main kernel
    1. add VDD interface (DONE)
    2. remove CPU auto throttling restrictions (DONE)
    3. disable CIFS
    4. add GPU O/C (DONE)
    5. add GPU governor (DONE)
    6. add CPU governors (DONE)
    7. AVS
    8. I/O schedulers (DONE)
    9. unlock 192MHz frequency
    10. screen gamma control
    11. increase USB OTG voltage (?)
    12. slide2wake
    13. exFAT support (DONE)
    14. ZRAM
    15. cleancache, frontswap
    16. XZ other compression support (DONE)
    17. mpdecision (?) (DONE)
  • ramdisk
    1. add dual recovery CWM + TWRP (DONE)
    2. add init.d support (DONE)
    3. import customizable init.something.rc from /system/etc
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
How to use init.d scripts


these are small startup scripts which will get executed at bootup

these are supposed to be placed in the folder:
/system/etc/init.d/


IMPORTANT: make sure that the scripts have permissions to execute! else THEY WILL NOT RUN!
Code:
chmod 777 /system/etc/init.d/scriptname




example init.d script to reduce voltages by 75mV for ALL frequencies:
Code:
[B]#!/system/bin/sh
echo -75 > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels[/B]
can be saved as /system/etc/init.d/99vdd
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
How to use Multi-Recoveries (CWM + TWRP + Philz):


Since many users have their own preference of recoveries, I have included CWM, TWRP & Philz recoveries into my kernel!!


The kernel has inbuilt triggers to enter any recovery. When the kernel is ready during bootup it will indicate by:
  • showing my bootlogo
  • pink/amber LED notification lighting up
  • there is a small vibration


Following are the triggers:
  • CWM recovery: Keep tapping VOLUME UP button
  • TWRP recovery: Keep tapping VOLUME DOWN button
  • Philz recovery: Keep tapping CAMERA button



Alternatively you can now also reboot into any of these selected recoveries using my Xperia Reboot app!


I have updated my Xperia Reboot app to supports multirecovery solution implemented in latest DooMKernel (Feb 1, 2014 onwards) on supported devices!


attachment.php
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
How to use CPU Voltage Control interface


All credits for this interface go to Faux123!


device will always bootup at stock voltage table...



WARNING!

DO NOT USE TOO HIGH OR TOO LOW VOLTAGES

SLOWLY increase the voltage one notch at a time for a particular frequency and do stability/testing for few hours

once you have verified that you CPU chip can handle that voltage ONLY then "Set at boot"/Use init.d script

if you dont follow above instruction your device might bootloop




You can either use an APP (like IncrediControl) [others mentioned in OP] or use an init.d script to do the work...



the interface to control voltages is at:
Code:
/sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels


to see current voltage table use:
Code:
[B]cat /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels[/B]


to set voltage for a particular frequency:
Code:
[B]echo 1512000 1150000 > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels[/B]
will set 1512Mhz freq voltage at 1150mV


to reduce voltages for ALL frequencies:
Code:
[B]echo -25000 > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels[/B]


to increase voltages for ALL frequencies:
Code:
[B]echo +25000 > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels[/B]




example init.d script to reduce voltages by 75mV for ALL frequencies:
Code:
[B]#!/system/bin/sh
echo -75000 > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels[/B]
can be saved as /system/etc/init.d/99vdd
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
DooMKernel v01 released!



changelog

  • added CPU Voltage Control interface (VDD) {here is how to use it}

  • compiled using toolchain GCC 4.6 Linaro

  • shift to XZ compression

  • added dual recovery! standard CWM Recovery 6.0.3.7 + TWRP 2.6.3.0 {here is how to use it}
    TIP: if u are experiencing very slow backup in CWM do this

  • added DooMKernel bootlogo

  • startup script (init.d) support! {here is how to use it}

  • ramdisk tweaks [v01 onwards]
    • adb server is persistent
    • usb debugging enabled
 
Last edited:

plakers

Senior Member
Apr 26, 2011
478
106
Lyon
Yeahhhhhhhhh Ha! Glad to see my favorite Kernel already available : gonna flash as soon as I get my device! :p


EDIT : Argh, did not read all this http://xdaforums.com/showthread.php?t=2440597
I will have to wait a bit... I don't wanna miss the Camera! Hope there will be fix/workaround soon...
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
Kernel level Sound Control


This feature has been added by faux123 himself!

The sources for this feature are covered under GPL and are released along with my kernel sources at my GITHUB repo.



[ WARNING ]

high volume can damage hearing!

DooMLoRD or faux123 are not to be held responsible if this damages ur headphones/speakers/etc

USE THIS AT YOUR OWN RISK!



There are two ways to use this interface.
  1. manual control through sysfs interface
  2. paid app (FauxSound Audio/Sound Control)

How to use the app FauxSound Audio/Sound Control is pretty self explanatory so I will write on how to control using the sysfs interface...


BEFORE DOING ANY ADJUSTMENTS EXIT THE APPS LIKE MUSIC PLAYER/etc!!



The interface to control the sound output is located at:
Code:
[B]/sys/kernel/sound_control_3[/B]

it has 4 control interfaces:
  • Camera MIC
    Code:
    /sys/kernel/sound_control_3/gpl_cam_mic_gain

  • Headphone
    Code:
    /sys/kernel/sound_control_3/gpl_headphone_gain

  • MIC
    Code:
    /sys/kernel/sound_control_3/gpl_mic_gain

  • Internal Speaker
    Code:
    /sys/kernel/sound_control_3/gpl_speaker_gain



each supports gain levels from 20 (-20) to 50 (+10), base is 40 (0)
(the number in the brackets correspond to the numbers displayed in the app)


say if u want to boost headphone output (both left and right channels) then use the following command:
Code:
echo "44 44" > /sys/kernel/sound_control_3/gpl_headphone_gain

u can also individually increase/decrease the gain for each right and left channel



similarly other interfaces can be controlled



TIP:

do not jump to maximum values as sometimes the headphones/speakers might start distorting the audio... slowly increase and do testing for the levels which suit you!

not all accessories will work well with boosted audio output

e.g.: on my Sony MDR-XB300 headphones i start getting distorted audio beyond 46 (+6)





regards,

DooMLoRD
 
Last edited:

yeeson

Senior Member
May 2, 2010
682
113
Shanghai
good!

i have updated OP with BIG warning :p









thanks @Benzii for your very generous donation! i am waiting for the device to hit retail stores in India.. i should be getting it in the next 2-3 days!

LOTS more features to come! will be porting most of the features from my Xperia Z kernel!





hopefully this should be fixed soon :)

Hope to solve as soon as possible!
 

plakers

Senior Member
Apr 26, 2011
478
106
Lyon
@DooMLoRD you're the man! I'll buy you a great beer as soon as I get my device! Guys, please keep praying for the camera/bootloader fix to come, that way we'll be in the best world : Z1's class with DooMLoRD's touch! héhé

EDIT : Done... The beer's coming 26E37073AU351480S ;)
 
Last edited:
  • Like
Reactions: DooMLoRD

Top Liked Posts

  • There are no posts matching your filters.
  • 136

    ----------------[ ANNOUNCEMENT ]--------------------

    DooMKernel v22-new released!

    ----------------[ ANNOUNCEMENT ]--------------------




    DooMKernel for Xperia Z1 !!!



    [ intro ]


    so friends i present to u the legendary DooMKernel!



    thanks to all the testers who are testing this on their device!




    [ screenshot ]

    attachment.php




    [ disclaimer ]


    BOOTLOADER-CAMERA ISSUE IS FIXED IN 4.3 UPDATE!



    OVERCLOCKING CAN BE DANGEROUS! U RISK THE HARDWARE GETTING DAMAGED!
    PROCEED WITH CAUTION! U HAVE BEEN WARNED!



    I AM NOT TO BE HELD RESPONSIBLE IF U DAMAGE UR PHONE / SPILL UR COFFEE / MISS UR ALARMS / ANY OTHER CALAMITY/MISHAP


    DO NOT CROSS FLASH! THIS IS MENT ONLY FOR Xperia Z1 (C6902/03/06/43)




    [ features ]

    • updated kernel ramdisk to 14.4.A.0.133 (should work on .108 too) [v22-new onwards]

    • updated kernel sources to 14.4.A.0.133 (.108) included, kernel will now work on latest 4.4.4 ROM [v22 onwards]

    • updated kernel ramdisk to 14.4.A.0.108 (should work on .133 too) [v22 onwards]

    • updated TWRP Recovery to v2.8.0.1 [v22 onwards]

    • updated PhilZ Recovery to v6.58.4 [v22 onwards]

    • updated intelli-plug to v3.8 with all latest patches [thanks to @faux123] [v22 onwards]

    • added intelli-thermal v2 [thanks to @faux123] [v22 onwards]

    • updated Sound Control to v3.6 with all latest patches [thanks to @faux123] [v22 onwards]

    • updated intelli-active CPU governor [thanks to @faux123] [v22 onwards]

    • DISABLED Double Tap 2 Wake! was causing HEAVY battery drain! [v21 onwards]

    • fixed issue: Device will now enter Deep Sleep! [v21 onwards]

    • added new patched intelli_plug driver - no need of custom WLAN modules now! (thanks to @faux123 ) [v20 onwards]

    • re-enabled Double Tap 2 Wake! with newer patches (thanks to @MohammadAG ) [v20 onwards]
      enabled by default

    • reverted back to stock WLAN modules & firmware [v20 onwards]

    • fixed issue: exFAT sdcard are now supported! [v20 onwards]

    • now uses custom built wifi wlan modules! (thanks to @dbolivar ) for the tip! [v19 ONLY]
      THIS BREAKS exFAT compatibility for now! if you have exFAT based external SDCARD IT WILL NOT WORK WITH THIS KERNEL VERSION!

    • added and enabled Intelli-KSM (kernel same page) (thanks to @faux123 ) [v19 onwards]

    • enabled and updated intelli-plug to v2.6 - intelli-plug is an alternative to MPDecision hotplug governor! (thanks to @faux123 ) [v19 onwards]

    • added some more PowerSuspend hooks (thanks to @Yank555.lu ) [v19 onwards]

    • added Kernel NEON mode support and fixed VFPmodule bounce crash at bootup (thanks to @myfluxi ) [v19 onwards]

    • added interface to control vibration intensity (thanks to @Kali- ) [v19 onwards]
      interface is located at: /sys/devices/virtual/timed_output/vibrator/vtg_level
      accepted values: 12 to 31

    • added two-way stereo call recording support! (thanks to @chdloc ) [v19 onwards]
      not sure if it works correctly!

    • added and enabled NEW CPU Undervolting interface! (thanks to @faux123 ) [v19 onwards]

    • added and enabled Simple GPU Algorithm with tweakable parameters! (thanks to @faux123 ) [v19 onwards]

    • added and enabled proper RAM Console support - now users can get /proc/last_kmsg (thanks to @Kali- ) [v19 onwards]

    • reverted and removed custom MP-Decision [v18 onwards]

    • re-enabled Stock Qualcomm MSM MP-Decision driver [v18 onwards]

    • added stock mpdecision binary to recovery package [v18 onwards]

    • added custom MP-Decision (100% kernel based multi core decision) which replaces Qualcomm's mpdecision! - ported from Bricked kernel for Nexus 5 (thanks to @show-p1984 ) {here is how to use it} [v17 ONLY]
      you will have to manually rename /system/bin/mpdecision to /system/bin/mpdecision.bak and reboot once!

    • shifted to GCC 4.9.1 Linaro toolchain with Cortex-A15 optimizations [v17 onwards]

    • added msm_sleeper driver! this is basically a kernel level screen off frequency setting driver (thanks to @flar2 ) {here is how to activate it} [v16 onwards]

    • added new I/O schedulers: [v16 onwards]
      • BFQ
      • ZEN
      • VR

    • fixed GPU governor - simple_ondemand crash (thanks to @myfluxi ) [v16 onwards]

    • added optimized memory read/write drivers [v16 onwards]

    • intelli-thermal is now working again! [v15 onwards]

    • added ZRAM driver [v15 onwards]

    • added msm_cpufreq_limiter "Snake Charmer" - now the cores are properly capped! (thanks to @faux123 ) [v14 onwards]

    • added smarter default voltage selection based on chip capabilities [v13 onwards]

    • shifted to GCC 4.8.3 Linaro toolchain with Cortex-A15 optimizations (thanks to @dbolivar ) [v13 onwards]

    • some patches to cpufreq driver [v13 onwards]

    • updated stock ramdisk to 14.3.A.0.757 firmware [v12 onwards]

    • updated with 14.3.A.0.757 firmware kernel sources [v12 onwards]

    • added MSM_Turbo driver (thanks to @faux123) - when only two cores are active this should push them to higher frequency [v12 onwards]

    • brought back CPU OverClock upto 2.4 GHz ! - device will boot by default at 2.26 GHz [v12 onwards]

    • added new tweaked CPU frequency governors: [v12 onwards]
      • LionHeart
      • SmartAssV2
      • LagFree

    • disabled DoubleTap2Wake for now - was causing increased battery drain [v12 onwards]

    • added and enabled LCD Color Control (thanks to @savoca for his work on Moto G) - ported to Xperia Z1 - use FauxClock or similar app to control this feature [v11 onwards]

    • added and enabled Double Tap 2 Wake by default! (huge thanks to @MohammadAG for porting it first to the Xperia Z1) [v10 onwards]

    • update all recoveries to latest! Philz Recovery 6.25.0 (thanks to @Phil3759 ) & CWM 6.0.4.7, TWRP 2.7.0.0 (thanks to @[NUT] ) [v10 onwards]

    • added and enabled new CPU governor: Intelli-active! (thanks to @faux123) [v09 onwards]

    • added and enabled Force Fast Charging (thanks to @faux123) - ported to Xperia Z1 - not sure if its working correctly yet! [v09 onwards]

    • fixed TWRP mounting issues [v09 onwards]

    • re-enabled NTFS R/W support [v09 onwards]

    • updated stock ramdisk to 14.3.A.0.681 firmware [v08 onwards]

    • updated with 14.3.A.0.681 firmware kernel sources (full KitKat support!) [v08 onwards]

    • stock wifi/wlan modules are now working again! [v08 onwards]

    • some features are disabled due to compatibility issues... working on fixing them... [v08 & v09 only]

    • added Xperia Reboot app support exclusively for my kernel users! now you can use app to enter into any recovery from the OS! [v07 onwards]

    • updated to latest recoveries (CWM & PhilZ Touch) [v07 onwards]

    • shifted combined ramdisk to LZMA compression [v07 onwards]

    • updated stock ramdisk to 14.2.A.1.136 firmware [v07 onwards]

    • updated with 14.2.A.1.136 firmware kernel sources [v07 onwards]

    • added Dynamic F-Sync v1.5 patched for msm8974 (thanks to @faux123) [v06 onwards]

    • ARM cortex-a15 targetting MSM Krait CPU [v06 onwards]

    • updated kernel level Sound Control driver to v3.2 - hopefully this should fix audio reset issues [v06 onwards]

    • fixed TWRP recovery partition table - now TWRP will correctly recognize the patitions (thanks to @[NUT]) [v06 onwards]

    • removed CPU-Boost driver from CAF - hopefully this should fix the CPU freqs misbehaving [v06 onwards]

    • added CPU-Boost driver from CAF [v05 only]

    • added new GPU governors: Simple & Conservative (thanks to @faux123 & @Entropy512 ) [v05 onwards]

    • added new power management mode "PowerSuspend" [v05 onwards]

    • ARM unaligned access enabled [v05 onwards]

    • added LZ4 compression/decompression support [v05 onwards]

    • added intellidemand (v5.0) CPU governor with optimizations for 8974 SOC (thanks to @faux123) [v05 onwards]

    • added intelli-thermal kernel thermal driver with optimizations for 8974 SOC (thanks to @faux123) [v05 onwards]

    • multi-recovery solution! {here is how to use it!} [v05 onwards]
      • added PhilZ touch recovery as a THIRD select-able recovery :D (thanks to @Phil3759) [v05 onwards]
      • updated to CWM 6.0.4.6 - official touch CWM recovery :) [v05 onwards]
      • updated to latest TWRP 2.6.3.0 [v05 onwards]

    • sped up rebooting into recovery [v05 onwards]

    • added fix for system remount in ramdisk! [v04 onwards]

    • update stock ramdisk to 14.2.A.0.290 firmware [v04 onwards]

    • updated kernel 14.2.A.0.290 firmware kernel sources [v04 onwards]

    • added GPU O/C freq bin: 487.5 MHz [v03 onwards]

    • update stock ramdisk to 14.1.G.1.534 firmware [v03 onwards]

    • updated kernel 14.1.G.1.534 firmware kernel sources [v03 onwards]

    • added kernel level sound control! (huge thanks to faux123!) {here is how to use it!} [v02 onwards]

    • added per-core overall stats [v02 onwards]

    • added compiler optimizations (thanks to franciscofranco) [v02 onwards]

    • added MSM CPU Frequency Limiter [v02 onwards]

    • added FIOPS I/O scheduler [v02 onwards]

    • added SIO I/O scheduler [v02 onwards]

    • added 533MHz GPU OVERCLOCK!, GPU will always boot at 450MHz (stock)! - implemented myself {here is how to use it!} [v02 onwards]

    • added 2.3GHz CPU OVERCLOCK! - implemented myself [v02 onwards]

    • added True CD-ROM emulation interface (thanks to FrozenCow) {here is how to use it!} [v02 onwards]

    • added CPU Voltage Control interface (VDD) {here is how to use it} [v01 onwards]

    • compiled using toolchain GCC 4.6 Linaro [v01 onwards]

    • shift to XZ compression [v01 onwards]

    • added dual recovery! standard CWM Recovery 6.0.3.7 + TWRP 2.6.3.0 {here is how to use it} [v01 onwards]
      TIP: if u are experiencing very slow backup in CWM do this

    • added DooMKernel bootlogo [v01 onwards]

    • startup script (init.d) support! {here is how to use it} [v01 onwards]

    • ramdisk tweaks [v01 onwards]
      • adb server is persistent
      • usb debugging enabled


    MANY MORE FEATURES TO COME!


    Known issue with overclocking


    [ credits for features ]


    • FreeXperia Team (especially Jerpelea) - for too many things!
    • Faux123 - for voltage control, kernel level Sound Control GPL sources, lots of other patches, you rock dude!
    • FranciscoFranco - for Cortex-A15 optimizations, bunch of other things!
    • showp1984 - for his msm_mpdecision hotplug driver!
    • krabappel2548 - for CWM 6.0.3.7


    THANK YOU GUYS FOR YOUR AWESOME WORK!


    [ requirements ]

    • Xperia Z1 [C6902/03/06/43]
      • stock KitKat 4.4.4 FW
        • .108/.133 - v22, v22-new
      • stock KitKat 4.4.2 FW
        • .757/.761 - v12, v13, v14, v15, v16, v17, v18, v19, 20, v21
        • .681 - v08, v09, v10, v11
      • stock JellyBean 4.3 FW
        • 1.136 - v07
        • .290 - v04, v05, v06
      • stock JellyBean 4.2.2 FW
        • .534 - v03
        • .518/.526 - v01, v02
    • bootloader unlocked [ READ THE WARNING IN THAT THREAD BEFORE UNLOCKING BOOTLOADER ]
    • working fastboot
    • android app for overclocking/voltage control like SetCPU (paid) or NoFrills CPU Control (free) or Kernel Tuner (free)
    • android app for kernel level Sound Control - FauxSound Audio/Sound Control (paid)
    • android app for True CD-ROM Emulation control - DriveDroid (free)
    • android app for entering into multi-recovery solution - Xperia Reboot (paid)



    [ how to install my kernel ] (via recovery) [RECOMMENDED]

    1. download the kernel package
    2. save it to the sdcard
    3. reboot into recovery
    4. flash the kernel package using recovery
    5. reboot from recovery into system
    6. the device should now start booting
    7. enjoy the kernel ;)


    [ how to install my kernel ] (via fastboot)

    1. download the kernel package
    2. save it kernel to the folder containing fastboot binary
    3. flash the boot.img using fastboot:
      Code:
      fastboot flash boot boot.img
    4. reboot from fastboot
      Code:
      fastboot reboot
    5. the device should now start booting
    6. enjoy the kernel ;)




    [ tips / recommendations ]


    1. before u report any battery drain issues please read this:
      [GUIDE] HOW-TO Properly Evaluate Battery Life and Provide Useful Reports

    2. faux123 has posted very nice info regarding most features



    [ my kernel sources ]

    Just a statement regarding kernel source: The Kernel Source is released for all at GITHUB repo given below. BUT Free software does NOT mean no work or time was spent working on it. A lot of my free time has gone into patching/testing this kernel/features integrated in this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source.

    Thank you !


    https://github.com/DooMLoRD/android_kernel_sony_msm8974



    [ donations ]

    if u feel that this work has helped u OR u think that the work i put into making this is worthy of donations, then click on the following link for buying me some coffee/beer/etc ;)

    PAYPAL DONATION LINK

    OR

    you can buy one of my awesome apps from Play Store!






    [ downloads ]

    KINDLY DO NOT MIRROR MY FILES


    NEW

    please keep the advanced stock kernel recovery package on sdcard to avoid bootloops!

    newer kernels wont boot on older stock ROM or ROMs based on older FW, you will get bootloops!


    v22-new (changelog)

    [Xperia Z1] DooMKernel v22-new
    [ MD5HASH: 854742820bc5ca07480540dc3a0ac7b3 ]



    OLD




    v22 (changelog)

    [Xperia Z1] DooMKernel v22
    [ MD5HASH: bf40fd17f7f20cd035aec1de0d148e51 ]



    v21 (changelog)

    [Xperia Z1] DooMKernel v21 {MIRROR}
    [ MD5HASH: 64ff302dd36ec910d01d2558b8f56baf ]


    v20 (changelog)

    [Xperia Z1] DooMKernel v20 {MIRROR}
    [ MD5HASH: 03e49d29fe81102d8544e0c04f763286 ]



    v19 (changelog)

    [Xperia Z1] DooMKernel v19 {MIRROR}
    [ MD5HASH: ad3c0f73cde5bdd9155843baa3191f3c ]


    v18 (changelog)

    [Xperia Z1] DooMKernel v18 {MIRROR}
    [ MD5HASH: 85918c57241ab4d5d09a5e0701657ca9 ]



    v17 (changelog)

    [Xperia Z1] DooMKernel v17 {MIRROR}
    [ MD5HASH: 9452b6667d9a4c5ff6bc29d89afe35c8 ]


    v16 (changelog)

    [Xperia Z1] DooMKernel v16 {MIRROR}
    [ MD5HASH: 23531c3d79ea6e1b561d79e41062cf42 ]


    v15 (changelog)

    [Xperia Z1] DooMKernel v15 {MIRROR}
    [ MD5HASH: fe7d1a9effb3b0f5aba81ddc95b7db6a ]



    v14 (changelog)

    [Xperia Z1] DooMKernel v14 {MIRROR}
    [ MD5HASH: 94819231f5b5305c337204f66ad15aea ]



    v13 (changelog)

    [Xperia Z1] DooMKernel v13 {MIRROR}
    [ MD5HASH: 0f702e4579ce2cfe4762d8b522941178 ]


    v12 (changelog)

    [Xperia Z1] DooMKernel v12 {MIRROR}
    [ MD5HASH: 25bc820d5a930a21c571383dc6732f55 ]


    v11 (changelog)

    [Xperia Z1] DooMKernel v11 {MIRROR}
    [ MD5HASH: fd5e33d81c068d8ccb2cf464bd98c035 ]



    v10 (changelog)

    [Xperia Z1] DooMKernel v10 {MIRROR}
    [ MD5HASH: b05a9d4b38524b9a70e68b1a3a96e155 ]


    v09 (changelog)

    [Xperia Z1] DooMKernel v09 {MIRROR}
    [ MD5HASH: 2333108a825b5ba7b86d8810b4f0665c ]


    v08 (changelog)

    [Xperia Z1] DooMKernel v08 {MIRROR}
    [ MD5HASH: 68b8843088286750365eec2b42e99aaa ]


    v07 (changelog)

    [Xperia Z1] DooMKernel v07 {MIRROR}
    [ MD5HASH: c3e3beefa08889ef78c311bc3922af00 ]


    v06 (changelog)

    [Xperia Z1] DooMKernel v06 {MIRROR}
    [ MD5HASH: cd9496e3d15e461a472fc4092212e014 ]


    v05 (changelog)

    [Xperia Z1] DooMKernel v05 {MIRROR}
    [ MD5HASH: 27aba605964564a18a0b489c451fd313 ]


    v04 (changelog)

    [Xperia Z1] DooMKernel v04 {MIRROR}
    [ MD5HASH: 20fe6e1d29461ba24aada7c5c837010b ]


    v03 (changelog)

    [Xperia Z1] DooMKernel v03
    [ MD5HASH: 4ad7099107134824b08ecaa63ddaa6ca ]



    v02 (changelog)

    [Xperia Z1] DooMKernel v02
    [ MD5HASH: 1f58515c48c61463343e45bf49ae9a72 ]


    v01 (changelog)

    [Xperia Z1] DooMKernel v01
    [ MD5HASH: 26e620882eaf4b1eccdd25044df4f7b9 ]




    Please do as much testing as possible and report back if you are running into any issues!



    READ THIS POST AND THE THREAD CAREFULLY BEFORE ASKING QUESTION!




    icon8.gif


    cheers!


    regards,

    DooMLoRD
    36
    Known issue with overclocking


    It has been observed that the overclocking sometimes reverts back automatically to stock settings especially after heavy CPU load and if the device heats up.

    I think have found why this happens:
    1. Android OS level
      • there is a binary called: /system/bin/thermald which writes lower CPU freq values to the CPU sysfs interface if the device starts heating
      • there is also an app "Overheat Control" which i suspect is doing something similar
    2. Kernel level
      • there seems to be some sort of fail-safe in place "msm_dcvs" which resets the CPU to 918Mhz or 1026Mhz or 1512Mhz
      • could also be some other things i am still searching


    now there are ways to circumvent these issues but given the risk of the damage associated with overclock for long time i think its in our best interest to not screw with these fail-safes...



    most of these will be will be taken care off in future kernel releases
    31
    To Do List:


    Merge all features from my Xperia Z kernel:
    http://xdaforums.com/showthread.php?t=2172888


    detailed list:

    • main kernel
      1. add VDD interface (DONE)
      2. remove CPU auto throttling restrictions (DONE)
      3. disable CIFS
      4. add GPU O/C (DONE)
      5. add GPU governor (DONE)
      6. add CPU governors (DONE)
      7. AVS
      8. I/O schedulers (DONE)
      9. unlock 192MHz frequency
      10. screen gamma control
      11. increase USB OTG voltage (?)
      12. slide2wake
      13. exFAT support (DONE)
      14. ZRAM
      15. cleancache, frontswap
      16. XZ other compression support (DONE)
      17. mpdecision (?) (DONE)
    • ramdisk
      1. add dual recovery CWM + TWRP (DONE)
      2. add init.d support (DONE)
      3. import customizable init.something.rc from /system/etc
    26
    just an FYI...

    kernel is already built using latest sources... just doing some stability testing on my phone before releasing it :)


    attachment.php



    regards,

    DooMLoRD
    26
    DooMKernel v12 released!




    changelog



    • updated stock ramdisk to 14.3.A.0.757 firmware - this wont boot on older stock ROM (.681 !!!) or ROMs based on older FW, you will get bootloops!

    • updated with 14.3.A.0.757 firmware kernel sources

    • added MSM_Turbo driver (thanks to @faux123) - when only two cores are active this should push them to higher frequency - not sure of this is working correctly

    • brought back CPU OverClock upto 2.4 GHz ! - device will boot by default at 2.26 GHz - please test this out with various governors so that we know its working correctly

    • added new tweaked CPU frequency governors: - please do testing using each of these new governors!
      • LionHeart
      • SmartAssV2
      • LagFree

    • disabled DoubleTap2Wake for now - was causing increased battery drain



    download links at first post!


    Please do consider donating if you like my work! I am raising funds to get the Xperia Z2 !


    please keep the advanced stock kernel recovery package on sdcard to avoid bootloops!



    please keep sending in your feedback it helps me improve my kernel! constructive feedback is ALWAYS welcome!



    icon8.gif




    regards,

    DooMLoRD