[ROM][testing][suez] Lineage-16.0 [05 JULY 2022]

Search This thread

ggow

Recognized Developer
Feb 28, 2014
4,105
10,941
Disclaimer
Code:
/*
* I am not responsible for bricked devices, dead SD cards, thermonuclear war,
* or you getting fired because the alarm app failed.
* Please do some research if you have any concerns about features included
* in the products you find here before flashing it!
* YOU are choosing to make these modifications.
*/

- EVEN MORE IMPORTANT: This ROM only works on devices using the bootloader hack. See <<< HERE >>> to unlock your devices.

- IMPORTANT: Do not update Magisk via the Magisk Manager App, your device will enter a bootloop if you do. Instead update Magisk via TWRP only. If you do this by accident then it is recoverable by just flashing the latest version of the ROM again (with gapps etc as required). This will be fixed in a later update.

Rules
- Please search the thread before asking questions
- Please try to stay on topic, I know it's not always possible
- When reporting bugs please post a logcat and/or dmesg where possible

Lastest TWRP version
- 3.6.1-9.2

Downloads

- Google Drive

Source Code

Thanks
- @k4y0z and @xyz` for the bootloader hack
- @k4y0z for the initial kernel
- LineageOS
 
Last edited:

ggow

Recognized Developer
Feb 28, 2014
4,105
10,941
⏱ Change log / Release Notes

05 July 2022

- [fixed] Backlight HAL Errors
- [fixed] LiveDisplay not working

06 May 2022
- [fixed] Voice assist MIC not working
- [fixed] USB-OTG Ethernet
- [fixed] TWRP: MTP access
- [fixed] TWRP: Fixed USB-OTG
- [info] Added android.hardware.opengles.aep.xml permissions

13 April 2022
- [fixed] Terminal input via apps and adb shell

12 April 2022
- [kernel] Up-streamed to 3.18.140
- [kernel] Enable per user storage quota
- [kernel] Optimized build flags for Cortex-a53
- [kernel] Boeffla Wakelock Blocker Driver v1.1.0
- [kernel] Enable some TCP congestion algorithms
- [kernel] Westwood Default TCP congestion algorithm
- [kernel] Sdcardfs v2.0
- [info] Remove aptX bluetooth libraries for now
- [info] Mount /system partition early-mount style
- [info] Add vendor security patch

06 April 2022
- [fixed] Fix KernelUidCpuTimeReader errors
- [info] Revert audio HIDL from 2.0 to 4.0 back to 2.0 - our drivers aren't ready for this
- [info] Put storage permissions force close on the todo list
- [info] Chrome browser works
- [info] Jelly browser works
- [info] WeDo lego app works

Show Further History

03 April 2022
- [fixed] Magisk update by app
- [fixed] Storage permission issues (cause of some apps crashing)
- [fixed] Lego app not working (more info here)
- [fixed] Cannot switch wifi on after storage encryption enabled
- [info] Update suez defconfig in kernel to be more inline with aosp
- [info] TWRP 3.6.1-9.0 available from Google Drive (no encryption support)
- [info] Up-rev audio HIDL from 2.0 to 4.0
- [info] Disabled amazon logging functions in kernel
- [info] Disabled unused squashfs in kernel
- [info] Conditionally compile MTK_M4U in the ion kernel driver as our device doesn't use it

27 March 2022
- [reverted] WiFi changes from previous build
- [removed] 26 March Build

26 March 2022
- [fixed] Speakers continuing to play while headphones are plugged in
- [fixed] Disney+ crashing
- [didn't work for everyone] Slow WiFi throughtput
- [didn't work for everyone] 5GHz connectivity to AX-88U router and in general
- [didn't work for everyone] 5GHz connectivity to across all channels
- [info] Include Bromite Webview
- [request] WiFi: Can someone test connecting to hidden SSID's and report back?
- [request] Magisk: Can someone test whether updating through the application works and report back?

16 March 2022
- [fixed] MtkOmxCore crash
- [fixed] Better auto adjust on backlight
- [fixed] SIM card prompt
- [fixed] Changed battery capacity to 6300mAh
- [fixed] sdcard access for chrome and other apps
- [fixed] "There's an internal problem with your device." dialog
- [info] Explicitly enable sdcardfs
- [info] Refactor root init scripts
- [info] Remove deprecated storage_list.xml
- [info] Clean-up build.prop

01 March 2022
- [info] Re-build of 28 February version

28 February 2022
- [fixed] DRM Widevine L3 support
- [new] Signature spoofing (enable and disable via developer options)
- [fixed] Wired headphones not working
- [fixed] Backlight HAL crashing
- [fixed] Hardware OMX (MTK codecs now been used)
- [info] Disable camera completely until fully investigated to stop logcat spam
- [info] Enable OTG for ethernet in kernel

07 February 2022
- [fixed] OMX regression was breaking NewPipe and local video file playback
- [info] Clean-up amazon binaries - media playback should be better - config file mess


05 February 2022
- [fixed] Navbar icon corruption
- [fixed] Wallpaper corruption
- [fixed] Laggy graphics
- [fixed] High idle cpu usage
- [info] Updated amazon binaries to fireos 5.6.9.0

12 February 2021
- Initial Release
 
Last edited:

ggow

Recognized Developer
Feb 28, 2014
4,105
10,941
🛠 Worklist / Tasks

- [fixed] Bluetooth works
- [fixed] Audio works
- [fixed] Internal storage isn't accessible from any app
- [done] Sensors working
- [fixed] Touch sounds are working
- [done] Test audio format playback - mp3 working
- [done] Tested video playback with NewPipe which is working
- [fixed] WiFi signal strength not working
- [done] Support aptX-HD encoder for bluetooth
- [fixed] No adb during boot
- [fixed] WiFi working
- [fixed] Navbar icon corruption
- [fixed] Wallpaper corruption
- [fixed] Laggy graphics
- [fixed] High cpu usage
- [fixed] DRM not working
- [fixed] Hardware OMX (for the most part)
- [fixed] Wired headphones not working
- [done] Enable OTG USB for ethernet
- [fixed] Youtube black screen with audio
- [fixed] MtkOmxCore crash
- [fixed] Battery showing wrong capacity - reported here
- [fixed] "There's an internal problem with your device." dialog
- [fixed] SIM card prompt
- [fixed] Chrome cannot access internal storage
- [fixed] Poor WiFi throughput (potential cause of choppy video playback)
- [fixed] Disney app crashing (more info here)
- [fixed] Speakers continuing to play while headphones are plugged in
- [fixed] Cannot switch wifi on after storage encryption enabled
- [hold] Bluetooth not working properly - can't see issue here
- [fixed] Magisk update by app
- [fixed] Storage permission issues (cause of some apps crashing)
- [done] Upstreamed kernel
- [todo] TWRP: USB-OTG not working
- [fixed] USB-OTG Ethernet
- [fixed] TWRP: MTP access
- [todo] Voice assist MIC not working
- [done] Added android.hardware.opengles.aep.xml permissions
- [fixed] LiveDisplay not working
- [fixed] Backlight HAL Errors

- [todo] Shutdown after entering sleep mode (suspect cpu/gpu coming up in the wrong state -> overheating)
- [todo] Gapps > pico causing not enough space error
- [todo] Youtube black screen with audio
- [todo] Mirrorcast not working
- [todo] Multi-user not working
- [todo] Navbar problem when keyboard is in horizontal mode
- [todo] Playing videos over SMB failure after 30 min (more info here)
- [todo] Can't connect to hidden WiFi networks
- [todo] Lego app not working (more info here)
- [todo] Cameras not working (more info here)
- [todo] SELinux
- [todo] Intermittent high idle cpu usage
- [todo] Investigate L1 widevine support (L3 currently)
- [todo] Pass safetynet
- [todo] Device build fingerprinting
- [todo] Enable zram?
- [todo] Device encryption (TWRP)
- [todo] Battery idle mode
- [todo] Offline charging mode
- [todo] Low speaker volume
- [todo] Thermal Shutoff, overheating
- [todo] System partition needs to be increased in size to accomodate gapps
 
Last edited:

cochonez1312

Member
Oct 10, 2019
15
5
Thank you for your great work! Can´t wait to try the new rom!

Just a few questions on build 12.february.2021:

DRM not working -> So netflix, amazon prime etc. isn´t working yet?

clean install required -> coming from lineage 12, factory reset and flashing afterwards will work? Or do i have to wipe anything specific?

Cameras not working -> both of them ? Or maybe just camcorder like in the early versions of your Los12?

Wired headphones not working -> i guess the headphone fix from previous versions (Los-12,Los-14) does +not+ work on Lineage 16?
 

ggow

Recognized Developer
Feb 28, 2014
4,105
10,941
Thank you for your great work! Can´t wait to try the new rom!

Just a few questions on build 12.february.2021:

DRM not working -> So netflix, amazon prime etc. isn´t working yet?

clean install required -> coming from lineage 12, factory reset and flashing afterwards will work? Or do i have to wipe anything specific?

Cameras not working -> both of them ? Or maybe just camcorder like in the early versions of your Los12?

Wired headphones not working -> i guess the headphone fix from previous versions (Los-12,Los-14) does +not+ work on Lineage 16?

Try netflix and amazon and let me know if anything needs looking into, I have started a tasklist so we can add items there.

Factory reset should suffice for clean installation.

Cameras not working at all, more to come on this. I understand why they are not working and it's not great news I know. I'll do a more detailed post on this.

The headphone fix from cm-14.1 might work or be adaptable to work on this rom. I am looking into a permanent solution for this.
 
Last edited:

BeniS98

Senior Member
Apr 16, 2018
63
14
I have faced these issues so far

1) Directly after first boot, i get the error message "Your device encountered a problem. Please contact the manufacturer". Anyways, I can proceed after tapping on OK.
2) I can only flash pico Gapps, any package larger than that throw error 70 (Insufficient system space). In older builds, i was able to flash the nano package. The system partition (1.5 GB) should be large enough to fit Gapps packages larger than pico.
3) The start assistant prompts me to insert a SIM card, although this device does not have a SIM card slot.
4) The three softbuttons are broken, as shown in the picture
 

Attachments

  • suez_broken_softkeys.jpg
    suez_broken_softkeys.jpg
    83.2 KB · Views: 697

ggow

Recognized Developer
Feb 28, 2014
4,105
10,941
I have faced these issues so far

1) Directly after first boot, i get the error message "Your device encountered a problem. Please contact the manufacturer". Anyways, I can proceed after tapping on OK.
2) I can only flash pico Gapps, any package larger than that throw error 70 (Insufficient system space). In older builds, i was able to flash the nano package. The system partition (1.5 GB) should be large enough to fit Gapps packages larger than pico.
3) The start assistant prompts me to insert a SIM card, although this device does not have a SIM card slot.
4) The three softbuttons are broken, as shown in the picture

Point 1: I forgot to mention this initial message after boot. This is due to fixing the persistent and repeated camera hal crash and the way in which I had to stop that from happening, hopefully as a temporary measure. I'll add this to the OP so everyone is aware.

Point 2 and 3: I'll add to the list

Point 4: already on the list todo
 

BeniS98

Senior Member
Apr 16, 2018
63
14
A few more issues:

1) HD videos in Youtube app are not working. The video either stops or i'm just getting a blackscreen. 480p works.
2) The graphics is not very fluent and a bit laggy, especially when opening apps and scrolling within them. It seems that there's no graphics acceleration.
 
Last edited:
  • Like
Reactions: ggow

Rortiz2

Senior Member
@ggow is playready crashing (DRM)? If so try to debug the crash with https://github.com/douglas-developm...987d31da8cda42c03b53fb988c18d77f3e297fffd16c4
As for the graphic glitches try adding:
Code:
PRODUCT_PROPERTY_OVERRIDES += \
    debug.hwui.renderer=opengl \
    debug.hwui.use_partial_updates=false \
    debug.sf.disable_backpressure=1 \
    debug.sf.latch_unsignaled=1 \
    persist.sys.display.clearMotion=1

That fixed Graphic Glitches in 16.0 for my MT8163 tablet.
 

io2345

Senior Member
Sep 10, 2014
193
95
Lineage 16 = Android 9 !!
OMG, never ever expected to see this on a 7th Gen HD10
Big thanks to ggow for bringing new life to our old "crap". The tablet isn't bad at all, so definitely worth to receive an update. Have to have a drink first to celebrate this, maybe will try the update next week. (I'm still on Amazon stock version, so I'll have to unlock first)
 
@ggow I may have found some useful information regarding the camera. While exploring why SuperSU wasn't working, I unexpectedly came across some logs. I did not save them, but I'm still trying to fix supersu and will grab them the next time I'm attempting a fix. It might be the smoking gun I'm not sure though.

In regards to supersu, I have figured out why it will not hold root access. For some reason it fails to obtain a root user account.

Code:
Error stderr: null, stdout: null, exit_value: 1

according to root checker, that is the only issue now. I have managed, I think, to rewrite or remove the scripts or lines of script in the files that lineage superuser uses. I'm not sure why it's doing this though. Flashing in twrp just causes a neverending boot animation. @ggow that's where I came across the camera logs, because after rebooting from flashing, I still get an adb connection so I ran a logcat, but aside from the camera, I didn't find anything useful. I made sure the files have owner root:root. I do know KingoRoot doesn't have an issue rooting. So the investigation continues.
 

Legitsu

Senior Member
Aug 30, 2013
1,362
434
for the 11 thousandth time dragon supersu is DEAD stop using it use magisk in core only mode if you need minimal root handling stop pinging ggow because you refuse to join us in the year 2021 and use magisk like everybody else on xda
 

MarvinMod

Senior Member
May 20, 2015
669
274
Samsung Galaxy A70
I think the lack of space for gapps has to do with mounts. It sems things are confused to an extent because technically nothing is where it should be. For example, on the lin14 rom, SuperSU won't work and that's because it can't find the boot.img (it's looking in the spot where the img was prior to the unlock hack). I don't know why it won't work as a system install though.

I got init.d to finally work (lineage uses their own so you have to write a script in /system/etc/init and modify a line in init.cm.rc (in root directory) because lineage disables androids init.d I think that's where some of the issues are and part of why SuperSU doesn't work (superuser.rc).
the issue for gapps is the system partition size after installing los 16, is set incorrectly, not a mounting issue. supersu dont work because its not compatible and wont be, use magisk. the camera dont work due to a lack of proper drivers not to mention the coding is completly missing from 14.1 and 16 so dont bother trying to fix it yourself unless your compiling a new rom. this is just the first release and will get better in time. it boots and thats a start. :giggle:
 

ggow

Recognized Developer
Feb 28, 2014
4,105
10,941
Understanding the Camera Issue:

@daniel_hk made a good post on understanding this:

REF: https://forum.xda-developers.com/t/rom-7-1-2_r36-27jan2018-lineageos-14-1-custom-roms.3513466/


Relevant Extract of the information

III. The Camera
After my first ROM was out, the most eye catching in the log would be the stack corruption in libcam.halsensor.so.

Code:
11-24 21:53:55.967   490   490 F DEBUG   :     #08 pc 00017459  /system/lib/libcam.halsensor.so (_ZN12ImgSensorDrv13getResolutionEPP34ACDK_SENSOR_RESOLUTION_INFO_STRUCT+60)
After study the source for mt6735, I found it was called within the blob libcam.halsensor.so. In the function ImgSensorDrv::getResolution(), an ioctl() call was passed to the kernel. I was thinking it was caused by user space data handling in the kernel. After a series of trials and dumping, I remarked that part of code from the kernel. The crash persisted. That means it was from the blob itself. I tried a shim library to replace the function ImgSensorDrv::getResolution() but the result is the same. That means the callee was responsible.

After some digging, I was pretty sure it was caused by the alignment (address sanitize) of struct addresses. The latest blob from Lenovo dev.1631 (also the latest for mt6752 devices) were built with gcc 4.9 Clang 3.6. Nougat now use Clang 3.8 by default. Those blob already have alignment support in Clang 3.6 might have issues with the new Clang 3.8.

What is address alignment? In short, a 32 bit processor can handle 32 bit at a time. It would be a easier for the register to locate memories in 32 bits (4 bytes) cells (aligned). If the head or tail for a block of memory is not aligned, extra code would required to separately handle those loose ends. The new clang compiler would fill leading bytes with its own algorithm to make the pointer or variable aligned. Why is ImgSensorDrv::getResolution() being "affected"? The argument of it is a pointer to ACDK_SENSOR_RESOLUTION_INFO_STRUCT. Its definition can be found in the kernel. It is a struct of an array of pointers to another struct. The source from Mediatek use direct reference to the address of struct variables all the time. This is inappropriate in sense of address alignment. Early compilers didn't handle alignments and won't have problem with that. Newer compiler would use its own algorithm to align the structs and pointers. I guess Clang 3.6 didn't handle the above complex struct as argument well. Nougat linker and loader are all built with Clang 3.8. Local variables are allocated at load time which might be handled differently. Thus a call to ImgSensorDrv::getResolution() would cause the stack corruption. :eek:
** Those interested may read this article for detail. **

1. Work around
Using older blobs built by gcc 4.8 or earlier might work. Jiayu S3's AOSP were using those old blobs. I'm new to K3-note. I don't think I have the patience and experience to test all the existing blobs. That's the main reason I uploaded the last two test ROM. Trying blobs and hoping some combination would work is passive. Stlport is also obsolete for some time now. I rather deal with the problem directly. :cowboy:

2. The solution
Without the source, building the whole blob is impossible. Even if we have the source from other devices, those custom parameters are unique to each image sensor. It's impossible to guess or back engineer... :(

If we can change the way ImgSensorDrv::getResolution() is being called or didn't touch the argument within the function. It would avoid the crash. Unfortunately, the function need to fill a local struct within the ImgSensorDrv class. That means it is not seen outside ImgSensorDrv. The only way is to replace the whole ImgSensorDrv class. Fortunately, it is self contained. We can write a wrapper to replace the ImgSensorDrv class only. The source from mt6735 or mt6595 are a bit different and obviously can't be used directly. Most of the struct can be cross referenced to the kernel source. There are two local sturct left unknown. One is for the commands sent to the kernel. The other is some info. collected from the kernel.

With the wrapper, the crash was gone but still no preview. I wrote a test HAL to dump the values in stock ROM. Guessing the values against the names was not a decent job. Fortunately, there were only a few differences. After nights of trial and error, I finally pulled everything together. Camera is working now! Video recording is still not working. Seems codec related. Some say it's not a problem "again". Hoping there will be some real solutions and helps soon...
 

Rortiz2

Senior Member
Understanding the Camera Issue:

@daniel_hk made a good post on understanding this:

REF: https://forum.xda-developers.com/t/rom-7-1-2_r36-27jan2018-lineageos-14-1-custom-roms.3513466/


Relevant Extract of the information

III. The Camera
After my first ROM was out, the most eye catching in the log would be the stack corruption in libcam.halsensor.so.

Code:
11-24 21:53:55.967   490   490 F DEBUG   :     #08 pc 00017459  /system/lib/libcam.halsensor.so (_ZN12ImgSensorDrv13getResolutionEPP34ACDK_SENSOR_RESOLUTION_INFO_STRUCT+60)
After study the source for mt6735, I found it was called within the blob libcam.halsensor.so. In the function ImgSensorDrv::getResolution(), an ioctl() call was passed to the kernel. I was thinking it was caused by user space data handling in the kernel. After a series of trials and dumping, I remarked that part of code from the kernel. The crash persisted. That means it was from the blob itself. I tried a shim library to replace the function ImgSensorDrv::getResolution() but the result is the same. That means the callee was responsible.

After some digging, I was pretty sure it was caused by the alignment (address sanitize) of struct addresses. The latest blob from Lenovo dev.1631 (also the latest for mt6752 devices) were built with gcc 4.9 Clang 3.6. Nougat now use Clang 3.8 by default. Those blob already have alignment support in Clang 3.6 might have issues with the new Clang 3.8.

What is address alignment? In short, a 32 bit processor can handle 32 bit at a time. It would be a easier for the register to locate memories in 32 bits (4 bytes) cells (aligned). If the head or tail for a block of memory is not aligned, extra code would required to separately handle those loose ends. The new clang compiler would fill leading bytes with its own algorithm to make the pointer or variable aligned. Why is ImgSensorDrv::getResolution() being "affected"? The argument of it is a pointer to ACDK_SENSOR_RESOLUTION_INFO_STRUCT. Its definition can be found in the kernel. It is a struct of an array of pointers to another struct. The source from Mediatek use direct reference to the address of struct variables all the time. This is inappropriate in sense of address alignment. Early compilers didn't handle alignments and won't have problem with that. Newer compiler would use its own algorithm to align the structs and pointers. I guess Clang 3.6 didn't handle the above complex struct as argument well. Nougat linker and loader are all built with Clang 3.8. Local variables are allocated at load time which might be handled differently. Thus a call to ImgSensorDrv::getResolution() would cause the stack corruption. :eek:
** Those interested may read this article for detail. **

1. Work around
Using older blobs built by gcc 4.8 or earlier might work. Jiayu S3's AOSP were using those old blobs. I'm new to K3-note. I don't think I have the patience and experience to test all the existing blobs. That's the main reason I uploaded the last two test ROM. Trying blobs and hoping some combination would work is passive. Stlport is also obsolete for some time now. I rather deal with the problem directly. :cowboy:

2. The solution
Without the source, building the whole blob is impossible. Even if we have the source from other devices, those custom parameters are unique to each image sensor. It's impossible to guess or back engineer... :(

If we can change the way ImgSensorDrv::getResolution() is being called or didn't touch the argument within the function. It would avoid the crash. Unfortunately, the function need to fill a local struct within the ImgSensorDrv class. That means it is not seen outside ImgSensorDrv. The only way is to replace the whole ImgSensorDrv class. Fortunately, it is self contained. We can write a wrapper to replace the ImgSensorDrv class only. The source from mt6735 or mt6595 are a bit different and obviously can't be used directly. Most of the struct can be cross referenced to the kernel source. There are two local sturct left unknown. One is for the commands sent to the kernel. The other is some info. collected from the kernel.

With the wrapper, the crash was gone but still no preview. I wrote a test HAL to dump the values in stock ROM. Guessing the values against the names was not a decent job. Fortunately, there were only a few differences. After nights of trial and error, I finally pulled everything together. Camera is working now! Video recording is still not working. Seems codec related. Some say it's not a problem "again". Hoping there will be some real solutions and helps soon...

Yeah after you fix that you'll get mediaserver libc fatal crashes as I do in douglas.
 
  • Sad
Reactions: newfirehduser

newnewcomputer

Senior Member
Mar 26, 2014
77
56

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    Netflix and Disney is playing at 1024p, can you confirm the widevine status ?
    Only L3 / Max. SD resolution stated in Netflix 7 App for LOS12.1 (like on LOS16). DRM Check - DRM Info app reports Widevine DRM Level1, but Security L3, so L3 in the end i guess. But Netflix on LOS12.1 at least playing longer than 23 mins without having to reboot. Hope ggow fixes it though in the times when the baby is sleeping😆
    1
    Very updated HD10 meaning stock FireOS out of box? Or what? I just got mine out of box and have 5.6.9.0 and it's trying to update to 5.7.0.0

    Did you have to downgrade to install this?
    Just wondering the first steps...
    I didn't take note of the version, but it is whatever the latest version was at that date of the posting. I had used the HD10 regularly until I noticed it no longer supported the current version of Alexa.

    I did not downgrade. So presumably it was 5.7.8.2 released in 2019.

    Any any rate, looks like 5.6.4.0 is the last version that can do mtksu, according to

    I had to resort to

    IIRC, I used the Kingo method.
  • 50
    Disclaimer
    Code:
    /*
    * I am not responsible for bricked devices, dead SD cards, thermonuclear war,
    * or you getting fired because the alarm app failed.
    * Please do some research if you have any concerns about features included
    * in the products you find here before flashing it!
    * YOU are choosing to make these modifications.
    */

    - EVEN MORE IMPORTANT: This ROM only works on devices using the bootloader hack. See <<< HERE >>> to unlock your devices.

    - IMPORTANT: Do not update Magisk via the Magisk Manager App, your device will enter a bootloop if you do. Instead update Magisk via TWRP only. If you do this by accident then it is recoverable by just flashing the latest version of the ROM again (with gapps etc as required). This will be fixed in a later update.

    Rules
    - Please search the thread before asking questions
    - Please try to stay on topic, I know it's not always possible
    - When reporting bugs please post a logcat and/or dmesg where possible

    Lastest TWRP version
    - 3.6.1-9.2

    Downloads

    - Google Drive

    Source Code

    Thanks
    - @k4y0z and @xyz` for the bootloader hack
    - @k4y0z for the initial kernel
    - LineageOS
    16
    🛠 Worklist / Tasks

    - [fixed] Bluetooth works
    - [fixed] Audio works
    - [fixed] Internal storage isn't accessible from any app
    - [done] Sensors working
    - [fixed] Touch sounds are working
    - [done] Test audio format playback - mp3 working
    - [done] Tested video playback with NewPipe which is working
    - [fixed] WiFi signal strength not working
    - [done] Support aptX-HD encoder for bluetooth
    - [fixed] No adb during boot
    - [fixed] WiFi working
    - [fixed] Navbar icon corruption
    - [fixed] Wallpaper corruption
    - [fixed] Laggy graphics
    - [fixed] High cpu usage
    - [fixed] DRM not working
    - [fixed] Hardware OMX (for the most part)
    - [fixed] Wired headphones not working
    - [done] Enable OTG USB for ethernet
    - [fixed] Youtube black screen with audio
    - [fixed] MtkOmxCore crash
    - [fixed] Battery showing wrong capacity - reported here
    - [fixed] "There's an internal problem with your device." dialog
    - [fixed] SIM card prompt
    - [fixed] Chrome cannot access internal storage
    - [fixed] Poor WiFi throughput (potential cause of choppy video playback)
    - [fixed] Disney app crashing (more info here)
    - [fixed] Speakers continuing to play while headphones are plugged in
    - [fixed] Cannot switch wifi on after storage encryption enabled
    - [hold] Bluetooth not working properly - can't see issue here
    - [fixed] Magisk update by app
    - [fixed] Storage permission issues (cause of some apps crashing)
    - [done] Upstreamed kernel
    - [todo] TWRP: USB-OTG not working
    - [fixed] USB-OTG Ethernet
    - [fixed] TWRP: MTP access
    - [todo] Voice assist MIC not working
    - [done] Added android.hardware.opengles.aep.xml permissions
    - [fixed] LiveDisplay not working
    - [fixed] Backlight HAL Errors

    - [todo] Shutdown after entering sleep mode (suspect cpu/gpu coming up in the wrong state -> overheating)
    - [todo] Gapps > pico causing not enough space error
    - [todo] Youtube black screen with audio
    - [todo] Mirrorcast not working
    - [todo] Multi-user not working
    - [todo] Navbar problem when keyboard is in horizontal mode
    - [todo] Playing videos over SMB failure after 30 min (more info here)
    - [todo] Can't connect to hidden WiFi networks
    - [todo] Lego app not working (more info here)
    - [todo] Cameras not working (more info here)
    - [todo] SELinux
    - [todo] Intermittent high idle cpu usage
    - [todo] Investigate L1 widevine support (L3 currently)
    - [todo] Pass safetynet
    - [todo] Device build fingerprinting
    - [todo] Enable zram?
    - [todo] Device encryption (TWRP)
    - [todo] Battery idle mode
    - [todo] Offline charging mode
    - [todo] Low speaker volume
    - [todo] Thermal Shutoff, overheating
    - [todo] System partition needs to be increased in size to accomodate gapps
    12
    But why OP decided to go back to 14.1?

    Never said for suez I was going back to 14.1.
    I will be continuing with lineage-16.0 for suez.
    12
    ℹ️ New Build is Up

    Dated: 16 March 2022

    - [fixed] MtkOmxCore crash
    - [fixed] Better auto adjust on backlight
    - [fixed] SIM card prompt
    - [fixed] Changed battery capacity to 6300mAh
    - [fixed] sdcard access for chrome and other apps
    - [fixed] "There's an internal problem with your device." dialog
    - [info] Explicitly enable sdcardfs
    - [info] Refactor root init scripts
    - [info] Remove deprecated storage_list.xml
    - [info] Clean-up build.prop

    Download from Google Drive link on OP.
    11
    ⏱ Change log / Release Notes

    05 July 2022

    - [fixed] Backlight HAL Errors
    - [fixed] LiveDisplay not working

    06 May 2022
    - [fixed] Voice assist MIC not working
    - [fixed] USB-OTG Ethernet
    - [fixed] TWRP: MTP access
    - [fixed] TWRP: Fixed USB-OTG
    - [info] Added android.hardware.opengles.aep.xml permissions

    13 April 2022
    - [fixed] Terminal input via apps and adb shell

    12 April 2022
    - [kernel] Up-streamed to 3.18.140
    - [kernel] Enable per user storage quota
    - [kernel] Optimized build flags for Cortex-a53
    - [kernel] Boeffla Wakelock Blocker Driver v1.1.0
    - [kernel] Enable some TCP congestion algorithms
    - [kernel] Westwood Default TCP congestion algorithm
    - [kernel] Sdcardfs v2.0
    - [info] Remove aptX bluetooth libraries for now
    - [info] Mount /system partition early-mount style
    - [info] Add vendor security patch

    06 April 2022
    - [fixed] Fix KernelUidCpuTimeReader errors
    - [info] Revert audio HIDL from 2.0 to 4.0 back to 2.0 - our drivers aren't ready for this
    - [info] Put storage permissions force close on the todo list
    - [info] Chrome browser works
    - [info] Jelly browser works
    - [info] WeDo lego app works

    Show Further History

    03 April 2022
    - [fixed] Magisk update by app
    - [fixed] Storage permission issues (cause of some apps crashing)
    - [fixed] Lego app not working (more info here)
    - [fixed] Cannot switch wifi on after storage encryption enabled
    - [info] Update suez defconfig in kernel to be more inline with aosp
    - [info] TWRP 3.6.1-9.0 available from Google Drive (no encryption support)
    - [info] Up-rev audio HIDL from 2.0 to 4.0
    - [info] Disabled amazon logging functions in kernel
    - [info] Disabled unused squashfs in kernel
    - [info] Conditionally compile MTK_M4U in the ion kernel driver as our device doesn't use it

    27 March 2022
    - [reverted] WiFi changes from previous build
    - [removed] 26 March Build

    26 March 2022
    - [fixed] Speakers continuing to play while headphones are plugged in
    - [fixed] Disney+ crashing
    - [didn't work for everyone] Slow WiFi throughtput
    - [didn't work for everyone] 5GHz connectivity to AX-88U router and in general
    - [didn't work for everyone] 5GHz connectivity to across all channels
    - [info] Include Bromite Webview
    - [request] WiFi: Can someone test connecting to hidden SSID's and report back?
    - [request] Magisk: Can someone test whether updating through the application works and report back?

    16 March 2022
    - [fixed] MtkOmxCore crash
    - [fixed] Better auto adjust on backlight
    - [fixed] SIM card prompt
    - [fixed] Changed battery capacity to 6300mAh
    - [fixed] sdcard access for chrome and other apps
    - [fixed] "There's an internal problem with your device." dialog
    - [info] Explicitly enable sdcardfs
    - [info] Refactor root init scripts
    - [info] Remove deprecated storage_list.xml
    - [info] Clean-up build.prop

    01 March 2022
    - [info] Re-build of 28 February version

    28 February 2022
    - [fixed] DRM Widevine L3 support
    - [new] Signature spoofing (enable and disable via developer options)
    - [fixed] Wired headphones not working
    - [fixed] Backlight HAL crashing
    - [fixed] Hardware OMX (MTK codecs now been used)
    - [info] Disable camera completely until fully investigated to stop logcat spam
    - [info] Enable OTG for ethernet in kernel

    07 February 2022
    - [fixed] OMX regression was breaking NewPipe and local video file playback
    - [info] Clean-up amazon binaries - media playback should be better - config file mess


    05 February 2022
    - [fixed] Navbar icon corruption
    - [fixed] Wallpaper corruption
    - [fixed] Laggy graphics
    - [fixed] High idle cpu usage
    - [info] Updated amazon binaries to fireos 5.6.9.0

    12 February 2021
    - Initial Release