[ROM][Z5][MM][6.0.1_r74][SM-4.9.x] OmniROM SaberMod [20161110]

Search This thread

infected_

Recognized Developer
Jul 12, 2008
5,846
14,128
OnePlus 8

omnilogo_thread.png


Z5/SUMIRE/E6653 OMNIROM UNOFFICIAL SABERMOD BUILDS

MARSHMALLOW 6.0.1_r74

Current Build: 20161110

DOWNLOAD

CURRENT ISSUES:

- you tell me!

ROM CODE COMPILED WITH LATEST SABERMOD AARCH64-LINUX-ANDROID 4.9.x (20160520)
KERNEL CODE COMPILED WITH LATEST SABERMOD AARCH64-LINUX-GNU 4.9.x (20160726)

KERNEL SOURCE: https://github.com/deepongi/android_kernel_sony_msm

BUGS REPORT

REPORT BUGS ONLY:

- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT

OMNI GERRIT REVIEW

https://gerrit.omnirom.org/

CHANGELOG:

https://changelog.omnirom.org/

BUILDBOT:

(intel core i7 3770k, asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11, msi gtx 970, 1x samsung 850 evo + 1x 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 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 Omni ROM open-source code.

file_5f93f983524def3dca464469d2cf9f3e_black_whit.png
Zb6j03d.png
CxAw1Uv.png
image00.png
mint_debian_logo2_scaled.png
A1bRdbJ.png


XDA:DevDB Information
OMNIROM FOR Z5/SUMIRE/E6653, ROM for the Sony Xperia Z5

Contributors
infected_
Source Code: https://github.com/omnirom

ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.10.x
ROM Firmware Required: Unlocked Bootloader
Based On: AOSP

Version Information
Status: Beta

Created 2016-04-20
Last Updated 2016-11-10
 
Last edited:

infected_

Recognized Developer
Jul 12, 2008
5,846
14,128
OnePlus 8
INSTRUCTIONS:

- download the latest build zip, and extract boot.img
- place the build, gapps and supersu somewhere on external/internal memory.
- flash the boot.img you extracted: fastboot flash boot boot.img
- enter recovery after powering the phone, by pressing volume up at the yellow led.
- wipe /system /cache and /data, flash latest build, gapps and supersu.
- reboot, and you are done.

MODULAR GAPPS:

http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368

SUPERSU:

TWRP / FlashFire installable ZIP:
Stable: http://download.chainfire.eu/supersu-stable
Beta: http://download.chainfire.eu/supersu-beta
Latest: http://download.chainfire.eu/supersu
 
Last edited:

infected_

Recognized Developer
Jul 12, 2008
5,846
14,128
OnePlus 8
F.A.Q (Frequently Asked Questions)

What is the difference between these builds and the official builds?

These are unofficial builds of Omni Rom for the Xperia Z5 (E6653)

ROM is built using the same source code (github) like the official one but with these following additions:
  • Compiled using sabermod aarch64-linux-gnu 4.9.4 (kernel code) & sabermod aarch64-linux-android 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.
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.
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/

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.

Source: http://www.linaro.org/linux-on-arm/


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
 

Attachments

  • Screenshot_20160430-114418.jpg
    Screenshot_20160430-114418.jpg
    104.9 KB · Views: 5,030
  • Screenshot_20160430-114305.png
    Screenshot_20160430-114305.png
    135.2 KB · Views: 4,996
  • Screenshot_20160430-114257.png
    Screenshot_20160430-114257.png
    114.6 KB · Views: 4,895
  • Screenshot_20160430-114232.png
    Screenshot_20160430-114232.png
    132.6 KB · Views: 4,479
  • Screenshot_20160430-114222.png
    Screenshot_20160430-114222.png
    123.5 KB · Views: 4,318
  • Screenshot_20160430-114425.png
    Screenshot_20160430-114425.png
    112.7 KB · Views: 4,244
  • Screenshot_20160605-105939.png
    Screenshot_20160605-105939.png
    133 KB · Views: 2,858
  • Screenshot_20160605-105949.png
    Screenshot_20160605-105949.png
    97.3 KB · Views: 2,795
Last edited:

wickedmx

Senior Member
Dec 29, 2010
116
73
Sydney
@infected_ Just curious to know why you are linking to 32bit GAPPS. I know the phone is 64bit architecture, so is there something different with your ROM config? Or does it not really matter when using CM/AOSP base?
 

infected_

Recognized Developer
Jul 12, 2008
5,846
14,128
OnePlus 8
@infected_ Just curious to know why you are linking to 32bit GAPPS. I know the phone is 64bit architecture, so is there something different with your ROM config? Or does it not really matter when using CM/AOSP base?

the only part of the ROM that is compiled with arm64 toolchains is the kernel.. the other ROM code is compiled with arm. So basically you have a 64bits device running a 32bits rom.

i never had any issue with them, and been using them since they were launched... thats why i recommend it.

maybe you can ask @Deltadroid for further enlightenment.

regards.
 
  • Like
Reactions: chrisftlse

wickedmx

Senior Member
Dec 29, 2010
116
73
Sydney
the only part of the ROM that is compiled with arm64 toolchains is the kernel.. the other ROM code is compiled with arm. So basically you have a 64bits device running a 32bits rom.

Sweet, thanks for the quick reply. So it's basically the same principle as running 32 bit programs on a 64 bit desktop OS.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 24

    omnilogo_thread.png


    Z5/SUMIRE/E6653 OMNIROM UNOFFICIAL SABERMOD BUILDS

    MARSHMALLOW 6.0.1_r74

    Current Build: 20161110

    DOWNLOAD

    CURRENT ISSUES:

    - you tell me!

    ROM CODE COMPILED WITH LATEST SABERMOD AARCH64-LINUX-ANDROID 4.9.x (20160520)
    KERNEL CODE COMPILED WITH LATEST SABERMOD AARCH64-LINUX-GNU 4.9.x (20160726)

    KERNEL SOURCE: https://github.com/deepongi/android_kernel_sony_msm

    BUGS REPORT

    REPORT BUGS ONLY:

    - AFTER A CLEAN INSTALL
    - USING STOCK KERNEL
    - USING GAPPS FROM SECOND POST
    - NO MODS OF ANY SORT

    OMNI GERRIT REVIEW

    https://gerrit.omnirom.org/

    CHANGELOG:

    https://changelog.omnirom.org/

    BUILDBOT:

    (intel core i7 3770k, asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11, msi gtx 970, 1x samsung 850 evo + 1x 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 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 Omni ROM open-source code.

    file_5f93f983524def3dca464469d2cf9f3e_black_whit.png
    Zb6j03d.png
    CxAw1Uv.png
    image00.png
    mint_debian_logo2_scaled.png
    A1bRdbJ.png


    XDA:DevDB Information
    OMNIROM FOR Z5/SUMIRE/E6653, ROM for the Sony Xperia Z5

    Contributors
    infected_
    Source Code: https://github.com/omnirom

    ROM OS Version: 6.0.x Marshmallow
    ROM Kernel: Linux 3.10.x
    ROM Firmware Required: Unlocked Bootloader
    Based On: AOSP

    Version Information
    Status: Beta

    Created 2016-04-20
    Last Updated 2016-11-10
    9
    F.A.Q (Frequently Asked Questions)

    What is the difference between these builds and the official builds?

    These are unofficial builds of Omni Rom for the Xperia Z5 (E6653)

    ROM is built using the same source code (github) like the official one but with these following additions:
    • Compiled using sabermod aarch64-linux-gnu 4.9.4 (kernel code) & sabermod aarch64-linux-android 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.
    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.
    Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/

    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.

    Source: http://www.linaro.org/linux-on-arm/


    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
    9
    Some feedback:

    Keep in mind that the latest build uses 1.3.3 Kernel base,

    so it is in heavy development, the camera just got focus with new binary blobs,

    this is actually the kernel base for Xperia X / Performance (Snapdragon 820, Snapdragon 650),

    so some heavy porting was involved.



    The installation is pretty tricky to get to work,

    if you install anything later (e.g. ROM + gapps -> supersu, ROM + gapps + supersu [restore of system] -> xposed, ROM + gapps -> restore of system),

    Play Services throw a tantrum and keep on FC'ing.


    SuperSU 2.76-2016... doesn't work, the ROM says that su binary is missing,

    SuperSU 2.46 (trusted an used in the past) works flawless, however.




    So initial Installation:

    ROM + gapps + SuperSU + XPosed

    The bootup takes quite a while to set up,

    but Google Play Services works then.


    Battery consumption is pretty high right now (12 hours uptime, around 1 hour used;

    11 hours -> half of battery before: 84% -> now 41%)

    even with Power Nap, Naptime (aggressive Doze, No Motion Detection), Greenify, Amplify installed.


    This indicates a deeper (perhaps) kernel-related issue [which might be fixable - yet again with a reboot],

    Deep sleep however was active ~ 11 hours (the time when consumption was high).


    Quality of sound output is great ! Bass + Clarity is there.

    During first boot sound output can be broken -> reboot fixes it -> but then after some time sound is broken again,

    Music tends to work from time to time, but then out of the sudden stops working (pretty short time ?) -> restart should fix it, then it works for some time again,



    Phone ringtone + Default notification tone -> no output of speakers, when choosing (going through the list),

    [codec issues ?]


    Default alarm ringtone -> that was the only one playing and giving output.


    Headphone detection of the ROM/system works (tested with PowerAmp -> resume playback during headset connect),

    so it must be some deeper Kernel-related issue since previous ROM builds with 1.2.2 Kernel base worked flawless.



    Camera (finally !) works pretty great with AOSP-based ROMs (new firmware blobs, thanks to @jerpelea ),

    Snapdragon Camera (best), HTC Camera, Snap Cam HDR - work nicely, the pictures are sharp, detail is there, even with somewhat low light situations.


    Access to microSD formatted with exFAT is clearly there, so easy migration from Stock is possible.


    Haven't tested microphone, calling, reception (ringtone most of the time should not work, sound output also mute, even when volume is changed),

    so can't currently be used as "daily driver".


    Once the initial issues are fixed and sorted out we'll be free (from Sony's Stock ROM and its limitations) :)
    6
    new build is up, using sony aosp v2 marshmallow blobs, along with new kernel.

    camera is working!







    video recording is still broken, but being fixed.

    enjoy! :)

    regards.

    ps:
    stock camera after taking the pic it crashes, you need to use a 3rd party one.
    i advise the use of "snap hdr camera", google cam, htc cam, or snapdragon cam.
    5
    new build is up!

    also good news and bad news.

    good news, i am finally able to compile the build fully with custom toolchains, both ROM code and kernel code using aarch64 4.9 and 5.3

    bad news, sabermod toolchain development being to stall in the beginning of the year, and this week got the cease devel confirmation.
    only me and a few more were compiling with sabermod, using unofficial updated with mainstream GCC patches. there's no longer access to that.

    from now on, all my builds/devices will adapt to UBERTC. theres many ppl working on it, very similar or better than sabermod, and it's very regularly updated.

    regards.