Related
In this post, I would like to explain what kexec-hardboot patch is and also bring it to light a bit more since until now, it was only burried in MultiROM thread.
@kernel developers: I would like to ask you to merge this patch to your kernels, because it is essential part of MultiROM - it allows me to boot any kernel without changing the boot partition. I realize that it is no small request, but the patch is not big, touches relatively stable parts of kernel and should not cause any problems. Thank you.
What is kexec?
It is syscall of Linux kernel, which allows you to boot another Linux kernel without restarting the device - "Linux boots itself". The functionality is equivalent to fastboot -c *cmdline* boot zImage initrd.img, but without PC and fastboot. It is fairly known thing, so more info at wikipedia and man kexec.
Standard kexec call unfortunatelly does not work on Nexus 7. It freezes somewhere, and it is very difficult to find out where - probably some of the drivers are not shut down/re-initialized properly, it is a commong thing among Android devices, which is why kexec-hardboot was made.
What is the difference between normal and hardboot exec?
Kexec-hardboot patch adds a real device restart to that process, so that all the drivers can be properly reinitialized. It stores new kernel to RAM, reboots the device as usual, and kernel from boot partition immediately jumps to the one which was stored to RAM before reboot.
Unlike grouper's kexec-hardboot patch, this one only requires the host kernel to be patched. This is one of the improvements I made, and I think it is pretty significant.
To sumarize the process:
kexec --load-hardboot.... is called and kernel it loaded into RAM.
kexec -e is called. Special info is written to memory (to area which is not overwritten on reboot) and the device is rebooted.
After reboot, very early in the boot process, kernel checks if that special info is present in RAM and if so, it loads new kernel from RAM and jumps to it.
Kexecd' kernel starts and boots.
For more info, read the original thread.
Patches:
Kernel patch: https://gist.github.com/Tasssadar/6687647, 4.3 AOSP kernel repo, cm 10.2 kernel repo
This is the kernel patch. Only the host kernel needs to be patched.
Related CONFIG options:
CONFIG_KEXEC=y
CONFIG_KEXEC_HARDBOOT=y
CONFIG_ATAGS_PROC=y
All these options must be enabled.
Userspace kexec binary: View attachment kexec-tools.zip
That ZIP file contains kexec source, patches and README. It is from the original patch from Mike Kasick. It also contains precompiled, statically linked kexec binary, so you probably just want to use that.
Usage:
Once you have the kernel patches and kexec userspace binary in place, just run following command to boot into new kernel:
Code:
kexec --load-hardboot zImage --initrd=initrd.img --mem-min=0x85000000 --command-line="$(cat /proc/cmdline)"
kexec -e
Note the command line parameter - cmdline from bootloader is not added automatically, you have to put it there by yourself.
Authors:
This patch was made by Mike Kasick for Samsung Epic 4G. Since that, it was ported to several devices, one of them is Asus Transformer TF201 - I used patch from TF201 and modified it a bit (basically just changed few SoC specific constants). People at #ubuntu-arm helped me out with that, thanks.
For flo, I've improved the patch a bit - only the host needs to be patched now and I also fixed a bug with /proc/atags not reading all tags.
The patch was updated with commit https://github.com/Tasssadar/androi...mmit/20f59235cf61694f8118b943e33aa382fc9ad494 in repositories and on gist.
The reason is that my initial ramdisk address was not compatible with all kernels, and changing it resulted in a problem to appear on CM kernel - it just crashes on kexec-hardboot call. AOSP kernel worked just fine after the change, but I applied the patch just to be sure. Sorry about this, I didn't expect the patch to change at all, but it happened :/ I really hope this is the last time.
@ayysir originaly made this change, thanks.
@Tasssadar I would like to port your kexec-hardboot patch on my device which has a Qualcomm MSM7225A chipset with a locked bootloader. How do I locate the memory addresses in adb shell to boot the kernel? Thanks. I'm currently using Fedora 64-bit on my computer.
Please Please help been smashing brains out on google trying to find this
Am trying to build various ROMs without selinux support, i noticed a while back in 4.1 there was a selinux build flag in one of the thousands .mk files in the android source tree, which seemed to be a global switch to enable selinux (modules i assume ).
With 4.3 and 4.4 selinux seems more integrated, is the SElinux env var still there ?,if not can i just build a NO SElinux kernel and remove the selinux components from the manifests ?
SElinux has considerable userland components, do i need to clean up the init to remove refs as well as remove the binaries ?
Any info and help would be greatly appreciated thanks
I'm building a custom cm12 rom, and it appears that selinux is blocking my init scripts. Does anyone know of a workaround or how i can write a policy to allow them?
Endurance Kernel • Galaxy Note 9
Endurance Kernel was designed by me with the goal of providing a much more responsive user experience whilst simultaneously conserving the devices battery as much as possible. This kernel is a port of Endurance Kernel, recreated for the Galaxy Note 9. The kernel is largely adjustable in the paid app EX Kernel Manager (EXKM) by flar2 or in the free app MTweaks by Morogoku. Please note, I don't actually own a Note 9!
DISCLAIMER - I am not responsible for any harm that may come to your device as a result of flashing this kernel. I am however happy to provide support if required.
Downloads
1.x.x indicates the kernel should be used with an Oreo based firmware. 2.x.x indicates the kernel should be used with a Pie based firmware.
Latest GitHub Release
MEGA Repository
Key Features
Latest ELS (almost) always merged in
Implemented AndreiLux’s custom scheduling, EAS backports, 16ms PELT half-life, and migration hysteresis filter
Hotplugging enabled
Boeffla wakelock blocker supported (default list tweaked for improved deep sleep)
Support GPU overclocking up to 598MHz on all builds
Adapted notification LED fade support from NX Kernel from the Galaxy S8
Enabled fsync on / off support (on is default and recommended)
DoubleTap2Wake, Sweep2Wake, Sweep2Sleep & RGB colour control
CFQ (stock and kernel default), deadline, noop, FIOPS, SIO, Zen, Maple and BFQ support
Westwood (kernel default), bic (stock), cubic, reno, htcp, lia, veno and olia TCP congestion algorithms enabled
9.0 AOSP support
Several kernel optimizations from Notorious Kernel
WireGuard Support
DriveDroid Support
SELinux set to enforcing
F2FS support
Unofficially supported adjustable SELinux status through the 'Magisk SELinux Manager' module or # setenforce 1 or 0
Disabled irrelevant or unused Samsung security and features
Disabled almost all logging, debugging and tracing
Various patches to improve performance and battery
No bull****!
Detailed Overview
The PELT half-life has been reduced from 32ms (stock) to 16ms which greatly improves device responsiveness, alongside the use of updated custom scheduling, both thanks to Andrei Frumusanu’s amazing work on the kernel. For a more up to date reference on the performance of the Exynos 9810, look at Andrei's investigation comparing the Exynos Note 9 to the Snapdragon Note 9.
This kernel supports overclocking. In order to use overclocking, simply flash the OC zip from the Android File Host folder.
The overclock build will now use big cluster (M3) quad / triple frequencies up to 2106MHz, dual frequencies up to 2416MHz and single frequencies up to 2964MHz. The small cluster has now also been overclocked to 2002MHz. The overclock build also modifies Andrei's conservative frequencies in order to utilise the higher frequencies more. There is no guarantee that your battery will perform well with overclocking, nor your device will be safe running above stock frequencies. Use at your own risk.
Notification LED fade support has also been added and enabled by default. The fade can be turned on and off and have fade in and out speed adjusted in EXKM or MTweaks. Additionally, in both EXKM and MTweaks such as fsync on / off support, DoubleTap2Wake, Sweep2Wake, Sweep2Sleep & RGB colour control.
This kernel unofficially supports (but I typically strongly advise against the use of) a permissive SELinux status through the 'Magisk SELinux Manager' module.
GSI / AOSP Kernel
The kernel supports 9.0 AOSP GSIs. These builds are entire ports of Endurance Kernel that have been adapted for AOSP, hence any changes that are made to the base kernel will almost always also be included in the AOSP kernels.
If SafetyNet is failing, this can be worked around to allow SafetyNet to pass. You will need the 'MagiskHideProps' module installed. After rebooting, using a Terminal Emulator app enter the following commands in the order listed without quotation marks.
Type 'su'
Type 'props'
Type '1' to edit the device fingerprint
Type 'f'
Type '13' to select Samsung
Type '24'
Reboot
Due to the sheer diversity of AOSP GSIs, it is important to ensure you are concise when reporting an issue. Before you report an issue ensure you explicitly state the variant of the kernel you are using, as well as the ROM, firmware and vendor once you have ensured the ROM is compatible with the kernel. If these requirements are not met, you may receive support for the wrong platform or no response at all. It is preferred that you ask in the relevant telegram group prior to publishing on the XDA thread if possible.
Telegram Groups
If you're joining the Telegram group for support, please read the FAQ first!
Endurance Kernel Discussion / Support Group - https://t.me/endurancekernel
Endurance Kernel News Channel - https://t.me/endurancekernelnews
Credits
A huge thank you to everyone involved in the production of this kernel. Particularly a few names I would like to mention.
ianmacd - For creating A Pretty Good Kernel and doing all the hard work for me, as well as being a fantastic mentor who has assisted me through every stage of this kernel. My words understate my appreciation for your efforts.
AndreiLux - For pushing the device to its limits in many regards and paving the pathway from which many other devs, myself included rely on, and for assisting me in the production of the kernel.
farovitus - For his vast efforts included in the development of Notorious Kernel and for providing inspiration of changes and commits to include in the kernel as well as making another great kernel before the production of Endurance Kernel. Also thanks for maintaining ELS and keeping it simple for me!
flar2- For his fantastic EXKM app, and all his work from ElementalX included in APGK such as wake / sleep gestures and RGB colour control.
djb77 - For inspiring a few additions to the ramdisk and for being another fellow Aussie.
Freeza - For allowing the use of his installation script and for aiding in the issues faced in the early stages of kernel development.
Chrisaw - For being an exceptionally thorough and generous beta tester and for basically doing the hard troubleshooting for me. I can't say thanks enough for the time and effort you put into the kernel.
Huge thanks to everyone else who was involved in development of the kernel, and helped me during the stages of instability in the early phases of this kernel. You know who you are!
And of course, everyone involved in mainline Linux development!
Additonally
Lord Boeffla for Boeffla Wakelock Blocker
franciscofranco for fsync on / off support
Ktoonsez for initially introducing Notification LED fade support.
Noxxxious for making it easier to adapt Notification LED fade to the S9!
osm0sis for Android Image Kitchen
If I included your work and forgot you, let me know and I’ll add you to the credits list!
Source - https://github.com/eamo5/crownlte-endurance
Click here to donate! I used to not accept donations but while I'm undertaking my degree, a small donation could go a long way.
OneUI Current Build Changelog
V2.0.27
Linux 4.9.190
CSG5 kernel source and ramdisk
Converted GPU workqueues to kthreads (thanks farovitus)
Previous Changelogs
V2.0.26
Linux 4.9.186
CSFC source and ramdisk
Removed various unneeded drivers
Disabled swap on AOSP
AOSP 2.0 build works again
V2.0.25
Linux 4.9.185
V2.0.24
Linux 4.9.184
AOSP 2.0 based kernel appears to be broken for now, I will try to address this ASAP
V2.0.23
Linux 4.9.183
Addressed some regressions from the previous build
I forgot to update the kernel version lol
V2.0.22
Linux 4.9.182
CSF9 kernel source and ramdisk
Several improvements to ashmem, binder, SELinux dynamic memory allocation, IRQs & qos from Sultanxda
V2.0.21
Linux 4.9.180
V2.0.20
Linux 4.9.179
Cross compiled with GCC 9.1
Fixed instability in 4.9.178
V2.0.19
Linux 4.9.177
CSDJ ramdisk (kernel source is identical to CSDE)
V2.0.18
Linux 4.9.176
Cleaned up defconfig
V2.0.17-1
CSDE kernel source and ramdisk
Unset CONFIG_DEBUG_KERNEL (and it's dependencies)
Optimised F2FS configuration
V2.0.17
Linux 4.9.175
Fixed F2FS
V2.0.16
Linux 4.9.174
F2FS support
V2.0.15
Linux 4.9.173
V2.0.14
Linux 4.9.172
Updated Gator driver to v6.9
V2.0.13
Linux 4.9.171
Unset CONFIG_AUDIT (reduce SELinux overhead)
Updated Gator driver to 6.8
V2.0.12
Linux 4.9.170
V2.0.11
Linux 4.9.169
V2.0.10
Linux 4.9.168
V2.0.9
Linux 4.9.166
Fixed 4.9.165 performance regression
V2.0.8
Linux 4.9.165
Reduced kernel size
Unset CONFIG_ION_EXYNOS_STAT_LOG
V2.0.7
CSC1 kernel sources
Linux 4.9.164
V2.0.6-1
Fixed lockscreen issue on CSC1 ROMs
V2.0.6
Linux 4.9.163
CSB3 kernel sources
V2.0.5
Linux 4.9.162
Unset approximately 15 CONFIG_TRACE & CONFIG_EXYNOS_SNAPSHOT related options
Linux 4.9.161
Set CONFIG_STRIP_ASM_SYMS
Unset CONFIG_BT_DEBUGFS
Unset CONFIG_USB_DEBUG_DETAILED_LOG
Unset CONFIG_DEBUG_ATOMIC_SLEEP
Unset CONFIG_SEC_BOOTSTAT
Unset CONFIG_SEC_UPLOAD
Unset CONFIG_SEC_DEBUG_PPMPU
Fixed an issue with the r8152 ethernet driver & updated the driver.
V2.0.3
Linux 4.9.160
Unset CONFIG_EXYNOS_CORESIGHT (and everything it unsets)
Unset CONFIG_DEBUG_LIST
Unset CONFIG_DEBUG_EXCEPTION_STACK
Unset CONFIG_TIMER_STATS
Unset CONFIG_DEBUG_NOTIFIERS_PRINT_ELAPSED_TIME
Suppressed additional minor logging
V2.0.2
Linux 4.9.159
Unset CONFIG_KSM
Unset CONFIG_SDFAT_DEBUG
Unset CONFIG_SCHED_DEBUG
V2.0.1-1
CSB3 ramdisk (fixes lockscreen loop on CSB3)
Kernel now requires CSB3 ROM
V2.0.1
Linux 4.9.158
V2.0
Linux 4.9.156
Minor tweaks to scheduling
V2.0 RC 4
Linux 4.9.155
V2.0 RC 3
Rebased on ELS 4.9.154
Tweaked conservative scheduling a bit more for a slightly better user experience.
V2.0 RC 2
Tweaked conservative scheduling for an improved user experience
V2.0 RC 1
Support Android 9.0 OneUI
Linux 4.9.59
CSA2 kernel sources
Can boot with and without Magisk
Full OC implementation
DriveDroid support
Conservative scheduling
Oreo and GSI Current Build Changelog
V1.2.33
Linux 4.9.190
Previous Changelogs
V1.2.32
Linux 4.9.186
Removed various unneeded drivers
V1.2.31
Linux 4.9.185
Reverted Simple LMK on AOSP builds as it doesn't appear to be making reclaims correctly atm.
V1.2.30
Linux 4.9.184
Introduced the latest stable Simple LMK from Sultanxda in AOSP kernels
V1.2.29
Linux 4.9.183
Addressed some regressions from the previous build
I forgot to update the kernel version lol
V1.2.28
Linux 4.9.182
Several improvements to ashmem, binder, SELinux dynamic memory allocation, IRQs & qos from Sultanxda
V1.2.27
Linux 4.9.180
V1.2.26
Linux 4.9.179
Cross compiled with GCC 9.1
Fixed instability in 4.9.178
V1.2.25
Linux 4.9.177
V1.2.24
Linux 4.9.176
Cleaned up defconfig
V1.2.23
Linux 4.9.175
Fixed F2FS
V1.2.22
Linux 4.9.174
F2FS support
V1.2.21
Linux 4.9.173
V1.2.20
Linux 4.9.172
Updated Gator driver to v6.9
V1.2.19
Linux 4.9.171
Unset CONFIG_AUDIT (reduce SELinux overhead)
Updated Gator driver to 6.8
V1.2.18
Linux 4.9.170
V1.2.17
Linux 4.9.169
V1.2.16
Linux 4.9.168
V1.2.15
Linux 4.9.166
Fixed 4.9.165 performance regression
V1.2.14
Linux 4.9.165
Unset CONFIG_ION_EXYNOS_STAT_LOG
V1.2.13
Linux 4.9.164
V1.2.12
Linux 4.9.163
V1.2.11
Linux 4.9.162
Unset approximately 15 CONFIG_TRACE & CONFIG_EXYNOS_SNAPSHOT related options
V1.2.10
Linux 4.9.161
Set CONFIG_STRIP_ASM_SYMS
Unset CONFIG_BT_DEBUGFS
Unset CONFIG_USB_DEBUG_DETAILED_LOG
Unset CONFIG_DEBUG_ATOMIC_SLEEP
Unset CONFIG_SEC_BOOTSTAT
Unset CONFIG_SEC_UPLOAD
Unset CONFIG_SEC_DEBUG_PPMPU
V1.2.9
Linux 4.9.160
Optimised scheduling
Unset CONFIG_MODULES
Unset CONFIG_EXYNOS_CORESIGHT (and everything it unsets)
Unset CONFIG_DEBUG_LIST
Unset CONFIG_DEBUG_EXCEPTION_STACK
Unset CONFIG_TIMER_STATS
Unset CONFIG_DEBUG_NOTIFIERS_PRINT_ELAPSED_TIME
Suppressed additional minor logging
V1.2.8
Linux 4.9.159
Unset CONFIG_SDFAT_DEBUG
Unset CONFIG_SCHED_DEBUG
V1.2.7
Linux 4.9.158
ARL4 Kernel Source
V1.2.6
Linux 4.9.156
V1.2.5
Linux 4.9.155
V1.2.4
Linux 4.9.154
DriveDroid support
Fixed Android System warning on boot on GSI and AOSP kernels
V1.2.3
Linux 4.9.153
Fixed several weird bugs related to booting including requiring Magisk to boot!
V1.2.2
Linux 4.9.152
V1.2.1
Linux 4.9.151
V1.2.0
Linux 4.9.150
Realigned defconfig closer with ELS to hopefully fix some issues
V1.1.9
Linux 4.9.149
Updated WireGuard importer
FAQ
A FAQ section will be established as kernel development progresses. If you have any explicit unanswered questions, feel free to ask away. If you must contact me due to an issue, please report your device variant, ROM, firmware, vendor and previous kernel.
1. I can’t unlock / boot my phone! What do I do?
If you're stuck in a lockscreen loop, make sure you're on a firmware with a matching ramdisk to the kernel. Do not mix a CSC1 kernel ramdisk with a CSA2 ROM for example. Anytime the ramdisk is changed, it will be listed in the changelog. Are you on the correct firmware and vendor? If not, you can always flash this zip or revert back to previous versions through the Android File Host folder. Can anyone else successfully flash the kernel? If yes, verify the MD5 sum by referencing and ensuring a matching MD5 sum between the local file and the Android File Host file. Did I just push an update? If yes, contact me on Telegram in the Endurance Kernel group for a faster response, and XDA for an eventual response. Does your ROM require a permissive SELinux status to boot? If yes, use the 'Magisk SELinux Manager' module to adjust your SELinux status. If none of this can solve your problem, contact me through the Endurance Kernel group.
2. Why doesn't my camera work after flashing the kernel?
Verify that you are on the correct firmware, vendor and a ROM that supports the current kernels sources. If you are still encountering issues after verifying this is correct, then let me know! If you do not wish to update, you can maintain a version of the kernel that does support your ROM by reading the changelog and downloading the previous versions from the Android File Host folder
3. Why doesn't my Bluetooth work after flashing the kernel?
Are you on a ROM that does not patch libsecure_storage, such as DevBase? If your Bluetooth is broken, the answer is probably. Instead you can use ianmacd's Magisk module 'libsecure_storage companion for rooted Samsung devices' or you can manually flash a zip to patch it yourself, without the need for Magisk.
4. Why doesn't my WiFi work after flashing the kernel?
Make sure you have forgotten and rejoined all WiFi networks after installing the kernel if the device won't connect to the network. If the devices WiFi won't turn on at all, make sure you do not have ianmacd's 'libsecure_storage companion for rooted Samsung (Oreo) devices' installed. If you're still encountering issues, please contact me in the Telegram group or on XDA.
5. Should I use the permissive or enforcing SELinux status?
The decision is yours. There is plenty of documentation available online outlining their differences. I strongly recommend enforcing, hence why permissive is not officially supported. Permissive is far less secure, and hence I do not condone the use of permissive. If you are using permissive, you should either have to due to a dependency or have another specific reason for doing so. eg. ROM requires disabled signature check. For most users, unless directed otherwise, use the default enforcing build.
6. When will you update the kernel?
Once ELS is updated and the kernel is ready! This is just a side hobby and I do have a life outside of kernel development. Be patient, the update will arrive within a few days if not ASAP.
7. Will you add CPU / GPU undervolting?
No, EAS (Energy Aware Scheduling) has mostly made CPU undervolting mostly irrelevant. Google EAS if you would like it find out more information as to why it is the case. I've included a detailed YouTube video outlining the scheduling mechanisms of EAS here. Currently, any GPU voltage control for Exynos 9810 devices does not work, hence I will not be including it in my kernel.
8. Do I need to install Magisk?
Magisk is entirely optional with this kernel.
9. Why does this kernel offer no additional governors?
Because most of them are unstable and cause the device to crash, as well as EAS' integration with schedutil and EHMP.
10. Why does this kernel makes my device crash / battery poor / performance poor?
Because this kernel is still in beta. Since I can't personally verify anything with the kernel, it's possible there may be issues. If this is the case, report it on the XDA thread or Telegram group.
11. Why is my WiFi performance worse when using this kernel?
This may be the case for some people. This kernel uses the Westwood+ TCP algorithm for enhanced WiFi speeds on certain networks. However there may be scenarios on poor signal networks, this TCP algorithm may cause packet loss at a greater rate than is default. This should hopefully not be an issue for anyone, however if it is, try using bic as default and contact me.
12. Why is my battery still terrible?
Are you in an area with poor signal reception? Unfortunately that is one thing a custom kernel cannot compensate for due to the device modem having restricted access and also legal issues. That leaves us with optimizations that can only be done to the SOC of the device. How you use your device can also greatly lead to variation in battery stats. If you are in need of further battery, 'underclocking' is available and is explained in OP. If you want the best battery life, I advise you try out that build.
13. Why does SafetyNet fail on the AOSP kernels?
This is a minor issue I don't believe I can address on my end. This can be worked around however to allow SafetyNet to pass. You will need the 'MagiskHideProps' module installed. After rebooting, using a Terminal Emulator app enter the following commands in the order listed without quotation marks.
Type 'su'
Type 'props'
Type '1' to edit the device fingerprint
Type 'f'
Type '13' to select Samsung
Type '23' or '24'
Reboot
14. How can I use F2FS?
To use F2FS, you must erase your data and format your data partition (and optionally cache partition) to F2FS using the N9 TWRP available here, even if you are on S9. From there you should be able to reboot your device and restore your data through a backup.
15. Where can I donate?
I used to not accept donations but while I'm undertaking my degree, a small donation could go a long way. You can donate through my PayPal link here.
Bluetooth connections does not stick. Latest oreo.
Edit: Install libsecure from magisk and the issue fixed.
burakgon said:
Can't connect to wifi. Bluetooth connections does not stick. Latest oreo.
Click to expand...
Click to collapse
Hmmmm the kernel is using the latest ramdisk. This wasn't an issue in any of my beta tests. What device model are you on? Anyone else?
Eamo5 said:
Hmmmm the kernel is using the latest ramdisk. This wasn't an issue in any of my beta tests. What device model are you on? Anyone else?
Click to expand...
Click to collapse
After connecting a different network, I could reconnect my old wifi. But after reboot bluetooth connections does not stick. Check with s pen.
burakgon said:
After connecting a different network, I could reconnect my old wifi. But after reboot bluetooth connections does not stick. Check with s pen.
Click to expand...
Click to collapse
You might need to use the libsecure_storage companion Magisk module to fix Bluetooth pairing on some ROMs.
Amazing!!! Bring Exynos back to the glory again... Golden Age is coming again for Exynos I knew there's alot of sh*t happening on kernel level with Exynos.... I'm glad you got it all sorted (nearly)
But... I will wait till you add or support GPU & CPU undervolt , CPU Overclocking as undervolting CPU will further increase battery life it is obvious
Thank you! For providing this kernel!! I will keep watching it till at least have an undervolting CPU & GPU support (I'm not asking for any ETA'S) Thank you again!
#Exynos is back
Nice to see this here! Kudos
Good job man, this kernel working very good and Good battery life.. on my N9 TW keep going bro
Da-BOSS said:
Amazing!!! Bring Exynos back to the glory again... Golden Age is coming again for Exynos I knew there's alot of sh*t happening on kernel level with Exynos.... I'm glad you got it all sorted (nearly)
But... I will wait till you add or support GPU & CPU undervolt , CPU Overclocking as undervolting CPU will further increase battery life it is obvious
Thank you! For providing this kernel!! I will keep watching it till at least have an undervolting CPU & GPU support (I'm not asking for any ETA'S) Thank you again!
#Exynos is back
Click to expand...
Click to collapse
The conservative scaling of frequencies should already return some battery life, but slightly worsen the scores of some synthetic benchmarks. This is counterbalanced by the introduction of 16ms PELT which will in return improve real world performance.
The OC build will be much more performance centred.
The UC build should reduce peak power drain, but most battery savings will occur in the standard build. As stated in the FAQ, undervolting is mostly irrelevant with EAS.
Trying to work out the script ATM with a talented Note 9 tester. Hopefully should be introduced soon
Eamo5 said:
The conservative scaling of frequencies should already return some battery life, but slightly worsen the scores of some synthetic benchmarks. This is counterbalanced by the introduction of 16ms PELT which will in return improve real world performance.
The OC build will be much more performance centred.
The UC build should reduce peak power drain, but most battery savings will occur in the standard build. As stated in the FAQ, undervolting is mostly irrelevant with EAS.
Trying to work out the script ATM with a talented Note 9 tester. Hopefully should be introduced soon
Click to expand...
Click to collapse
I'm really happy to hear that :victory: this is like a new year gift to my ears !:victory:
But I'm really sorry for not being specific... I know what you mean for the CPU undervolting is irrelevant I have readed the FAQ ....
But what about the GPU? Is undervolting is irrelevant for the GPU too? it is an achievement when maximizing GPU OC with undervolting since the GPU is the weakest part on the Exynos... a significant OC pump frequency with tweaking voltage will bring some performance pump on heavy graphics performance :fingers-crossed: see what I mean?
Waiting for your reply.... as your opinion matters to me alot
Again Thank you.. Thank you!
Da-BOSS said:
I'm really happy to hear that :victory: this is like a new year gift to my ears !:victory:
But I'm really sorry for not being specific... I know what you mean for the CPU undervolting is irrelevant I have readed the FAQ ....
But what about the GPU? Is undervolting is irrelevant for the GPU too? it is an achievement when maximizing GPU OC with undervolting since the GPU is the weakest part on the Exynos... a significant OC pump frequency with tweaking voltage will bring some performance pump on heavy graphics performance :fingers-crossed: see what I mean?
Waiting for your reply.... as your opinion matters to me alot
Again Thank you.. Thank you!
Click to expand...
Click to collapse
GPU Voltage control was originally ported over to the Exynos 9810 but the voltage control was seemingly broken. When GPU voltage control is working, I'll introduce it again. Underclocking the GPU and allowing to run at a lower minimum frequency is something I may eventually investigate and measure if there are any benefits.
Eamo5 said:
GPU Voltage control was originally ported over to the Exynos 9810 but the voltage control was seemingly broken. When GPU voltage control is working, I'll introduce it again. Underclocking the GPU and allowing to run at a lower minimum frequency is something I may eventually investigate and measure if there are any benefits.
Click to expand...
Click to collapse
Thank you :fingers-crossed::good:
Running this kernel for 24 hours. Battery life & smoothness improved. No problem yet. Stock latest oreo S2ARL3 Thank you.
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Eamo5 said:
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Click to expand...
Click to collapse
thank you sir.
to you and yours aswell
Eamo5 said:
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Click to expand...
Click to collapse
Nice! Happy New year to all XDA! Cheers :highfive:
Will see version for pie soon?
This is LineageOS 17.1, which is based on Android 10, for the WiFi-only variant of the Samsung Galaxy Tab A 10.1" (2016), codenamed gtaxlwifi. LineageOS doesn't need much of an introduction - It's a well-known custom firmware/Android distribution.
I started these builds because the LineageOS builds from @Valera1978 had 2 particular significant bugs in them that were always being mentioned in posts in that thread: display backlight brightness not changeable from full brightness and the touchscreen appearing to not respond after putting the tablet to sleep. Those bugs had existed for quite a long time. @followmsi has some changes in his 17.1 device tree that fixed those 2 bugs.
These builds really became a continuation of Valera's builds after he unfortunately discontinued work on this device due to an (understandable) lack of interest, with many improvements and additional features.
I've now discontinued these 17.1 builds.
I've long ago moved onto LineageOS 18.1 and 19.1.
Very important note for those upgrading from the releases from 20210523 and 20210413 in this post: https://forum.xda-developers.com/t/lineageos-17-1-for-sm-t580-gtaxlwifi.4059571/post-85106105
Note: I've never had any builds for the LTE variant. However, builds for the WiFi-only variant boot and work on the LTE variant, only without mobile networking (of course), GPS and vibration, so since I've allowed installation on the LTE variant in the last several builds, you can try to use my builds on it if you can go without any of that functionality.
Downloads:
Latest build from 20211116 (with security patch level 20211105):
https://drive.google.com/file/d/14ZCYYcT5b6E9zWiFNgwUP3Kxlvf-dyVn
Folder for these builds (which includes text files with MD5 and SHA256 checksums for the final build, and another folder within it containing some previous builds): https://drive.google.com/open?id=1UiUlSbfj3agDvt-4f_YLIS0Xyuz5RtFC
Changelog:
Final release for 20211116:
Latest updates from LineageOS, 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 rewrite of the sepolicy containing all of the SELinux rules that I did for 18.1 has been ported over to 17.1, and so it's now of much better quality.
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.
An issue where there was additional extremely quiet high-pitched noise from the right speaker has been fixed.
The ZRAM size has been increased to 768MiB.
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 miscellaneous cleanups have been done.
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 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.
Some proprietary blobs have been updated as follows:
WiFi and Bluetooth firmwares from Samsung's T390XXS9CUG1 firmware
libexynoscamera3.so library 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
MFC (Multi-Format Codec) firmware from Samsung's A305FDDU6CUI3 firmware
sensors.universal7870.so library from Samsung's P580ZSS1CTI1 stock 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.
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.
Configuration files for media codecs and profiles have been updated from Samsung's T580XXS5CTK1 stock firmware.
There are many (final) updates from the (unfortunately now deprecated so no longer updated) 3.18 Android common kernel, many updates from Linux 4.4, and some updates from a few of Samsung's newer kernel sources to the kernel, and also some other various changes.
A few changes have been imported to the MMC block device driver in the kernel from Samsung's M105GDXS6CUD4 kernel sources that specifically fix extremely rare kernel panics that occurred when there was an error with a MMC device (mainly with SD cards).
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.
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.
Previous releases:
Release for 20210530:
Latest updates from LineageOS.
File-based encryption has been disabled after I left it enabled by mistake after testing FBE before moving onto LineageOS 18.1.
Release for 20210523:
Latest updates from LineageOS, including the 20210505 Android security updates.
Some changes have been imported to libbt-vendor from https://github.com/LineageOS/android_hardware_qcom_bt on branch lineage-18.1-caf (same as branch lineage-17.1-caf).
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.
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 20210413:
Latest updates from LineageOS, including the 20210405 Android security updates.
There are some updates from the 3.18 Android common kernel and Linux 4.4 to the kernel.
Release for 20210313:
Latest updates from LineageOS, including the 20210305 Android security updates.
There are some updates from the 3.18 Android common kernel and Linux 4.4 to the kernel, many changes to the rcu, locking and btrfs code from 4.4, and a few changes from Samsung's M105GDXU6CUA1 kernel to the kernel.
The exynos part of the BSP has a few changes from Lineage's 18.1 branch for HWC and memtrack.
Release for 20210207:
Latest updates from LineageOS, including the 20210205 Android security updates.
SELinux denials that caused the torch feature to not work have been addressed.
The issue where videos that are recorded have a duration that is lengthened by the time spent in deep sleep has been worked around - It looks like Samsung did something wrong in the camera HALs for Exynos 7870 devices.
There are some more updates from the 3.18 Android common kernel and Linux 4.4 to the kernel, and a few changes from Samsung's M105GDXU6CTL3 kernel.
Release for 20210116:
Latest updates from LineageOS, including the 20210105 Android security updates.
The custom camera provider HAL has been removed, and the camera provider HAL has been binderized - this fixes camera glitches when there is motion.
Quota support has been enabled on userdata, so that storage usage statistics can be gotten more quickly.
The Widevine DRM blobs from the Pixel 3 XL's last Android 10 firmware are now used.
The MFC (Multi Format Codec) firmware has been updated from Samsung's M105FDDU3CTK3 firmware, and the camera.vendor.universal7870.so library has been updated from Samsung's latest stock firmware (version T580XXS5CTK1).
There are some more updates from Linux v4.4 and the 3.18 Android common kernel to the kernel.
Release for 20201223:
Latest updates from LineageOS.
Address hal_graphics_composer_default SELinux denials on video_device - fixes issues with video playback with SELinux set to enforcing. (Thanks to @Kostareka for providing logs with the SELinux denials)
Release for 20201221:
Latest updates from LineageOS, including the 20201205 Android security updates.
I've prepared new BSP sources, based on Lineage's SLSI BSP sources, and the BSP libraries are now built from those sources. (Thanks to @Valera1978 for providing his old BSP sources! Without them, this wouldn't have been possible.)
Samsung's proprietary audio libraries, adapted by @Valera1978, are now used, to workaround an issue where audio will be outputted to both the 3.5mm audio jack and the speakers quietly when something is connected to the audio jack.
The build fingerprint has been changed to an older Android 8.1 fingerprint for the Google Pixel C. (For information on why we can't use the fingerprint from the stock firmware, see: https://github.com/TALUAtGitHub/android_device_samsung_gtaxlwifi/issues/1 )
Installation on the LTE variant (SM-T585, codenamed gtaxllte) is now allowed - apparently, builds for the WiFi-only variant boot and work on the LTE variant, only with no mobile networking (of course) and GPS.
There are a few minor cleanups.
Version 2 of the AOSP bluetooth audio HAL has been enabled.
FIFO UI scheduling has been enabled.
The camera libraries have been updated from Samsung's latest stock firmware, version T580XXS5CTK1.
There are a few other miscellaneous improvements.
There are some updates to the kernel from the Android 3.18 common kernel and Linux v4.4, and there are updates to some of the drivers from Samsung's M105GDXU5CTI3 kernel.
Release for 20201121:
Latest updates from LineageOS, including the 20201105 Android security updates.
The sepolicy has been improved - many unnecessary SELinux rules have been removed and a few SELinux denials have been addressed.
The init.power.rc script is now actually used to set some parameters for the interactive CPU governor to make it less aggressive.
The GNSS and sensors HAL are now compiled from source in the device tree with necessary modifications. (Thanks to @followmsi for some very useful information regarding this!)
As many vendor blobs as possible have been updated from Samsung's T580XXS5CTD1 and A520FXXUGCTI9 stock firmwares, the gpsd shim has been removed as it's no longer necessary after updating gpsd from T580XXS5CTD1 and a few unused vendor blobs have also been removed.
cbd/cpboot-daemon has been removed, because it, along with the modem_v1 driver in the kernel, no longer works with the latest bootloader and spams the kernel log with error messages, I have very little idea of what it does for the WiFi-only variant and it's unnecessary.
Made a few other miscellaneous improvements.
Many more updates to the kernel from Linux v4.4 and the 3.18 Android common kernel, some miscellaneous improvements and many changes to the f2fs filesystem driver from newer Android common kernels and mainline Linux.
The kernel is now compiled using the clang compiler after having applied the many necessary changes to it to do so.
Release for 20201022:
Latest updates from LineageOS, including the 20201005 Android security updates.
Enable config_setColorTransformAccelerated - LiveDisplay colour calibration and reading mode is now available. (Thanks to @followmsi for finding this fix.)
Add FlipFlap for flip covers. (Note that FlipFlap only works if the timeouts in Settings -> Connected devices -> Connection preferences -> Smart cover are set to 'immediately')
Fix a typo in the power profile.
More updates to the kernel from Linux v4.4 and the 3.18 Android common kernel.
Apply/backport some changes to zram and the lz4 compression algorithm from mainline Linux for faster compression and decompression, and add a backport of the zstd compression algorithm from the 4.9 Android common kernel which can be used as the compression algorithm for zram (lz4 is still the default compression algorithm).
Release for 20200915:
Latest updates from LineageOS, including the 20200905 Android security updates.
Increase microphone gains.
Many more updates from Linux v4.4 and android-3.18 and a few improvements to the kernel.
Release for 20200821:
Latest updates from LineageOS.
A few more updates from Linux v4.4 and android-3.18 and improvements to the kernel.
Revert 2 changes to the kernel related to hotplugging - should fix an issue where the device doesn't wake up after a while of deep sleeping in certain cases, and a hard reset is needed.
Release for 20200814:
Latest updates from LineageOS, including the 20200805 Android security updates.
Update the Mali graphics blob to r28p0 from r22p0.
Make a few changes for GPS that fix Assisted GPS, and switch to different XTRA servers with HTTPS.
Fix OpenCL.
Symlink libGLES_mali.so to libOpenCL.so, libOpenCL.so.1 and libOpenCL.so.1.1 instead of copying - saves a significant amount of space in /system and makes the installation zip slightly smaller.
Change media volume control to be in 25 steps rather than 15 steps.
More updates from Linux v4.4 and android-3.18 to the kernel and some improvements.
Release for 20200711:
Latest updates from LineageOS.
Android security updates from 20200705, manually applied to skip the wait for them to be merged. ('repopick -t android-10.0.0_r40')
Disable window rounded corner animations.
Reduce ZRAM size to 512MB.
Enable debug.sf.disable_backpressure.
A few more updates to the kernel from Linux v4.4 and android-3.18.
Port over/import zsmalloc, zram, zswap, zbud and zpool from Linux v4.4.
Fix the issues with hanging/freezing that were present in the previous release.
Release for 20200703:
Latest updates from LineageOS.
Enable support for using USB for MIDI.
Fix/workaround issues with USB tethering.
Remove sswap and use ZRAM.
Latest update from @Valera1978 - "update audio_policy_configuration.xml from SM-A600FN q stock"
Many more updates to the kernel from v4.4, android-3.18 and a few from v3.16.
Disable the Exynos hotplug governor again. (in the kernel)
Release for 20200608:
Latest updates from LineageOS including the 20200605 Android security updates.
Use userspace lmkd.
Enable Always On Display. (Thanks to @followmsi)
Address a few more SELinux denials.
power_profile: change names as per pie naming changes.
Switch to [email protected]g. (Thanks to @followmsi)
Fix freeform window moving/resizing doesn't work (In my new fork of LineageOS' android_frameworks_base repository).
Add back support for Miracast using the changes from https://review.lineageos.org/q/topic:%22ten-aosp-wfd%22 (In my new fork of LineageOS' android_frameworks_av repository).
More updates to the kernel, including many updates from Linux v4.4 and v3.16 and general updates. There are also improvements to downstream drivers.
Release for 20200512:
Latest updates from LineageOS including the 20200505 Android security updates.
Address more SELinux denials.
Remove the ro.enable_boot_charger_mode property and revert "gtaxl: workaround for offline charging".
Remove some useless services for non-existent binaries in init files.
Hide sRGB toggle in developer options.
More updates to the kernel, including many updates from Linux 4.4 and to the kernel-based wireguard implementation.
Release for 20200411:
Latest updates from LineageOS including the 20200405 Android security updates.
Update the cpu.speeds array in the power profile for 1.69GHz, 449MHz and 343MHz frequencies.
Make the power profile aware of the big.LITTLE cluster.
Address more SELinux denials and remove duplicate rules.
Use an up-to-date Samsung hardware repository based on LineageOS' repository, and make changes to the device tree for it. ((Thanks to @followmsi for changing the sepolicy to accommodate for modem/macloader having been moved to /vendor and mentioning that the Exynos hidl power HAL has to be used after the old power HAL was removed)
Enable secure ADB and set persist.sys.usb.config to none.
Use pool.ntp.org for the NTP servers.
ramdisk: cleanup the init files and fstab for readability.
ramdisk: init.samsungexynos7870.rc: only start gpsd after booting - fixes GPS when encrypted.
More updates to the kernel, including many updates from Linux 4.4, general updates (such as updates to the wireguard kernel module) and fixes.
Use sdfat for exFAT support.
Add toggle for disabling newly added USB devices.
Release for 20200309:
Latest updates including 20200305 security patches
Upgrade android.hardware.keymaster to 4.0.
lineage-gtaxlwifi_defconfig: disable CRYPTO_FIPS to get encryption partially working.
sdfat: update to version 2.3.0.
Update the BFQ IO scheduler to v8r12 using a port.
Release for 20200303:
wireless: add back Samsung's 'temporary' workaround due to qcacld-2.0 page allocation errors. Looks like this is actually necessary. Works around issues with WiFi not being possible to be enabled after some time again due to page allocation failures that still exist.
Revert duplicate "signal/ptrace: Don't leak unitialized kernel memory with PTRACE_PEEK_SIGINFO". We already had this commit as in Linux v3.18, the content of this reverted commit are useless.
Release for 20200301:
Fix a few SELinux denials. (including app_zygote denials, sepolicy in post 5 no longer needed for this build at all and also shouldn't be used anymore as more denials beyond just the app_zygote denials have been fixed)
Release for 20200229:
Initial release.
Known issues and workarounds (if any):
Issue 1: adoptable storage is reported to not work correctly.
Somewhat of a workaround to issue 1: format and use your micro SD card with the exFAT filesystem.
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.
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.
To report issues, get a log from logcat and dmesg. If you are unsure of how to get both, there is good documentation out there for how to do so.
Sources:
A manifest containing all of the necessary repositories to make a build is in this repository on branch lineage-17.1: https://github.com/TALUAtGitHub/gtaxlwifi-manifests
Thanks to:
@Valera1978 - for all of the previous work for these devices, 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.
LineageOS - for the Android distribution itself.
...and everyone else who's worked on anything that is in use.
No build for sm-t585?
Echo_2000 said:
No build for sm-t585?
Click to expand...
Click to collapse
Unfortunately not, as I mentioned in the original post.
Sorry.
Edit on 2020/12/22: for anyone who is reading this post and has missed my new note in the original post, installation is now allowed on the LTE variant in my latest build, so you can try my build on it.
TALUAtXDA said:
Unfortunately not. As I mentioned in the original post:
Sorry.
Click to expand...
Click to collapse
Too bad, bad no problem.
I installed this, mostly seemed to work OK, but although I could install Chrome from Play Store it would simply disappear (no error) every time I opened it. Tried Chrome Beta instead and same issue.
I don't know if Gapps related. I used Bit gapps for what it's worth.
Gone back to old build.
Thanks anyway.
Glenn2 said:
I installed this, mostly seemed to work OK, but although I could install Chrome from Play Store it would simply disappear (no error) every time I opened it. Tried Chrome Beta instead and same issue.
I don't know if Gapps related. I used Bit gapps for what it's worth.
Gone back to old build.
Thanks anyway.
Click to expand...
Click to collapse
Hi,
The issue was caused by SELinux denials. I've fixed these denials in this commit: https://github.com/TALUAtGitHub/and...mmit/0ec43a448795230a3d2d8576cd93c5b156468e21
I was able to get the SELinux denials you were experiencing as you told me how you encountered them. Attached is a zip archive named 'sepolicy_and_precompiled_sepolicy.zip' containing 2 files: 'sepolicy' and 'precompiled_sepolicy'. This is a new sepolicy containing the rules to fix the denials. If you decide to use my builds again, extract the zip archive and copy the 'sepolicy' file to /system/ and 'precompiled_sepolicy' file to /system/system/vendor/etc/selinux/ in TWRP with system mounted. You may want to run SELinux as permissive for now, though keep in mind that this will ignore denials. To set SELinux to permissive, run:
Code:
setenforce 0
I never caught these denials as I don't use Chrome, and use Bromite web browser which doesn't seem to trigger these denials. I'll probably upload a new build tomorrow containing a sepolicy with the new rules. Also, I've put this in the original post for reporting SELinux denials:
TALUAtXDA said:
There maybe more issues due to SELinux denials. If something doesn't work, test it with SELinux set to permissive:
Code:
setenforce 0
If the issue is no longer reproducible, it's due to SELinux denials. Get logs by running:
Code:
dmesg | grep "avc: denied" > dmesg_selinux_denials
logcat | grep "avc: denied" > logcat_selinux_denials
while SELinux is permissive after doing whatever triggered the denials in a shell and upload the files 'dmesg_selinux_denials' and 'logcat_selinux_denials'. It would also be preferable to report what triggered the denials. In some rare cases, SELinux has to be set to enforcing to get certain denials, which would unfortunately mean that every denied action isn't logged and it takes multiple tries to get every denied action causing issues. Don't report any random denials that don't cause any issues. I won't fix some denials (such as proc_version denials, which should be denied and it causes no real issues) and I'll only fix denials that cause unintended issues.
Click to expand...
Click to collapse
Thanks I will try it again soon.
Did as suggested, seems ok now! Thanks.
Good evening,
God bless you and thank you very much for fixing this beautiful rom.
I have a request and a question.
Request: I am using sm-t580. When I was using stock rom, I was able to cast my screen to my Samsung TV. I am aware that LOS and Pixel have removed this ability. Would you consider please to re-enable "smart cast". I would love to enjoy your ROM on my sm-t580 and be able to cast to Samsung TV.
Question: I am unable to edit build.prop or other system files. I tried to re-mount root but probably doing something wrong. Not very good with this. Could you walk me through how to remount and what do I need to use (what terminal inside your rom). I have root access with Magisk and in twrp used shell terminal with your command "mount -o rw,remount /" without success. Then I downloaded some some terminal app and tried. No use... I get "/dev/block/platform/13540000.dmmmc0/by-name/system" not user moutable in fstab. Thank you.
Thanks for building a rom with selinux enforced. I used encryption on 14.1 but it doesn't seem to work here. Some more denials to add, or maybe I need a newer recovery to format data with first?
Jet T said:
Good evening,
God bless you and thank you very much for fixing this beautiful rom.
I have a request and a question.
Request: I am using sm-t580. When I was using stock rom, I was able to cast my screen to my Samsung TV. I am aware that LOS and Pixel have removed this ability. Would you consider please to re-enable "smart cast". I would love to enjoy your ROM on my sm-t580 and be able to cast to Samsung TV.
Question: I am unable to edit build.prop or other system files. I tried to re-mount root but probably doing something wrong. Not very good with this. Could you walk me through how to remount and what do I need to use (what terminal inside your rom). I have root access with Magisk and in twrp used shell terminal with your command "mount -o rw,remount /" without success. Then I downloaded some some terminal app and tried. No use... I get "/dev/block/platform/13540000.dmmmc0/by-name/system" not user moutable in fstab. Thank you.
Click to expand...
Click to collapse
Hi,
You're welcome, though kudos to followmsi of course.
Smart cast seems to be a Samsung specific, proprietary feature. But we do have the generic casting feature available in Settings -> Connected devices -> Connection preferences -> Cast. Casting to wireless displays can be enabled through the 3 dot menu and then the "Enable wireless display" option and your TV should be detected. However, this doesn't work. A TV either doesn't connect or there's a soft reboot. I also have a Samsung smart TV with which I could test it with. The TV gets detected as "[TV] Samsung", and selecting it makes it say that it's connecting but it either stops trying to connect or it soft reboots and the TV displays an "loading" message that's infinite.
I found this while searching for "MediaPlayerService: listenForRemoteDisplay is no longer supported!" (this seems to be the main error): https://pastebin.com/s4utSi6c It seems like this issue has been reported before and existed at least a few months (though most certainly more) before my builds. I'll try finding a way to fix this, but my knowledge is unfortunately quite limited at this moment.
To do a mount command like that, you need to be root. To get a root shell, run "su", grant your terminal app root access and then run any commands needed to be run as root in that shell, such as that mount command.
EDIT: found this: https://forum.xda-developers.com/galaxy-tab-a/development/rom-t4006261/post81782081#post81782081 The replies say that you need to go back to Android 8 to use Miracast. I'm not sure if that's true but that's apparently how it is. There's probably nothing that can be done. Since smart cast is proprietary and Samsung specific, you'd only find it in Samsung ROMs. Also found this: https://forum.xda-developers.com/showpost.php?p=81369313&postcount=143 saying that support for Miracast is no longer available in Android 9 and 10.
I had another device where encryption didn't work. Turned out to be twrp writing incorrect (encryption?) footer when formatting data partition. But here encryption on 14.1 worked. Maybe encryption changed 14.1 to 17.1 with different footer, or maybe encryption on the los 17.1 base is broken on all devices. Difficult.
TALUAtXDA said:
Hi,
You're welcome, though kudos to followmsi of course.
Smart cast seems to be a Samsung specific, proprietary feature. But we do have the generic casting feature available in Settings -> Connected devices -> Connection preferences -> Cast. Casting to wireless displays can be enabled through the 3 dot menu and then the "Enable wireless display" option and your TV should be detected. However, this doesn't work. A TV either doesn't connect or there's a soft reboot. I also have a Samsung smart TV with which I could test it with. The TV gets detected as "[TV] Samsung", and selecting it makes it say that it's connecting but it either stops trying to connect or it soft reboots and the TV displays an "loading" message that's infinite. I captured a logcat at a time when it soft rebooted:
I found this while searching for "MediaPlayerService: listenForRemoteDisplay is no longer supported!" (this seems to be the main error): https://pastebin.com/s4utSi6c It seems like this issue has been reported before and existed at least a few months (though most certainly more) before my builds. I'll try finding a way to fix this, but my knowledge is unfortunately quite limited at this moment.
To do a mount command like that, you need to be root. To get a root shell, run "su", grant your terminal app root access and then run any commands needed to be run as root in that shell, such as that mount command.
EDIT: found this: https://forum.xda-developers.com/galaxy-tab-a/development/rom-t4006261/post81782081#post81782081 The replies say that you need to go back to Android 8 to use Miracast. I'm not sure if that's true but that's apparently how it is. There's probably nothing that can be done. Since smart cast is proprietary and Samsung specific, you'd only find it in Samsung ROMs. Also found this: https://forum.xda-developers.com/showpost.php?p=81369313&postcount=143 saying that support for Miracast is no longer available in Android 9 and 10.
Click to expand...
Click to collapse
I appreciate your answer!
I have now installed EX Kernel Manager as I had previously purchased it anyway when I (briefly) used the ElementalX kernel on my Pixel 3a.
I can see that we lose half the CPU permanently after the device goes to sleep, as you described, by looking at the dashboard.
Under Tools/User Settings I added a setting for /sys/devices/system/cpu/cpuhotplug/enable with a value of 0 as you suggested (to apply on boot) and this has cured the issue. It explains why I sometimes had smooth and sometimes not so smooth performance on the old rom! Now it's just always smooth.
Interestingly, I could not write to this value once the problem had occurred and the CPU was half disabled. The '0' value would not save, it stayed at '1'. It was not writable - is that a clue to the cause? I had to reboot and put the setting in EXKM before the device had been to sleep. Now it is fine even after reboot.
Thanks.
Thanks for your work and contributions to this device.
Many thanks for your work. Your ROM is working perfectly. No screen freeze.
Thank you for the rom!
I flashed it because it should have signature spoofing, but actually microG self-check doesn't tick signature spoofing permission and correct signature for play services and play store. Can anyone help me?
Jamess27 said:
Thank you for the rom!
I flashed it because it should have signature spoofing, but actually microG self-check doesn't tick signature spoofing permission and correct signature for play services and play store. Can anyone help me?
Click to expand...
Click to collapse
Hi,
It should be possible to select the "System grants signature spoofing permission" option in the MicroG self-check menu to get a dialog asking if you'd like to allow signature spoofing. Otherwise, you can grant the signature spoofing permission using a root shell or ADB with these pm commands:
Code:
pm grant com.google.android.gms android.permission.FAKE_PACKAGE_SIGNATURE
pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE
TALUAtXDA said:
Hi,
It should be possible to select the "System grants signature spoofing permission" option in the MicroG self-check menu to get a dialog asking if you'd like to allow signature spoofing. Otherwise, you can grant the signature spoofing permission using a root shell or ADB with these pm commands:
Code:
pm grant com.google.android.gms android.permission.FAKE_PACKAGE_SIGNATURE
pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE
Click to expand...
Click to collapse
Thanks for the fast response! I got the permission with the dialog in MicroG, but apps still don't find google play services
Jamess27 said:
Thanks for the fast response! I got the permission with the dialog in MicroG, but apps still don't find google play services
Click to expand...
Click to collapse
You're welcome. Now, the signature spoofing permission is granted to microG, but from what you describe, it's likely that play store (or fake store) doesn't have the signature spoofing permission. You can check if this is the case by opening the MicroG self-check menu and checking if the "Play Store (Phonesky) has correct signature" item is checked. If play store doesn't have the signature spoofing permission granted, you need to run this one pm command in a root shell or using ADB:
Code:
pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE