FORUMS
Remove All Ads from XDA

 View Poll Results: Which Hotplug do you preffer?

Stock MP-Decision
 
31 Vote(s)
22.30%
Faux's Intelli-Plug
 
108 Vote(s)
77.70%

[ROM] [6.0.1] [Build 4] [03/04] Unofficial CyanogenMod 13.0

398 posts
Thanks Meter: 1,713
 
By beeeto, Senior Member on 31st January 2015, 03:34 AM
Post Reply Email Thread
Introduction

This ROM is inspired by JustArchi's build optimizations that provide up to 6x performance boost .

I am not a developer by any means, I did my homework and I figured out how to compile and cherry-pick cool things. I am open to advice and guides that can help me make this ROM even better, you can also always ask for features and I'll do my best to bring them in.

As this is my rom for daily use, it contains many, many tweaks and endless hours of work of the best devs of XDA. In these features you can find Faux's Intelliplug, Yank555 powersuspend driver and many other stuff. At this point if you use any other kernel with my ROM you will lose about 80% of the features and the experience I want to provide will be lost. If you like other custom kernels such as Pink please kindly use official Nightlys.

If you are still here and haven't ran away you must know that you can always ask me for new features you see in other fine roms (Such as Temasek, CrDroid, etc) and if everybody like that feature (Including me) I will gladly bring it into the ROM. Don't forget that if you want a full featured ROM there's plenty of fine choices. The main idea with this is the same as with my old CM11 builds; "To stay as close to Stable CM as possible while adding on a little somethin' somethin' to make things better."

DISCLAIMER: I am not responsible for any damages to your device, always have a nandroid on hand if anything happens

Main Features
  • Based on CyanogenMod 13 latest updates
  • ROM compiled with UberTC 5.2
  • Build optimized with Graphite and O3 flags
  • Build optimized Cortex A7 architecture
  • Custom cosmetical changes
  • Screen Record
  • Custom msm8226-common device branch (Different PowerHAL)
  • Custom Kernel with several features out of the box such as:
    -Upstream GPU patches
    -GPU Overclock
    -HTC dynamic fsync
    -USB fast charging
    -Some Interactive picks
    -Power efficient workqueues
    -Simple GPU Algorithm
  • And much more, for a deep insight you can visit my github



Installation Instructions:
Upgrading from a previous build:
1.- Flash the ROM
2.- Flash any add-ons you want
3.- Wipe dalvik and cache
4.- Reboot into ROM
Upgrading from any other ROM even CM11:
1.- Full wipe
2.- Flash the ROM
3.- Flash GApps
4.- Flash any add-ons you want
5.- Wipe dalvik and cache
6.- Reboot into ROM


Downloads:

ROM

Build 4
Build 3
Build 2.1
Build 2
Build 1

Kernel

[MM]Beto's_Kernel_V6.0.zip

5.1.1 releases,



My preferred GApps:
Open Gapps

--Recommended Settings--

Nope.


Source and credits:

*CyanogenMod for the awesome ROM and great support for our device
*Somcom3X our beautiful CM maintainer.
*JustArchi for the countless hours of testing build flags and Toolchains.
*Chainfire for the great Superuser.
*bedalus (picked lot of things from your kernel)
*GalacticStrider for his amazing build work on SaberSunset.
*CL3Kener
*Faux
*Synergy510 For his amazing work with Saberize optimizations which made possible this ROM. (I also took his thread as base to make this one :P)
This ROM wouldn't be possible without them, so please donate and show your support to them.

ROM OS Version: 6.0.1 Lollipop
ROM Kernel: Linux 3.4.x
Based On: CyanogenMod 13
Source: My kernel sauce

Version Information
Status: Stable

Created 01/30/2015
The Following 92 Users Say Thank You to beeeto For This Useful Post: [ View ] Gift beeeto Ad-Free
 
 
31st January 2015, 03:34 AM |#2  
beeeto's Avatar
OP Senior Member
Flag Chile
Thanks Meter: 1,713
 
Donate to Me
More
Changelog


Build 4
Quote:

-Updated to latest cm-13.0
-Changed some out of the box kernel settings

Build 3
Quote:

Synced with latest cm-13.0 sources

MSM8226-Common
- Revert "msm8226-common: Add falcon and peregrine sensors HAL" …
- Revert "msm8226-common: Enable proximity check on wake" …
- Revert "msm8226-common: Enable Ambient Display" …
- msm8226-common: Kill Doze and sensor usage …

