Related
v500/G Pad 8.3" SLIMKAT LINARO/SABERMOD WEEKLY BUILDS
Final Build 9.0 is ONLINE
DOWNLOAD
(infected server)
(md5sum included with all builds)
kernel code compiled with linaro arm-eabi-4.7.4 201406 toolchain
rom code compiled with with sabermod arm-linux-androideabi-4.8.5 201412 toolchain
-O3 optimizations
strict-aliasing rules
custom performance flags
+30 cherry-picks used
graphite
(buildbot: intel core i7 [email protected], asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11, nvidia gtx 970, 2x samsung 128gb ssd 840 pro raid 0 array,
4x western wigital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, black-ice gtx-lite 240 radiator, 2x noiseblocker eloop b12-3 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
(Linux Mint 17.1 x64 "Rebecca" 3.13.0-39)
Disclaimer:
These builds are freshly compiled/synced from SlimRoms open-source code:
https://github.com/SlimRoms
latest linaro arm-eabi-4.7.4 used to compile the kernel code & sabermod arm-linux-androideabi-4.8.5 toolchains to compile ROM code
Special Thanks
SlimRoms Dev Team
Flashing Instructions
First time installing:
Flash CWM recovery or TWPR recovery.
Option #1 = http://forum.xda-developers.com/showthread.php?t=2588671
Option #2 = http://forum.xda-developers.com/showthread.php?t=2641409
Place build zip + gapps on internal/external memory
reboot into recovery
wipe /system /data /cache
flash build + gapps
wipe cache
reboot
you're done, enjoy!
Coming from previous build version:
Flash build, flash gapps
you're done, enjoy!
Gapps = SlimRom Gapps
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of SlimKat for the v500/LG G Pad.
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using linaro arm-eabi 4.7.4 14.04 (kernel code) & sabermod arm-linux-androideabi 4.8.3 14.04 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
In software, a toolchain is the set of programming tools that are used to create a product (typically another computer program or system of programs). The tools may be used in a chain, so that the output of each tool becomes the input for the next, but the term is used widely to refer to any set of linked development tools.
A simple software development toolchain consists of a compiler and linker to transform the source code into an executable program, libraries to provide interfaces to the operating system, and a debugger. A complex product such as a video game needs tools for preparing sound effects, music, textures, 3-dimensional models, and animations, and further tools for combining these resources into the finished product.
Click to expand...
Click to collapse
Source: http://en.wikipedia.org/wiki/Toolchain
What is SaberMod?
The term "SaberMod" is coming from:
SaberMod is a AOSP based ROM with some extra features added in and mostly from CyanogenMod. SaberMod started out pure AOSP when android 4.2.1 launched. Originally it was pure AOSP with a few extra features I ported over from CyanogeMod and linaro optimizations. Then I rebased everything off of rasbeanjelly because I liked many features found in rasbean. Since then I've modified a lot of the code so not much of it is rasbeanjelly based anymore. But you will still find some commonly used features found in rasbeanjelly. SaberMod is not a rasbeanjelly or CM clone, or KANG. Custom kernels are included for certain devices when available. These are personal builds we make for ourselves and originally became very popular in the nexus 7 forums. Features are very rarely added, and are built to SaberMod's team members liking. Currently there are two members of SaberMod working on this project. Myself and @jarjar124 . Please understand our time is limited and we are only two people who have lives, and do not have 25-50 members like CyanogenMod to add things. And our goal is not to add a bunch of features that bloat the system of the ROM.
Click to expand...
Click to collapse
Source: http://forum.xda-developers.com/show....php?t=2158698
What is Linaro?
Linaro is the place where engineers from the world's leading technology companies define the future of Linux on ARM. The company is a not-for-profit engineering organization with over 120 engineers working on consolidating and optimizing open source software for the ARM architecture, including the GCC toolchain, the Linux kernel, ARM power management, graphics and multimedia interfaces.
Click to expand...
Click to collapse
Source: http://www.linaro.org/linux-on-arm/
About GCC main compiler cflags
-O1
Optimize. Optimizing compilation takes somewhat more time, and a lot more memory for a large function. With -O, the compiler tries to reduce code size and execution time, without performing any optimizations that take a great deal of compilation time.
-O2
Optimize even more. GCC performs nearly all supported optimizations that do not involve a space-speed tradeoff. As compared to -O, this option increases both compilation time and the performance of the generated code. -O2 turns on all optimization flags specified by -O.
-O3
Optimize yet more. -O3 turns on all optimizations specified by -O2 and also turns on the -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-loop-vectorize, -ftree-slp-vectorize, -fvect-cost-model, -ftree-partial-pre and -fipa-cp-clone options.
-Os
Optimize for size. -Os enables all -O2 optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size.
Click to expand...
Click to collapse
Wow.. Thanks Again..
Removed.
I must have picked the right time to root etc my Pad as yet another superb ROM is now here to try.
Having just nandroid the CM 11 build I have now wiped and flashed this. It looks every bit as good as it does on my Nexus 5. I love the built in DPI as well as the inverted GAPPS, when the darker Slim is selected.
All seems well so far.
Thanks for sharing
Seems to work well, thanks!
Am I the only one who is having a problem with the screen being way too dim? Setting up the tablet after the first reboot was a pain. Could it be tied to the recovery version on my device? I am running TWRP 2.7.
Running fine. Swapped over from Demetris' build to see if any different. Did have a sound glitch when on Spotify that I don't notice here. Might be smoother as well or could be placebo effect.
new linaro/sabermod SlimKat build 4.9 is up!
regards.
Love the Rom, best I've tried. Can't seem to see 4.9 on the download server? Sorry if I'm being blind
Sent from my LG-V500 using Tapatalk
joegrant said:
Love the Rom, best I've tried. Can't seem to see 4.9 on the download server? Sorry if I'm being blind
Sent from my LG-V500 using Tapatalk
Click to expand...
Click to collapse
It's on the Slim website. Download section, weekly, and V500 device.
thanks, I was looking at the infected server from the Op. maybe that can be changed to the slimkat website if the infected server is not being updated. cheers
Sent from my MI 2S using Tapatalk
sorry, but i wasnt aware the upload failed.
i re-uploaded build 4.9
regards.
@infected_ Could you build the v5.PCFR release?
Thanks
Demetris said:
@infected_ Could you build the v5.PCFR release?
Thanks
Click to expand...
Click to collapse
yes.
Code:
SLIM_VERSION=Slim-4.4.2.build.5.PCFR-INFECTED-20140510-1607
i'll upload as soon has it finishes.
build 5 PCFR is up!
Ok I'll bite
What is PCFR...?
BTW excellent work yet again for the continuing support
vimesUK said:
Ok I'll bite
What is PCFR...?
BTW excellent work yet again for the continuing support
Click to expand...
Click to collapse
Whatever it is I lost root after flashing it
Sent from my LG-V500 using XDA Premium 4 mobile app
xyojimbox said:
Whatever it is I lost root after flashing it
Sent from my LG-V500 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
go to developer settings and enable it...
Is it possible to install SuperSU from Chainfire on this after you enable root? It just feels a little faster.
infected_ said:
go to developer settings and enable it...
Click to expand...
Click to collapse
Infected Thanks for the GREAT effort you are putting into these ROMs, really appriciated.
You will be the first I will donate some beer to!!!
hello everyone. Some weeks ago i've started to build Roms, but somehow felt incomplete to get the experience I desired. Today i finally was able to finish compiling my first kernel which i'll share with you.
Download New Kernel
Features:
Voltage Control
Schedulers :CFQ/BFQ/DEADLINE/NOOP
Govenors: INTERACTIVE/ONDEMAMD/PERFORMANCE/POWERSAVE
TCP Congestions: WESTWOOD, CUBIC, RENO, BIC, HTCP
Fast Charge
Sound Control
Low memory optimizations from Motorola
Krait optimization code
HARD NEON
Linaro Optimizations
LCD KCAL by @savoca
Arch Power
Gentle Fair Sleepers
Crypto Sha Neon
Added improved glibc libs and many others which provide a more efficient kernel work.
Many patches added from the upstream kernel.
Fsync
Optimized ARM RWSEM algorithm
Optimized Random from the upstream code.
Compiled with a special toolchain for krait.
More to come
To control Kernel, flash this on recovery. and install Synapse from the play store.
There are two branches:
Stable - which has all proven and tested development
Beta - new features introductions. Remember if your chip fries... Was done with very good intentions.
To build this kernel i have to give a very big thank you to great dev @savoca as had alot of patience and shared his knowledge to build a kernel with a step by step guide, as also explaining what's each stuff for.
@ak @andi79 @franciscofranco @faux123 for commits of their kernels, as made life easier.
@DerRomtester to provide a example of how to create boot.img script.
All credits go to CyanogenMod team.
Source code
OnePlus Thread
Changelog:
26/12/2015
Very summarised to what was done on kernel:
full rebased where was removed all commits not related to Krait but cortex-A15
Reverted back to CAF cpu boost
changed intereactive configuration to be more battery friendly
Using only aligned access for best performance and stability, as unalignment has it's own bad costs. Read more here: http://www.alexonlinux.com/aligned-v...-memory-access
Added stable ondemand governor from CAF
Updated to latest wifidriver
Optimize kernel cfbfillrect function
Use of ALIGNED_STRUCT_PAGE
22/09/2015
Kernel with MPdecision and bricked hotplug
Alot of patches and enhancements
synced with cm
05/08/2015
Some low memory changes
Synced with CM
Changelog:
updated with Cm stuff
Some changes over low memory killer.
28/06/2015
Improved Low memory killer
Synced with CM code 19/07/2015
Rebased kernel with linux patches until 3.4.108
Improved MMC use
Synced with Kitkat values for battery and charger
While recording video doesn't vibrate
28/06/2015
Optimized toolchain for our chip with GCC 5.1
Optimized values of interactive to kill lag caused by the govenor
Synced with CM code
Alot of patches (180 linux patches)
08/06/2015
Rebased from scratch
NEON is ON
Ext4 bug fixing
Removed inteliplug (soon a proper Hotplug comming)
Alarm Wakelock battery drainer fixed
Removed alot of badstuff from old kernel (learned from my mistakes)
31/05/2015
Reverted mempatch
Reverted all changes with hotplug
Redesigned optimizations of kernel.
25/05/2015
added MSMlimiter
IntelliThermal
Bricked hotplug
MSM hotplug
New touchdriver by neobuddie
20/05/2015
Small important ajustments
Synced with CM 20/05/2015
18/05/2015
much less logs, and reverted firmware update until cm fixes battery drain suggested by @tiny4579
Added Inteliplug hotplug
Improved fairness efficiency
Removed powersuspend for now, until is completely improved battery life and review code of power suspend
synced with CM
28/04/2015
Fsync
Improved speed I/O
Optimized copy page
ArchPower ON by default
Option to control ArchPower and Gentle Fait Sleepers
Optimized Deadline for performance
Improved CPU use of voltage for better battery life
Avoid to many OOM dirty pages (better memory)
loadavg Moire values for our device (balances workload and keeps cpu cooler without losing performance power)
SELinux fixes and added missing features.
lib/int_sqrt.c: optimize square root algorithm
27/04/2015
New Toolchain Linaro 5.1
Improved Low Memory Killer
Improved powersyspend
Improved Lz4
New KCAL code merged
Synced with CM
Async I/O speed increased by 34%
Optimized for A15 Cortex
Less Logs
Latest linaro patch 3.4.107
Rebased and 5.0+ ready compiler
14/04/2015
Soundcontrol, powersuspend, fixes
11/04/2015
Linaro LT
10/04/2015
Tons of kernel fixes. Memleaks, Optimized ARM RWSEM algorithm, Improved memory access (tested this and worked much better!), frandom support, F2FS support 3.4 (latest patch will come on next update), Changed some configurations to improve on kernel resource handling and increased battery life while keeping MPDecision, Missing linux patches from 3.4.105 included, Removed entropy changes, as was proven to create more lags and consuming more resources.
07/04/2015
Alot of fixes: scheduler, fixed memory leaks, info leak, entropy depleting, sleep fixes, data loss fixes. Synced with CM : prima: Update to LA.BF.1.1.1_rb1.17 . Included linux patches from 3.4.105. selinux fixes and code cleanup. Raised entropy levels. Introduction of a new smart scheduler.
05/04/2015 - Linux patches 3.4.106 on a cleaned build based on cm 12.1
Important Notes:
There are two methods to have a kernel done by someone else on our phone. Trying not to complicate and to make you understand, when you create a kernel there are two strategies dev use to share their work.
Most of the devs have on each kernel has its own ram disk and create a boot.img zip file. The advantage is that, the boot.img will exchange the one we have in the phone. The disadvantage is that, it can be incompatible with some updates.
The strategy I use, is same of ak and render. We build kernel with any kernel. Basically the boot.img is created with the boot.img which is currently on you rom while on the recovery.
So now you can understand what happens. If you flash a kernel A, independently of the methods, we'll be using a ram disk not correspondent to the original rom and you'll have changes in ram disk . So while going to kernel B, ram disk is written again. Then going to kernel c ram disk is written again.
Can you tell me the advantage of having each kernel changes in same ram disk? Perhaps spontaneous reboot, to mess up our emotional stress will come in order in case not caring about this. [emoji14]
Now that you understood the importance, remember! !) reflash origin ROM 2)Flash kernel 3) Enjoy
@jgcaap
Awesome Work Mate! Really Impressed with all the Efforts you put into this! I'm sure you must have learnt a lot while developing these
Thanks. I learned quite alot... I. Missed programing. Without git hub would be very hard for me to create this kernel. I own alot of thanks to the great teacher and dev @savoca very soon, I'll be bringing his work to this kernel. He not only is a very smart guy as also a great friend with alot of patience HeHehe.
jgcaap said:
Thanks. I learned quite alot... I. Missed programing. Without git hub would be very hard for me to create this kernel. I own alot of thanks to the great teacher and dev @savoca very soon, I'll be bringing his work to this kernel. He not only is a very smart guy as also a great friend with alot of patience HeHehe.
Click to expand...
Click to collapse
Yep, I so miss @savoca Furnace Kernel. It was simply to the point and worked just fine! It'll truly be great if you would implement his work! All the very best Mate!
Very soon I'll add a small description of why I choose these features and what each of them do, in order to you guys understand the advantages.
Added right now an update. will create changelog at night.
compiled with uber 5.0 https://basketbuild.com/filedl/devs?dev=jgcaap&dl=jgcaap/jgcaap-kernel-uber.zip
have fun!
Is this for lollipop or kit kat?
mmurphmsu said:
Is this for lollipop or kit kat?
Click to expand...
Click to collapse
Lolipop...
Sent from my One using XDA Premium 4 mobile app
mmurphmsu said:
Is this for lollipop or kit kat?
Click to expand...
Click to collapse
For now only lollipop
Added to OnePlus One index thread:
[INDEX] OnePlus One Resources Compilation Roll-Up
Transmitted via Bacon
also a list of compatible roms in the OP would be a good idea as well maybe...!!!!
I'm gonna keep this thread subscribed.
It's looking like a good start and it's allways nice to see another PT dev around.
Good job.
Congrats man.. Good job!
Great work m8. Cant wait to flash this baby.
This will work on lollipop ROM on galaxy grand
Congratulations, You made it to the front page of xda-developers..
Good job, I personally recommend against using GCC 5 toolchains for the time being as it isn't much better than 4.9 and are not as stable.
DespairFactor said:
Good job, I personally recommend against using GCC 5 toolchains for the time being as it isn't much better than 4.9 and are not as stable.
Click to expand...
Click to collapse
I agree, its cool to play with but could cause unseen issues for people starting out with Kernel Development.
@jgcaap
Its good to see users start a new project! I started out doing Rom work too and found Kernel work to be much more enjoyable. If you run into a build error or have a question, feel free to PM me.
Regards,
Render
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Z3/LEO/D6603 CYANOGENMOD 12.1 UNOFFICIAL SABERMOD BUILDS
CURRENT BUILD: 20160316
LOLLIPOP 5.1.1_r35
DOWNLOAD
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.x (20160216)
KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.x (20160216)
SOURCE: https://github.com/infected-lp/android_kernel_sony_msm8974/tree/saber_tests
[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-l)
[+] other flags to optimize even more the code.
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
CHANGELOG:
http://www.cmxlog.com/12.1/z3/
BUILDBOT:
(intel core i7 [email protected] (1.22v), asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11 (1.5v), msi nvidia gtx 970, 1x samsung 850 evo 250gb + 1x samsung ssd 840 pro 128gb, 4x western digital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from CyanogenMod Rom open-source code:
https://github.com/CyanogenMod
SPECIAL THANKS
CyanogenMod Dev Team = for the source code.
XDA:DevDB Information
Z3/Leo/D6603 CyanogenMod 12.1 Sabermod Builds, ROM for the Sony Xperia Z3
Contributors
infected_
Source Code: https://github.com/CyanogenMod
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recovery and Unlocked Bootloader
Based On: CyanogenMod
Version Information
Status: Nightly
Created 2015-09-04
Last Updated 2016-04-21
HOW-TO:
* place the phone in fastboot mode.
* grab the boot.img from the latest build and: sudo fastboot flash boot boot.img
* grab latest TWRP for Z3 from here: http://www.infectedbuilds.net/downloads/z3/TWRP/
* flash TWRP: sudo fastboot flash recovery z3fotatwrpv4.img
* reboot into recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
GAPPS:
OpenGapps - http://opengapps.org/
Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
Reserved
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of CyanogenMod 12.1 for the Xperia Z3/leo
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse
Great to see you here OP, the work you've done at z2 has been awesome. Super glad to see more rom devs getting the Z3.
Green fish in camera is there in your builds?
Black_Eyes said:
Green fish in camera is there in your builds?
Click to expand...
Click to collapse
its on every ROM that uses CyanogenMod 12.1 device trees. But a fix is already in motion.
regards.
How to!
how can Root for this CM...?
MelvinGt5 said:
how can Root for this CM...?
Click to expand...
Click to collapse
CyanogenMod already has root included. you can enable it on Developer Settings.
Regards.
@infected_ May I ask what you mean by "a fix is already in motion"? Because I'm getting hyped right now
CedArctic said:
@infected_ May I ask what you mean by "a fix is already in motion"? Because I'm getting hyped right now
Click to expand...
Click to collapse
un-hype yourself... theres no ETA's.
regards.
Jm_Willing said:
Can i simply dirty flash it over normal cm 12.1?
Click to expand...
Click to collapse
yes, you may.
but dont use CM Updater, to flash new build, or you'll end up with official CM.
regards.
infected_ said:
un-hype yourself... theres no ETA's.
regards.
Click to expand...
Click to collapse
Never asked for an ETA, I was just asking if there was any new development on obtaining the camera blobs. Regards.
CedArctic said:
Never asked for an ETA, I was just asking if there was any new development on obtaining the camera blobs. Regards.
Click to expand...
Click to collapse
All i can tell you, is that everyone i know involved on the Zx/Shinano devel scene are trying their best to fix it. its a well know issue and things are in motion, like i said.
We need to have a little more of patience regarding this matter.
Regards.
Hey would you mind incorporating the unlimited call log tweak into this?
Shown here
HaoZeke said:
Hey would you mind incorporating the unlimited call log tweak into this?
Shown here
Click to expand...
Click to collapse
no, sorry.
have one side effect though. The SQLite3 database will be huge. and the Dialer will be slow. And there will be more frequent Automatic Index Entry creation by the SQLite3.
Click to expand...
Click to collapse
regards.
new build is up and Android has been updated to 5.1.1_r13
regards.
infected_ said:
new build is up and Android has been updated to 5.1.1_r13
regards.
Click to expand...
Click to collapse
Hey man thank u for this awesome Rom I'm trying to build my own custom Rom but I'm stuck with an error I can't fix and I don't know what I may have missed. I'm using the CM Z3 repos here is the error here please help if u can
http://pastebin.com/yguMFq7y
new build is up and Android have been updated to 5.1.1_r18.
regards.
BlaqueDroid said:
Hey man thank u for this awesome Rom I'm trying to build my own custom Rom but I'm stuck with an error I can't fix and I don't know what I may have missed. I'm using the CM Z3 repos here is the error here please help if u can
http://pastebin.com/yguMFq7y
Click to expand...
Click to collapse
@Jm_Willing and you are asking both the same thing, dunno if you guys are aware of each other.
i already download the sources a couple days back, tried to build and had the same error... Euphoria-Legacy doesnt have Sony devices repos...
ill have a look at it again, but not sure if it will be buildable. ill let you guys know.
infected_ said:
Jm_Willing and you are asking both the same thing, dunno if you guys are aware of each other.
i already download the sources a couple days back, tried to build and had the same error... Euphoria-Legacy doesnt have Sony devices repos...
ill have a look at it again, but not sure if it will be buildable. ill let you guys know.
Click to expand...
Click to collapse
Which Sony Repos do I need so I can manually add them ?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
XPERIA SP/HUASHAN/C5303 SLIMROM UNOFFICIAL SABERMOD BUILDS
BETA v0.9 IS UP!
LOLLIPOP 5.1.1_r20
DOWNLOAD
NOT WORKING YET: (?)
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.4 (20150926)
KERNEL COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.4 (20150926)
SOURCE: https://github.com/infected-lp/android_kernel_sony_msm8x60/tree/saber_tests
[+] -O3 Optimizations
[+] LTO
[+] strict-aliasing
[+] frame-pointers
[+] Graphite
[+] CPU specific flags (armv7-a-neon)
[+] Other GCC flags to optimize the build
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
CHANGELOG:
https://review.slimroms.eu/#/q/status:merged
BUILDBOT:
(intel core i7 3770k, asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11, msi gtx 970, 1x samsung 250gb ssd 850 evo + samsung 128gb ssd 840 pro, 4x western wigital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from SlimRoms open-source code:
https://github.com/SlimRoms
SPECIAL THANKS
SlimRom Dev Team = for the source code.
XDA:DevDB Information
Xperia SP/Huashan/C5303 Slim LP Sabermod Builds, ROM for the Sony Xperia SP
Contributors
infected_
Source Code: https://github.com/SlimRoms
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recommended
Based On: SlimROMs
Version Information
Status: Beta
Current Beta Version: 0.9
Beta Release Date: 2015-10-06
Created 2015-10-06
Last Updated 2015-10-07
Reserved
HOW-TO:
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
GAPPS:
SlimGapps - http://forum.xda-developers.com/slimroms/general/gapps-official-slim-gapps-trds-slimkat-t2792842
Reserved
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of SlimRom LP for the Xperia SP
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse
Hai, in download link is a mistake (switch u and a). But delete the last strings in http...... and you'll surf to the right place.
Now downloading.
halloarno said:
Hai, in download link is a mistake (switch u and a). But delete the last strings in http...... and you'll surf to the right place.
Now downloading.
Click to expand...
Click to collapse
thanks for reporting. already fixed it.
regards.
infected_ said:
HOW-TO:
* grab latest flashable TWRP zip for huashan from here: http://www.infectedbuilds.net/downloads/huashan/TWRP/, and place in on the memory card
* place the phone in fastboot mode, and flash the boot.img from the latest CM12.1 builds: sudo fastboot flash boot boot.img
* enter Cyanogen Recovery
* flash the TWRP zip you downloaded via Cyanogen Recovery.
* shutdown and reboot into TWRP recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
GAPPS:
SlimGapps - http://forum.xda-developers.com/slimroms/general/gapps-official-slim-gapps-trds-slimkat-t2792842
Click to expand...
Click to collapse
hi dev
i´ve only one question, is mandatory to do this * * place the phone in fastboot mode, and flash the boot.img from the latest CM12.1 builds: sudo fastboot flash boot boot.img ????
guvey said:
hi dev
i´ve only one question, is mandatory to do this * * place the phone in fastboot mode, and flash the boot.img from the latest CM12.1 builds: sudo fastboot flash boot boot.img ????
Click to expand...
Click to collapse
I did it without it. (Just wipe system, cache, dalvik, data, int.mem in twrp and flash ROM). Worked fine!
Looking good!
Sent from my Xperia SP using XDA Free mobile app
Hi dude,how's this rom?is it stable?any freezes?how is the smoothness?how about battery life?
guvey said:
hi dev
i´ve only one question, is mandatory to do this * * place the phone in fastboot mode, and flash the boot.img from the latest CM12.1 builds: sudo fastboot flash boot boot.img ????
Click to expand...
Click to collapse
that procedure is for the first time coming from stock 4.3 into the custom ROMs/Kernel world (unlocked BL obviously is needed)
i've resumed the instructions, presuming that you are already on custom ROM and with unlocked BL.
majidkhalifeh said:
Hi dude,how's this rom?is it stable?any freezes?how is the smoothness?how about battery life?
Click to expand...
Click to collapse
Just make a clean install, try it and report. you'll be surprised
Can i use it with f2fs for data and
cache?
Sent from my Xperia SP using Tapatalk
shavendum said:
Can i use it with f2fs for data and
cache?
Sent from my Xperia SP using Tapatalk
Click to expand...
Click to collapse
yes you may.
just finished testing it, f2fs on /cache and /data. f2fs on /system it wont work.
regards.
Tasker cannot toggle mobile data network. It says this feature is unavailable on this device. It worked till now on other lp ROMs. Other than this, ROM appears good.
Sent from my Xperia SP using XDA Free mobile app
shavendum said:
Tasker cannot toggle mobile data network. It says this feature is unavailable on this device. It worked till now on other lp ROMs. Other than this, ROM appears good.
Sent from my Xperia SP using XDA Free mobile app
Click to expand...
Click to collapse
not sure if it will work. did you enabled root access?
infected_ said:
not sure if it will work. did you enabled root access?
Click to expand...
Click to collapse
Yes
Sent from my Xperia SP using Tapatalk
shavendum said:
Yes
Sent from my Xperia SP using Tapatalk
Click to expand...
Click to collapse
no luck then
ill try to reach some xperia maintainer inside official SlimRom to see if it will be possible to had a network toggle for huashan.
regards.
Only for C5303 or is there C5302 support as well?
Sent from my Xperia SP using XDA Free mobile app
TheAvengingTITAN said:
Only for C5303 or is there C5302 support as well?
Sent from my Xperia SP using XDA Free mobile app
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=63173809&postcount=8
regards.
Holly S**T,this rom is amaaaazing,thank you dev,this the best LP rom I have installed as you said I am totally surprised
No problems at all with C5302!
Wait... Wait... Wait...
I would say almost ALL ROM's are good quality and very fast on fresh install. The problems always occure after a few couple of hours or even days, when they use to became sluggish and occasionaly freezing. I have a positive feeling towards this release, neverthless. :good:
I would like to find out if this ROM is free from the delayed wakeup display on receiving calls bug. That would be a great improvement over all the other ROMs.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
XPERIA SP/HUASHAN/C5303 PARANOID ANDROID 5.1 UNOFFICIAL SABERMOD BUILDS
LOLLIPOP 5.1.1_r8
BUILD 5.1 20151008 IS ONLINE.
DOWNLOAD
NOT WORKING YET: (?) YOU TELL ME.
ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.4 (20150926)
KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.4 (20150926)
SOURCES:
kernel - https://github.com/infected-lp/android_kernel_sony_msm8x60/tree/saber
rom - https://github.com/infected-lp/android_device_sony_huashan/tree/pa_saber
[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-a-neon)
[+] other flags to optimize even more the code.
BUGS REPORT
REPORT BUGS ONLY:
- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT
BUILDBOT:
(intel core i7 3770k, asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl9, msi gtx 970, 1x samsung 850 evo 256gb + 1x samsung 128gb ssd 840 pro, 4x western wigital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)
DISCLAIMER:
These builds are freshly compiled/synced from AOSPA Legacy open-source code:
https://github.com/AOSPA-L
SPECIAL THANKS
AOSPA Dev Team = for the source code.
XDA:DevDB Information
XSP/C5303/Huashan/ Paranoid Android 5.1 Unofficial Sabermod Builds, ROM for the Sony Xperia SP
Contributors
infected_
Source Code: https://github.com/AOSPA-L
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: Latest TWRP recovery
Based On: Paranoid Android
Version Information
Status: Nightly
Created 2015-10-07
Last Updated 2015-10-07
Reserved
HOW-TO:
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.
ps: theres no need to flash SuperSU, ive integrated it on the builds.
GAPPS:
OpenGapps - http://opengapps.org/
Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
Reserved
F.A.Q (Frequently Asked Questions)
What is the difference between these builds and the official builds?
These are unofficial builds of Paranoid Android 5.1 for the Xperia SP
ROM is built using the same source code (github) like the official one but with these following additions:
Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
May contain some custom cherry-picks. Always see changelog for details.
Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM
What is Toolchain?
To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).
The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Click to expand...
Click to collapse
Source: http://elinux.org
What is SaberMod?
The term "SaberMod" is coming from:
the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Click to expand...
Click to collapse
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/
Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.
What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.
General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.
-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.
Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.
-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.
Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.
-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.
Sanitizer Flags
These flags use libsanitizer for memory optimizations.
-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.
Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.
-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
Click to expand...
Click to collapse
Another reskined cm12.1
They even have the same exact bugs like lockscreen shows when locking the screen
DahakePL said:
Another reskined cm12.1
They even have the same exact bugs like lockscreen shows when locking the screen
Click to expand...
Click to collapse
the device sources are the same, and the github link is in OP... do you see any official SlimRom or AOSPA huashan official github repos anywhere?
and is also OP the purpose of these builds. and.. no one is forcing you to use them.
regards.
If you don't mind me asking, who's sources are you using to build this, Slim and the unofficial CM?
TheAvengingTITAN said:
If you don't mind me asking, who's sources are you using to build this, Slim and the unofficial CM?
Click to expand...
Click to collapse
Link is in OP.
regards.
Slimrom without sabermod (made by different user) feels different and it doesn't have lockscreen bug for example
So what's the matter?
DahakePL said:
Slimrom without sabermod (made by different user) feels different and it doesn't have lockscreen bug for example
So what's the matter?
Click to expand...
Click to collapse
what lockscreen bug? seems ok to me.
infected_ said:
what lockscreen bug? seems ok to me.
Click to expand...
Click to collapse
You can see the lockscreen for a second if you want to turn off the screen (old cm bug)
DahakePL said:
You can see the lockscreen for a second if you want to turn off the screen (old cm bug)
Click to expand...
Click to collapse
hm.. thats such a major bug, that i didnt even noticed until you said now.
regards.
ps: if you had the bug i have on leo with CM trees, while taking pictures, that you could really complain about.
@infected_ glad to see another one working on xsp ..but ur late a little bit to the party ...the thing that i can see is that ur source tree is from cm which is very old imo ...we had deves such as marcelo and adrian who worked on the device tree to fix a lot of problems and to make the source cleaner ...another member from this community made the slim lp with the developers kernel and source tree that i mentioned before ....as for cm and if i guessed right u should move to fixed source tree instead of cm poor one (for cm and slim lp ...idk if this applies to aospal) (if I'm not wrong )...useful links : 1...2...3
regards.
flash- said:
@infected_ glad to see another one working on xsp ..but ur late a little bit to the party ...the thing that i can see is that ur source tree is from cm which is very old imo ...we had deves such as marcelo and adrian who worked on the device tree to fix a lot of problems and to make the source cleaner ...another member from this community made the slim lp with the developers kernel and source tree that i mentioned before ....as for cm and if i guessed right u should move to fixed source tree instead of cm poor one (for cm and slim lp ...idk if this applies to aospal) (if I'm not wrong )...useful links : 1...2...3
regards.
Click to expand...
Click to collapse
That's what I'm talking about
flash- said:
@[HIDE]infected_ glad to see another one working on xsp ..but ur late a little bit to the party ...the thing that i can see is that ur source tree is from cm which is very old imo ...we had deves such as marcelo and adrian who worked on the device tree to fix a lot of problems and to make the source cleaner ...another member from this community made the slim lp with the developers kernel and source tree that i mentioned before ....as for cm and if i guessed right u should move to fixed source tree instead of cm poor one (for cm and slim lp ...idk if this applies to aospal) (if I'm not wrong )...useful links : 1...2...3
regards[/HIDE].
Click to expand...
Click to collapse
i asked permission at @darioj98 if i could use his kernel tree to make my sabermod builds. if i get a positive reply, ill continue with these builds.
regards.
infected_ said:
i asked permission at @darioj98 if i could use his kernel tree to make my sabermod builds. if i get a positive reply, ill continue with these builds.
regards.
Click to expand...
Click to collapse
That would be awesome because I love PA
allright, i got a reply from @darioj98
i have permission from @Adrian DC to use is m8x60 kernel, so expect updates and bug fixes soon on the saber builds.
i'll just wait for nxt build
Sent from my Xperia SP using XDA Free mobile app
alright.
new build is up, 20151008
new device and kernel trees used.
regards.
Hello, I want to know about performance. This Rom is suitable for daily use?
aumAP said:
Hello, I want to know about performance. This Rom is suitable for daily use?
Click to expand...
Click to collapse
its suitable for daily use.
performance is good, smoothness if awesome, and battery great. try it and report please
regards.