[G4 Android Development] steadfasterX:
Frequently Asked Questions (FAQ)

Q #01: I want to report an issue. What is the proper way to do so?

I'm glad that you are asking: before doing so check the KNOWN ISSUES topic in the OP and ofc the other FAQ's listed here!

If you encountered a

kernel panic

follow FAQ #6 in this post instead.

If you have issues with "just" the

boot process

follow FAQ #7 for a very easy way to grab the boot logs.

if you have an

audio issue

follow FAQ #10 instead.

If your issue is not listed there click here to proceed:

If your issue is not listed there follow the directions here briefly and I may can fix it:

logcat GUIDE

Ensure you have done a

full

CLEAN install before doing so (refer to FAQ #2 for what that means).

Warning: LIMITED SUPPORT when:

- magisk is installed (known to cause issues sometimes - regardless of the ROM or version)

If you have magisk installed currently UNINSTALL or better do a FULL CLEAN install (see FAQ #2) before doing anything else. Try to re-produce the issue. If it is gone, its magisk related. otherwise follow the above to grab the log.

Magisk is a great piece of software and besides that it is Open Source which SuperSu never was.

I just saying I do not "support" issues with LOS when you have Magisk installed. Why? It is (like Xposed) extendable with modules (made by whoever) and those can cause billions of issues.

Other then that magisk was sometimes the reason for battery drain etc. Magisk modifies the boot "process" and is placed very deep in the system (which is needed to make it work ofc) but that has the potential to make a system/ROM unstable or result in strange behaviors.

so in order to support a specific issue I have to be sure the ROM is in a "clean" state, no magisk, no xposed.

Pro-Tip: set magisk to core functions only to see if an extension causes your issue or not.

Q #02: I want to install clean, how? What is a clean install? What is the recommended way to flash a new ROM version?

A clean install ensures that there are no leftovers from any previous install. One can say that there are 2 phases of a clean flash:

1) regular

2) full - when you (still) encounter issues

Usually the regular one is fully ok when flashing a new ROM version but if you encounter strange issues nobody else is reporting or if a release post is recommending it you should do a full clean install instead.

A

regular clean

install can be done like this:

WIPE -> Advanced -> select: System + Cache

Flash the ROM

reflash root addon/magisk if you want root

A

full clean

install needs 2 steps more then the regular:

follow the steps for regular clean

go back in WIPE -> touch Factory Reset and let it do its job

go back in WIPE -> touch the "FORMAT data" button and type "yes" to format the internal storage (you will LOOSE ALL YOUR DATA - obviously)

REBOOT -> Recovery

Flash the ROM

reflash root addon/magisk if you want root

It is absolutely recommended to create a backup before and COPYING IT to your PC(!) before doing the above.

Q #03: Are there any plans or a chance of official /e/ builds?

yes this might happen when the following has been solved / implemented (which is NOT the case currently (see known issues):

- selinux = enforcing

- device encryption working

Q #04: Will this ROM support / pass SafetyNet?

When you install Magisk you can hide and so yes you might be able to pass SafetyNet. Which can change every day though because even when that might work atm you should note the following:

Magisk has its own protections to ensure you pass safetynet but this is something which will change one day and there is no known method yet to workaround that.

Q #05: It looks like the CPU cores 5 and 6 are disabled - how can I fix that?

TLDR;

There is no fix required! it is fully ok when those are idle. they get hot plugged whenever needed.

Details:

we have 2 clusters of CPU cores resulting in a Hexa-core CPU set: (4x1.4 GHz Cortex-A53 & 2x1.8 GHz Cortex-A57)

the big one (2 CPU cores - higher performance = more battery drain, more heat which potentially causing the: bootloop issue) and the little (4 CPU cores - less battery drain but a bit slower) are handled dynamically based on the load of your device.

the big cluster will run ONLY when it is NEEDED - i.e. high load.

so when you look closer: those are not DISABLED they are IDLE which is a big difference.

Q #06: I get a kernel panic or green/purple/blue screen how to grab logs for this?

When you encounter a kernel panic and you are able to reboot

without

taking out the battery (taking out the battery will erase RAM and so erase the needed logs):

1) reboot (without taking out the battery!) to either TWRP/SHRP or (if you have root access) to your ROM