vendor/motorola
- Revert "falcon peregrine: Remove proprietary sensors HAL" …

cm/vendor
- Added Kcal control by savoca
- Added latest AdAway
- Added Nova Launcher

Build 2.1
Quote:

Fixed derps with BT and optimzation flags

Build 2
Quote:

ROM:

-Updated to latest cm-13.0 release

Kernel:

-Added Kcal support
-Added Faux Sound Control

Build 1
Quote:

MSM8226-COMMON

-Default scheduler is ROW
[+] Which is vastly superior than default on real life usage
-Killed custom cm PowerHAL in favour of Qualcomm implementation.
[+] This improves battery consumption both on iddle and screen on.
-Disabled hispeed_freq when screen is off
[+] Intended to improve energy usage on iddle
-Replaced some libs to match qcom vendor
[+] This one fix some very annoying logs on the PowerHAL as it looked for libs that didn't exist. Such as “QCOM*PowerHAL:*Failed to acquire lock”
-Added MSM8226 board optimizations
[+] Given more data to the compiler such as number of cores and cache L1/L2 to allow it to optimize the code even further

Frameworks/Base:
-Ability to hide root icon
-Switchable kill-app timer

Build
-Compiled with Arter97 optimization flags
-Build compiled with UberTC 5.3 optimized

Vendor/cm
-Some cosmetical changes

Kernel: (Featuring my old kernel which is a stock kernel with a couple of extra features)
-Upstream GPU patches
-GPU Overclock
-Intelli-Plug and Mako hotplug
-HTC dynamic fsync
-USB fast charging
-Some Interactive picks
-Power efficient workqueues
-Simple GPU Algorithm
-Intelliactive governor
-More TCP congestion
-CPU-Boost on which is needed by qcom PowerHAL
-“A lot” of misc stuff which you can check on my github

Final
Quote:

-Updated to latest cm-12.1 sources
-Reverted some custom PowerHal upstream commits since we are using qcom implementation
-Deleted profile settings that used to turn on MP-Decision on several tasks (We may now use Intelli-Plug without it messing around)

Build 26
Quote:

-Updated to latest CM-12.1 sources
-Added wakelock blocker.
-Default scheduler is ROW again.
-Reverted custom PowerHal implementation
-Reverted readahead back to normal values

Build 25
Quote:

ROM:

  • Updated to latest cm-12.1 sources.
  • Removed Nova Launcher
  • Custom PowerHAL implementation
    [+] This one changes the battery profiles, specially for power saving, making the phone actually usable on saving mode (More info here)
  • Added MSM8226 board optimizations
    [+] Given more data to the compiler such as number of cores and cache L1/L2 to allow it to optimize the code even further for our phone.
  • Bionic changes
    [+] Added optimized memcpy implementation for Cortex A7
  • ART Optimizations
  • Patch to allow Viper4Android on enforcing mode
  • Misc UI changes

Kernel:
  • Pushed readahead to 512Kb
  • Intelli-Plug updates
  • Default scheduler is now BFQ
  • SELinux is now enforced.
  • soc: qcom: bam_dmux: Add fast-shutdown flag
    [+] This one should greatly reduce bam_dmux_wakelock on our 4G device

Build 24
Quote:

-Updated to latest CM-12.1 sources
-Reverted some unnecesary framework/base commits
-Restored MotoDoze
-ROM compiled now with Uber 4.9, which is fairly similar to SaberMod. Just for testing purposes.
-Cleaned my build environment squashing commits

Build 23
Quote:

-Updated to latest CM-12.1 sources
-ROM is now compiled with GCC 4.9, the toolchain that'll be shiped on M.
-Fixed wrong auto-vectorization of ID3 iterator causing various media crashes with badly-tagged MP3s
-Kernel compiled with Linaro 4.9.4
-Added built in SuperSu menu (Require SuperSu)
-Updated to ArchiDroid Optimizations 4.1.

Build 22
Quote:

-Updated to latest CM-12.1 sources
-Refactored kernel after *some guy* decided to fix Interactive governor when there it was nothing wrong with it.
-Updated kernel toolchain to Linaro 4.9.4
-Updated SaberMod 4.8 to latest release

Build 19
Quote:

Updated to latest CM12 sources
Fixed hide supersu icon option
Disabled Faux123 Simple_Ondemand
Enabled Arter97 AdrenoIdler 1.1
Misc kernel cherry-picks I had before my phone died

Build 18
Quote:

-Updated to latest CM12 sources
-Lot of things have been fixed, specially fixed parameters for lowminfree memory and possibly bluetooth hiccups
-Updated SaberMod toolchain.

Build 16
Quote:

Updated to latest CM12 sources
Kernel and ROM are now separated, if you want my kernel it must be downloaded and flashed after the ROM.
Merged pull request of @Frazew
Fixed screen record which I had broke on Build 15
Build lited with Opti-Charger
Misc updates to Kernel

Build 15.1
Quote:

-Finished bringing features of old kernel to the new one
-Implemented misc build.prop tweaks (Commit)
-Introduced Opti-Charger (To improve RAM use, more info in the spoiler)

Custom ROMs in the beginning had limited space to work with which is why Cyanogen introduced opticharging to the custom release tool in order to shrink apks to fit more apps on system partitions of the original android devices. The opticharger script pulls apart apks near the end of the build and optimizes all pngs drawables found in them. Originally this script used optipng which is great and there is absolutely no quality loss involved in the png compressions but more recently I’ve begun using pngquant because it compresses pngs even smaller 30-70% with usually an average of about 50%. Pngquant does result in a slight loss of quality but nobody has noticed yet (See more on pngquant here: http://pngquant.org/) (If you are worried about quality you can always use optipng which compresses without any quality loss themers usually use this option instead)

Currently, CyanogenMod has abandoned the use of the opticharger but many ROMs still use it such as SLIM, AOKP, LiquidSmooth, Dirty Unicorns, Carbon, Validus, and many others. Themers and app developers alike use these techniques as well to make their apps/themes run more smoothly. Making pngs 70% smaller actually makes the loading time 3 times faster for these pngs and also saves you RAM. I understand apks aren't all pngs but you'd be surprised how many junk pngs google has left behind since froyo that serve no purpose but are loaded into your ram with SystemUI anyways. Thankfully opticharging shrinks all of those undesirables by usually 50-70% and saves you several MB worth of space and speeds up your SystemUI. Since you can't unload the system UI this is well worth the effort! My motto always is every little bit counts

Many still argue that high end device don’t need opticharging anymore because they are fast enough to handle these full-sized pngs. While this is true it still doesn’t change the fact that opticharing IS still slightly faster and opticharged apks do use less ram
.

Build 15
Quote:

-Updated latest CM-12.1 sources
-Switched kernel to latest CM sources, meaning you can use Optimus and Spirit kernel now. Make sure to update your bootloader if you don't want "screen-tearing" lines.
-Merged Arter97's fix to Play Store FC's

Build 14.1
Quote:

First attempt to fix suddenly battery drops
Added more TCP congestion options

Build 14
Quote:

Synced latest CM-12.1 sources
Featuring latest 5.1.1 R1 release.
Fixed crazy radio wakeups on deep sleep
Removed p-thread to get more battery life (MOAR!)
Added quick lockscreen gestures (To turn screen on when notification led is blinking and pocket mode)
Switched to latest JusArchi 5.1 gcc optimized for Cortex A7.
Added screen-recorder, which can be enabled on "Buttons" -> "Poweroff Menu"
Probably more stuff I don't remember right now

Build 11
Quote:

Updated to latest CM-12.1 sources 8/05
We are back to my "stock" kernel which doesn't have DT2W
Released 2 variants of my kernel, one with DT2W and the other without it.

Build 10.1
Quote:

Enabled DT2W implementation
Enabled power efficient workqueues
Activated fast charge via USB
Some misc picks to enhance kernel

Build 8.1
Quote:

Fixed kernel Toolchain (Crucial for a perfect synergy with optimizations)

Build 8
Quote:

Featuring Android 5.1.1
Synced latest CM12.1 sources 21/04/15
Updated kernel Toolchain to SaberMod 5.0
Complete rebase to kernel.
Updated graphite flags.
Beast benchmark scores (over 20k)
All old optimizations that are posted on OP are up and running too.

Build 6
Quote:

Updated with latest CM12 sources
Intelli-Plug 4.0 with eco-mode is back.
Added some special changes to hotplug
Added option to hide the annoying icon of root at status bar. (@Pupet_Master bet you are going to love this one)
Switched to Linaro Toolchain 4.9.2 optimized for A7 Cortex architecture. (Rom is still compiled with SaberMod)
Misc tweaks to kernel.

Build 5
Quote:

Reworked Project, added all optimization flags.

Build 4
Quote:

*Synced latest CM12 sources
*No screen-tearing issues
*Re-Enabled MP-Decision
*Added new implementation of Intelliplug directly from Faux's Github
*Removed IntelliMinMax governor (For now)
*Updated powersuspend driver to v1.5
*Updated SaberMod Toolchains

*Ditched my old build environment and bringed up @JustArchi optimizations which takes Android to a whole new level

Important changes:
- Optimized for speed yet more all instructions - ARM and THUMB (-O3)
- Optimized for speed also parts which are compiled with Clang (-O3)
- Turned off all debugging code (lack of -g)
- Eliminated redundant loads that come after stores to the same memory location, both partial and full redundancies (-fgcse-las)
- Ran a store motion pass after global common subexpression elimination. This pass attempts to move stores out of loops (-fgcse-sm)
- Performed interprocedural pointer analysis and interprocedural modification and reference analysis (-fipa-pta)
- Performed induction variable optimizations (strength reduction, induction variable merging and induction variable elimination) on trees (-fivopts)
- Didn't keep the frame pointer in a register for functions that don't need one. This avoids the instructions to save, set up and restore frame pointers; it also makes an extra register available in many functions (-fomit-frame-pointer)
- Attempted to avoid false dependencies in scheduled code by making use of registers left over after register allocation. This optimization most benefits processors with lots of registers (-frename-registers)
- Tried to reduce the number of symbolic address calculations by using shared “anchor” symbols to address nearby objects. This transformation can help to reduce the number of GOT entries and GOT accesses on some targets (-fsection-anchors)
- Performed tail duplication to enlarge superblock size. This transformation simplifies the control flow of the function allowing other optimizations to do a better job (-ftracer)
- Performed loop invariant motion on trees. It also moved operands of conditions that are invariant out of the loop, so that we can use just trivial invariantness analysis in loop unswitching. The pass also includes store motion (-ftree-loop-im)
- Created a canonical counter for number of iterations in loops for which determining number of iterations requires complicated analysis. Later optimizations then may determine the number easily (-ftree-loop-ivcanon)
- Assumed that loop indices do not overflow, and that loops with nontrivial exit condition are not infinite. This enables a wider range of loop optimizations even if the loop optimizer itself cannot prove that these assumptions are valid (-funsafe-loop-optimizations)
- Moved branches with loop invariant conditions out of the loop (-funswitch-loops)
- Constructed webs as commonly used for register allocation purposes and assigned each web individual pseudo register. This allows the register allocation pass to operate on pseudos directly, but also strengthens several other optimization passes, such as CSE, loop optimizer and trivial dead code remover (-fweb)
- Sorted the common symbols by alignment in descending order. This is to prevent gaps between symbols due to alignment constraints (-Wl,--sort-common)

Build 3
Quote:

Updated CM12 commits.
Initial Modular O3 Implementation … (Yay!)
armv7-a-neon: Apply Correct mfpu and mfloat tunings per arch …
Updated Graphite flags
Speed up Recents Menu, StatusBar and Windows Orientation.
Added a setting to disable expanded notifications.
Disabled MP-Decision (Conflicting with Intelli-Plug when performance per app is ON)
Enabled Intelli-Plug by default.
Misc cherry-picks to polish new optimizations

Build 2
Quote:

Added Graphite optimizations
Added Strict-Aliasing optimizations
Updated latest CM12 sources.



FAQ
Thanks a lot @Travisholt92 for writing this guide, please give him a big thanks here!

Question 1: I am coming from (Stock or CM11), how can i install this?

Answer 1:
1. Back up all of your files, text messages, and everything else that you dont want to lose (try Easy Backup in the Google Play Store). You will lose everything stored on your phones internal storage and applications , your SD card will be safe.
2. Download the latest build posted in OP and Download GAPPS and move the .zip files onto your SD card (Remember where you put these files).
3. Shut down your phone.
4. Reboot into recovery mode by holding down the volume down button and the power button, then releasing the power button. This will come up with the Fastboot interface. Press volume down to highlight Recovery and then press volume up to boot into recovery mode.
(through TWRP)
5. Press Wipe
6. Press Advanced Wipe
7. Select Dalvik Cache, Data, Internal Storage, Cache, and System.
(Do not select microSD card or USB OTG)
8. Swipe to wipe.
9. Press Install. At the top of the screen make sure it says "Storage: microSD card". Navigate to the ROM .zip file and press it.
10. Press Add More Zips and select the GAPPS .zip file.
11. Swipe to confirm flash, reboot system, enjoy SaberMod!

(If none of these answers fix your issue read the comments for others having similar issues to see if anybody has found a fix for the issue. If the issue hasn't been meantioned previously please report the issue, leave a comment. Make sure to state what build you are running and what kernel you are using if you installed a custom kernel. If its something that happens when you perform a certain action such as after sending a text your phone reboots, try and be as detailed as possible when reporting the bug)


Question 2: I just installed (insert build name here and issue below). How do i fix this?


A. and my device is stuck at boot animation, device boots but spams with system application errors (meaning installed by your ROM not from GAPPS) , or anything else that prevents you from using your phone.

Answer: Backup your device and follow the directions for answer 1. (install the last ROM you were running if you are coming from an AOSP build if needed to back up your data)



B. and my device boots but spams with my downloaded application errors.

Answer: Uninstall the application and redownload it from the Google Play Store.
The Following 26 Users Say Thank You to beeeto For This Useful Post: [ View ] Gift beeeto Ad-Free
31st January 2015, 07:20 AM |#3  
panchovix's Avatar
Senior Member
Flag Santiago
Thanks Meter: 443
 
More
Gonna test
Que buena ver un chileno por estos lares, y más aun desarrollando roms, bastante bueno; voy a probar la ROM y ver como anda

English; Gonna test the rom and will say how it works
The Following 6 Users Say Thank You to panchovix For This Useful Post: [ View ] Gift panchovix Ad-Free
31st January 2015, 04:08 PM |#4  
primewell's Avatar
Member
The World
Thanks Meter: 25
 
More
Any severe bugs up to know?
31st January 2015, 05:13 PM |#5  
beeeto's Avatar
OP Senior Member
Flag Chile
Thanks Meter: 1,713
 
Donate to Me
More
Quote:
Originally Posted by primewell

Any severe bugs up to know?

Only CM11 bugs, wich at this stage of develeopment are almost zero. That's the idea of applying only minimal stuff, the result is a enhanced CM11 experience with the same stability.

Next build will inlude GPU and RAM OC.


.
The Following 4 Users Say Thank You to beeeto For This Useful Post: [ View ] Gift beeeto Ad-Free
1st February 2015, 05:36 PM |#6  
Member
Thanks Meter: 14
 
More
I also prefer CM 11 for now. Better stability and performance. And your ROM is great! No bugs so far. Thanks!
The Following User Says Thank You to gabrielsimoes For This Useful Post: [ View ] Gift gabrielsimoes Ad-Free
1st February 2015, 10:44 PM |#7  
Member
Flag Rio de Janeiro
Thanks Meter: 9
 
More
BUG
I Got Alll cores running on 1190hz all time and i can't change the frequencies
2nd February 2015, 01:00 AM |#8  
beeeto's Avatar
OP Senior Member
Flag Chile
Thanks Meter: 1,713
 
Donate to Me
More
Quote:
Originally Posted by SplaszIG

I Got Alll cores running on 1190hz all time and i can't change the frequencies

It is not a bug, MPdecision shows all cores at full freq, but if you check them at real time (I.E using CoolTool) you'll see they work normally.

Anyway, I DK if add more features on the next build (Halo maybe?) or keep things simple with Linaro and Archi's optimizations. What do you guys think?
The Following User Says Thank You to beeeto For This Useful Post: [ View ] Gift beeeto Ad-Free
2nd February 2015, 10:10 AM |#9  
WiCiO_MeDi's Avatar
Senior Member
Flag Bielsko-Biała
Thanks Meter: 199
 
More
keep it simple, there are other ROMs for those who want more.
or you can make it modular and give additional functions in flashable zips
The Following 3 Users Say Thank You to WiCiO_MeDi For This Useful Post: [ View ] Gift WiCiO_MeDi Ad-Free
2nd February 2015, 11:11 AM |#10  
primewell's Avatar
Member
The World
Thanks Meter: 25
 
More
Quote:
Originally Posted by WiCiO_MeDi

keep it simple, there are other ROMs for those who want more.
or you can make it modular and give additional functions in flashable zips

+1
2nd February 2015, 12:00 PM |#11  
beeeto's Avatar
OP Senior Member
Flag Chile
Thanks Meter: 1,713
 
Donate to Me
More
Quote:
Originally Posted by WiCiO_MeDi

keep it simple, there are other ROMs for those who want more.
or you can make it modular and give additional functions in flashable zips

Will do.

Thanks for your input!
The Following 2 Users Say Thank You to beeeto For This Useful Post: [ View ] Gift beeeto Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes