[GCC][Toolchain] Eva GCC | Calling all kernel devs! - Android Software/Hacking General [Developers Only]

Introducing Eva GCC Toolchain
What is GCC?​
The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free software under the GNU General Public License (GNU GPL). Major corporate contributors to GCC include Red Hat, IBM, SUSE, ARM, Google and Intel. GCC is a key component of the GNU toolchain and the standard compiler for most projects related to GNU and the Linux kernel. With ~15 million lines of code in 2019, GCC is one of the biggest open source programs in existence. It has played an important role in the growth of free software, as both a tool and an example.
Source: Wikipedia
Click to expand...
Click to collapse
What is LLVM Clang?​
Clang is a compiler front end for the C, C++, Objective-C and Objective-C++ programming languages, as well as the OpenMP, OpenCL, RenderScript, CUDA and HIP frameworks. It uses the LLVM compiler infrastructure as its back end and has been part of the LLVM release cycle since LLVM 2.6.
It is designed to act as a drop-in replacement for the GNU Compiler Collection (GCC), supporting most of its compilation flags and unofficial language extensions. Its contributors include Apple, Microsoft, Google, ARM, Sony, Intel and Advanced Micro Devices (AMD). It is open-source software, with source code released under the University of Illinois/NCSA License, a permissive free software licence. Since v9.0.0, it was relicensed to the Apache License 2.0 with LLVM Exceptions.
Source: Wikipedia
Click to expand...
Click to collapse
Introduction​Android as a whole has now fully switched to LLVM Clang for both their Platform (AOSP) and Kernels. In fact Pixel Phones have been shipping with Clang built and optimised kernels since 2018! But are there any improvements with using clang over GCC. I'd say yes, because the GCC that AOSP used was ancient (GCC 4.9). Also LLVM Clang has proven to be faster in compilation than GCC. But is this speed worth the improvement in Kernels? Let's answer that question with EvaGCC Toolchain.
How is my toolchain different from Android GCC?​As I've mentioned earlier, AOSP GCC is ancient (version 4.9) in terms of the present stable GCC release (10.2.x). EvaGCC is compiled straight from the Master branch, making it a Bleeding Edge C Compiler. It is built with LTO and disabled a lot of feature bloat that are unneccesary for kernel building to yield a very small binary size. To list the features:
Bare Metal GCC (This does not depend on the standard libc)​
Built straight from the GNU GCC Master branch​
Built with LTO and O3 optimisations​
Disabled documentation (Smaller size of the toolchain)​
Disabled decimal float, libffi, libmudflap, libquadmath, libstdcxx-pch, native language support​
Statically linked GCC​
Integrated LLVM LLD (For faster linking, optional)​
Built twice weekly (Thanks to Github Actions!)​
Where can I find these toolchains?​Well you have two options, you can compile them yourself (by using my script) or you can download precompiled binaries!
To compile this toolchain by yourself (although I recommend that you use precompiled binaries, to avoid the hassle and time to compile the toolchain itself), to use my script to compile your toolchain, it has everything preconfigured for GCC setup and cloning. Although you'll have to setup your system for building GCC, you can refer to my README for system setup.
Note:
To obtain precompiled binaries (Highly recommended), head over to these links (according to your architechture and liking):
ARM Git Repository with Precompiled Binaries
ARM precompiled binaries in a compressed zip (direct download)
AARCH64 (ARM64) Git Repository with Precompiled Binaries
AARCH64 (ARM64) precompiled binaries in a compressed zip (direct download)
Note: If you're doing a git clone, use --depth=1 to avoid heavy transfers, because the repositories are bound get bigger with subsequent updates.
How do I use these toolchains for compiling my kernel​You can either append the toolchain dir into your PATH variable, or you can just pass it along with make with setting your CROSS_COMPILE argument. I usually use the latter one.
Since this is a bare metal compiler, the prefix differs from the normal AOSP or Linux GNU GCC. the prefix is:
Bash:
# Pass this to your CROSS_COMPILE argument if you have appended toolchain to your PATH
## for AARCH64 or ARM64
$ make CROSS_COMPILE=aarch64-elf- ... # "..." indicates rest of your args
## for ARM
$ make CROSS_COMPILE=arm-eabi- ...
# Passing to make when you haven't appended to PATH
## for AARCH64 or ARM64
$ make CROSS_COMPILE=<path to toolchain>/bin/aarch64-elf- ...
## for ARM
$ make CROSS_COMPILE=path to toolchain>/bin/arm-eabi- ...
Sources:
Everything here is OSS, including the script, my ci automation script.
GCC: https://gcc.gnu.org/git/?p=gcc.git or https://git.linaro.org/toolchain/gcc.git
Binutils: https://sourceware.org/git/binutils-gdb.git
GCC Build script: https://github.com/mvaisakh/gcc-build
LLVM (Used for LLD): https://github.com/llvm/llvm-project
GCC Version: 13.x
Binutils Version: 2.36.x
LLD Version: 16.x
Telegram Channel:
Eva GCC
Bleeding Edge Bare Metal GCC, primarily targeting Android kernels.
t.me

NOTE: According to SultanXDA, and I quote
GCC 10 updated its interprocedural optimizer's logic to have it make
more conservative inlining decisions, resulting in worse syscall and
hackbench performance compared to GCC 9.
Click to expand...
Click to collapse
This can be fixed with a patch that he himself provided:
gcc-inline-regressions-2.patch
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
and if that did not work for you, try applying this patch
gcc-inline-regressions-2.patch
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com

Update 30-Jan-2021
GCC+LLD has been merged into the main branch of the build script. Now GCC+LLD would be updated twice every week (on Sundays and Thurdays). This wasn't done before as it was under testing, and so far it only fails under LTO kernel compilation (Due to lack of GCC Plugin for LLD and vice versa).
Update 07-April-2021
lld-integration trunk has been merged into gcc-master branch. For those who use LLD, should switch to gcc-master as the lld-integration branch is now deprecated and will be removed soon.
The size difference between the two isn't much (~86mb vs 125mb), so it makes sense to have a single branch for everything.
I recommend to use zipped archive toolchains or if you use git operations to clone toolchain binaries, I recommend using --depth=1 while cloning the toolchain to avoid huge binary size cloning.
Update 27-April-2021
GCC Version has been bumped to 12.x
Eva GCC now ships with
GCC: 12.x
LLD: 13.x
BinUtils: 2.36.x
Update 26-June-2021
Toolchain binaries have been stripped off of debugging and hence are much smaller than before, ~90MB shaved off!
Shallow clones shall be much faster than before!
Update 24-Nov-2021
LLD has been bumped to version 14.x
GCC is still on 12.x
Update 1-May-2022
GCC has been bumped to version 13.x
LLD is at 15.x

Pro Vaisakh

Yes yes super pro Vaisakh

Nice
It's kang time

Let me try great work

Oh pro iz here

Going to use it soon
god level pro work

Amazing job at collecting data and optimising the toolchain, looking forward to using this as default in my kernel builds!
Keep up the great work dude

great work sar, tysm!

A small update!
GCC+LLD has been merged into the main branch of the build script. Now GCC+LLD would be updated twice every week (on Sundays and Thurdays). This wasn't done before as it was under testing, and so far it only fails under LTO kernel compilation (Due to lack of GCC Plugin for LLD and vice versa).

If anyone faces any issues with the toolchain, please do let me know. I will try to investigate the issue and check accordingly if it's a toolchain issue or a kernel side issue.
Because being a cron built toolchain, it's necessary for people to report bugs as soon as possible.
I still monitor on my end, but it's always good to have a helping hand

Thanks @m_vaisakh,
Kernel 3.18.140 compiled with https://github.com/mvaisakh/gcc-arm64.git -b gcc-master works fine on Oreo. No errors thru whole process.

adeii said:
Thanks @m_vaisakh,
Kernel 3.18.140 compiled with https://github.com/mvaisakh/gcc-arm64.git -b gcc-master works fine on Oreo. No errors thru whole process.
Click to expand...
Click to collapse
How is the performance?
@nift4 also uses 3.18.140 and has it has improved everything in his case.

m_vaisakh said:
How is the performance?
@nift4 also uses 3.18.140 and has it has improved everything in his case.
Click to expand...
Click to collapse
*3.18.124 sadly

m_vaisakh said:
How is the performance?
Click to expand...
Click to collapse
Lets see what Antutu Benchmaker v8.4.5 said:
Same kernel source, same device, connected via USB, 10 minutes after boot:
With GCC 4.9: score 71192, HTML5 score: 13087
With EVA-GCC: ... 72392, HTML5: 14554 and kernel is smaller for 235520 bytes !

Update!
lld-integration trunk has been merged into gcc-master branch. For those who use LLD, should switch to gcc-master as the lld-integration branch is now deprecated and will be removed soon.
The size difference between the two isn't much (~86mb vs 125mb), so it makes sense to have a single branch for everything.
I recommend to use zipped archive toolchains or if you use git operations to clone toolchain binaries, I recommend using --depth=1 while cloning the toolchain to avoid huge binary size cloning.

Update!
GCC Version has been bumped to 12.x
Eva GCC now ships with
GCC: 12.x
LLD: 13.x
BinUtils: 2.36.x

m_vaisakh said:
Update!
GCC Version has been bumped to 12.x
Eva GCC now ships with
GCC: 12.x
LLD: 13.x
BinUtils: 2.36.x
Click to expand...
Click to collapse
Been using Eva GCC for over 3 months now and it's been very reliable

Related

[Tool]Strace using NDK

Hi all,
After a week's fight, I've managed to compile dynamically linked strace 4.6 binary (not the latest which is 4.8) using the NDK r8c. This is for people who don't want a static compiled binary or are uncomfortable with static binaries compiled with codesourcery toolchains.
There are 3 binaries, one per api level (android-8 -> 2.2 , android-9 -> 2.3, android-14 -> 4.0 ), so please download appropriately.
The source used was https://android.googlesource.com/platform/external/strace/ (Branch:master, checkout date: 2013-06-14). Modifications performed are attached alongside as strace-4.6_ndk.diff.gz
Hope this helps someone other than me as well

Thread Closed

GNU General Public License, version 2​​
Kernel Developers:
In order to be fully GPL compliant, your sources must:
Successfully build and produce a valid output file, which is the same format as provided in the binary
Contain all source code, interface definition files, scripts used to control compilation and installation of the executable (it is not required to include the actual compiler/toolchain, but sufficient information should be made available to obtain the SAME configuration, including compiler flags, as used to build the binary version as released)​
ROM Developers:
If your ROM uses custom boot.img the source must be provided.
If the kernel you are using was created by someone else, you must link to their source.
If your ROM contains a stock kernel, source must still be linked - ie; link to the OEM source page.
Using a non GPL compliant kernel makes your ROM non compliant and subject to removal.​
Here is an example of how your kernel sources should appear in your development thread's OP (original post):
My Awesome Kernel:
Source: android_kernel_sony_msm8x60 - Linked directly to where your source is located, ie; github, bitbucket
Compiler: Linaro GCC 4.8 ToolChain - Link not nessacery but is helpul.
Branch: Android 4.2.2
Kernel Version: 3.10
Click to expand...
Click to collapse
GNU General Public License, version 2 is strictly enforced by XDA, to prevent legal issues.
We will not go lightly on violators.
Want to learn more about XDA and the GPLv2 License? Check out the news article by our very own, pulser_g2
XDA-Developers and the GPL
~Toledo_JAB
Forum Specific Moderator

[MacOSX][ToolchainProject] Linaro-6.0.0 Toolchain for OSX

Code:
I am not sure this thread is in right place. If not, please reply here so i can move this thread to elsewhere.
THIS IS NOT ROM, THIS IS TOOLCHAIN
Introduction:
This is a "toolchain" that only for MacOSX-Android. This toolchain is based on Linaro toolchain 6.0.0, and this linaro toolchain is combined version of kernel toolchain and platform toolchain. This was built because i needed it. I have been working this for 4 months to able to build this toolchain successfully.
HOSTGCC=Linaro-4.9 Toolchain(Self-Built)
TARGETGCC=LInaro 6.0 android-eabi(combined version of arm-eabi and platform-eabi)
Any bugs, Reply with LOG.
Download:
https://github.com/KangDroid/mac-linaro-toolchain (Branch at: android-eabi-6.0)
How to use: (For only kernel)
1. Clone the repository. (I put my toolchain to /tmp.)
$ cd /tmp <-- you can choose your directory, somewhere for put toolchain. I will say this value is "toolchaindir"
$ git clone https://github.com/KangDroid/mac-linaro-toolchain.git -b android-eabi-6.0
2. GOTO KERNEL
$ cd kernel_dir
3. Apply patch to kernel
See : https://github.com/KangDroid/androi...mmit/30377f1482e877154c56f11934a47f440c5f082b
for details
4. Build:
make ARCH=arm CROSS_COMPILE=toolchaindir/bin/arm-eabi- (defconfig)
make ARCH=arm CROSS_COMPILE=toolchaindir/bin/arm-eabi- (zImage-dtb or whatever your kernel image, build)
Note:
I haven't tested building kernel/platform with this toolchain. I don't have much time to do it. Please try and report will be great!
I never tested platform with 6.0 gcc. It won't boot ROM. (I just saw from other thread, not sure)
XDA:DevDB Information
[MacOSX][ToolchainProject] Linaro-6.0.0 Toolchain for OSX, ROM for all devices (see above for details)
Contributors
Jason Hyunwoo
Source Code: https://github.com/KangDroid/mac-linaro-toolchain
Toolchain Version: 6.0.0-Experimental
Version Information
Status: Testing
Created 2015-06-14
Last Updated 2015-06-14
I'll be the first to say it, I've never heard of MacOSX-Android even after a google search. Care to explain some more?
Awesome toolchain, buddy!
berryman13 said:
I'll be the first to say it, I've never heard of MacOSX-Android even after a google search. Care to explain some more?
Awesome toolchain, buddy!
Click to expand...
Click to collapse
oh I just saw it :
Sorry that is my bad word, it means "Build android on OS X ) That's why I wrote MacOSX-Android(Host is MacOSX, target is Android.)

