FORUMS

[ROM][XXP][O][8.1.0_r42][LINARO] OmniROM [20180829]

5,829 posts
Thanks Meter: 14,175
 
Post Reply Email Thread
Announcement from infected_: OmniROM like you never seen before! And with cookies now!



XXP/DORA/F8131 OmniROM UNOFFICIAL LINARO BUILDS

OREO 8.1.0_r42

Kernel: 4.4.144

infected_ current build: 20180810 - kernel compiled with gcc linaro 5.5

DOWNLOAD

dic1911 current build (Stock Toolchain + Framework Optimization): 20180829

DOWNLOAD

CURRENT ISSUES:

- You tell me.

KERNEL CODE COMPILED WITH LATEST LINARO AARCH64-LINUX-GNU 5.5 (201711)

KERNEL SOURCE: https://github.com/infectedmushi/and...ee/android-8.0

BUGS REPORT

REPORT BUGS ONLY:

- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- NO MODS OF ANY SORT

OMNI GERRIT REVIEW

https://gerrit.omnirom.org/

BUILDBOT:

(amd ryzen 2700x @ stock, msi x470 gaming pro carbon, 16gb g.skill ripjaws v red 3000mhz cl16, msi gtx 1070, 1x samsung ssd 850 evo 500gb + 1x samsung ssd 850 evo 250gb + 1x samsung ssd 860 evo 500gb + 1x toshiba/ocz ssd tr-150 240gb, 3x western digital wd10ezex 1tb hdd, 1x seagate 2tb hdd, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: ekwb supremacy evo amd 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 OmniROM open-source code.

XDA:DevDB Information
XXP/DORA/F8131 OmniROM UNOFFICIAL LINARO BUILDS, ROM for the Sony Xperia X Performance

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

ROM OS Version: 8.x Oreo
ROM Kernel: Linux 4.x
ROM Firmware Required: TWRP Recovery
Based On: OMNI/AOSP

Version Information
Status: Nightly

Created 2017-10-15
Last Updated 2018-08-29
The Following 5 Users Say Thank You to infected_ For This Useful Post: [ View ]
15th October 2017, 09:14 AM |#2  
infected_'s Avatar
OP Recognized Developer
Flag Portugal
Thanks Meter: 14,175
 
Donate to Me
More
Reserved
Raw Instructions:

- download latest build, latest ODM, and both twrp files (img + zip)
- fastboot boot twrp-3.2.1-20171218-boot-dora.img
- enter recovery (with the phone off, press volume down + power button at same time for a brief second)
- wipe all things, flash build, flash gapps, and flash recovery zip = twrp-3.2.1-20171218-fota-dora.zip
- adb push v10_tone_oreo.img /sdcard
- adb shell into the device, and: cd sdcard; dd if=v10_tone_oreo.img of=/dev/block/bootdevice/by-name/oem;
- reboot and you should be all set! enjoy.
Attached Thumbnails
Click image for larger version

Name:	Screenshot_20171015-064308.png
Views:	5136
Size:	114.4 KB
ID:	4304527   Click image for larger version

Name:	Screenshot_20171015-064312.png
Views:	4982
Size:	136.9 KB
ID:	4304528   Click image for larger version

Name:	Screenshot_20171015-064331.png
Views:	4960
Size:	141.0 KB
ID:	4304529   Click image for larger version

Name:	Screenshot_20171015-064341.png
Views:	4446
Size:	84.5 KB
ID:	4304530   Click image for larger version

Name:	Screenshot_20171015-064348.png
Views:	4360
Size:	80.9 KB
ID:	4304534   Click image for larger version

Name:	Screenshot_20171015-064533.png
Views:	4202
Size:	75.4 KB
ID:	4304536   Click image for larger version

Name:	Screenshot_20171015-064620.png
Views:	4026
Size:	129.2 KB
ID:	4304537   Click image for larger version

Name:	Screenshot_20171015-064624.png
Views:	3850
Size:	91.8 KB
ID:	4304538   Click image for larger version

Name:	Screenshot_20171015-064706.png
Views:	3712
Size:	99.6 KB
ID:	4304539   Click image for larger version

Name:	Screenshot_20171015-065307.png
Views:	3716
Size:	107.8 KB
ID:	4304540  
The Following User Says Thank You to infected_ For This Useful Post: [ View ]
15th October 2017, 09:14 AM |#3  
infected_'s Avatar
OP Recognized Developer
Flag Portugal
Thanks Meter: 14,175
 
Donate to Me
More
Reserved
F.A.Q (Frequently Asked Questions)

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

These are unofficial builds of OmniROM for the Xperia X Performance (F8131)

ROM is built using the same source code (github) like the official one but with these following additions:
  • Compiled using linaro aarch64-linux-gnu 5.4.1 (kernel code) & ubertc aarch64-linux-android 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 UBERTC?

From where UBERTC is coming from, from lead developer words:

Quote:

UBERTC Background/History

After years of using different custom toolchains like Linaro and SaberMod, I found there were things I liked about both of them but also things that didn't sit quite as well with me. SaberMod always seemed to have UI lag (especially in scrolling) but opened apps well and Linaro always seemed to be buttery smooth but had terrible app opening speed. Linaro battery was also worse for me than SaberMod. After going back and forth between toolchains I finally had this epiphany! Why not just take all of the best parts of all toolchains and merge them into one? So I began bringing up my own toolchain from gnu.org. At first I patched in all of the AOSP toolchain pactches (much like how SaberMod did it originally however it is important that you realize that No! I did not copy and paste SaberMod into my source I'm simply stating that I used their idea of merging aosp into gnu.org) to my source. Then I went through and added all of the linaro patches that I could to the source. I also made sure that I had the very latest of every toolchain component. I then made very minimal changes to the aosp toolchain build folder to allow for building with these newer toolchain components and UBERTC was born!!! (Note: both Linaro and SaberMod both made lots of modifications to the toolchain build folder, UBERTC is the closest to the aosp build process)

Source: https://plus.google.com/communities/...63785863538123

What is Linaro?

Quote:

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
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

The Following User Says Thank You to infected_ For This Useful Post: [ View ]
16th October 2017, 01:09 PM |#4  
Senior Member
Thanks Meter: 102
 
More
Stuck on boot logo.
16th October 2017, 01:56 PM |#5  
infected_'s Avatar
OP Recognized Developer
Flag Portugal
Thanks Meter: 14,175
 
Donate to Me
More
Quote:
Originally Posted by Hallon

Stuck on boot logo.

you need to flash odm before, it's like a new vendero blobs partition os sony aosp program

Quote:

Flash vendor image to your device
Download the vendor image corresponding your device from List of devices and resources.
Unpack the vendor zip file to obtain the vendor image.
unzip SW_binaries_for_Xperia_AOSP_O_MR0_4.4_<release version>_<platform>.zip
Note: Release version should be equivalent to the latest downloaded image version, and platform should match your device.
On your device: Connect the device to your computer in Fastboot mode, by pressing volume up while inserting the USB cable. When the device is in Fastboot mode, the LED on the device will be illuminated in blue.
On your computer: Flash the vendor image by entering the following commands in a terminal window:
fastboot flash oem SW_binaries_for_Xperia_AOSP_O_MR0_4.4_<release version>_<platform>.img
Note: Release version should be equivalent to the latest downloaded image version, and platform should match your device.

convert img with simg2img before

https://developer.sonymobile.com/ope...peria-devices/

check at the bottom.
16th October 2017, 02:01 PM |#6  
NielDK's Avatar
Inactive Recognized Developer
Flag Farum
Thanks Meter: 141
 
Donate to Me
More
Quote:
Originally Posted by Hallon

Stuck on boot logo.

As stated in post above, you need to 'flash' the propriatary blobs to oem partition.
Instructions for this, you can find in my thread: https://forum.xda-developers.com/sho...66&postcount=2
The Following User Says Thank You to NielDK For This Useful Post: [ View ] Gift NielDK Ad-Free
12th November 2017, 06:46 PM |#7  
infected_'s Avatar
OP Recognized Developer
Flag Portugal
Thanks Meter: 14,175
 
Donate to Me
More
new build is up.

regards.
15th November 2017, 02:42 PM |#8  
Junior Member
Thanks Meter: 0
 
More
writing ‘oem’…
FAILED (remote: Command not allowed)
finished. total time: 4.967s
F8131_41.2.A.7.76_1305-2784_R2D.ftf
16th November 2017, 09:44 AM |#9  
NielDK's Avatar
Inactive Recognized Developer
Flag Farum
Thanks Meter: 141
 
Donate to Me
More
Quote:
Originally Posted by hellyjia

writing ‘oem’…
FAILED (remote: Command not allowed)
finished. total time: 4.967s
F8131_41.2.A.7.76_1305-2784_R2D.ftf

Dont you read ?
https://forum.xda-developers.com/sho...66&postcount=2
29th December 2017, 12:28 PM |#10  
Senior Member
Flag Taoyuan
Thanks Meter: 14
 
More
F8132 is OK?
Must flash it on Oreo ,or it's OK on Nougat,too?
30th December 2017, 02:35 PM |#11  
Senior Member
Flag Taoyuan
Thanks Meter: 14
 
More
F8132 is OK,but not dual-SIM.
Would it support dual-sim in the next version?
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