FORUMS

[ROM][v500/awifi][LP][5.1.1_r33][SM-4.9.x] SlimRom LP SaberMod Builds [BETA 0.14]

5,823 posts
Thanks Meter: 14,167
 
Post Reply Email Thread
Announcement from infected_: SlimLP ROM like you never seen it before!



LG G PAD 8.3"/awifi/v500 SLIMROM LP SABERMOD BUILDS

BETA 0.14 is up.

LOLLIPOP 5.1.1_r33

DOWNLOAD

NOT WORKING YET: (?)

ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.x (20151224)
KERNEL COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.x (20151224)

KERNEL SOURCE: https://github.com/infected-lp/andro...ifi/tree/saber

[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-a)
[+] other flags to optimize even more the code.

BUGS REPORT

REPORT BUGS ONLY:

- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM THIRD 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 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 crossflow 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

@fefifofum for letting me use his device trees.

SlimRom Dev Team = for the source code.



XDA:DevDB Information
LG G PAD 8.3, ROM for the LG G Pad 8.3

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.14
Beta Release Date: 2016-01-08

Created 2015-06-01
Last Updated 2016-01-08
The Following 10 Users Say Thank You to infected_ For This Useful Post: [ View ]
1st June 2015, 11:20 AM |#2  
infected_'s Avatar
OP Recognized Developer
Flag Portugal
Thanks Meter: 14,167
 
Donate to Me
More
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 LG G Pad 8.3"

ROM is built using the same source code (github) like the official one but with these following additions:
  • Compiled using sabermod arm-eabi 5.2.x (kernel code) & sabermod arm-linux-androideabi 4.9.x (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?

Quote:

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.

Source: http://elinux.org

What is SaberMod?

The term "SaberMod" is coming from:

Quote:

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.

Source: http://www.xda-developers.com/interv...er-toolchains/

Optimization Flags in GCC
Quote:

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


Attached Thumbnails
Click image for larger version

Name:	Screenshot_2015-06-02-12-00-28.png
Views:	1578
Size:	109.1 KB
ID:	3344168   Click image for larger version

Name:	Screenshot_2015-06-02-12-00-34.png
Views:	1594
Size:	112.0 KB
ID:	3344169   Click image for larger version

Name:	Screenshot_2015-06-02-12-00-45.png
Views:	1568
Size:	113.3 KB
ID:	3344170   Click image for larger version

Name:	Screenshot_2015-06-02-12-00-57.png
Views:	1484
Size:	80.0 KB
ID:	3344171   Click image for larger version

Name:	Screenshot_2015-06-02-12-01-28.png
Views:	1482
Size:	148.2 KB
ID:	3344173   Click image for larger version

Name:	Screenshot_2015-06-02-12-03-25.png
Views:	1460
Size:	37.5 KB
ID:	3344174   Click image for larger version

Name:	Screenshot_2015-06-02-12-05-52.png
Views:	1456
Size:	68.5 KB
ID:	3344175   Click image for larger version

Name:	Screenshot_2015-06-02-12-06-49.jpg
Views:	1354
Size:	82.6 KB
ID:	3344176  
The Following 3 Users Say Thank You to infected_ For This Useful Post: [ View ]
1st June 2015, 11:20 AM |#3  
infected_'s Avatar
OP Recognized Developer
Flag Portugal
Thanks Meter: 14,167
 
Donate to Me
More
Flashing Instructions

First time installing:

Flash CWM recovery or TWPR recovery.
Place build zip + gapps on internal/external memory
reboot into recovery
wipe /system /data /cache
flash build + gapps
reboot
you're done, enjoy!

Coming from previous build version:
Flash build, wipe cache.
you're done, enjoy!

SLIM GAPPS

http://forum.xda-developers.com/slim...imkat-t2792842
The Following 2 Users Say Thank You to infected_ For This Useful Post: [ View ]
2nd June 2015, 01:16 AM |#4  
Jansxel's Avatar
Senior Member
Thanks Meter: 59
 
More
WoW !! Thx for this. Try it later
2nd June 2015, 07:31 AM |#5  
Jansxel's Avatar
Senior Member
Thanks Meter: 59
 
More
Its working fine!!!
3rd June 2015, 03:49 AM |#6  
Darkmasterhk's Avatar
Senior Member
Flag Kassel
Thanks Meter: 165
 
More
nice to see slim back on this tab

found one issue: dt2w doesn't work, but the rest seems to work fine even layers <3
6th June 2015, 07:57 PM |#7  
indian84's Avatar
Senior Member
Flag Doha
Thanks Meter: 2,881
 
More
Quote:
Originally Posted by Darkmasterhk

nice to see slim back on this tab

found one issue: dt2w doesn't work, but the rest seems to work fine even layers <3

Layers work? I applied a later and the settings screen was messed up. All the text was invisible.
@infected_

Thank you for bringing back Slim to our V500. As you are working on the ROM, can you add Layers related commits to the ROM. Slim Team is still undecided whether to go for rro layers in their official builds. But there is a SlimSaber build for one p!us one by a dev called fusionjack. And he has fully integrated layers in his build of SlimLP. If you plan to add layers you can check with him.

Once again,

Thanks.
6th June 2015, 08:05 PM |#8  
infected_'s Avatar
OP Recognized Developer
Flag Portugal
Thanks Meter: 14,167
 
Donate to Me
More
Quote:
Originally Posted by indian84

Layers work? I applied a later and the settings screen was messed up. All the text was invisible.
@infected_

Thank you for bringing back Slim to our V500. As you are working on the ROM, can you add Layers related commits to the ROM. Slim Team is still undecided whether to go for rro layers in their official builds. But there is a SlimSaber build for one p!us one by a dev called fusionjack. And he has fully integrated layers in his build of SlimLP. If you plan to add layers you can check with him.

Once again,

Thanks.

i know who @fusionjack is .. we were building ROMs at the same time, a couple years back for the i9100 .. right FJ ?! :P

ill talk to him if i decide for the layers or not.
6th June 2015, 08:11 PM |#9  
indian84's Avatar
Senior Member
Flag Doha
Thanks Meter: 2,881
 
More
Quote:
Originally Posted by infected_

i know who @fusionjack is .. we were building ROMs at the same time, a couple years back for the i9100 .. right FJ ?! :P

ill talk to him if i decide for the layers or not.

Correct. He is from i9100. @fusionjack. Hopefully we will have 100% layers support.
6th June 2015, 08:14 PM |#10  
Darkmasterhk's Avatar
Senior Member
Flag Kassel
Thanks Meter: 165
 
More
Quote:
Originally Posted by indian84

Layers work? I applied a later and the settings screen was messed up. All the text was invisible.
@infected_

Thank you for bringing back Slim to our V500. As you are working on the ROM, can you add Layers related commits to the ROM. Slim Team is still undecided whether to go for rro layers in their official builds. But there is a SlimSaber build for one p!us one by a dev called fusionjack. And he has fully integrated layers in his build of SlimLP. If you plan to add layers you can check with him.

Once again,

Thanks.

at least a few Elixium UI layer e.g. works fine with default dpi.
7th June 2015, 11:41 AM |#11  
indian84's Avatar
Senior Member
Flag Doha
Thanks Meter: 2,881
 
More
Quote:
Originally Posted by Darkmasterhk

at least a few Elixium UI layer e.g. works fine with default dpi.

Correct. Even element theme worked for me.

Hey @infected_

Wanted to report back about layers. The earlier report of some layers working is only partially correct.

Only light themes work and that too only partial items get themed.
Are you still planning to implement full layers support?

And if you are OK with it, how frequently you planning to update the ROM?
Not asking for ETA.
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