[ROM][7.1.2_r24][UNOFFICIAL][grouper] LineageOS 14.1 for Nexus 7 2012

[ROM][7.1.2_r8][UNOFFICIAL] LineageOS 14.1 for Nexus 7 2012 (grouper)
*** Disclamer
By downloading and installing this ROM you agree that you do so at
your own risk, and that you understand that it probably voids your
warranty. (But does anyone still have an active warranty on this 2012
device?)
Introduction
@AndDiSa's AOSP 7 builds look pretty nice, but I needed something that seamlessly upgrades from CM13. @GtrCraft who provided our CM13 builds has moved on to other devices, so we need a new CM maintainer. I may not be the right person for that job... but I can at least share the build I made for myself. Perhaps someone will be motivated to join the fun or even take over.
[Images on screenshots tab.]
Installation instructions
Back up your data and previous ROM with TWRP 3.0.2 or 3.1.0.
Download from link below.
Wipe system, cache, dalvik.
Also wipe data unless you are coming from CM13.
Install the ROM.
Optionally add opengapps-pico.
With default settings it will give an error about insufficient space. To avoid that, first copy this gapps-config-grouper.txt file, perhaps edit it to your taste (instructions here), then copy to the device in the same directory as the opengapps zip. The opengapps updater-script will look for it there when you install opengapps.​
Reboot.
WAIT for system to settle before you decide it is slow. Some of the app optimization which used to happen during initial boot now seems to happen in the background. When it's finished, responsiveness will improve.​
If you use ext4, run fstrim.
There are ways to automate this, but I just run this app after each ROM upgrade, plus roughly once a week, after large batches of app updates from Play Store, or whenever my tablet starts to feel sluggish.​
Download
lineage-14.1-20171122-UNOFFICIAL-aaopt-grouper.zip (AndroidFileHost)
Credits / Thanks
Google / AOSP
CyanogenMod LineageOS
@AndDiSa for AOSP 7.1 -- I use his kernel tree directly, and many of his device tree mods
@GtrCraft for the CM13 tree upon which mine is based
XDA:DevDB Information
Unofficial LineageOS 14.1 for Nexus 7, ROM for the Nexus 7
Contributors
aaopt, AndDiSa,GtrCraft
Source Code: https://github.com/aperomsik/lineageos_android_device_asus_grouper/
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.1.x
Based On: LineageOS
Version Information
Status: Testing
Created 2017-01-02
Last Updated 2017-12-19
Changelog
Nearly all builds include LineageOS sync -- only mentioned specifically when it was the main point of the build.
(TESTING)20181209 (AndroidFileHost)
@AndDiSa's kernel and device tweaks since my last build and LineageOS sync.
(TESTING)20181104 (AndroidFileHost)
@AndDiSa's kernel and device tweaks since my last build and LineageOS sync.
(TESTING)20180708 (AndroidFileHost)
Added @AndDiSa's kernel and device tweaks since my last build and LineageOS sync with June patches.
(TESTING)20180121 (AndroidFileHost)
@AndDiSa's January performance tweaks. LineageOS sync with January patches.
older entries:
20171122 (AndroidFileHost)
LineageOS sync with November patches.
(TESTING) 20171112 (AndroidFileHost)
@AndDiSa's latest kernel and device tweaks.
(TESTING) 20171020 (AndroidFileHost)
LineageOS sync including October patches and KRAKN fix.
Kernel updates and latest device performance tweaks from @AndDiSa .
(TESTING) 20170811 (AndroidFileHost)
LineageOS sync including August patches.
20170717 (AndroidFileHost)
LineageOS sync brings us to 7.1.2r24 ; perf tweak from @AndDiSa
20170702 (AndroidFileHost)
LineageOS sync
20170609 (AndroidFileHost)
LineageOS sync including June patches; Following @AndDiSa's lead to intelliactive governor, for hopefully improved battery life with minimal performance impact.
20170507 (AndroidFileHost)
Following @AndDiSa's lead to pick up a better fix for RenderThread issues from UnlegacyAndroid.
20170503 (AndroidFileHost)
LineageOS sync brings us to 7.1.2_r8
20170423 (AndroidFileHost)
LineageOS sync brings us to 7.1.2_r2
Updated with @AndDiSa's kernel and device tree updates, including the RenderThread app crash fix he got from @Ziyann.
20170315 (XDA)
Updated with @AndDiSa's kernel and device tree updates.
20170308 (AndroidFileHost)
LineageOS sync includes March security patches. For unknown reasons this build seems to be somewhat crashy.
20170226 (AndroidFileHost)
LineageOS sync includes Feb security patches
20170212 (AndroidFileHost)
AndDiSa's kernel updates
20170129 (AndroidFileHost)
AndDiSa's kernel updates
20170122 (AndroidFileHost)
LineageOS sync, including boot animation and settings updates and various other fixes here and there.
20170108 (AndroidFileHost)
Switch to Snap camera, at least for now.
20170101 (AndroidFileHost)
First LineageOS 14.1 build for grouper.
Unofficial CM 14.1 (XDA)
Previous history in my CM 14.1 thread.
More detailed history: my device tree, AndDiSa's kernel, LineageOS .
Try this at home
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone https://github.com/aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
fantastic Job! We now have a new ROM
aaopt said:
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone [email protected]:aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
Click to expand...
Click to collapse
Recent version of repo doesn't seem to explicitly support '-c' parameter any more to reduce the download size (mine have been around 30GB). Thanks for these instructions; still, I would like to know how you integrated the required changes for 14.1 grouper.
nixuser1980 said:
Recent version of repo doesn't seem to explicitly support '-c' parameter any more to reduce the download size (mine have been around 30GB). Thanks for these instructions; still, I would like to know how you integrated the required changes for 14.1 grouper.
Click to expand...
Click to collapse
It's all in the local manifests.
Sent from my Nexus 7 using Tapatalk
Thank you aaopt for keeping our old Nexus 7 alive !
Can someone tell me the perfect settings for Kernel Adiutor to get the maximum performances ? Even if the battery life is shorten.
Thanx in advance
aaopt said:
It's all in the local manifests.
Sent from my Nexus 7 using Tapatalk
Click to expand...
Click to collapse
Just took a look at those. I have been using TheMuppets at github for the proprietary components, having needed to patch the nvidia components due to an old GNU-ism (gcc extension that was eventually formalised).
Saw that you got the broadcom et al components from your "ads" git repo and wanted to know if there was any reason not to use TheMuppets (or if, indeed, you sourced them from there and modified them), that I can learn from.
Thanks again.
aaopt said:
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone [email protected]:aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
Click to expand...
Click to collapse
Can confirm that this works - now I just need to find the magic in the code. Also, how did kernel/timeconst.pl not need to be replaced with timeconst.bc and kernel/Makefile not need to be amended to use bc instead of perl? I was getting a compile error because of this in the grouper kernel tree.
nixuser1980 said:
Just took a look at those. I have been using TheMuppets at github for the proprietary components, having needed to patch the nvidia components due to an old GNU-ism (gcc extension that was eventually formalised).
Saw that you got the broadcom et al components from your "ads" git repo and wanted to know if there was any reason not to use TheMuppets (or if, indeed, you sourced them from there and modified them), that I can learn from.
Thanks again.
Click to expand...
Click to collapse
The "ads" git repos referenced in my manifests are AndDiSa's. My repos are labelled "aaopt".
As stated in OP my goal with this ROM is to continue GtrCraft's CM13 work now that he has moved on to other devices. He had been following AndDiSa's proprietary components from AOSP so I just continued that way. In fact I took it a step further by using AndDiSa's kernel directly, not (yet?) seeing a clear reason to maintain my own. I just want to do the minimum amount of work needed to keep somewhat up to date with upstream LineageOS and take advantage of AndDiSa's device-specific performance improvements from the AOSP side.
aaopt said:
The "ads" git repos referenced in my manifests are AndDiSa's. My repos are labelled "aaopt".
As stated in OP my goal with this ROM is to continue GtrCraft's CM13 work now that he has moved on to other devices. He had been following AndDiSa's proprietary components from AOSP so I just continued that way. In fact I took it a step further by using AndDiSa's kernel directly, not (yet?) seeing a clear reason to maintain my own. I just want to do the minimum amount of work needed to keep somewhat up to date with upstream LineageOS and take advantage of AndDiSa's device-specific performance improvements from the AOSP side.
Click to expand...
Click to collapse
Oops. I got that wrong. Anyway, thanks for your work and I learned a few things from it.
Just flashed it, will see how it goes.
For now when the only bug
When i take picture with camera, it mirrors it and makes it look pixelish
Great! Happy to see our grouper still updated, thanks
Inviato dal mio Nexus 7 utilizzando Tapatalk
Hey there! Will there be a ROM for Tilapia? I'd be nice to try it on it. I'm not a programmer but as I noticed building for Grouper and Tilapia is just a little different.
I think You can just flash the grouper recovery and flash the ROM.
From one day of full usage:
- The charging is a bit slow, i don't know if it's a big battery or the power flow is low
- There is lagging, like the ROM isn't optimized yet, slowdowns, applications are usually giving me stopped working etc...
- The camera bug i mentioned above, when u take picture it looks pixelated
I'll do more reviews like this if the updates keep coming
Cannot use the video option in the camera app.
The camera app force closes.
CrazyLegenD said:
From one day of full usage:
- The charging is a bit slow, i don't know if it's a big battery or the power flow is low
- There is lagging, like the ROM isn't optimized yet, slowdowns, applications are usually giving me stopped working etc...
- The camera bug i mentioned above, when u take picture it looks pixelated
I'll do more reviews like this if the updates keep coming
Click to expand...
Click to collapse
Here is a build I am testing, in which all I did was sync sources with upstream. It feels somewhat less laggy to me... not sure if it is due to Lineage changes, 7.1.1_r9, or the fact that I used newer opengapps.
Camera issue is interesting -- I have a shot in my camera folder from 11-29 which looks better. Current shots claim to have the same resolution but file size is much smaller, which suggests the wrong jpeg quality setting was used. Something to dig for.
Regarding charging, are you saying it charges more slowly with this ROM than with others? Charging speed varies widely for me but recently it hasn't been that bad. If your hardware is behaving the expected charging time from nearly empty is supposed to be 3-4 hours. Over time the connector gets loose and then charging can take much longer. There are plenty of charging-related threads around here including some which say to replace the USB port and one which says take out the existing port and put it back in. Tried that on the worst of my family's tablets and it helped for a day or so but then went back to old slow charging speed.
Why is the "Mobile network signal" in orange in a WiFi tablet ?
eNVy said:
Why is the "Mobile network signal" in orange in a WiFi tablet ?
Click to expand...
Click to collapse
How did you get to that screen?