2) grab everything need from here: /sys/fs/pstore/ (e.g. adb pull /sys/fs/pstore/)

If you don't have a pc near you can do it directly from the device as well:

Enable the terminal app in developer options or download any

Open the terminal app.

su

cd /sdcard/Download

tar czf pstore.tgz /sys/fs/pstore

Attach pstore.tgz to your post.

It is crucial important that you do this only after the reboot happened . It's not important "when" though - as long as the device stays powered on.

Developers

note:

convert PMSG log (requires a linux system):

tr -cd '\11\12\15\40-\176' < pmsg-ramoops-0 | sed 's/TENS\s/\n/g' > readable-pmsg.txt

Q #07a: I get a kernel panic on boot or having other boot issues but the pstore log are empty! What should I do?

Q #07b: How can I provide a clean boot log?

Since a while there is a very easy way to provide debug logs for the boot process. Before my convenient logging you had to follow FAQ #1 to grab them and it was a bit of PITA for some users.

So here you go for a much easier way:

boot Android

once booted : reboot to TWRP/SHRP

when you have a bootloop instead: take the battery out just before the bootloop occurs, or better press the key combo to get into TWRP all the time to eventually get there directly

once in TWRP ensure that "Cache" is mounted in the "Mount" menu (if not mount it by ticking the box)

open a terminal on your PC and type:

adb pull /cache/debug/boot_lc_crash.txt
adb pull /cache/debug/boot_lc_full.txt
adb pull /cache/debug/boot_lc_kernel.txt

paste one by one to a paste service like https://del.dog/ , https://paste.systemli.org/ or https://paste.omnirom.org/

Q #8: upgrade your bootloader stack only?! Read here how:

Check the OP of this thread which has TWRP flashable files linked.

Q #9: Is there an /e/ specific FAQ?

Sure:

FAQ: click

Forum: click

HOWTOs: click (a great resource for all your first questions)

Q #10: issues with audio (e.g. echo's, silence on one or the other site, ..)? Read here how to provide a specific log for that:

Do the following steps:

1) Ensure you have adb set up on your PC, and have adb debugging and adb root enabled in developer options on your phone

2) Then perform the following (all one command)

On Linux:

On windows:

3) Then re-produce your audo issue and cancel the logcat from step 2 before hanging up!

4) Share the logcat output from the console screen using paste.omnirom.org

Q #11: I'm scared about that microG , I don't want to expose my phone so is this /e/ version a security risk?

First of all you need a lot of trust installing ANY custom ROM. A developer can do nasty things right? Besides that yes microG allowing to let apps act like as they are another app, also known as signature spoofing. This CAN be a good and a bad thing. Read on why my builds are different:

In general the microG patch is an all or nothing. A ROM which supports microG (i.e. signature spoofing) have that feature enabled, always.

The difference in my /e/ builds is that I am using the "restricted" option of signature spoofing so as long as you trust me you are as safe as without microG.

Q #12: I have graphic glitches / issues, what can I do?

My builds using OpenGL instead of skiaGL since a while. skia is the new and faster renderer coming with pie by default but it can cause graphic glitches in some applications and/or situations.

Is there any fix for skiaGL coming? No, details here .

To check if your current ROM version is using skiaGL do this:

adb shell getprop debug.hwui.renderer

If you get an empty result or "skiagl" it means skiaGL is active.

If for any reason you wanna enforce skiaGL you can do so by

temporary (immediately activated):

adb root (must be enabled in dev options)
adb shell setprop debug.hwui.renderer skiagl

or make that change persistent:

boot TWRP
backup system
mount system
adb shell
echo "debug.hwui.renderer=skiagl" >> /system/build.prop
sync
reboot

.-