This is LineageOS 18.1, which is based on Android 11, for the WiFi-only variants of the Samsung Galaxy Tab A 10.1" (2016), with model SM-T580 and codename gtaxlwifi, and the Galaxy Tab A 10.1" (2016) with S-Pen, with model SM-P580 and codename gtanotexlwifi. LineageOS doesn't need much of an introduction - It's a well-known custom firmware/Android distribution.
As was always planned, my LineageOS 18.1 builds continue on from @followmsi's LineageOS 18.1 builds that were intended for use by users. To update from his builds, my builds can simply be installed on top of an existing install from his builds without doing anything further (or "dirty flashed").
Downloads:
Note: While these builds are mainly intended to be used on the WiFi-only variants of these devices, they can be installed and used on LTE variants if you can go without mobile networking (of course), GPS and vibration.
Since I now have a T585, I've got LineageOS 19.1 builds for gtaxllte, and gtanotexllte as well, up in my 19.1 thread. I suggest using those.
For SM-T580/gtaxlwifi:
Latest build from 20221025 (with security patch level 20221005): https://drive.google.com/file/d/18PHMUSUW9A0ZfhjpSYCV0GiHW2Damskw/
Folder for builds (which contains a text file with a SHA256 checksum for the latest build, and a folder containing previous builds): https://drive.google.com/drive/folders/1wuirD9cyoguv7CQdEO5ymZ911k2ASKKD
For the T580, the latest official TWRP build from here should be used. If installing a build for the T580 to the LTE variant, with model SM-T585 and codename gtaxllte, keeping in mind some functionality will of course be missing as described in my note, the latest official TWRP build for gtaxllte from here can also be used.
For SM-P580/gtanotexlwifi:
Latest build from 20221025 (with security patch level 20221005): https://drive.google.com/file/d/11Iv75MtGAx4yvCWz-kN3wZOm-vgN4eE1/
Folder for builds (which contains a text file with a SHA256 checksum for the latest build, and a folder containing previous builds): https://drive.google.com/drive/folders/1fVGx1xGUxAtTvE0rG-OidwbXLM_93om2
For the P580, I've made unofficial TWRP builds from an updated device tree and the same kernel sources used for these LineageOS builds that must be used.
Download link for an image of my latest TWRP build: https://drive.google.com/file/d/1TAFLVpxdYQNvfvUPS_BGKx3imphR1Wd2/
Download link for a tar archive containing it for installation via Odin in the AP slot: https://drive.google.com/file/d/1Ay55ntZj7Uptzm--hiCaeG1C5lamQ1fG/
Changelogs:
Releases for 20221025:
Latest changes from LineageOS, including the 20221005 Android security updates.
The torch has been fixed.
Performance of animations and responsiveness has been improved slightly.
Configuration files for media codecs and profiles have been updated from Samsung's M105FDDS4CVG1 firmware, and audio codec support might be improved slightly (as the Codec 2.0 media codec framework has been fixed and is now used).
Some updates from the 4.9 Android common kernel have been applied to the kernel.
The WiFi drivers RX wakelock feature has been disabled - Heavy battery drain that occurred in sleep when connected to certain WiFi networks due to "qcom_rx_wakelock" wakelocks has been fixed.
Previous releases:
Releases for 20220903:
Latest changes from LineageOS, including the 20220805 Android security updates.
Some things that appeared that are only relevant for devices with mobile networking (such as the baseband version and SIM status sections in About tablet in settings) no longer appear.
The ZRAM size has been increased to 2GiB, and the swappiness is now set to 100.
A higher frequency (1246MHz, was 902MHz previously) is now set for the interactive CPU governors "hispeed_freq" value - This improves responsiveness slightly.
The sepolicy containing device-specific SELinux rules has been improved slightly.
Yet more miscellaneous cleanups have been done.
Some updates from the 4.9 Android common kernel have been applied to the kernel.
Releases for 20220803:
Latest changes from LineageOS, including the 20220705 Android security updates.
Some updates from the 4.9 Android common kernel have been applied to the kernel.
Releases for 20220628:
Latest changes from LineageOS, including the 20220605 Android security updates.
Many updates from the 4.9 Android common kernel, and some from a few other sources, have been applied to the kernel.
Releases for 20220526:
Latest changes from LineageOS, including the 20220505 Android security updates.
The problem where enabling the "Enable on-screen nav bar" option at Settings -> System -> Buttons caused touchscreen input to be disabled has been fixed.
Native support for IPsec tunnels has been enabled.
Support for Vulkan compute is now declared.
A new custom version of the open source Samsung audio HAL from Lineage's android_hardware_samsung repository is now used, rather than the stock, heavily-patched, proprietary Samsung audio HAL, with some fixes for a problem that made it unusable before where occasionally, audio would get outputted from both the speakers and the headphone jack.
The playback and low-latency capture period sizes have been reduced to 128 in the open source audio HAL, which reduces audio latency.
Pro audio support is now declared, since with the reduced period sizes, as well as with the use of the open source audio HAL, round-trip audio latency has been reduced enough for it.
Many updates from the 4.9 Android common kernel have been applied to the kernel.
Several fixes to the Sony HID driver in the 4.9 Android common kernel have been ported over to the kernel - Sony DualShock 4 controllers should now work properly.
Releases for 20220423:
Latest updates from Lineage, including the 20220405 Android security updates.
The tablet product characteristic has been added back after being mistakenly removed - Places where the device was referred to as a phone (such as the "About phone" section in settings) will now refer to it as a tablet again.
Some small improvements from my fixes for LineageOS 19.1 have been applied to the sepolicy containing the SELinux rules.
Some other miscellaneous cleanups have been done.
A few updates from the 4.9 Android common kernel and Samsung's A600FNXXU9CVB1 kernel sources have been applied to the kernel.
Releases for 20220325:
Latest updates from Lineage, including the 20220305 Android security updates.
The previously used 32-bit GPS blobs have been replaced with 64-bit blobs from Samsung's A810SKSS2CTI1 firmware.
The XTRA servers for Assisted GPS have been switched to the servers used in Samsung's stock firmwares - This fixes Assisted GPS, which turned out to actually not appear to work with the previous XTRA servers.
Even more small miscellaneous cleanups have been done.
There are some updates from the 4.9 Android common kernel to the kernel.
Releases for 20220224:
Latest updates from Lineage, including an increase of the Android security patch level to 20220205 (just an increase as interestingly, for this month, there aren't any (relevant) security updates).
The WiFi firmwares have been updated from Samsung's T395XXSDCVA1 firmware.
There are some final updates from the 4.4 Android common kernel (which is unfortunately now also discontinued along with Linux v4.4) and some updates from the 4.9 Android common kernel to the kernel.
[SM-P580/gtanotexlwifi only] Touch input and input from the back and recent apps keys is now ignored when the S-Pen is in use. (Thanks to @unknowwiiplayer for testing the changes for this)
Releases for 20220122:
Latest updates from Lineage, including the 20220105 Android security updates.
There are some updates from the 4.4 Android common kernel to the kernel.
Some changes have been applied to a few drivers specifically for Android in the kernel (mainly the binder driver) from the 4.19 Android common kernel for Q.
A few changes from the 3.18 Android common kernel that were missing from the kernel have been applied.
Releases for 20211222:
Latest updates from Lineage, including the 20211205 Android security updates.
There are some updates from the 4.4 Android common kernel to the kernel.
Releases for 20211114:
Latest updates from Lineage, including the 20211105 Android security updates.
The WiFi driver has been switched from being a kernel module to being built into the kernel. This may improve reliability for enabling and disabling WiFi and the WiFi hotspot very slightly.
The libexynoscamera3.so library has been updated from Samsung's P580ZSS1CTI1 stock firmware - This improves the situation with the issues with stretched/squashed camera previews for images and stretching/squashing in videos at some resolutions.
The MFC (Multi-Format Codec) firmware has been updated from Samsung's A305FDDU6CUI3 firmware.
As the oldest proprietary blobs are now as in Samsung's P580ZSS1CTI1 stock firmware (with a few exceptions), the vendor security patch level has been increased to 2020-09-01, which is the security patch level that firmware has.
Configuration files for media codecs and profiles have been updated from Samsung's T580XXS5CTK1 stock firmware.
Most SELinux rules that are technically not allowed (by neverallow rules) have been replaced with much better rules or removed.
There are some (final) updates from the (unfortunately now deprecated so no longer updated) 3.18 Android common kernel, some updates from Linux 4.4, and a few updates from Samsung's J600FPUUACUH2 and A720SKSU5CUJ2 kernel sources to the kernel.
Releases for 20211023:
Latest updates from Lineage, including the 20211001 Android security updates, and a fix for the issue where the media controls in the notification panel squash the quick settings tiles and make it impossible to swipe through them when in landscape.
Workarounds for an issue with rebooting to recovery and download mode from system using the advanced restart menu or the reboot command in a shell have been replaced with a proper fix.
Yet further slight miscellaneous cleanups have been done.
[SM-P580/gtanotexlwifi only] A problem where S-Pen input wasn't registering in the right directions in orientations other than portrait, as the axes for it didn't change on orientation changes accordingly, has been fixed by enabling orientation awareness for it (Thanks to @retiredtab for sharing that fix).
[SM-P580/gtanotexlwifi only] The cursor that appeared when using the S-Pen has effectively been disabled by setting the device type for the S-Pen input to a touchscreen (Thanks to @Acatzin for the hint for this).
[SM-T580/gtaxlwifi only] The system image size has been increased from 3072000000 bytes to 3145728000 bytes, which is the size of the system partition on Korean and Chinese variant T580s and T585s, and the smallest system partition size out of all T580s and T585s.
[SM-P580/gtanotexlwifi only] The system image size has been decreased from 3072000000 bytes to 3045064704 bytes, to accomodate for the SM-P583s system partition which has that size. With this change, it should now be possible to install this latest build for the P580 on the P583 and for it to boot fine, since the P583 basically seems to be a P580 but for China, although I can't be certain on that.
There are some updates from the 3.18 Android common kernel and Linux 4.4 to the kernel.
Releases for 20210922:
Latest updates from Lineage, including the 20210905 Android security updates.
The ZRAM size has been increased to 768MiB.
Even further miscellaneous cleanups have been done.
The 32-bit wcnss_filter binary, used for Bluetooth, that was used previously has been replaced with the 64-bit wcnss_filter binary from Samsung's A520FZTU4BRB1 firmware.
There are some updates from the 3.18 and 4.4 Android common kernels and Linux 4.4, a few changes backported from mainline Linux, and also a few other insignificant changes to the kernel.
An issue where there was additional extremely quiet high-pitched noise from the right speaker has been fixed. (Thanks to @Kostareka for reporting it. It likely would've gone unnoticed for at least a very long time into the future otherwise.)
First proper release for the P580.
Release for 20210810:
Latest updates from Lineage, including the 20210805 Android security updates.
This is my first build that is signed using my own release keys. This change was removed in the second build released for 20210810 (with "-R2-Test-keys" in the filename).
The BSP sources have been redone to closely match what has been done with the new exynos7880-specific part of Lineage's BSP sources, and with that, there are now more exynos7870-specific changes to the open source gralloc that is in use.
Some further small miscellaneous cleanups have been done.
There are some updates from the 3.18 Android common kernel and Linux 4.4 to the kernel, and a few other insignificant changes.
Release for 20210709:
Latest updates from LineageOS.
Merges of the latest changes from AOSP for repositories forked by Lineage have been picked to skip the wait for them to be merged (repopick -t android-11.0.0_r39), and the rest of the repositories not forked by Lineage were additionally switched to the android-11.0.0_r39 tag, for the 20210705 Android security updates.
A patch to the PermissionController app has been applied that adds the FAKE_PACKAGE_SIGNATURE permission group to it - The signature spoofing permission can now be managed through the permission management interface at Settings -> Privacy -> Permission manager.
The audio outputted from the audio jack while playing media will now be noticeably louder, as the headset "DAC1 playback volume" for media has been increased to the maximum of 175 from 162.
There are some updates from the 3.18 Android common kernel and Linux 4.4 to the kernel.
A few patches have been applied to the qcacld-2.0 WiFi driver in the kernel, which are mainly vulnerability fixes.
Release for 20210617:
Latest updates from LineageOS, including the 20210605 Android security updates.
The WiFi and Bluetooth firmwares have been updated from Samsung's A720SKSU5CTL2 firmware.
The qcom_cfg.ini configuration file for WiFi has been imported from Samsung's A720SKSU5CTL2 firmware - A change within it appears to have made WiFi more reliable.
The sensors.universal7870.so library has been updated from Samsung's stock P580ZSS1CTI1 firmware.
The health HAL has been upgraded to version 2.1.
There are a few other small miscellaneous changes (mostly small cleanups).
There are many updates from the 3.18 Android common kernel and Linux 4.4 to the kernel.
Some unnecessary drivers have been disabled in the kernel.
The sdfat driver in the kernel, which is used for exFAT filesystem support, has been updated to version 2.4.5.
A few changes have been imported to the MMC block device driver in the kernel from Samsung's M105GDXS6CUD4 kernel that fix extremely rare kernel panics that occurred when there was an error with a MMC device (mainly with SD cards).
The fix for an issue where the duration of videos that are taken is lengthened by the time spent in deep sleep/suspended that was previously used has been replaced with a better fix in the Exynos fimc-is2 driver in the kernel.
Release for 20210508:
Latest updates from LineageOS, including the 20210505 Android security updates.
New SELinux denials with Android 11 have been addressed, and with that, SELinux is now set to enforcing by default, and the sepolicy, which contains the SELinux rules, has been rewritten almost entirely, and is now of much better quality.
Some changes have been imported to libbt-vendor from https://github.com/LineageOS/android_hardware_qcom_bt on branch lineage-18.1-caf.
BPF offloading for tethering has been disabled.
The audio HAL has been upgraded to version 6.0.
The rampatch_tlv_tf_1.1.tlv firmware for Bluetooth has been updated from Samsung's stock T585XXS6CTJ7 firmware.
There are some updates from the 3.18 Android common kernel and Linux 4.4 to the kernel.
Some tcp_info-related patches have been applied to the kernel, and with that, a workaround, a patch titled "TcpSocketTracker: Opt-out for TCP info parsing on legacy kernels", is no longer used since it's no longer necessary.
A workaround that was used to get USB tethering and Bluetooth tethering to work is no longer used, and has been replaced with a proper fix (enabling CONFIG_NETFILTER_XT_TARGET_CT in the kernel).
Release for 20210407 (My initial 18.1 build. This changelog continues on from @followmsi's last 18.1 build that was intended for use by users):
Latest changes from LineageOS. The crashes that occurred when setting a new wallpaper that were discussed earlier in this thread appear to have been fixed.
Merges of the latest changes from AOSP, including the 20210405 security updates, have been picked to skip the wait for them to be merged. (repopick -t android-11.0.0_r34)
The same workaround that was used on 17.1 to get USB tethering and Bluetooth internet access sharing to work has been forward-ported and applied.
vintf manifest override enforcement is now enabled.
The vendor/lib[64]/egl/libGLES_mali.so blobs are now symlinked to vendor/lib[64]/vulkan.exynos5.so, rather than copied to vendor/lib[64]/hw/vulkan.exynos5.so - This is a proper fix for Vulkan support.
RSA key verification for ADB is enabled again, and ADB isn't enabled by default and on boot anymore.
There are some updates from the 3.18 Android common kernel and Linux 4.4 to the kernel.
Known issues and workarounds (if any):
Issue 1: Occasionally, when trying to select quick settings tiles in the notification panel, it will crash to the lockscreen.
I have no idea about this issue. It seems like some type of generic systemui crashes. But regardless, it doesn't exist under Android 12 which I've moved onto, and it's here to stay for 11 unfortunately.
Issue 2: Camera previews for images to be taken at resolutions with aspect ratios other than 16:9 using the rear camera are squashed from 16:9 (while final saved images at any resolution are unaffected by any squashing), and videos taken at some resolutions are affected by similar issues with squashing in previews, and, in a smaller set of resolutions, also in final saved video files. (Note that these issues don't affect the front-facing camera)
Somewhat of a workaround to issue 2: Use resolutions at which there are no issues with squashing from 16:9.
To report further issues, get a log from logcat and dmesg. If you're unsure on how to get either, there's good documentation out there for how to do so.
Sources:
A manifest containing all of the necessary repositories to make a build for either the T580 or P580 is in this repository on branch lineage-18.1: https://github.com/TALUAtGitHub/gtaxlwifi-manifests
Thanks to:
@Valera1978 - for all of the previous work for the T580 (and T585) long ago, and for providing his old BSP sources without which the previously used open BSP sources wouldn't have been possible.
@followmsi - for fixes to various issues and other improvements, for useful information, and for working with me on much of this stuff.
Anyone who has previously tested anything new I've put up for testing, reported results, and gave details for me to get it working if it was necessary.
The Lineage team - for the Android distribution itself.
...and everyone else who has worked on anything that is in use.
Just installed it on a device that was still running stock. Works flawlessly, thanks!
Can I get md5 checksum?
ar0177417 said:
Can I get md5 checksum?
Click to expand...
Click to collapse
It's 382e0ae70a956deec826c6867cf80614 for lineage-18.1-20210508-UNOFFICIAL-gtaxlwifi.zip. Anything wrong?
I have a problem with connectivity since April I only get 2mb / s per second when I pay for one 20mbps
This problem is only in android 11 when I go back to some android 10 ROM there is no problem
there are the results of bliss roms
Thank you for your (and @followmsi 's) ongoing support for this device!
My T-580 never felt old to me because of you!
A couple of observations:
TALUAtXDA said:
Issue 3: the on-screen navigation bar feature that can be enabled with the option at Settings -> System -> Buttons -> "Enable on-screen nav bar" doesn't work properly.
Click to expand...
Click to collapse
-onscreen navigation bar works for me, just the "disable hardware buttons" part does not.
For workaround I use Srgrusso's patch from here.
-Safetynet fails where it hadn't before. (no biggie for me, just a thing I noticed)
Great rom!
I flashed this + Flame Gapps and Magisk 22.1.
The first custom rom for this device where Ableton Link works!!
Hi @TALUAtXDA and thanks for your your work ,and the other behind the release
My needs are very basic, I just need something stable, no need for root, sd-card storag etc..
Would this be the preferred ROM? Or is the 17x release a better for my needs?
Regarding Gapps, I noticed that users are using Flame Gapps and NikGapps, but I guess the regular Open Gapps could be an option as well.
What is the recommended Gapps variant?
Kind regards Erik
Issue 4: Adoptable storage (probably) doesn't work.
Somewhat of a workaround to issue 4: format and use your micro SD card with the exFAT filesystem (and a MBR parition table).
Click to expand...
Click to collapse
Anyone else check this yet? It's working for me on @TALUAtXDA's previous version (202010407). I use this feature quite a bit as internal storage is too small, don't want to lose it if I dirty flash this version.
autorage said:
-onscreen navigation bar works for me, just the "disable hardware buttons" part does not.
For workaround I use Srgrusso's patch from here.
Click to expand...
Click to collapse
I'm referring specifically to the "Enable on-screen nav bar" option at Settings -> System -> Buttons, that doesn't require any system-level changes as made by that package that you've linked. When enabling it, no touch input is accepted anymore for some reason. It needs to be locked and unlocked a few times for it to accept input and the on-screen navbar added through that feature to work temporarily.
autorage said:
-Safetynet fails where it hadn't before. (no biggie for me, just a thing I noticed)
Click to expand...
Click to collapse
I have no idea about this. I'd have thought that it's now more likely to pass.
n0j0e said:
The first custom rom for this device where Ableton Link works!!
Click to expand...
Click to collapse
Hmm, wow.... I didn't expect that to be fixed in this release. That's great. :)
gechu said:
My needs are very basic, I just need something stable, no need for root, sd-card storag etc..
Would this be the preferred ROM? Or is the 17x release a better for my needs?
Regarding Gapps, I noticed that users are using Flame Gapps and NikGapps, but I guess the regular Open Gapps could be an option as well.
What is the recommended Gapps variant?
Click to expand...
Click to collapse
For stability, 17.1 would be slightly better. With 18.1, there are certain occasional crashes (see issue 1) that I'm not sure about at the moment, which you may or may not be able to tolerate.
As for Google apps, it's whichever is the smallest variant. For nikgapps, that would be core, and for opengapps, that would be pico. Something to note is that opengapps seems to often be more problematic for Android 11 than other google app packages, so it could be better to go for something else.
jrollf said:
Anyone else check this yet? It's working for me on @TALUAtXDA's previous version (202010407). I use this feature quite a bit as internal storage is too small, don't want to lose it if I dirty flash this version.
Click to expand...
Click to collapse
I actually didn't know if adoptable storage was working in my previous release. I just assumed it didn't considering that it never worked properly with 17.1. Knowing that it did in my previous release of 18.1, it would probably(?) also work with my latest release.
autorage said:
[...]
-Safetynet fails where it hadn't before. (no biggie for me, just a thing I noticed)
Click to expand...
Click to collapse
With NikGAPPS core, SafetyNet passes succesfully in my case.
jrollf said:
Anyone else check this yet? It's working for me on @TALUAtXDA's previous version (202010407). I use this feature quite a bit as internal storage is too small, don't want to lose it if I dirty flash this version.
Click to expand...
Click to collapse
I actually didn't know if adoptable storage was working in my previous release. I just assumed it didn't considering that it never worked properly with 17.1. Knowing that it did in my previous release of 18.1, it will probably(?) also work with my latest release.
Click to expand...
Click to collapse
Ok, I just dirty flashed it, SD as Internal Storage seems to still be working. Thanks!
jrollf said:
Ok, I just dirty flashed it, SD as Internal Storage seems to still be working. Thanks!
Click to expand...
Click to collapse
Alright, thanks for the information. I've removed that from the list of issues. You're welcome.
One more question, does this rom impact supported widevine level?
Had similar question about safetynet, which at least one user claimed worked using NikGAPPS core. Anyway else with experience related to safetynet?
gechu said:
One more question, does this rom impact supported widevine level?
Click to expand...
Click to collapse
The widevine security level is L3, and always will be L3.
Found an issue: system recovery doesn't get overwritten when installing lineage-18.1-20210508-UNOFFICIAL-gtaxlwifi.zip. Might be related with SELinux.
Lumito said:
Found an issue: system recovery doesn't get overwritten when installing lineage-18.1-20210508-UNOFFICIAL-gtaxlwifi.zip. Might be related with SELinux.
Click to expand...
Click to collapse
Wouldn't that be what you would want so that you don't lose TWRP? We've specifically disabled that feature by setting the "persist.vendor.recovery_update" property to "false" since we don't want to use Lineage's recovery.
Maybe, it makes sense. TWRP is more powerful, and faster when installing updates.
TALUAtXDA said:
It's 382e0ae70a956deec826c6867cf80614 for lineage-18.1-20210508-UNOFFICIAL-gtaxlwifi.zip. Anything
Click to expand...
Click to collapse
The downloaded build was corrupted
I downloaded it again. Now it is working fine
Anyways, Thank you for such a great rom
n0j0e said:
Great rom!
I flashed this + Flame Gapps and Magisk 22.1.
The first custom rom for this device where Ableton Link works!!
Click to expand...
Click to collapse
..ok i rushed to fast. Ableton Link didn't sync correctly!
My guess there is something broken or missing in the LOS network stack or WiFi driver for the SM-T580 (gtaxlwifi).
I have an OnePlus 5T with LOS 18.1 (crDroid 7.6) and all apps with Ableton Link are in sync and stable over WiFi.
Here my message from planet-h.com forum:
Hi,
i have a Samsung Tablet SM-T580 WiFi and tried nearly every A10/A11 custom ROM, mostly LineageOS.
I can connect with other devices without trouble but if i start play in G-Stomper the sequencer LED's are flashing absolutely crazy and beats are rumbled.
Same with RemixLive but Snap from Reactable runs rock solid with Ableton Link!
Tried all audio drivers with various latency settings.
Tried switch some network options in the Developer options.
Tried various Devices with WiFi Hotspot or with Wifi AP.
Nothing helped. G-Stomper products & RemixLive connects but didn't sync correctly. Snap plays absolutely stable.
No Firewall, no custom DNS, no AdAway.
Related
Lenovo Tab 3 8/TB3-850F
Question & Answer Forum
Link & General Resource Guide
RE: Stock & Custom ROM(s)
INTRODUCTION & PURPOSE:
I have started this thread as a Q&A forum and general info guide for my Stock 6.0 ROM for the Lenovo Tab 3 8, and as a forum for my stock-based custom ROM which is nearing completion. In addition, I have posted some useful threads for this device below. It has been brought to my attention by XDA Senior Member @pndwal, as well as other members, that topics regarding systemless rooting, dm-verity, force encryption, Trusted Execution Environment (/tee1 & /tee2), etc., need a dedicated forum for open discussion and brain-storming, all while adhering to XDA's policy of staying on topic in the device threads. In addition to the topics outlined, this forum welcomes any questions, concerns and colloquy regarding ROMs, kernels, recoveries, & other development for this device.
LENOVO TAB 3 8/TB3-850F LINKS:
Stock Android 6.0 ROM Thread: https://forum.xda-developers.com/android/general/rom-lenovo-tab-3-8-tb3-850f-t3617594
Bootloader, TWRP & Rooting: https://forum.xda-developers.com/android/general/guide-lenovo-tab3-8-tb3-850f-t3559786/page17
Unbricking/Restoration Tutorial: https://forum.xda-developers.com/android/help/lenovo-tab-3-8-tb3-850f-unbrick-root-t3598727
Stock Firmware Partition Images: https://forum.xda-developers.com/android/general/rom-lenovo-tab-3-8-tb3-850f-android-6-0-t3593043
Lenovo Tab 3 8" User Manual (PDF)
for TB3-850F & TB3-850M: English: https://drive.google.com/file/d/18gCTfuZecJnlB0ddBIN02YPaDpuvmzov/view?usp=drivesdk
Lenovo File Manager (APK): https://forum.xda-developers.com/android/general/app-lenovo-file-manager-lenovo-tab-3-8-t3706161
RULES:
Rule 1: Be respectful to XDA policies and to one another. We are all here to learn and to grow. The only stupid question is a question not asked;
Rule 2: Read Rule 1.
MotoJunkie01 said:
It has been brought to my attention by XDA Senior Member @pndwal, as well as other members, that topics regarding systemless rooting, dm-verity, force encryption, Trusted Execution Environment (/tee1 & /tee2), etc., need a dedicated forum for open discussion and brain-storming, all while adhering to XDA's policy of staying on topic in the device threads.
Click to expand...
Click to collapse
MotoJunkie01 said:
@pndwal I would like to invite you, first & foremost, to the ROM Q&A for this tablet. I'm hopeful that the Q&A will provide answers to relevant questions like yours, and provide input, user experiences, & ideas for future ROM development for the Tab 3 8.
Click to expand...
Click to collapse
A generous interpretation... Thanks for invitation. I'll be sure to come up with a curly one or two.
For now, could you give a rough idea of what needed changing to bypass force encryption? And also, reasons for pre-rooting? Thanks, PW.
pndwal said:
A generous interpretation... Thanks for invitation. I'll be sure to come up with a curly one or two.
For now, could you give a rough idea of what needed changing to bypass force encryption? And also, reasons for pre-rooting? Thanks, PW.
Click to expand...
Click to collapse
Reasons for pre-rooting are merely as a convenience to the user. Many users will use the stock build I compiled and root themselves, while others will take the more convenient route and flash the ROM which is pre-rooted. The advantages of the rooted ROM are that it will be moderately debloated, deodexed, zipaligned, and will of course have BusyBox binaries pre-injected and the Magisk Systemless User Interface installed.
To bypass force encryption, I first needed to bypass dm-veriity. Both are enabled by default on this tablet within the ramdisk/fstab. So the boot image needed to be unpacked, the values of "1" enabling both dm-verity & force encryption needed to be changed to values of "0", thus disabling both features. The boot image was then repacked and then archived within my ROM installation package (zip).
I'd also like to take a poll to ask whether members want Viper4AndroidFX v2.5.0.5 (with NEON audio drivers) on the custom ROM, in lieu of the Dolby Digital Sound audio package that comes pre-installed on the tablet. Any input would be appreciated.
MotoJunkie01 said:
I'd also like to take a poll to ask whether members want Viper4AndroidFX v2.5.0.5 (with NEON audio drivers) on the custom ROM, in lieu of the Dolby Digital Sound audio package that comes pre-installed on the tablet. Any input would be appreciated.
Click to expand...
Click to collapse
Viper can be installed as a module in magisk. PW
pndwal said:
Viper can be installed as a module in magisk. PW
Click to expand...
Click to collapse
Yes it can, but it breaks the stock camera completely, due to the SELinux policy mod which is installed by the module. If included as a feature of the ROM, I have a workaround which sets SELinux to permissive on boot, instead of permanently disabling the policy from within the kernel. This prevents breaking of the stock camera.
MotoJunkie01 said:
Yes it can, but it breaks the stock camera completely, due to the SELinux policy mod which is installed by the module. If included as a feature of the ROM, I have a workaround which sets SELinux to permissive on boot, instead of permanently disabling the policy from within the kernel. This prevents breaking of the stock camera.
Click to expand...
Click to collapse
I did that in past too. Don't think its needed now.
Viper working fine for me as Magisk module (phone and TB3-850f tablet). SELinux enforcing, camera working fine (incl. video), 2.5.0.4 driver, 2.5.0.5 app.
Seems SELinux policy change no longer required as V4A module for Magisk installs AML (Audio Modification Library) as Magisk framework which no longer requires permissive. Let me know if I'm missing something. PW.
pndwal said:
I did that in past too. Don't think its needed now.
Viper working fine for me as Magisk module (phone and TB3-850f tablet). SELinux enforcing, camera working fine (incl. video), 2.5.0.4 driver, 2.5.0.5 app.
Seems SELinux policy change no longer required as V4A module for Magisk installs AML (Audio Modification Library) as Magisk framework which no longer requires permissive. Let me know if I'm missing something. PW.
Click to expand...
Click to collapse
You are pretty well correct. But, in order to enjoy the full spectrum of the NEON audio drivers, SELinux must go permissive. The Viper version I am speaking of was compiled by Deuteronomy Sound Technologies (and Arise) and is known as Viper4 AriseFX (a modded, themeable, and undoubtedly the most feature packed Viper package available for Android). The Viper module available on Magisk is a bare bones package, and when used in combination with my patched boot image (due to SELinux policy) it breaks the stock camera and causes other instabilities within the ROM.
I'm working also on a custom kernel for the TB3-850F, which will have some audio tweaks available from the kernel itself, as well as some tuneable governors, preset TCP congestion algorithms, etc.
MotoJunkie01 said:
You are pretty well correct. But, in order to enjoy the full spectrum of the NEON audio drivers, SELinux must go permissive. The Viper version I am speaking of was compiled by Deuteronomy Sound Technologies (and Arise) and is known as Viper4 AriseFX (a modded, themeable, and undoubtedly the most feature packed Viper package available for Android). The Viper module available on Magisk is a bare bones package, and when used in combination with my patched boot image (due to SELinux policy) it breaks the stock camera and causes other instabilities within the ROM.
I'm working also on a custom kernel for the TB3-850F, which will have some audio tweaks available from the kernel itself, as well as some tuneable governors, preset TCP congestion algorithms, etc.
Click to expand...
Click to collapse
I see. Perhaps you could explain the benefits of neon audio - I wasn't aware.
Also, would permissive SELinux not break SafetyNet check? Thanks, PW.
pndwal said:
I see. Perhaps you could explain the benefits of neon audio - I wasn't aware.
Also, would permissive SELinux not break Safety net check? Thanks, PW.
Click to expand...
Click to collapse
Yes and no. Depending on how you set the SELinux policy. I've found that setting SELinux to permissive on boot only, by way of a third party app like Kernel Adiutor-Mod or The SELinux Toggler, does not break SafetyNet. However, permanently disabling SELinux as enforcing, by way of modding the kernel itself, has been reported to cause a SafetyNet fail on both custom and stock ROMs.
You raise a good question though, and it is a factor to which I'll be paying close attention during development for this tablet.
I think I've decided to include Viper4AriseFX in my ROM as optional, and available by flashing a separate zip installer subsequent to installing the ROM itself.
By the way @pndwal, you seem to know your way around Android pretty well. What are some other features you would like to see in a custom built ROM for the Tab 3 8?
MotoJunkie01 said:
Yes and no. Depending on how you set the SELinux policy. I've found that setting SELinux to permissive on boot only, by way of a third party app like Kernel Adiutor-Mod or The SELinux Toggler, does not break SafetyNet. However, permanently disabling SELinux as enforcing, by way of modding the kernel itself, has been reported to cause a SafetyNet fail on both custom and stock ROMs.
You raise a good question though, and it is a factor to which I'll be paying close attention during development for this tablet.
I think I've decided to include Viper4AriseFX in my ROM as optional, and available by flashing a separate zip installer subsequent to installing the ROM itself.
Click to expand...
Click to collapse
Optional install sounds like a good idea, especially if SELinux permissive is optional to. I'm hesitant to use permissive environment as many apps etc require enforcing, and attempts to circumvent this, eg Magisk's ability to hide permissive etc, are reportedly not foolproof.
Not sure about attraction with Neon and ARISE, but seems permissive SELinux requirement to use these may be short-lived anyway. See post from today, at https://forum.xda-developers.com/an...d-systems-auditory-research-t3379709/page3125
problem:
NEON Enabled: No
Enabled: No
Status: Abnormal
ETC...
How solve it please?
Magisk 14.3 thats why. You need permissive. ARISE hasnt been updated for the new changes to how magisk handles selinux. Just for now you'll need to switch to permissive to get viper to work. Hopefully we'll have a build up soon to make it work, I know that ZackPTG and Ghost started to update it although i'm not sure on progress.
Hope it helps, PW.
pndwal said:
Optional install sounds like a good idea, especially if SELinux permissive is optional to. I'm hesitant to use permissive environment as many apps etc require enforcing, and attempts to circumvent this, eg Magisk's ability to hide permissive etc, are reportedly not foolproof.
Not sure about attraction with Neon and ARISE, but seems permissive SELinux requirement to use these may be short-lived anyway. See post from today, at https://forum.xda-developers.com/an...d-systems-auditory-research-t3379709/page3125
problem:
NEON Enabled: No
Enabled: No
Status: Abnormal
ETC...
How solve it please?
Magisk 14.3 thats why. You need permissive. ARISE hasnt been updated for the new changes to how magisk handles selinux. Just for now you'll need to switch to permissive to get viper to work. Hopefully we'll have a build up soon to make it work, I know that ZackPTG and Ghost started to update it although i'm not sure on progress.
Hope it helps, PW.
Click to expand...
Click to collapse
I've got Viper4AriseFX fully functional with Magisk v14.3. SafetyNet pass. I'm using a method which does not permanently set SELinux to permissive, but which toggles it to permissive only upon boot.
My pre-patched boot image is probably key to the successful installation as well. I'll list a complete change log of the exact mods once my beta release is ready. From what I'm gathering on logcat, Viper4AriseFX is "seeing" SELinux as permissive, while other system components are seeing the policy as enforcing. I believe I've stumbled upon the key to this SELinux policy dilemma.
MotoJunkie01 said:
By the way @pndwal, you seem to know your way around Android pretty well. What are some other features you would like to see in a custom built ROM for the Tab 3 8?
Click to expand...
Click to collapse
No really unique ideas, but interested in improved performance (speed and battery), battery being pretty good already.
MT8161p CPU specs say Quad-Core, 1.3 GHz, but TB3-850f is limited to 1.0 GHz, so a kernel modified to allow overclocking should achieve 30% boost easily (and CPU can usually go ~30% higher than specs, so perhaps 1.7 GHz or so would be achievable) unless I'm missing something.
Could improve Adoptive Memory (SD) handling, but may have to wait for port to N or O for this as anomalies with handling Dev. manifest values to make moveable apps automatically go to SD (as well as not allowing some even to be moved manually that should move fine) seem to an Android M limitation. (Works beautifully/ as expected on my phone with lineage N, and if Dev. hasn't enabled 'move apps to SD', can 'Force allow apps on external' in Developer Options [Makes any app eligible to be written to external storage, regardless of manifest values].) Guess N / O may be a way off, but would be nice.
Lenovo is now pushing ~30MB OTA update to TB3-850F_S100031_171010_ROW, so you'll probably want to capture / incorporate this in your ROM. (Is it possible to modify OTA update to allow flashing on rooted devices without restoring stock recovery? [Edit: Seems this would require merging differential update with complete files updated, and likely should only be flashed as complete ROM unless stock restored. Saw this: https://twrp.me/faq/officialota.html]) This is not available as a complete downloadable ROM on Russian Websites (lenovo-forums.ru or 4pda.ru) or others as yet as far as I can see.
Hope ideas are helpful, PW.
pndwal said:
No really unique ideas, but interested in improved performance (speed and battery), battery being pretty good already.
MT8161p CPU specs say Quad-Core, 1.3 GHz, but TB3-850f is limited to 1.0 GHz, so a kernel modified to allow overclocking should achieve 30% boost easily (and CPU can usually go ~30% higher than specs, so perhaps 1.7 GHz or so would be achievable) unless I'm missing something.
Could improve Adoptive Memory (SD) handling, but may have to wait for port to N or O for this as anomalies with handling Dev. manifest values to make moveable apps automatically go to SD (as well as not allowing some even to be moved manually that should move fine) seem to an Android M limitation. (Works beautifully/ as expected on my phone with lineage N, and if Dev. hasn't enabled 'move apps to SD', can 'Force allow apps on external' in Developer Options [Makes any app eligible to be written to external storage, regardless of manifest values].) Guess N / O may be a way off, but would be nice.
Lenovo is now pushing ~30MB OTA update to TB3-850F_S100031_171010_ROW, so you'll probably want to capture / incorporate this in your ROM. (Is it possible to modify OTA update to allow flashing on rooted devices without restoring stock recovery? [Edit: Seems this would require merging differential update with complete files updated, and likely should only be flashed as complete ROM unless stock restored. Saw this: https://twrp.me/faq/officialota.html]) This is not available as a complete downloadable ROM on Russian Websites (lenovo-forums.ru or 4pda.ru) or others as yet as far as I can see.
Hope ideas are helpful, PW.
Click to expand...
Click to collapse
You may have read the wrong specs. There has been much confusion between the TB3-850M (which runs on the MT8161p), and the TB3-850F (which runs on the MT6735m). A lot of online sources have misstated the board platforms on these two tablets.
My TB3-850F build.prop clearly lists the board platform as MT6735m, as does the hardware reading given by the SP Flash Tool when I sync the device on my PC. I wish mine did have the MT8161 (1.3GHz) versus the 1.0GHz of my MT6735.
But just to be certain there are not variants of the TB3-850F, read your build.prop via file explorer or build prop editor and let me know if yours is in fact the MT8161p.
Thanks for the heads up on the OTA. I wasn't aware of it and I'll definitely be updating my stock ROM thread accordingly.
Oh to answer your question on the OTAs, yes you can flash an OTA to a rooted/modified device by editing the updater-script and omitting the crypto-hash checks performed during the typical OTA installation, and by editing the incremental target and source lines (or omitting them entirely).
Just got the 33mb OTA captured. Looks like there are the usual bug fixes & stability improvements, but also the KRACK exploit has been patched, the partition index updated, and kernel updates. I'm currently compiling an up-to-date stock ROM with TWRP flashable installer.
MotoJunkie01 said:
You may have read the wrong specs. There has been much confusion between the TB3-850M (which runs on the MT8161p), and the TB3-850F (which runs on the MT6735m). A lot of online sources have misstated the board platforms on these two tablets.
My TB3-850F build.prop clearly lists the board platform as MT6735m, as does the hardware reading given by the SP Flash Tool when I sync the device on my PC. I wish mine did have the MT8161 (1.3GHz) versus the 1.0GHz of my MT6735.
But just to be certain there are not variants of the TB3-850F, read your build.prop via file explorer or build prop editor and let me know if yours is in fact the MT8161p.
Thanks for the heads up on the OTA. I wasn't aware of it and I'll definitely be updating my stock ROM thread accordingly.
Oh to answer your question on the OTAs, yes you can flash an OTA to a rooted/modified device by editing the updater-script and omitting the crypto-hash checks performed during the typical OTA installation, and by editing the incremental target and source lines (or omitting them entirely).
Click to expand...
Click to collapse
Yes, I'd forgotten this confusion.
Actually, didn't check online sources, but assumed Phone Tester was reporting correctly. It gives CPU Info: MT8161p.
Just checked Kernel Auditor which gives MT8161p as vendor, but MT6735 as hardware.
CPU-Z gives MT6735 as SoC.
My build.prop also gives ro.board.platform=mt6735m, but also ro.lenovo.cpuinfo=MT8735P.
Russian 4PDA forum gives 850f Processor Type: MT8161, with MT8735 for 850M variant. (http://4pda.ru/devdb/lenovo_tab3_8:850f)
So it's hard to know what or who's correct, but looks to me that newer CPUs have likely been installed on boards originally designed for MT6735. (My CPU could actually be MT8735 as given by build.prop if Lenovo had excess chips from 850M, or simply decided to use these in both models. - I guess they may even have started with MT6735 for 850f before progressively using MT8161 and MT8735.)
So seems to me to be in the realms of possibility that a kernel allowing overclocking may just render spectacular results (as long as later CPUs were in fact used, and these are not crippled by an older board chipset.) But then, I may be way off base . . . Let me know your thoughts. PW.
pndwal said:
Yes, I'd forgotten this confusion.
Actually, didn't check online sources, but assumed Phone Tester was reporting correctly. It gives CPU Info: MT8161p.
Just checked Kernel Auditor which gives MT8161p as vendor, but MT6735 as hardware.
CPU-Z gives MT6735 as SoC.
My build.prop also gives ro.board.platform=mt6735m, but also ro.lenovo.cpuinfo=MT8735P.
Russian 4PDA forum gives 850f Processor Type: MT8161, with MT8735 for 850M variant. (http://4pda.ru/devdb/lenovo_tab3_8:850f)
So it's hard to know what or who's correct, but looks to me that newer CPUs have likely been installed on boards originally designed for MT6735. (My CPU could actually be MT8735 as given by build.prop if Lenovo had excess chips from 850M, or simply decided to use these in both models. - I guess they may even have started with MT6735 for 850f before progressively using MT8161 and MT8735.)
So seems to me in the realms of possibility that a kernel allowing overclocking may just render spectacular results (as long as later CPUs were in fact used, and these are not crippled by an older board chipset.) But then, I may be way off base . . . Let me know your thoughts. PW.
Click to expand...
Click to collapse
Yeah I agree with you wholeheartedly that overclocking - at least moderately - could provide some benefit. I'm seeing that our current 1.0GHz maximum clock could safely be overclocked to about 1.33GHz. Definitely something I will be considering. I've been able to optimize this device's meager 1GB RAM by zipaligning the apk files, and by setting a maximum background process limit to build.prop. I've also found that setting the stock kernel's Adaptive Low Memory Killer to Very Aggressive helps as well.
I've installed the OTA and it seems to improve general stability of the device, and provides us with much needed security patches. I'll be updating my stock ROM to the most recent version later today. Here is a link to the captured OTA if anyone is interested in exploring it. However, in order to flash it to a rooted/modified device, the updater-script first needs to be modified. But again, I'll have the updated build posted later today.
OTA_TB3-850F_S100031_171010_ROW: https://drive.google.com/file/d/11xo-7X06ST1RV8X5TJHjM5o2MHfcsNhl/view?usp=drivesdk
MotoJunkie01 said:
Yeah I agree with you wholeheartedly that overclocking - at least moderately - could provide some benefit. I'm seeing that our current 1.0GHz maximum clock could safely be overclocked to about 1.33GHz. Definitely something I will be considering. I've been able to optimize this device's meager 1GB RAM by zipaligning the apk files, and by setting a maximum background process limit to build.prop. I've also found that setting the stock kernel's Adaptive Low Memory Killer to Very Aggressive helps as well.
I've installed the OTA and it seems to improve general stability of the device, and provides us with much needed security patches. I'll be updating my stock ROM to the most recent version later today. Here is a link to the captured OTA if anyone is interested in exploring it. However, in order to flash it to a rooted/modified device, the updater-script first needs to be modified. But again, I'll have the updated build posted later today.
OTA_TB3-850F_S100031_171010_ROW: https://drive.google.com/file/d/11xo-7X06ST1RV8X5TJHjM5o2MHfcsNhl/view?usp=drivesdk
Click to expand...
Click to collapse
Great. What do you make of build.prop entry: ro.lenovo.cpuinfo=MT8735P? PW.
pndwal said:
Great. What do you make of build.prop entry: ro.lenovo.cpuinfo=MT8735P? PW.
Click to expand...
Click to collapse
It's simply a typo that was made in build.prop I believe. Going by ro.board.platform, they seem to have it correct with the 6735 entry. I was just messing with some components of the unpacked boot image from this device, and it seems that except for the SoC differences, the 850M and 850F are otherwise identical. Of course, the 850M, by way of its mt8161p, has full SIM & 4G/LTE data support. In our variant, the SIM slot (next to the micro SD card slot) is blocked off, whereas it's fully accessible in the 850M.
P.S, if you're rooted, add this line to build.prop and let me know if you see a difference in RAM optimization: ro.config.low_ram=true
Mod edit: Thread closed on owner's request.
exNoShadez-EAS Kernel
Hey Pixel XL forum. I'm a Pixel/Sailfish owner, who also enjoys hacking on kernel code. I recently released a Kernel in the Google Pixel forum => but we are all using the same kernel, sooo.... I thought after pushing my second stable release, that I should probably post on the XL forum too.
My kernel is a bit different than most kernels available, you will quickly notice. Lots of interesting features and some unique ones too.
FEATURES
- Current LTS release -> Linux-3.18.114
- Energy Aware Scheduling
- Schedutil (default Cpu Governor)
- RCU infrastructure backport (with expert mode enabled)
- Cpu-Boost / Input Boosting (enabled by default)
- BINFMT_MISC support (NOT mounted on boot).
- Kernel Hardening/Protection (CopperheadOS/Grsec/Pax Marlin kernel hardening features)
- leds-qpnp: Notification LED control - V1.1c (Boeffla) - Adapted for Marlin
- Binder_rt = My own re-implementation of AOSP Binder that uses rt_mutexes; supporting priority inheritance
- Improved scheduling/determinism for high priority threads/tasks
- Backported Scheduling, Locking and Workqueue subsystem code from Newer Linux kernels.
- Audio Driver enhancements / backports (from Wahoo/Pixel 2)
- Sound/Audio driver Tweaks (bug fixes, scheduling improvements)
- forced Interrupt threading enabled
- Wifi Mac Address Randomization
- WireGuard (VPN) kernel module support
- KCal Advanced Colour control
- Improved ASLR (in kernel)
- USB Fast Charge
- Wake Gestures
- GCC 6/7+ Fixes
- Built with GCC-8.x-dev
- and more
Contains code from everywhere: Code Aurora, Flar2/Marlin, CopperheadOS, AOSP, Project-EAS, Freak7/Kirisakura, Linaro, Pixel 2 kernel sources, mainline linux and elsewhere. Modifications and backports by me, as well.
BACKGROUND
I wanted a kernel for My Pixel that had 'all of the things', it didn't exist... So I'm working on my own kernel. I try to balance Security/hardening, experimental features with high Performance and battery life. <- not an easy task! ... Some of the security features do come with overhead, but if you use apps that are CPU heavy / processing and/or require low latency - they will perform well (at the cost of chewing some battery life, of course).... Battery life and SOT are very reasonable though.
WARNING / VERY IMPORTANT: This kernel isn't compatible with installing TWRP ~> meaning; you must use the fastboot version of TWRP (used in RAM) , flash the kernel and NOT install TWRP to your system (the kernel is too big for TWRP to co-exist).... This may sound inconvenient, but there are a number of valid reasons to avoid reducing a kernel's size in order to support TWRP installation, in the boot partition.
***Fun facts on not supporting TWRP below => 2nd post: PLEASE READ: to understand my motivation***
TWRP REMOVAL
*To remove TWRP from your system; You need the stock boot.img from your running/current firmware (which is inside of the factory image zips) or use the Nov Stock boot.img provided here. Then it's as simple as flashing the boot.img to wipe TWRP;
fastboot flash boot_a /path/to/boot.img
fastboot flash boot_b /path/to/boot.img
Stock 8.1 July 2018 Boot.img => https://github.com/nine7nine/Apps/raw/master/MarlinStockJulyBoot.img
Now you can proceed with using the TWRP fastboot boot.img to flash my kernel, magisk/supersu or whatever else....
Fastboot twrp boot image => https://dl.twrp.me/marlin/twrp-3.2.2-0-marlin.img
WARNING: This shouldn't need to be said, but we did have someone on the Pixel forum who did this, so I'm adding a sticky/warning here; do NOT EVER re-lock your bootloader after flashing any kind of custom software, kernels, etc to your device - *it will brick your phone*. Meaning you are screwed would need an RMA / replacement device ... everyone in the XDA community should know better, but still; worth mentioning....
IMPORTANT:
Before asking questions; Please read through the thread (starting with the last few pages) - I shouldn't need to be repeatedly answering the same questions over and over again. It's good practice to get into the habit of reading through threads before asking questions in any thread on XDA, as more often then not; you're question has probably been answered. Thanks!
EXNS-EAS KERNEL DOWNLOAD:
JULY 2018 OREO 8.1 RELEASE exNoShades-eas Kernel Flashable zip
https://github.com/nine7nine/Apps/raw/master/exNoShadez_eas_v2.8.2_f94351f.zip
It is stable, high performance and very responsive...
Important: You will need root; I don't support non-rooted devices && some features require it. I recommend using Magisk; https://forum.xda-developers.com/apps/magisk/beta-magisk-v13-0-0980cb6-t3618589 ...
NOTE: Make sure to flash the latest Magisk beta *before* flashing the kernel zip ...
More Background / Important Notes:
Binder_RT:
My own port and re-implementation of the Binder Kernel Driver; a slightly modified version of The AOSP binder.
Binder_RT uses rt_mutexes as oppsed to mutexes for locking in Binder, ion, ashmem, etc... rt_mutexes support priority inheritance and should improve determinism in Binder, speed up IPC, Ion and Ashmem => Allowing applications that require low-latency, tight deadlines, low jitter and deterministic behaviour to perform better ~ This re-implementation is proving to be the great for those types of applications. The goal here is to help ensure that the Kernel and Binder's high priority && time critical threads and tasks are properly prioritized... Example; audio buffers arriving on time / no buffer underruns... *Further development work is planned to research, experiment with and improve Binder_RT.
rt_mutex documentation, for those interested;
https://github.com/nine7nine/Marlin_exns-eas/blob/EXNS_EAS/Documentation/locking/rt-mutex.txt
https://github.com/nine7nine/Marlin_exns-eas/blob/EXNS_EAS/Documentation/locking/rt-mutex-design.txt
CPU-Boost / Input Boosting:
Touch inputs boost CPU frequencies (thus improves performance and responsiveness).
# Cpu-boot / Input boost settings
write /sys/module/cpu_boost/parameters/input_boost_enabled 1
write /sys/module/cpu_boost/parameters/input_boost_freq "0:1363200 1:0 2:1900800 3:0"
write /sys/module/cpu_boost/parameters/input_boost_ms 100
IO/ CPU Governors:
This kernel doesn't include a thousand io/cpu governors. IO-wise; CFQ is the default, but we've got a few in there. chose your poison, but know that the majority of my testing is centered around cfq and deadline. CPU Governor-wise the common Linux CPU governors are there; along with Sched and Schedutil....
Stick with Schedutil - on idle, it draws very little power and in most 'peak performance situations, it should do very well..... I'm getting great battery life, sot and performance.
Managing Kernel Settings:
Get EX Kernel Manager - my original code on github was forked from EX kernel, before rebasing it - but EXKM will give you access to 99% of my kernel's settings.
My 8.1 Kernel Sources: https://github.com/nine7nine/Marlin_exns-eas
Donations via PayPal very much appreciated. I do put a significant amount of energy and time into researching, development, testing / QA and also providing support/help to end-users... It's definitely not mandatory to donate; but If you appreciate the effort, see value or benefits from using my kernel on your device and can afford to; Use the "Donate to me" button or the below link... It makes a big difference. thanks!
https://www.paypal.me/jrdnjhnstn
Why TWRP Installations are NOT supported:
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
(and why I'm not using it!)
Most custom/android kernel devs are using the above configuration in kernel compilation, which is arguably very BAD... I understand that boot partitions are small and the desire to install TWRP to them, thus there is a need to reduce the kernel's size....and yes, this will achieve that - However;
1. SUSE, RedHat, etc (Enterprise linux) disable CONFIG_CC_OPTIMIZE_FOR_SIZE -> it's original use case has proven to be invalid. Even Google (in their own documentation) advise against using this; https://source.android.com/devices/tech/perf/boot-times ....
2. It suppresses useful compiler warnings....
3. As SOCs have become more powerful, google has come to the same conclusion that Enterprise Linux did back in 2012.
4. by turning off CONFIG_CC_OPTIMIZE_FOR_SIZE, we achieve better performance, boot time and better cache utilization.
Clark Williams / Redhat Bugzilla said:
* Cause: CONFIG_CC_OPTIMIZE_FOR_SIZE set with assumption that smaller code would yield hot cache lines and good performance
* Consequence: this config caused gcc to generate jump-to-jump code which causes cache line bouncing, hurting performance
* Fix: turn off CONFIG_CC_OPTIMIZE_FOR_SIZE
* Result:slightly larger kernel but better cache utilization
Click to expand...
Click to collapse
(The Above is quoted from Clark Williams, A Senior Software Architect @ RedHat -> https://bugzilla.redhat.com/show_bug.cgi?id=796297)
I know of no other way to significantly reduce kernel size. Disabling some debugging, unneeded features, etc helps - but not enough.... I am focusing on optimization, using newer builds of GCC/Linaro, performance enhancements, fixing compilation errors, etc, etc -> these things are more important than trying to support TWRP installation.
Therefore; I do NOT support installing TWRP....
This sounds incredible. All those features.. and then some. Hard for me to test as I rarely use my PC but I may have to go and give this a try.
Edit: would it be possible to create a build for those who do want to use TWRP? Would be great to do some benchmarks (real work using DiscoMark and synthetic using geekbench/AnTuTu/etc) to see differences between the two.
All those features are welcome in this poor Oreo pixel community! thanks for your work..
i'll try it as soon as possible!
spr33 said:
This sounds incredible. All those features.. and then some. Hard for me to test as I rarely use my PC but I may have to go and give this a try.
Edit: would it be possible to create a build for those who do want to use TWRP? Would be great to do some benchmarks (real work using DiscoMark and synthetic using geekbench/AnTuTu/etc) to see differences between the two.
Click to expand...
Click to collapse
No. like I said. I don't/won't support installing twrp. it would require reverting a bunch of patches/ work that I've already put in... and also not using linaro GCC 7.2.1 compiler, either...
the time invested would be a complete waste for me and I would have maintain another separate branch. test another build, etc, etc'... i'm not doing it. my current goal is to reduce my branches into one single branch/build;. ... which will end up hopefully being binder_rt... not create more.
feature wise, pretty much a 'best of' what any other custom kernel offers for Marlin, all of the hardening stuff (I think I'm the only Marlin kernel on XDA with that), etc... afaict, I'm the only one rolling in EASv1.4, cpu-boost, dynamic stune boost; all of which I've ported myself... some of the audio driver stuff I personally ported (more coming) and binder_rt is my baby; I ported aosp binder and researched / Inplemented all of the changes to Binder...
in my yet-to-be-released binder builds I also have backported a large chunk of the linux locking, workqueues and scheduling code and some other bits from newer mainline linux kernels (which allow me to pull in some new features and use them).
so I'd rather work on this kind of stuff, over caring about twrp, doubling my workload to support running synthetic benchmarks between gcc's -Os vs. -O2 optimization levels...
Thanks for the new kernel. Sounds very interesting. Can't try it atm because i am on dp1 from 8.1. Hope you gonna also support 8.1 when official sources are out. For me battery life is already great on dp1.
housepabldroid said:
All those features are welcome in this poor Oreo pixel community! thanks for your work..
i'll try it as soon as possible!
Click to expand...
Click to collapse
haha. pixel community isn't too bad. there's just not a lot of custom oreo ROMs.... myself, I wouldn't want to run any of those custom roms anyway. they usually are built without odexing or proper signiture key signing = less secure and way less optimized... Stock ROM is great, just needs root and a few apps to modify / customize it a bit.
for me, the kernel has always been the issue. lol... therefore, roll my own. lol....
ya, for sure give it a try... I honestly would say binder_rt is the best build... the 'stable build' is a bit of a misnomer - all of the builds are stable, just the binder ones are running more experimental code... binder_rt blows the socks off any other Marlin kernel for certain kinds of workloads... I'm aiming fir it to become my default build...
Donric13 said:
Thanks for the new kernel. Sounds very interesting. Can't try it atm because i am on dp1 from 8.1. Hope you gonna also support 8.1 when official sources are out. For me battery life is already great on dp1.
Click to expand...
Click to collapse
yup. I have to wait until kernel sources are released. you got it!. but when they are / 8.1 is released; I will be upgrading to 8.1, so no worries - there will be an 8.1 version...
I've heard heard that battery life is pretty good on 8.1, there's a thread in the pixel forum about it... but by what they were saying, it didn't seem that much better than what I see from my kernel.....
I'm more interested to see what performance improvements are in 8.1 kernel sources... I've found stock kernel to be a bit crappy for some stuff...
well, if at some point you are bored and want to test my kernel on 8.1, go for it. ya never know: maybe it will work. the reason I say that?
IIRC - it was tested with my old kernel / sources build... could've been a bug, not present in the new one.... or something else. IdK.. being as I'm on 8.0 I can't even look into why that might be or have been...
just make sure if u do ever try it, keep the stock boot.IMG for 8.1 around, in case it doesn't work..... and report back, if it does work. lol
Gotta say super smooth. Thanks for sharing. Maybe it's just a glitch in ex kernel manager but zram "stopping..." Or nothing to worry about.
JS.zip said:
Gotta say super smooth. Thanks for sharing. Maybe it's just a glitch in ex kernel manager but zram "stopping..." Or nothing to worry about.
Click to expand...
Click to collapse
Ah yes, I should've mentioned that ~ zram is working fine - but EXKM is being denied permission to read those files on the file system - I think it's due to a change in cgroups code (from merging in EASv1.4), but I haven't gotten to the bottom of it yet....
No worries though ~ I HAVE completely verified that zram is working, mounted swapon and behaving as it should... Honestly, the defaults for zram are fine ~ if they ever weren't; you would have bigger problems on your hands, that changing swapping wouldn't help. lol
Which build are you using? (just curious)
nine7nine said:
Ah yes, I should've mentioned that ~ zram is working fine - but EXKM is being denied permission to read those files on the file system - I think it's due to a change in cgroups code (from merging in EASv1.4), but I haven't gotten to the bottom of it yet....
No worries though ~ I HAVE completely verified that zram is working, mounted swapon and behaving as it should... Honestly, the defaults for zram are fine ~ if they ever weren't; you would have bigger problems on your hands, that changing swapping wouldn't help. lol
Which build are you using? (just curious)
Click to expand...
Click to collapse
Thanks that's what I thought. The bad boy "Binder RT" lol
JS.zip said:
Thanks that's what I thought. The bad boy "Binder RT" lol
Click to expand...
Click to collapse
bad boy eh? haha.
Ya, no worries - I check that sort of stuff, when it crops in... fixing that particular issue just hasn't been a huge priority, over other stuff that I'm working on. (and because I think it's pointless that EXKM even displays it to begin with - it just gives users the false impression that they are tweaking something, that in 99.99999% of cases - is absolutely pointless to touch).
Anyhoo, cool - let me know how things are working out with the binder_rt build, as you get some more use in ~ I really want it to become my main focus / implementation. (I personally won't be going back to using any other build day to day, anyway.)
nine7nine said:
bad boy eh? haha.
Ya, no worries - I check that sort of stuff, when it crops in... fixing that particular issue just hasn't been a huge priority, over other stuff that I'm working on. (and because I think it's pointless that EXKM even displays it to begin with - it just gives users the false impression that they are tweaking something, that in 99.99999% of cases - is absolutely pointless to touch).
Anyhoo, cool - let me know how things are working out with the binder_rt build, as you get some more use in ~ I really want it to become my main focus / implementation. (I personally won't be going back to using any other build day to day, anyway.)
Click to expand...
Click to collapse
I just wanted to point out that I grabbed your stock kernel from the OP and had planned to use that to flash my stock image. However, I happened to have the latest boot.img release decompressed on my drive so I compared it to the one I had on hand.
MD5 for your Stock Image: 7A2D92981FDE96E5D60D806019ACFA0C
MD5 for Google's Stock Image: BF9EDA2888C8C6A1FCD0A7DB6E37F739 (Latest November build)
Now I don't want to sound like the suspicious type, because in reality the stock kernel you provided is just to get TWRP off the device before flashing your kernel, but I'm forced to ask why your stock image is not identical with the main stock image? Unless your stock kernel isn't from the latest release but instead from a prior month or something of that nature (It would take me quite awhile to download the other month's releases just to check so I was hoping to ask you instead)
AlkaliV2 said:
I just wanted to point out that I grabbed your stock kernel from the OP and had planned to use that to flash my stock image. However, I happened to have the latest boot.img release decompressed on my drive so I compared it to the one I had on hand.
MD5 for your Stock Image: 7A2D92981FDE96E5D60D806019ACFA0C
MD5 for Google's Stock Image: BF9EDA2888C8C6A1FCD0A7DB6E37F739 (Latest November build)
Now I don't want to sound like the suspicious type, because in reality the stock kernel you provided is just to get TWRP off the device before flashing your kernel, but I'm forced to ask why your stock image is not identical with the main stock image? Unless your stock kernel isn't from the latest release but instead from a prior month or something of that nature (It would take me quite awhile to download the other month's releases just to check so I was hoping to ask you instead)
Click to expand...
Click to collapse
Easy explanation - I'm on Sailfish, you aren't; so the md5 wouldn't match...
I can do one of two things; you can post a upload/link to your boot.img and I will replace the link for Marlin's nov boot.img (adding it to my github) OR I will remove the link from the post and Marlin users will have to fend for themselves. (have to download 1.8GB firmware themselves for a boot.img... Obviously i'm NOT downloading your guys Nov Firmware images).
nothing suspicious at all here, dude.
EDIT: I've removed the link to the sailfish Nov boot.img, as a sign of good faith; I can replace it with the Marlin Nov boot.img - but that will require you to post a download/link to me, so I can add it in. thx
nine7nine said:
Easy explanation - I'm on Sailfish, you aren't; so the md5 wouldn't match...
I can do one of two things; you can post a upload/link to your boot.img and I will replace the link for Marlin's nov boot.img (adding it to my github) OR I will remove the link from the post and Marlin users will have to fend for themselves. (have to download 1.8GB firmware themselves for a boot.img... Obviously i'm NOT downloading your guys Nov Firmware images).
nothing suspicious at all here, dude.
EDIT: I've removed the link to the sailfish Nov boot.img, as a sign of good faith; I can replace it with the Marlin Nov boot.img - but that will require you to post a downlink to me, so I can add it in. thx
Click to expand...
Click to collapse
No problem, I download every Marlin release so I'll just update my AFH folder to include the monthly kernel release and users can download it from there. You can either link to my folder or download from it to add to your repository; either one is fine with me Thanks, and I do appreciate what you're doing but I have a 'verify first' stance since these devices are a big part of people's lives. I'm going to give your kernel a spin now, I appreciate you getting back to me so quickly. If only AFH was this fast, I just spent 25 minutes trying to get it to create an empty folder...
Link to Marlin Stock Images: https://www.androidfilehost.com/?w=files&flid=231142
Edit: I attempted to flash the "exNoShadez_eas-3.18.83_Binder_b0b66e0.zip" from the fastboot installed version of TWRP after flashing the stock boot to slot_a and slot_b, but it is failing with an error that states, "New image larger than boot partition. Aborting..." Then updater process Error 1. Any idea what would cause that?
AlkaliV2 said:
Edit: I attempted to flash the "exNoShadez_eas-3.18.83_Binder_b0b66e0.zip" from the fastboot installed version of TWRP after flashing the stock boot to slot_a and slot_b, but it is failing with an error that states, "New image larger than boot partition. Aborting..." Then updater process Error 1. Any idea what would cause that?
Click to expand...
Click to collapse
Hey, I added your nov boot.img to the OP. put it on github to save a few clicks for people.
The error you are seeing would suggest that TWRP is installed to the system. That is the only time anyone has ever bumped into that message. So, I'm not sure what's going on with your end but it would seem you have twrp actually installed...?!
the TWRP that you are supposed to use, is this one;
https://dl.twrp.me/marlin/twrp-3.1.1-1-fastboot-marlin.img
that loads and runs from RAM. twrp can't be "installed from fastboot" ~ it installs to the boot partition; leaving not enough room for the kernel.
nine7nine said:
Hey, I added your nov boot.img to the OP. put it on github to save a few clicks for people.
The error you are seeing would suggest that TWRP is installed to the system. That is the only time anyone has ever bumped into that message. So, I'm not sure what's going on with your end but it would seem you have twrp actually installed...?!
the TWRP that you are supposed to use, is this one;
https://dl.twrp.me/marlin/twrp-3.1.1-1-fastboot-marlin.img
that loads and runs from RAM. twrp can't be "installed from fastboot" ~ it installs to the boot partition; leaving not enough room for the kernel.
Click to expand...
Click to collapse
Yeah, that actually explains it. I was using a kernel with TWRP installed last go round and now it seems just flashing the factory boot.img is not getting rid of the installed TWRP. I'll figure out how to get TWRP removed for good this time; thank you for letting me know where to look.
AlkaliV2 said:
Yeah, that actually explains it. I was using a kernel with TWRP installed last go round and now it seems just flashing the factory boot.img is not getting rid of the installed TWRP. I'll figure out how to get TWRP removed for good this time; thank you for letting me know where to look.
Click to expand...
Click to collapse
Yup. TWRP can't be installed along side. Running it from RAM has to be used. ie: I don't support TWRP installations. lol
Flashing the factory boot.img DOES get rid of TWRP for good ~ you just have to make sure to use the TWRP fastboot boot.img for flashing my kernel after (since fastboot/twrp doesn't install to the boot partition)...
I've added a link to the OP to Marlin's twrp fastboot boot.img....
I also updated all of the download links and double-checked to make sure that all of the Marlin zips are packed properly with AnyKernel2 + relabelling every file on my github (by re-packing all of them all... This is mostly just paranoia on my part - but now that I'm supporting 2 devices, best to make sure that nothing gets tangled together.)
@everyone
just a few notes, since you guys are just getting exposure to my kernel, the way I do things; in regards to development, etc.
-> I post test builds (this usually happens when I make big changes.). reports are helpful on these builds.
-> Development happens fast; *I routinely add new features, bug fixes, etc and i'm almost always ahead on LTS updates over the Stock kernel.
examples;
=> lts -3.18.83 build available on the day of release
=> my Binder_rt branch is currently 140+ commits (code changes) ahead of the the other branches.
(changes since in the current downloads/releases)
=> There are a number of bug fixes, a few added features (mostly in-kernel stuff), some optimizations *and* there are massive upgrades to parts of the kernel's subsystems. (100+ commits are related to that)...
(changes since the current downloads/releases)
NOTE: The binder Branch (non-rt) will see the majority of the above changes code, but the Stable branch will only see a subset of these commits + bug fixes.
I probably won't roll out a test build for Binder_rt builds, until I've had the newest code running for a couple of days.... At that point, once things have proven to be stable good ~ i'll roll out a test build for anyone who wants to help out and dogfood test builds....
Then, I will push back changes back into the Binder builds, Stable, etc... I usually try and line up actual releases to LTS and/or => more importantly monthly android security / firmware updates....
**So the gist is; there will be frequent updates. Update as you see fit - anyone who wants to help out - run test builds and report back issues.
So pending a detail or two, I likely will be phasing out my other builds in favor of the Binder_rt build.
- I've had quite a lot of feedback via the Pixel forum, PMs and email (and a couple of friends using it too).
- The Binder_rt build seems to be very stable for everyone.... not too mention just all around better.
- there seem to be no drawbacks and quite a few benefits to that build over the others.
The one thing I'm waiting on is; I've joined the Android Kernel Developers Google Group and am currently waiting to see if I can't get some help with porting a missing Kernel function into Marlin's sources ~ this particular kernel function is what's stopping me from having Binder be sync'd with the AOSP binder implementation.... I'm hoping to resolve this sooner than later, at which point I will be able to merge in those commits (and test them).
In the meantime I'm working on a few backports to the audio driver and a few other bits (taken from Wahoo/Pixel 2 kernel sources). I've also pulled in a few fixes to binder from Wahoo, as well....
So I might post a test build for Binder_rt tomorrow - as it's accumulated a number of changes, bug fixes, etc.... I'm not sure If I will have any resolution to the missing kernel function - but that doesn't affect pushing a test build....
I'm not responsible for any damage to your device of any sort.
By flashing this you take responsibility of anything that happens.
Process at your own risk!
If you want to check firmware - please make backup. Better to store all partitions, at least efs and may be modem.
As we all know - the tablet does not support treble. And we do not have a separate partition, with enough space (about 450mb) to place the whole vendor there.
As a result, I created a solution and tried to make it as much easy as possible for daily use.
I created 2 files - system.img/vendor.img as ext4 images and put it in to the system partition. And then on early init I mounting real system partition as /system_src and then mount system.img as /system and vendor.img as /vendor.
Also I created twrp treble's version for easy use /system and /vendor. It's can wipe new system\vendor partitions, you can restore images to system/vendor in the same way, as we use for boot/recovery.
How to
Prepare - need only once
1. in the current twrp make full wipe (at least we need clean /system, because later we fill all /system by 2 files: system.img/vendor.img)
2. you need flash my twrp with treble support (sm-t825-twrp_3.2.3-0_treble.img): https://drive.google.com/file/d/1GJMrHI4wkePXh8JmF_jgxBSly38B5tu1/view?usp=sharing
3. flash zip with new system.img/vendor.img as ext4 images: https://drive.google.com/file/d/14lwrnM85CoxcpjTUiJ0yfbGHXLa7k0DB/view?usp=sharing
Installation
1. download treble zip from Links and flash it as usual zip. It will flash boot.img and /vendor partition (this is part, specific for our tablet only)
2. download any treble system (64bit System A-only) image from: https://forum.xda-developers.com/project-treble/trebleenabled-device-development, if it not a .img file - extract it, then copy to sdcard/extsd card and then flash image as system_image in twrp (Install - switch to Install Image and flash as System Image)
3. some images require vendor's modification, in oreo some firmware has a 90 rotate, some 270, in my treble zip 90, if you see - image rotated on 180 - flash zip from Additional Links
4. if you wanna back to original lineage\rr without treble - you need flash normal twrp version and make full wipe or just flash stock firmware via odin
Known Issues
sound 2 skeakers only for now
fingerprint
keys light dnw on some firmwares
Links
2. 20180911: fix rotate, back to stock sound (fix bt, quad speakers): https://drive.google.com/file/d/1e_mzosWYL7bv29n613OKZpvSZPXMh26k/view?usp=sharing
1. 20180802: initial treble: https://drive.google.com/file/d/14lwrnM85CoxcpjTUiJ0yfbGHXLa7k0DB/view?usp=sharing
Few notes about item 2: your tablet has wrong image orientation, panel horizontal, sensor - vertical, as result troubles with show right image in right orientation. In 7.0-8.1 this problem was fixed by adding ro.sf.hwrotation=270 in build.prop. For pie this way dnw. Google remove this option and update configstore with new ISurfaceFlingerConfigs. It was added new method: primaryDisplayOrientation. Problem was in adding new configstore sources in the 15.1 sources. Finally I had successfully builded configstore 1.0/1.1 from 16.0 in 15.1.
Additional Links - need only for some oreo images, if image rotated on 180
2. 20180911: https://drive.google.com/file/d/1S4mvXFcX-d2xoZEp9b9dG3ywUhybT6U2/view?usp=sharing
1. 20180802: initial fix rotate: https://drive.google.com/file/d/1JKGu7vudrU0bJPEdkGwBVFkyCJpsHLLs/view?usp=sharing
Magisk
For some reason original Magisk dnw with our treble. It's somehow connect to sepolicy and I'm almost sure about it connected to our treble way with loop0/loop1 mount.
Finally I made small update of the original latest Magisk and it's working. Only one thing was done by me: inside zip in the binary magiskinit file I remove seclabel (seclabel u:r:magisk:s0) for magisk services.
Fixed 17.1 Magisk beta: https://drive.google.com/file/d/1lMhM8ceaJoy5pHRHjCsxxG2C9e5sB5Ot/view?usp=sharing
17.1 Magisk beta manager (this apk also inside Magisk, but cann't be installed automatically during Magisk install), install it as normal apk after install Magisk: https://drive.google.com/file/d/1qCoVPUxvvxopCGfIpoHdAnKueNIxMXal/view?usp=sharing
GApps
https://opengapps.org
Almost all firmware say about wrong vendor version. This is normal, just press OK.
Checked firmwares
AospExtended (need rotate 270 patch): https://forum.xda-developers.com/pr...evelopment/rom-aospextended-rom-v5-5-t3797509
Cosmic-OS: https://forum.xda-developers.com/pr...ment/cosmic-ospulsar8-1-0201805243-2-t3794806
DroidOnTime: https://forum.xda-developers.com/pr...pment/official-droidontime-dotos-2-x-t3794338
Havoc-OS: https://forum.xda-developers.com/pr...-device-development/rom-havoc-os-8-1-t3819050
Lineage: https://forum.xda-developers.com/pr...evice-development/lineage-phh-treble-t3767690
OmniROM Treskmod (need rotate 270 patch): https://forum.xda-developers.com/pr...development/rom-8-1-omnirom-treskmod-t3818188
Pixel Experience (it's requere register custom firmware): https://forum.xda-developers.com/pr...e-development/8-1-0-pixel-experience-t3796011
Resurrection Remix: https://forum.xda-developers.com/pr...opment/resurrection-remix-phh-treble-t3767688
let's experiment together!
Wow! Man, you rock! My Favourite dev! Thanks for Your hard work!
Thanks for this. One question, do we use A/B or A images?
Peeps1513 said:
Thanks for this. One question, do we use A/B or A images?
Click to expand...
Click to collapse
Forgot: system a only
Valera1978 said:
Forgot: system a only
Click to expand...
Click to collapse
And what did You think about the bugs You have mentioned? (Fingerprint, deepsleep, speakers) Fixable or not?
deepsleep, speakers - this is the common tab s3 problems (same in the original lineage), a bit later will back to it.
fingerprint - need to check, in the treble mode shim libs dnw because of linker in the system, also service from vendor don't see libs in system - i.e. some limitations. For camera I made workaround: launch second cameraserver service with my shim lib in environment, but this way dnw for fingerprint. It should be something easy to fix, but I still don't see it.
Valera1978 said:
deepsleep, speakers - this is the common tab s3 problems (same in the original lineage), a bit later will back to it.
fingerprint - need to check, in the treble mode shim libs dnw because of linker in the system, also service from vendor don't see libs in system - i.e. some limitations. For camera I made workaround: launch second cameraserver service with my shim lib in environment, but this way dnw for fingerprint. It should be something easy to fix, but I still don't see it.
Click to expand...
Click to collapse
Really appreciate your work :highfive:
Nice project. Good stuff.
I finally settled on HAVOC after much playing around but am facing an issue trying to install magisk (16.7), no success yet . When I searched [ROM][TREBLE] Havoc-OS 8.1 it seems that magisk has been installed on other devices so could it be a vendor issue? Any help would be appreciated. phh supersu seems to be fine though.
Peeps1513 said:
I finally settled on HAVOC after much playing around but am facing an issue trying to install magisk (16.7), no success yet . When I searched [ROM][TREBLE] Havoc-OS 8.1 it seems that magisk has been installed on other devices so could it be a vendor issue? Any help would be appreciated. phh supersu seems to be fine though.
Click to expand...
Click to collapse
Yep. I've tested treble but no sucess atm for me. Better stay with non-treble lineage, as most of the things work just fine. Maybe in future if Valera fix some things on treble bulid (if ever). Hope Dev focus on oreo lineage than treble project (which is good stuff, but not good enough as daily driver)
I want to leave a feedback after almost a month with treble roms
I have to change my mind: treble is fantastic! Such a great thing, very helpfull for all of us. I was running Valera's lineage 15.1 as daily driver for about 2 months.
In regular non-treble bulid almost everything work. Bad thing were performance (slow animations) and not working deepsleep.
I was happy but not at al. That wasnt this what i was looking for. Then i found again this thread and again give a try (longer) :fingers-crossed:
I am running now treble omnirom for few weeks. Worst things i find is: magisk did not work (very sad, tried multiple versions with no luck, other users report magisk is working for them) and my bluetooth headphones arent working (probably our side bug too)
In plus: no random reboots, performance is very good, no slow downs, deepsleep problem almost gone (drain 6% overnight connected to wifi)
Didnt find any other bugs
I am really happy now. It would be exelent with magisk and bluetooth audio working
Great job, i stick with treble for now :laugh:
Thanks for your great work, Valera!
Have anyone tried this on SM-T820 (Wi-Fi only version)?
imder said:
Thanks for your great work, Valera!
Have anyone tried this on SM-T820 (Wi-Fi only version)?
Click to expand...
Click to collapse
Work only with T825
Any updates Master?
@Valera1978
Could you PLEASE make this for us left out t820 owners???
How does this rom with Lineage compare to your non-treble build? Any reason to switch if I want to stick with Lineage?
robsmith11 said:
How does this rom with Lineage compare to your non-treble build? Any reason to switch if I want to stick with Lineage?
Click to expand...
Click to collapse
You better wait for Pie relase. Valera is working on it.
suzook said:
@Valera1978
Could you PLEASE make this for us left out t820 owners???
Click to expand...
Click to collapse
Without device this is impossible. Look like somehow vendors is differ in 820/825, and I need device to understand, what is wrong, why vendor from 825 dnw on 820 (except ril, may be gps). It should be something simple. Because on my another samsung's tablet on exynos no diffs at all. Treble for wifi version I had made based on lte version in first attempt.
robsmith11 said:
How does this rom with Lineage compare to your non-treble build? Any reason to switch if I want to stick with Lineage?
Click to expand...
Click to collapse
I'll update non-treble build soon. And treble too. During working on treble I had fixed some stuff, like hexedit finger libs to remove shim lib. But I need fix audio in calls again first.
About pie - I dont see any reason to start work on it right now, it's too early, it still has a lot of problems. Better spend this time to make something cool - may be even make samsung port from note 9 or tab s4 with dex and some stuff.
But if you don't want use treble (I agree, it's may be too complicate with special twrp and additional partitions), I think I can prepare integrated pie system images with simple flash without any additional manipulations, like you flash lineage.
Valera1978 said:
Without device this is impossible. Look like somehow vendors is differ in 820/825, and I need device to understand, what is wrong, why vendor from 825 dnw on 820 (except ril, may be gps). It should be something simple. Because on my another samsung's tablet on exynos no diffs at all. Treble for wifi version I had made based on lte version in first attempt.
Click to expand...
Click to collapse
Man, if you would be somehow able to build a unified or a separate treble rom for 820, you would be the greatest man on xda! Cause we have no support for 820 anymore...
Code:
/*
* Your warranty is now void.
*
* 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 this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*
*/
LineageOS is a free, community built, aftermarket firmware distribution of Android 9 (Pie), which is designed to increase performance and reliability over stock Android for your device.
About this project
This is not a regular ROM. Usually, ROMs are based on certain components provided by the vendor (e.g. the heavily modified kernel and certain proprietary components). In contrast, this ROM makes use of a largely unmodified mainline Linux kernel together with many open-source components. Only a tiny bit of firmware is taken from the stock ROM.
This has many advantages for security and maintainability, but also means that certain hardware features (e.g. Camera, GPS) are difficult to implement because they require significant effort and a lot of reverse engineering. Nevertheless, this ROM has reached a state where it is very much usable with the majority of functionality implemented.
(See "Development" in the GitHub README for a more technical introduction...)
New features
Android 9 (LineageOS 16.0) with latest security patches
Linux 4.19 kernel
Meltdown, Spectre, RIDL, Fallout, ... fixes
Vulkan graphics (experimental)
Less/no bloatware
Full backlight control (allows much lower brightness)
F2FS (with a compatible recovery)
Signature spoofing (allows using MicroG instead of proprietary Google Play Services)
WireGuard
Tested features
Display, Backlight control
Graphics (OpenGL etc)
Touchscreen
WiFi, Bluetooth
Audio: Speaker, Headphones, Microphone
Battery, Charging
Sensors: Accelerometer, Magnetometer
Internal Storage/External Storage (SD Card)
USB, USB-OTG
Hardware video accelerated codecs
Planned features (not working yet)
Suspend/Deep sleep states
Not planned
Camera
GPS
FAQ
How is the battery live? Screen-on time is probably similar if not longer, but there is a lot of battery drain in standby mode (even worse than on the ASUS system). I recommend that you turn off the tablet when you're not using it.
How do I obtain root access? There are various ways, but the recommended way for LineageOS is to flash addonsu. (Available below.) However, note that this will break SafetyNet. Use Magisk alternatively.
Can I use Netflix with this ROM? Yes, although you will need to build and flash the Widevine DRM addon manually (see below).
Installation
Preparation
Make sure you are running Android Lollipop (5.0).
You need an unlocked bootloader. LineageOS 16.0 requires me176c-bootstrap 0.3.0, included in me176c-boot 0.3.0. (The old "Intel" bootloader is no longer supported.)
Install TWRP
Make a full backup of the ASUS system. You may want to go back to it.
Do a full factory reset. Wipe data and cache partitions.
Install the main system using the flashable ZIP below.
If needed, install additional addons not included with the main system (see below).
Download
System image (install as ZIP in recovery): lineage-16.0-20191213-UNOFFICIAL-me176c-signed.zip
TWRP recovery image: Available in a separate thread.
Addons
There are various packages you can flash for additional functionality. Most of them are proprietary. All addons persist during LineageOS updates, so you do not need to flash them again after updating.
Google Apps (Google Play Services, Play Store, ...): Use Open GApps (x86, Android 9.0)
Fingerprint (used to pass SafetyNet/Google Play certification): Flash me176c-asus-fingerprint-signed.zip.
Magisk users: Alternatively, you can use MagiskHide Props Config with the fingerprint asus/WW_K013/K013:5.0/LRX21V/WW_K013-12.10.1.36-20151230:user/release-keys
Root: Flash addonsu-16.0-x86-me176c-signed.zip. Remove using addonsu-remove-16.0-x86-me176c-signed.zip
This will break SafetyNet. Alternatively, you can use Magisk.
Widevine DRM (used in certain streaming apps like Netflix): Flash widevine-x86-chromeos-12499.66.0_atlas.zip* [see below]
Houdini (used to run ARM apps on x86, may help if an app shows up as incompatible): Flash houdini-x86-chromeos-12499.66.0_atlas.zip* [see below]
Signature Spoofing (for use with microG): Flash me176c-signature-spoofing-signed.zip to enable signature spoofing. Grant permission with caution only.
*Houdini/Widevine: I do not provide pre-built ZIPs for those two addons. (See this post for more information.)
They can be built easily on any Linux distribution using android_vendor_google_chromeos-x86. Takes just a few minutes (depending on your download speed). No development experience or Android source code required.
If you are unable to build it, someone else may share a build with you. In that case, you can verify its integrity using the SHA-1 checksums available in the release notes.
XDA:DevDB Information
Unofficial LineageOS for ASUS MeMO Pad 7 (ME176C(X)), ROM for the Asus MeMO Pad 7
Contributors
lambdadroid
Source Code: https://github.com/me176c-dev
ROM OS Version: 9.x Pie
ROM Kernel: Linux 4.x
ROM Firmware Required: me176c-boot(strap) 0.3.0+
Based On: LineageOS
Version Information
Status: Beta
Created 2019-05-12
Last Updated 2019-12-13
Version History
LineageOS 16.0 (2019-12-13)
lambdadroid said:
Android security patch level: December 5, 2019
Updates: Linux (4.19.75 -> 4.19.89), Mesa (19.1.7 -> 19.3.0), MediaSDK (19.2.1 -> 19.3.1), …
Addons
Widevine/Houdini: Recommended version is now: 12499.66.0_atlas
Download: lineage-16.0-20191213-UNOFFICIAL-me176c-signed.zip
Click to expand...
Click to collapse
LineageOS 16.0 (2019-09-22)
lambdadroid said:
Android security patch level: September 5, 2019
Updates: Linux (4.19.68 -> 4.19.75), Mesa (19.1.4 -> 19.1.7)
Addons
Widevine/Houdini: Recommended version updated to 12239.92.0_nocturne
Download: lineage-16.0-20190922-UNOFFICIAL-me176c-signed.zip
Click to expand...
Click to collapse
LineageOS 16.0 (2019-08-19)
lambdadroid said:
Android security patch level: August 5, 2019
Use WiFi firmware from stock ROM
Add LineageOS power profiles
The default setting disables the turbo frequencies of the CPU to reduce heat (like on LineageOS 14.1).
The old behavior of LineageOS 16.0 (turbo on) can be restored by setting the power profile to "Quick".
Updates: Linux (4.19.57 -> 4.19.68), Mesa (19.1.1 -> 19.1.4), MediaSDK (2019 Q1 -> 19.2.1)
Download: lineage-16.0-20190819-UNOFFICIAL-me176c-signed.zip
Click to expand...
Click to collapse
LineageOS 16.0 (2019-07-07)
lambdadroid said:
Android security patch level: July 5, 2019
Updates: Linux (4.19.49 -> 4.19.57), Mesa (19.0.6 -> 19.1.1)
Download: lineage-16.0-20190707-UNOFFICIAL-me176c-signed.zip
Click to expand...
Click to collapse
LineageOS 16.0 (2019-06-09)
lambdadroid said:
Security Advisory
Android security patch level: June 5, 2019
Added mitigation and CPU microcode update for:
CVE-2018-12126, CVE-2018-12130, CVE-2018-12127, CVE-2019-11091
aka Zombieload, RIDL, Fallout, MDS, … so many names, sigh
Changelog
Enabled MPEG2 video codecs (including hardware acceleration)
Fixed warning: "There's an internal problem with your device. Contact your manufacturer for details."
Flashing "vfp-fix-lineage-16.0-me176c-signed.zip" is no longer necessary
Updates: Linux (4.19.42 -> 4.19.49), Mesa (19.0.4 -> 19.0.6)
Addons
CPU Microcode addon is now obsolete, since CPU microcode updates are included by default again.
Re-install me176c-boot if you have been using it.
Widevine/Houdini: Updated to 11895.118.0_nocturne
There are now simplified build instructions in BUILDING.md
Download
Installable ZIP: lineage-16.0-20190609-UNOFFICIAL-me176c-signed.zip
Click to expand...
Click to collapse
LineageOS 16.0 (2019-05-12)
lambdadroid said:
This build is a major update to LineageOS 16.0 (based on Android 9 Pie) and contains several weeks of work with significant cleanup and other major changes.
Major changes
Based on LineageOS 16.0 (Android 9 Pie)
Use Android Go build configuration to optimize for low RAM (More information)
Hardware accelerated video codecs are now open-source
The remaining proprietary components are no longer included by default and must be flashed manually if needed: (More information)
Widevine DRM (used in certain streaming apps like Netflix)
Houdini (used to run ARM apps on x86)
CPU microcode update
New installation instructions
LineageOS 16.0 requires me176c-bootstrap 0.3.0, included in me176c-boot 0.3.0.
The old ("Intel") bootloader is no longer supported.
There are many new "addons" that can be flashed for full functionality.
Please check the new installation instructions on the LineageOS 16.0 thread before installing this update.
Upgrading
Upgrading from LineageOS 14.1 may work but is untested (and largely unsupported)
Upgrading from LineageOS 16.0 test builds is not possible!
Do a factory reset before installing the new build.
Improvements
Use MAC address from stock ROM for both WiFi and Bluetooth
Put Bluetooth in low power mode while not actively in use (#37)
Fixes
Android security patch level: May 5, 2019
MTP (#33)
Green artifacts on video thumbnails in Gallery (#51)
Headset / headphones microphone detection (#19)
Other changes
Updates: Linux (4.14.72 -> 4.19.42), Mesa (18.2.1 -> 19.0.4), MediaSDK (2018 Q2.2 -> 2019 Q1), …
Download
Installable ZIP: lineage-16.0-20190512-UNOFFICIAL-me176c-signed.zip
Click to expand...
Click to collapse
Great news, I will try today at home! Thanks!!!
I have tested it today. Seems be work without any problems. Thank you.
Houdini/WidevineDRM
So far this ROM is working without any problem, The performance is usable, and the battery is OK due to hardware limitations.
I have a problem installing Houdini and Widevine DRM (I Don't have any development experience) yet i don't understand the instructions on how to make a ZIP and how and where i should put the MK files.
If you dont want to provide the flashable ZIP files that is alright, but could you atleast make a guide that we can follow?
Great Job and Thanks for making this unusable tablet usable again.
Bazgir said:
I have a problem installing Houdini and Widevine DRM (I Don't have any development experience) yet i don't understand the instructions on how to make a ZIP and how and where i should put the MK files.
If you dont want to provide the flashable ZIP files that is alright, but could you atleast make a guide that we can follow?
Click to expand...
Click to collapse
Making a step by step guide is quite difficult because it really depends on the system you are using. I'm guessing that most users will already run into trouble because it can be only built on Linux.
Creating a guide to set up a virtual machine etc., how to get into a terminal etc would require a lot of effort. This is time that I would rather spent in development. I realize this entire situation isn't ideal, but I haven't been able to come up with a better solution.
If you have a working Linux system, building should be pretty simple:
Download and unpack https://github.com/me176c-dev/android_vendor_google_chromeos-x86/archive/11647.154.0_nocturne.tar.gz
Open a terminal and run (in the extracted folder):
Code:
$ ./extract-files.sh
$ zip/build.sh
Find flashable ZIPs in zip/out.
No development experience needed.
This is also roughly what is already explained in https://github.com/me176c-dev/android_vendor_google_chromeos-x86 although the README has more background information because it is really intended for people that would like to use that project in own projects (e.g. in other ROMs).
Maybe someone else here would like to provide more detailed instructions?
Hey, Thanks for the Reply!
I have already setup the Virtual Machine and even tried "Sudo ./extract-files.sh" I'll get the messedge "https://imgur.com/a/Y1lKg5P"
It probebly fail because i don't have the OS for the chromeOS, But then again where should i put the extractions file so that the script can locate and extract the nessecary files?
Am i missing something? a file maybe? or should the script takeout the nessecery files from internet? (i have almost no clue what im talking about )
I have the ASUS K013 (ME176CX) (1GB RAM) (8GB ROM)
Thanks again!
Hello Again,
I managed to create the ZIP files, The only problem i had was that i needed the recovery files for Chromeos (Nocturne),
Ones i had the files i extracted the recovery and got the file named propretary, and build the ZIP.
The link for the "I cant provide it for you because i don't have 10 post"
For other builds: cros-update-service-appspot.com (Try to find the one called nocturne and then 73 (then eddit the url so that u get 154.0 insted of 104.1))
This was a crusial step to understand how to extract the files, u also need to put the zip in to the same directori as extract.build.sh,
I have not yet tried this, so im not sure if it will work. The SHA.1 Matches
Thanks!!
Bazgir said:
I have the ASUS K013 (ME176CX) (1GB RAM) (8GB ROM)
Click to expand...
Click to collapse
There is really a K013 with only 8 GB internal storage?
I've read this a few times, but haven't seen one before. Good to know that the ROM works fine on it.
Bazgir said:
I have already setup the Virtual Machine and even tried "Sudo ./extract-files.sh" I'll get the messedge "https://imgur.com/a/Y1lKg5P"
It probebly fail because i don't have the OS for the chromeOS, But then again where should i put the extractions file so that the script can locate and extract the nessecary files?
Am i missing something? a file maybe? or should the script takeout the nessecery files from internet? (i have almost no clue what im talking about )
Click to expand...
Click to collapse
Great! The script downloads everything for you, but it looks like you don't have "curl" installed. On Ubuntu, you can install it using "sudo apt install curl". Then it will probably download the same file you have already downloaded manually.
Bazgir said:
I managed to create the ZIP files, The only problem i had was that i needed the recovery files for Chromeos (Nocturne),
Ones i had the files i extracted the recovery and got the file named propretary, and build the ZIP.
The link for the "I cant provide it for you because i don't have 10 post"
For other builds: cros-update-service-appspot.com (Try to find the one called nocturne and then 73 (then eddit the url so that u get 154.0 insted of 104.1))
This was a crusial step to understand how to extract the files, u also need to put the zip in to the same directori as extract.build.sh,
Click to expand...
Click to collapse
You can skip this if you have "curl" installed.
Thanks for trying to build it and your feedback! I will try to make the README more clear, especially regarding additional dependencies (e.g. "curl") plus the commands to run.
I'm supprised on how the ROM turned out to be, being a x86 platform even tho it's not supported anymore, with Houdini and Widevine.
I was able to play games on the phone such as Old school runescape on the tablet (Not perfect but playable) watch videos on youtube with the sound bug :/
The battery is better but still horrible (it was like this before), Might download somekind of deepsleep app such as Greenify for that.
What magisk module i have downloaded för best possible preformance is NFS-INJECTOR in Magisk.
I don't have any major problem with the 8GB ROM even tho the emmc memory is very very bad (Read 40Mb/s and write 8-10Mb/s) Somehow when i installed old SD card which is R 20Mb/s and 10Mb/s the tablets performance increase even tho it has lover read and write speed.
Is there a way to optimize the performance for the tablet even more? The main problem is RAM and ROM, i feel like the emmc memory and the amount of ram is holding back the CPU/GPU
Thanks!
Bazgir said:
I was able to play games on the phone such as Old school runescape on the tablet (Not perfect but playable) watch videos on youtube with the sound bug :/
Click to expand...
Click to collapse
Sound bug?
Bazgir said:
I don't have any major problem with the 8GB ROM even tho the emmc memory is very very bad (Read 40Mb/s and write 8-10Mb/s) Somehow when i installed old SD card which is R 20Mb/s and 10Mb/s the tablets performance increase even tho it has lover read and write speed.
Is there a way to optimize the performance for the tablet even more? The main problem is RAM and ROM, i feel like the emmc memory and the amount of ram is holding back the CPU/GPU
Click to expand...
Click to collapse
Android and most apps raise their requirements each year as new devices are released with higher specs. Many devices come with 6GB+ RAM now.
Altogether, this tablet was already low-end when it was released. The CPU is pretty good compared to low-end ARM processors. But with ~800MB usable RAM this tablet can simply not keep up with apps that require more and more resources.
This tablet would do fine if Android and apps were continuously optimized to use less resources. However, the development actually goes into the opposite direction.
Sooner or later, this tablet will probably no longer manage to boot new Android versions at all, simply because all RAM is taken up by the system.
My point is: If you want to optimize this tablet, you need to go back in time. Not just with the OS (e.g. by downgrading to Android 4.4 KitKat), but with all apps you are using. If you go to ~2015 this tablet will likely do a much better job.
This ROM is definitely less "optimized" for this specific device, simply because it does not have most of the device-specific hacks they had for these Intel tablets back then. But this is the price for being able to keep it up to date with acceptable effort. And if you look back to ASUS's version of Lollipop, it usually didn't feel much better either even though it was technically more "optimized".
lambdadroid said:
Sound bug?
Android and most apps raise their requirements each year as new devices are released with higher specs. Many devices come with 6GB+ RAM now.
Altogether, this tablet was already low-end when it was released. The CPU is pretty good compared to low-end ARM processors. But with ~800MB usable RAM this tablet can simply not keep up with apps that require more and more resources.
This tablet would do fine if Android and apps were continuously optimized to use less resources. However, the development actually goes into the opposite direction.
Sooner or later, this tablet will probably no longer manage to boot new Android versions at all, simply because all RAM is taken up by the system.
My point is: If you want to optimize this tablet, you need to go back in time. Not just with the OS (e.g. by downgrading to Android 4.4 KitKat), but with all apps you are using. If you go to ~2015 this tablet will likely do a much better job.
This ROM is definitely less "optimized" for this specific device, simply because it does not have most of the device-specific hacks they had for these Intel tablets back then. But this is the price for being able to keep it up to date with acceptable effort. And if you look back to ASUS's version of Lollipop, it usually didn't feel much better either even though it was technically more "optimized".
Click to expand...
Click to collapse
Ignore the sound bug, I will just use headphones (small fix).
That's true, om overall pretty happy with the result nevertheless.
Thank you.
Bazgir said:
Ignore the sound bug, I will just use headphones (small fix).
Click to expand...
Click to collapse
I'm not aware of a "sound bug". If you would like to have it fixed, you will need to explain it a bit further.
Do not hesitate to report minor problems; some of them are really easy to fix and exist only because of an oversight. For all others I will decide if they are worth the effort.
lambdadroid said:
I'm not aware of a "sound bug". If you would like to have it fixed, you will need to explain it a bit further.
Do not hesitate to report minor problems; some of them are really easy to fix and exist only because of an oversight. For all others I will decide if they are worth the effort.
Click to expand...
Click to collapse
It's very hard to explain the sound it makes, but when ever i start a youtube video, it basicly has to encode the video and the sound, The sound syncs upp with the video and there for when the video is a bit choppy it creates those weird sounds.
This is what im talking about "https://vocaroo.com/i/s1s7rSAFCIv0"
Not sure if its a video encoding problem but looks like it.
Thanks
Bazgir said:
It's very hard to explain the sound it makes, but when ever i start a youtube video, it basicly has to encode the video and the sound, The sound syncs upp with the video and there for when the video is a bit choppy it creates those weird sounds.
This is what im talking about "https://vocaroo.com/i/s1s7rSAFCIv0"
Not sure if its a video encoding problem but looks like it.
Thanks
Click to expand...
Click to collapse
I had also encounter this problem in LineageOS 14.1 of this tablet... I have noticed that it always happen when multiple sounds are composed by the tablet itself instead of composed by one app. (When it plays notification sound when music (using music player) playing, it sounds laggy for a while, but when a game plays multiple sounds, it's fine.) Also, after not playing any sounds for a while, it will create a loud pop sound right when the first sound is played. (And it hurts my ear when I'm using earphones... :silly: ) I haven't managed to build the Widevine and Houdini pack, so I don't know if the problem still goes the same in 16.1, but it seems that the same problem still exists. Hope that these information helps to fix the bug.
Frisk Dreemurr said:
I had also encounter this problem in LineageOS 14.1 of this tablet... I have noticed that it always happen when multiple sounds are composed by the tablet itself instead of composed by one app. (When it plays notification sound when music (using music player) playing, it sounds laggy for a while, but when a game plays multiple sounds, it's fine.) Also, after not playing any sounds for a while, it will create a loud pop sound right when the first sound is played. (And it hurts my ear when I'm using earphones... :silly: ) I haven't managed to build the Widevine and Houdini pack, so I don't know if the problem still goes the same in 16.1, but it seems that the same problem still exists. Hope that these information helps to fix the bug.
Click to expand...
Click to collapse
Here is the link for Houdini: https://mega.nz/#!E9li3QBJ!uN_TVlPjWUu50F5j4FIk6CqapMt9_k7ix5r01GrdyVQ
Here is the link for Widevine: https://mega.nz/#!kxlWlI6Z!u5OqNzys3r1LyMq3U1UOejsxj87GR1-f6f5Bn6u12mI
Not sure if it will work for you, make sure you do a backup :good:
I´ve installed the ROM and it works great! Thanks a lot!
Bazgir said:
It's very hard to explain the sound it makes, but when ever i start a youtube video, it basicly has to encode the video and the sound, The sound syncs upp with the video and there for when the video is a bit choppy it creates those weird sounds.
This is what im talking about "https://vocaroo.com/i/s1s7rSAFCIv0"
Not sure if its a video encoding problem but looks like it.
Click to expand...
Click to collapse
Frisk Dreemurr said:
I had also encounter this problem in LineageOS 14.1 of this tablet... I have noticed that it always happen when multiple sounds are composed by the tablet itself instead of composed by one app. (When it plays notification sound when music (using music player) playing, it sounds laggy for a while, but when a game plays multiple sounds, it's fine.)
Click to expand...
Click to collapse
Weird, I've never seen (heard) this issue even though I test video playback quite often. I used to have problems with touch sounds that were usually played high pitched for some reason, but it magically went away with some later 14.1 release.
Frisk Dreemurr said:
Also, after not playing any sounds for a while, it will create a loud pop sound right when the first sound is played. (And it hurts my ear when I'm using earphones... :silly: )
Click to expand...
Click to collapse
I know about this one. Quite annoying. I suspect that it is due to some kind of energy saving. (The headphones get turned off after unused for a while.) Not sure how to avoid it...
Frisk Dreemurr said:
I haven't managed to build the Widevine and Houdini pack, so I don't know if the problem still goes the same in 16.1
Click to expand...
Click to collapse
FYI you don't need Widevine/Houdini for most apps. Listening to Music, watching normal YouTube videos works fine without it.
Widevine is mainly needed for paid video streaming (e.g. movies, ...), and Houdini for more uncommon apps and games that are not compiled for x86 (you can install it as soon as you see an app that is displayed as "incompatible" with your device).
Bazgir said:
Here is the link for Houdini: https://mega.nz/#!E9li3QBJ!uN_TVlPjWUu50F5j4FIk6CqapMt9_k7ix5r01GrdyVQ
Here is the link for Widevine: https://mega.nz/#!kxlWlI6Z!u5OqNzys3r1LyMq3U1UOejsxj87GR1-f6f5Bn6u12mI
Not sure if it will work for you, make sure you do a backup :good:
Click to expand...
Click to collapse
Thanks a lot for offering the files! :good: But it seems like it's not working on my tablet... :crying: (The SHA-1 of the files I downloaded matches the correct one.) Any ways to solve this problem?
Frisk Dreemurr said:
it seems like it's not working on my tablet... :crying: (The SHA-1 of the files I downloaded matches the correct one.) Any ways to solve this problem?
Click to expand...
Click to collapse
Weird error. Can you try flashing from internal storage/external SD card or using ADB sideload? Might be related to USB OTG.
GravityBox - all-in-one tweak box - Xposed module for devices running Android 11
Version 11.0.5 [R]
Version for JellyBean is available in this thread: https://forum.xda-developers.com/showthread.php?t=2316070
Version for KitKat is available in this thread: https://forum.xda-developers.com/showthread.php?t=2554049
Version for Lollipop is available in this thread: https://forum.xda-developers.com/showthread.php?t=3037566
Version for Marshmallow is available in this thread: https://forum.xda-developers.com/showthread.php?t=3251148
Version for Nougat is available in this thread: https://forum.xda-developers.com/showthread.php?t=3653953
Version for Oreo is available in this thread: https://forum.xda-developers.com/showthread.php?t=3739929
Version for Pie is available in this thread: http://forum.xda-developers.com/showthread.php?t=3908768
Version for Q is available in this thread: http://forum.xda-developers.com/showthread.php?t=3974497
READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER
Introduction
The app utilizes Riru-EdXposed Magisk module which uses original Xposed Framework API created by rovo89.
!!!!!! WARNING !!!!!!
This module utilizes EdXposed Framework which is still in early development stage and may contain bugs or might not be fully compatible with the system of your Android device. I take no responsibility for any issues arising from using GravityBox with EdXposed and strongly recommend creating a full backup of your device before activating the module.
Requirements
- Magisk v21 or later
- Riru v23 or later (Magisk module)
- EdXposed Manager (Application)
- Avoid using Resource hooking support if possible (Can be disabled in EdXposed Manager settings)
Installation
This procedure assumes you have working Magisk installation.
1) Install Riru module in Magisk Manager
2) Install and run EdXposed Manager app and download Riru-EdXposed module v5.1.3.x or later (currently Alpha/Canary)
3) Install downloaded Riru-EdXposed module in Magisk Manager
5) Reboot and open EdXposed Manager app to check if EdXposed works and is active
6) Install GravityBox and enable it in EdXposed Manager
7) Reboot and profit
Required whitelisted packages
In case you use blacklist/whitelist functionality of EdXposed make sure all the following packages are whitelisted (not blacklisted respectively) for full GravityBox experience.
- Android System (android)
- System UI (com.android.systemui)
- Call Management (com.android.server.telecom)
- Download Manager (com.android.providers.downloads)
- Phone (com.android.dialer or com.google.android.dialer)
- Phone Services (com.android.phone)
- Phone (com.android.incallui) (OxygenOS only)
- Keyboard app (e.g. Gboard) in order to be able to use "Volume key cursor control" feature
It is strongly recommended to use Whitelist functionality for better performance as EdXposed hooks only smaller amount of processes.
In case of running multiple Xposed modules consult their whitelist requirements with the devs of module.
Feature highlight
--- Lockscreen tweaks
--- QuickSettings tile management with additional tiles
--- Statusbar tweaks
--- Navigation bar tweaks
--- Pie controls
--- Power tweaks
--- Display tweaks
--- Phone tweaks
--- Media tweaks
--- Hardware/navigation key actions
--- GravityBox Actions - interface for 3rd party apps
--- Notification control (per-app notification LED/sounds/vibrations)
--- Fingerprint launcher
--- Advanced tuning of Framework and System UI parameters
... and many more
Compatibility
GB's main concept is to make most of the preference changes to be done on the fly without need to reboot a device to achieve custom-ROM like experience.
This means it is not possible to "completely deactivate" particular feature if it causes trouble on your device or if you installed GB because you want to use only one particular feature you can't find elsewhere.
This results in issues on ROMs/devices that have parts that are diverting from default Android implementation too much, or are running heavily modified custom ROMs.
If you experience weird issues after installing GB, even if you didn't activate a particular feature, it is not because of GB is broken, it is because it is not compatible with your ROM.
It is very similar to a situation when you installed ROM built from source for Nexus to some Xperia device - it won't work.
GB is a complex module and is not suitable for 1 purpose scenario. This means, if you are running custom ROM built from source, and you are missing a certain feature, your best option is to go ask creators of those ROMs to implement those additional features. Supplementing missing features on well-known custom ROMs built from source by installing xposed modules (especially complex ones) is definitely not a good way to go and can cause more trouble than good.
GB being a complex module, it shouldn't be combined with other complex modules often racing for the same goal. They can conflict/fight on the same playground and there's no way you can deterministically say which one's going to win. They can even lose both.
So in summary:
- this module is designed to run on vanilla or close-to-vanilla Android 11 (AOSP)
- officially supports devices/systems it was developed and tested on
- Samsung, HTC, MIUI, Xperia, Lenovo, etc. are NOT supported. It is not guaranteed this module will work on these at all so try at your own risk. This module is simply too complex to support all kind of ROM brands that were vastly modified by vendors.
- DO NOT USE WITH CUSTOM ROMS MODULE WAS NOT EXPLICITLY DESIGNED FOR
- I will not implement any exceptions that will adapt this module to a specific custom ROM. Please, do understand, it is unmanageable.
- I will not provide any support for devices violating these compatibility rules
GravityBox [R] has been designed for and tested on
- Pixel 3a running Google OS
- OnePlus 7Pro running Oxygen OS 11
Reporting bugs
If possible, please use Github issue reporting interface for reporting bugs.
If you experience problems with certain feature, provide the full-detailed info that can help me
to reproduce the bug and attach logs that can be exported from EdXposed Manager app.
Real-time logging can be performed by using ADB: adb logcat -s EdXposed-Bridge
In case you experience SystemUI crashes or other apps Force Closing, or device soft reboots, attach logcat from time
crash occurs. (use adb logcat *:E or your favorite logcat app from Play Store).
Please, don't attach big logs. Only the portion where error is clearly seen.
Disable all other xposed modules before reproducing bug to make sure it is really GravityBox related
Remember, this app was developed and tested on one particular device so it is not guaranteed that it will work flawlessly on yours.
Multilanguage support
Volunteers are welcome to translate GravityBox to other languages.
Preferred way is to use GitHub interface to fork your own copy of GravityBox, make changes and then send pull request against original repository.
Anoter way is to simply download this file: https://github.com/GravityBox/GravityBox/raw/r/GravityBox/src/main/res/values/strings.xml
Use Notepad++ to edit strings and then send me edited file so I can include translations into next release.
Source code
GravityBox is opensource. Sources are available in my gihub: https://github.com/GravityBox/GravityBox/tree/r
If you're a dev and have some ideas for additional features, feel free to fork it, work on it and send the pull requests.
Copyright notice
https://github.com/GravityBox/GravityBox/blob/r/NOTICE
Support development
Coding, maintaining and supporting this project costs me a lot of my precious time. If you find this project useful, you are more than welcome to support its development via donation. This form of support is meant to compensate for my time dedicated to the community + eventually, help me to afford newer device to keep up with AOSP evolution thus providing continuous support as Android evolves. Thanks!
Info about premium features and PayPal transaction ID verification system
1) Those who supported development via PayPal donation can use their PayPal transaction ID to unlock premium features.
As of v2.9.5, there are three premium features:
- Backup/restore of GB settings.
- Ultimate notification control
- Advanced Tuning
2) If you contributed to the project by providing translations, code fragments, or by any other way
you can apply for a free transaction ID by contacting me via PM.
3) Be aware that there's a system that can identify potential transaction ID
abuse. E.g. when one ID is being used by more users. Such IDs will get blocked automatically.
In case you own more devices, you can use one transaction ID on up to 10 of them.
4) If you are using your own custom builds of GB for personal use, you will get hash mismatch
upon verifying your ID as verification system accepts requests only from official releases of GB.
If you want to be able to verify IDs with your custom build, contact me via PM so I can setup
a special hash for your build.
If you are using a custom build that you provide for broader group of users (e.g. in a custom ROM),
it is necessary to ask for new hash everytime your new custom version is released for public use.
These rules are based on mutual trust so please, do not violate them.
Credits
- RikkaW for creating and maintainng Riru Magisk module
- solohsu & MlgmXyysd for creating and maintaining EdExposed Magisk module
- @frank93 for donating Pixel 3a for development
- @bgcngm for his code contributions to the project
- @MohammadAG for Xperia specific contributions to the project
- @rovo89 for his ultimate Xposed framework and "Volume keys to skip track" mod
- @peptonib for starting me up with this project
- @simmac for app icon
- @romracer for Motorola specific code contributions
- @firefds for Samsung specific code contributions
- CyanogenMod project
- ParanoidAndroid project
- Slim, RootBox, AOKP, OmniROM projects
- Sergey Margaritov for ColorPickerPreference
- ArthurHub for Image cropping library
- All those who provided translations for different languages (Mr.Premise, peptonib, kidmar, ch-vox, romashko, Indiant, lelemm, oicirbaf, unavix, LuHash, WedyDQ10, mp3comanche, awaaas, liveasx, samsonbear, Eric850130, xtrem007, benjoe1, asmb111, Fatih Firinci, ...)
- and finally, all those who keep the project alive by supporting me via donations (you know who you are)
Changelog
https://github.com/GravityBox/GravityBox/blob/r/CHANGELOG.txt
Changelog 11.0.5 - 08/08/2021
- Lockscreen: added option to blur media artwork on lockscreen (thanks to robbins)
- Navbar: allow cursor control keys in gestural navbar
- Dialer: adjusted for compatibility with the latest Google Dialer
- Properly identify OnePlus 8T as device running OxygenOS ROM (thanks to F-i-f)
--- should improve compatibility significantly
Developed and tested on:
- Pixel 3a running Google OS
- OnePlus 7Pro running Oxygen OS 11
Current issues
- Display: Expanded Desktop - immersive modes not working
- Key actions: Home double-tap not working
- Lockscreen: Changed custom carrier text won't appear immediately
- Custom Battery indicator: stock battery may appear for a while after the reboot
- ... + potentially others mainly device/system variation specific
Removed features
- GPS and SlimKat tiles - location modes (battery saving/high accuracy/device) no longer exist in Android 11
- Audio Recording tile - background recording of audio not possible in Android 11
Download
https://github.com/GravityBox/GravityBox/releases/tag/v11.0.5_r
Settings
It is possible to restore settings that were backed up in GravityBox [Q]
Simply transfer "GravityBox" folder from internal storage of one device to internal storage of another device.
Required whitelisted packages
In case you use blacklist/whitelist functionality of EdXposed make sure all the following packages are whitelisted (not blacklisted respectively) for full GravityBox experience.
- Android System (android)
- System UI (com.android.systemui)
- Call Management (com.android.server.telecom)
- Download Manager (com.android.providers.downloads)
- Phone (com.android.dialer or com.google.android.dialer)
- Phone Services (com.android.phone)
- Phone (com.android.incallui) (OxygenOS only)
- Keyboard app (e.g. Gboard) in order to be able to use "Volume key cursor control" feature
It is strongly recommended to use Whitelist functionality for better performance as EdXposed hooks only smaller amount of processes.
In case of running multiple Xposed modules consult their whitelist requirements with the devs of module.
Credits
@frank93 for donating Pixel 3a for developemnt
Commit history
Commit history for transition from 11.0.4 to 11.0.5
@C3C076
Mate, you did it. Congratulations.
Can't wait to try it out.
Really appreciate your efforts in bringing this to us 11ers.
Cheers
2021 is looking good! Thank you so much. Working flawlessly on my pixel 3a
@C3C076
THIS is the first gift I've received of the new year. Thank you, sir!!!
Now, that's pretty awesome!
And the January update from Google should drop soon as well.
Thanks a lot @C3C076!
Got my Github notification this morning about the [R] pre-release! Just now updated my Pixel 4 XL from 08-2020 (Android 10) to 09-2020 (Android 11) using my keep root / seamless update method with no problems. Everything working perfectly fine! All I had to do was first disable GravityBox [R] in EdXposed Manager, and disabled Kirisakura AK3 (kernel) module helper in Magisk Manager. Upgraded to Android 11 with no issues at all, and everything system and root-wise seems to work perfectly fine. My current running list of Magisk / Xposed modules: https://forum.xda-developers.com/t/guide-edxposed-gpay-discussion.3992607/post-84193393
(I'm hoping @Ghisy finds this helpful, hehe)
Though I'm gonna play it safe and OTA each month, instead of factory image (sans "-w" flag) jumping. Gonna work my way up to the current firmware, then test out GravityBox [R] - thanks so much @C3C076! The fact that so many people like me have held off on upgrading to the latest Android version just based on your work should speak volumes! I'll report back once I'm able to actually play around with GB[R] some. The baby's starting to wake... :O
edit: my son rolled over, coo'ed, and faceplanted back to sleep <3
- Also should note, I was on Kirisakura 5.2.6 kernel before. Now on 6.6.0, all is well!
- Also wanted to note, SafetyNet was passing (with my current configuration) on 09-2020 build with no further modifications necessary. I just finished updating up to 12-2020, and SafetyNet is still passing . Activating GravityBox module now, and will further report back!
edit 2: Seems verrrry stable so far! The only thing I found that didn't work properly (or rather, worked 80% correctly) was for an option that I don't even normally use, and accidentally toggled, haha. Under QuickSettings management -> Tiles per header, each option works fine, but when selecting 8, it still only shows 7.
Other than that, at least as far as the options that I personally use, everything seems fine! I didn't get a chance to test out every function affected by my set of GB options in such a short time, of course, but I will certainly report if there are any issues. And of course I won't list every single option I ticked off, but attached is my backup file / preferences of my current config for anyone who may be curious. Again, keep in mind that compared to the vast functions GB offers in totality, I only use what I use so of course I can't account for the entirety of GB. But from what I've tested so far, it seems damn stable and this has made my transition to Android 11 pretty much seamless!
and @Ghisy, I'll send you some more details when I get a chance, certainly well before the weekend. Though if it's any consolation, in total the actual updating process only took me about an hour, if not less! Probably took me more time to actually download the files and prep, lol. XD
i5lee8bit said:
Just now updated my Pixel 4 XL from 08-2020 (Android 10) to 09-2020 (Android 11) using my keep root / seamless update method with no problems.
[...]
My current running list of Magisk / Xposed modules: https://forum.xda-developers.com/t/guide-edxposed-gpay-discussion.3992607/post-84193393
(I'm hoping @Ghisy finds this helpful, hehe)
[...]
Activating GravityBox module now, and will further report back!
Click to expand...
Click to collapse
Ha, thanks!
I'd be interested in your seamless update process if you don't mind sharing! Although I might go the image (sans -w) route instead.
Not sure I'll update until the week-end, I don't have much time on weekdays.
Ghisy said:
Ha, thanks!
I'd be interested in your seamless update process if you don't mind sharing! Although I might go the image (sans -w) route instead.
Not sure I'll update until the week-end, I don't have much time on weekdays.
Click to expand...
Click to collapse
see my edit above =)
But I also wanted to separately post a big finding of great news (at least for me)! - The volume key cursor control option now seems to persist through reboots, without needing to toggle the option again after reboots! Not sure, tbh, if this was fixed on [Q] already due to / as a side effect of the big Riru / EdXposed updates, but at least I can confirm that it definitely works on [R] now as intended. Woohoo!
Also @C3C076, donated an extra $10 USD via PP (20485146561217901). You're already very generous for enabling Family Library, and this should cover for installing the unlocker on my backup/secondary Android devices as well as my wife's phone. I also figured it would be better to donate via PP than disabling Family Library and purchasing again from Play Store, assuming higher fees from Google.
i5lee8bit said:
see my edit above =)
But I also wanted to separately post a big finding of great news (at least for me)! - The volume key cursor control option now seems to persist through reboots, without needing to toggle the option again after reboots! Not sure, tbh, if this was fixed on [Q] already due to / as a side effect of the big Riru / EdXposed updates, but at least I can confirm that it definitely works on [R] now as intended. Woohoo!
Also @C3C076, donated an extra $10 USD via PP (20485146561217901). You're already very generous for enabling Family Library, and this should cover for installing the unlocker on my backup/secondary Android devices as well as my wife's phone. I also figured it would be better to donate via PP than disabling Family Library and purchasing again from Play Store, assuming higher fees from Google.
Click to expand...
Click to collapse
Thanks. Your support is very much appreciated. Too kind. Interesting find about volume key cursor control. As you can see in the 2nd post I listed it there as currently not working . Looks like I'll have to take a look again. Do you use whitelist (App list mode enabled in EdXposed settings) ?
i5lee8bit said:
see my edit above =)
Click to expand...
Click to collapse
would you mind sharing your upgrade procedure from android 10 to 11 though? i’m not sure why, but my "usual" procedure (using the complete firmware, patching the boot.img, flashing everything including that boot-image afterwards) fails with all of the android 11 images. :/
(feel free to directmessage if you think it’s off topic here of course.)
frank93 said:
would you mind sharing your upgrade procedure from android 10 to 11 though? i’m not sure why, but my "usual" procedure (using the complete firmware, patching the boot.img, flashing everything including that boot-image afterwards) fails with all of the android 11 images. :/
(feel free to directmessage if you think it’s off topic here of course.)
Click to expand...
Click to collapse
If I can share my experience. I applied standard system update procedure from settings being on Pie (had it on your pixel to bring update for GB for Pie). This went without uninstalling magisk etc. I simple went incrementally from Pie through Q up to R and then several security update. Only after I was in the latest update I grabbed boot.img from corresponding system image, patched it using magisk and then flashed using fastboot. All apps and settings were preserved from Pie.
thanks. sounds about "right", your last step is basically what i’ve been doing as well previously (the "system update" never worked for me though, but i didn’t care too much). there must be something fishy going on with my device then. i’ll try again soon.
(in the end i wouldn’t even mind being without root for a few bootups inbetween, so .. i’ll flash the stock boot image and try booting android 11 then. if it works, i can try getting back root just as well afterwards i guess.)
frank93 said:
thanks. sounds about "right", your last step is basically what i’ve been doing as well previously (the "system update" never worked for me though, but i didn’t care too much). there must be something fishy going on with my device then. i’ll try again soon.
(in the end i wouldn’t even mind being without root for a few bootups inbetween, so .. i’ll flash the stock boot image and try booting android 11 then. if it works, i can try getting back root just as well afterwards i guess.)
Click to expand...
Click to collapse
Yeah, note that I never flashed full rom image. I went using standard system update from settings. In the end it was only patched boot.img I flashed.
okay, apparently not even a "real" firmware update (using the original stock boot image) works for me. loops back to bootloader 2-3 seconds after the google-logo. so i guess there’s something else wrong with my device/system.
i’ve "updated" back to the latest/last android 10 for now (there the firmware upgrade/downgrade works!?), and i’ll scratch my head another time i think. thanks for your input though!
i5lee8bit said:
and @Ghisy, I'll send you some more details when I get a chance, certainly well before the weekend. Though if it's any consolation, in total the actual updating process only took me about an hour, if not less! Probably took me more time to actually download the files and prep, lol. XD
Click to expand...
Click to collapse
Thanks, I appreciate it! You took one for the team and shared interesting info too! *(air) high five*
C3C076 said:
Thanks. Your support is very much appreciated. Too kind. Interesting find about volume key cursor control. As you can see in the 2nd post I listed it there as currently not working . Looks like I'll have to take a look again. Do you use whitelist (App list mode enabled in EdXposed settings) ?
Click to expand...
Click to collapse
I use App List mode, but not White List mode, as I use the Pass SafetyNet option (so basically on Blacklist mode). Because I also have GPay working and all (I've linked to that thread before, it's the one I linked with my list of active modules). Hahaha, I didn't even realize you put in the 2nd post about it not working - weird! Definitely working for me though, using these current configurations.
frank93 said:
would you mind sharing your upgrade procedure from android 10 to 11 though? i’m not sure why, but my "usual" procedure (using the complete firmware, patching the boot.img, flashing everything including that boot-image afterwards) fails with all of the android 11 images. :/
(feel free to directmessage if you think it’s off topic here of course.)
Click to expand...
Click to collapse
Since I'm sure others may find it useful, I'll post it here. Also, @C3C076 may find it useful to follow this concept, assuming things are similar for Pixel 3a (I've been a long time HTC user, up til U12+ and only then switched to Pixel phones, 4 for wife and 4 XL for me to be exact).
My firmware update procedure is basically predicated on restoring the stock boot and dtbo (dtbo in case custom kernel flashed) images for your current build, which restores the stock firmware (and therefore recovery) and "unroots" / stock-ifies the phone without removing any of your Magisk or EdXposed configs, which allows you to simply boot into recovery and apply (sideload) OTA zip from stock recovery. Before booting back into system after OTA flash, reboot back into bootloader and flash the new build's Magisk-patched boot image, and when you boot up into system, voila, seamless, intuitive, and relatively safe update to new firmware version. Worst case scenario, if you bootloop you just flash the stock boot image (or even better, a modified Magisk Core Only boot image) and fix whatever is causing the problem.
Here is a link to my guide for September 2020 build, which was the first Android 11 build. There's a bunch of additional notes due to the major update at the time, though some of the info is a bit outdated. I assumed everyone at the time was on a very specific versions of firmware, Magisk, EdXposed, and even modules, etc. But if you read, especially the 2nd post, you can certainly understand how it all works and how we could apply the process from any firmware version. Here's the thread: https://forum.xda-developers.com/t/...0-009-coral-magisk-stock-boot-images.4160787/
- I recommend giving the procedure a read, as you should be able to understand the intuition behind the process I use.
As we're already (assuming) on latest Magisk, Magisk Manager, EdXposed, Riru, etc. etc, we don't need to worry as much about compatibility of our installed modules before OTA'ing. So basically, I condensed down what needs to be disabled, in my case, to the old GravityBox module (obviously), and the old Kirisakura (my kernel on Q) kernel helper Magisk module. You would also want to disable any modules, Magisk and EdXposed, that may not be compatible with [R] yet.
So here was my update procedure, from here on, coming from August 2020 build already on Magisk 21.2 and up to date EdXposed / Riru / etc. modules - SPECIFICALLY FOR PIXEL 4 XL "CORAL"
(OPEN THE "SPOILER" TO VIEW!):
Spoiler: Pixel 4 XL (and by extension and intuition, hopefully other Pixel series) keep-root / updating guide-procedures
NOTE: The files I provide are specifically only for Pixel 4 XL!! You will need to obtain the correct files for your own device to follow this procedure, but the same idea should be able to be applied!
First, I downloaded the boot and dtbo file(s) for Aug. 2020 thru Dec. 2020 builds. Here's a link to my AFH uploads for these files: P4XL Boot / DTBO files
Then, I patched each month's boot image with Magisk 21.2, and put them to the side.
There's only stock dtbo.img for 08-2020 because dtbo will remain stock throughout the updating procedure, fyi.
Actually, hell, for Pixel 4 XL "Coral" users, to make your life extremely easy, I've uploaded all the files you'll need to follow this here!! - LINK HERE
And OTA files from Google servers: LINK#2 HERE
Disabled GravityBox [Q] module in EdXposed Manager / Uninstall GravityBox [Q]
(Don't bother installing GravityBox [R] yet)
Disabled Kirisakura AK3 Kernel Helper module in Magisk Manager
(you'll also want to disable any modules that potentially may not work with [R])
-- Reboot once to finalize disabling the modules --
(Don't boot back into system until this section is done, to ensure all root, settings, mods, etc. are retained - this is basically the 2nd post of the September guide I linked earlier)
- Reboot into Bootloader mode -
fastboot flash boot 08-boot.img
fastboot flash dtbo 08-dtbo.img
(these steps revert recovery to stock)
- Reboot into Recovery mode-
(when No Command / Android icon shows up, hold power button and tap volume up to get to recovery menu)
Choose option: Apply update from ADB
adb sideload (09-2020 OTA zip).zip
after OTA zip flash completes, REBOOT BACK TO BOOTLOADER
fastboot flash boot 09-patched.img
- NOW REBOOT INTO SYSTEM! -
When your phone boots back into Android (11), you will be rooted, with all mods and settings retained. And if you passed SafetyNet before with the right combination of mods and settings, it should still pass now. While you can, I wouldn't yet bother installing GravityBox [R] quite yet. Let's first continue to incrementally upgrade until we're at 12-2020 (or 01-2021 depending on when you're reading this). Basically, just make sure the Android System Update notification (sorry, I don't remember exactly the notification label, but you'll know when you see it) indicates the update completed before proceding.
Now we just repeat my OTA update procedure again, except no need to flash stock dtbo images, as we're not doing anything (like flashing custom kernel) in this short amount of time that modifies the dtbo partition.
Reboot into bootloader mode
fastboot flash boot 09-boot.img
Reboot into recovery mode
Apply update from ADB
adb sideload (10-2020 OTA zip).zip
Reboot to bootloader
fastboot flash boot 10-patched.img
Boot to system
Allow time for the system update notification to indicate update was completed.
Reboot into bootloader mode
fastboot flash boot 10-boot.img
Reboot into recovery mode
Apply update from ADB
adb sideload (11-2020 OTA zip).zip
Reboot to bootloader
fastboot flash boot 11-patched.img
Boot to system
Allow time for the system update notification to indicate update was completed.
Reboot into bootloader mode
fastboot flash boot 11-boot.img
Reboot into recovery mode
Apply update from ADB
adb sideload (12-2020 OTA zip).zip
Reboot to bootloader
fastboot flash boot 12-patched.img
Boot to system
EDIT: Google released January 2021 firmware update, literally minutes after (or maybe while??) I was posting this! Here is my January 2021 easy update guide for Pixel 4 XL: https://forum.xda-developers.com/t/...5-003-coral-magisk-stock-boot-images.4213263/
Allow time for the system update notification to indicate update was completed.
Install GravityBox [R], activate module, reboot one more time, have fun!!
Also install custom kernel or whatever else you might need to do as well.
To be honest, I kinda rushed this post, so I'll re-read it later and make sure I didn't make any little mistakes. But hopefully if you read my guides threads and stuff (like, actually read it), the entire concept should be very clear and intuitive to you! Assuming other Pixel phones (at least AB Pixel devices) have similar partitioning schemes, this should be very useful knowledge to have, as it makes updating to new firmware versions incredibly easy and low risk. Good luck, I hope this huge post helps some people / makes a better day for someone! =)
EDIT: @frank93, seeing your linked post, I see you have a Pixel 4a. Unfortunately you obviously can't use the exact files I provided / linked, but you should still be able to follow the same procedure. Just grab the OTA's, plus the full factory images, pull the necessary boot and dtbo files from the factory images, and Magisk patch the boot images for each month, and name / organize all the files and put them aside on your computer. You should still be able to follow my procedure, but with your files. I hope it works for you with no problems if you decide to try it!
Has anyone tried one plus 8t?
...aaaand Pixel January 2021 update just dropped
Awesome! 2021 is looking good! Donation sent! Keep up the awesome work bro! Working flawlessly on my Pixel 3xl