How To choose toolchain for kernel compilation

Hi,
I can't find useful information on this title, How to choose the best match toolchain for kernel compilation?
my kernel is this.
Another question is while android kernel compiled with clang then in what areas GCC is required.
Thanks
Compileit said:
Hi,
I can't find useful information on this title, How to choose the best match toolchain for kernel compilation?
my kernel is this.
Another question is while android kernel compiled with clang then in what areas GCC is required.
Thanks
Click to expand...
Click to collapse
clone this clang build from https://github.com/kdrag0n/proton-clang.git .it has gcc built-in and should work fine. if issues arise then that clang url will also have info on that. you might have to specify a few things though.
something like this needs to be in your path or in build script.
export CLANG_PATH=/home/the_anomalist/Toolchains/proton-clang/bin
export PATH=${CLANG_PATH}:${EXT_UTILS}:${PATH}
#export DTC_EXT=$EXT_UTILS/dtc-aosp
#export CLANG_TRIPLE=aarch64-linux-gnu-
export CROSS_COMPILE=/home/the_anomalist/Toolchains/proton-clang/aarch64-linux-android-
export CROSS_COMPILE_ARM32=/home/the_anomalist/Toolchains/proton-clang/arm-linux-gnueabi-
export LD_LIBRARY_PATH=/home/the_anomalist/Toolchains/proton-clang/lib:$LD_LIBRARY_PATH
ofc other things will be needed to work but this should help out

Categories

Resources