LineageOS 17.1 for SM-T580 (gtaxlwifi)

Search This thread

TALUAtXDA

Senior Member
Nov 8, 2018
298
464
So I tried a normal upgrade again but this time I installed the rom and an updated version of opengapps and it worked successfully. Any idea on why that fixed it?
Some change/update in Lineage might have broken your old opengapps package somehow, and the updated version has some fix. That's my only idea...
Anyway, I'm glad you've got it working now. :)
 
  • Like
Reactions: soaringowl2145

Klaerchen

Senior Member
Nov 6, 2011
413
382
Stuttgart
Hi @TALUAtXDA
the DMESG shows a strange behavior of the shutting down/starting of the CPUs and the device shutdown/wake.
At a certain time the second CPU cluster is shut down:
[ 118.129338] CPU7: shutdown
[ 118.207701] CPU6: shutdown
[ 118.289175] CPU5: shutdown
[ 118.367831] CPU4: shutdown

And some 100ms later the power management / governor suspends some hardware components and even does shut down the non-boot CPUs of the first cluster and goes to sleep.
[ 118.501432] sm5703-fled:sm5703_fled_suspend() line-328: Suspend
[ 118.503430] s2m-rtc s2m-rtc: s2m_rtc_read_time: 2021-04-04 09:27:15(0x01)AM
[ 118.506402] s2m-rtc s2m-rtc: s2m_rtc_read_time: 2021-04-04 09:27:15(0x01)AM
[ 118.508012] s2m-rtc s2m-rtc: s2m_rtc_read_time: 2021-04-04 09:27:15(0x01)AM
[ 118.509492] s2m-rtc s2m-rtc: s2m_rtc_read_time: 2021-04-04 09:27:15(0x01)AM
[ 118.509528] s2m-rtc s2m-rtc: s2m_rtc_set_alarm: 2021-04-04 09:27:54(0x01)AM
[ 118.513088] [SENSOR] sx9306_suspend:
[ 118.513168] [SENSOR] k2hh_suspend:
[ 118.513252] [SENSOR] sx9306_wifi_suspend:
[ 118.513625] wake enabled for irq 2
[ 118.513910] mif: modem_suspend: ss315ap: pda_active:0
[ 118.517017] hall_suspend start
[ 118.517042] [keys] hall_suspend flip_status : 1 (open)
[ 118.517060] wake enabled for irq 554
[ 118.517102] wake enabled for irq 13
[ 118.517120] wake enabled for irq 553
[ 118.517299] gif: gnss_suspend: KEPLER: pd_active:0
[ 118.518782] PM: suspend of devices complete after 133.567 msecs
[ 118.522046] PM: late suspend of devices complete after 3.236 msecs
[ 118.525248] PM: noirq suspend of devices complete after 3.175 msecs
[ 118.525265] Disabling non-boot CPUs ...
[ 118.527670] CPU1: shutdown
[ 118.531826] CPU2: shutdown
[ 118.535765] CPU3: shutdown
[ 118.538421] exynos_pm_syscore_suspend: Entered sleep mode
This part happend at about 09:27:15 (AM), and an alarm was set for 40s in the future (09:27:54).

But immediatley after entering sleep mode (the same time stamp), the device is woken up again:
[ 118.538421] ========== wake up ==========
[ 118.538421] WAKEUP_STAT: 0x80000001
[ 118.538421] EINT_PEND: 0x00, 0x10 0x04
[ 118.538421] Resume caused by IRQ 555, wlan-host-wake
[ 118.538526] Enabling non-boot CPUs ...
[ 118.538754] Detected VIPT I-cache on CPU1
[ 118.538828] CPU1: Booted secondary processor [410fd034]
[ 118.539370] CPU1 is up
[ 118.539606] Detected VIPT I-cache on CPU2
[ 118.539651] CPU2: Booted secondary processor [410fd034]
[ 118.539952] CPU2 is up
[ 118.540106] Detected VIPT I-cache on CPU3
[ 118.540151] CPU3: Booted secondary processor [410fd034]
[ 118.540655] CPU3 is up
And shortly after that also the second CPU cluster (CPU4 to CPU7) is booted.

This behavior (shutting down 7 of 8 CPUs, going to sleep and immediat wake up) can be seen quite frequently.
The wakeup reasons are recurring:

[ 118.538421] WAKEUP_STAT: 0x80000001
[ 118.538421] EINT_PEND: 0x00, 0x10 0x04
[ 118.538421] Resume caused by IRQ 555, wlan-host-wake

[ 124.968417] WAKEUP_STAT: 0x80000001
[ 124.968417] EINT_PEND: 0x00, 0x90 0x00
[ 124.968417] Resume caused by IRQ 553, Home

[ 161.685351] WAKEUP_STAT: 0x80000001
[ 161.685351] EINT_PEND: 0x00, 0x90 0x00
[ 161.685351] Resume caused by IRQ 553, Home

[ 2716.247761] WAKEUP_STAT: 0x80000001
[ 2716.247761] EINT_PEND: 0x04, 0x10 0x00
[ 2716.247761] Resume caused by IRQ 2, s2mpu05

[ 2718.320189] WAKEUP_STAT: 0x80000001
[ 2718.320189] EINT_PEND: 0x00, 0x10 0x04
[ 2718.320189] Resume caused by IRQ 555, wlan-host-wake

[ 2724.627746] WAKEUP_STAT: 0x80000001
[ 2724.627746] EINT_PEND: 0x00, 0x10 0x04
[ 2724.627746] Resume caused by IRQ 555, wlan-host-wake

[ 2730.126929] WAKEUP_STAT: 0x80000001
[ 2730.126929] EINT_PEND: 0x04, 0x10 0x00
[ 2730.126929] Resume caused by IRQ 2, s2mpu05

These wakeups come every 2 to 6 seconds.
Could some interrupt sources be routed to CPU0 (which is always booted) to avoid booting the rest of the clusters?
It never stays in sleep mode until the alarm is triggered.
Is this normal? Do you have an idea?
 

TALUAtXDA

Senior Member
Nov 8, 2018
298
464
Hi @TALUAtXDA
the DMESG shows a strange behavior of the shutting down/starting of the CPUs and the device shutdown/wake.
At a certain time the second CPU cluster is shut down:


And some 100ms later the power management / governor suspends some hardware components and even does shut down the non-boot CPUs of the first cluster and goes to sleep.

This part happend at about 09:27:15 (AM), and an alarm was set for 40s in the future (09:27:54).

But immediatley after entering sleep mode (the same time stamp), the device is woken up again:

And shortly after that also the second CPU cluster (CPU4 to CPU7) is booted.

This behavior (shutting down 7 of 8 CPUs, going to sleep and immediat wake up) can be seen quite frequently.
The wakeup reasons are recurring:



These wakeups come every 2 to 6 seconds.
Could some interrupt sources be routed to CPU0 (which is always booted) to avoid booting the rest of the clusters?
It never stays in sleep mode until the alarm is triggered.
Is this normal? Do you have an idea?
This is entirely normal. When entering deep sleep, the Exynos CPU hotplugging driver at drivers/soc/samsung/exynos-cpu_hotplug.c in the kernel shuts down the 4 cores in the second cluster. After that, PM shuts down the non-boot cores in the first cluster (all cores in the first cluster except 0). When woken up, PM brings the non-boot cores in the first cluster back online, and the Exynos CPU hotplugging driver brings the cores in the second cluster back online (note that I'm unsure about the accuracy of this very last bit). This is all the usual behaviour of Samsung's kernels - I didn't change anything.

Looking at the time spent in deep sleep using certain apps (such as smartpack kernel manager) or the data from /sys/kernel/debug/sleep_time (if only I knew from where the apps get their much more precise data...) on my tablet, it spends most of the time I put it to sleep for in deep sleep, even with an alarm setup, so there appears to be no issues here. The time spent in deep sleep is not counted in the timestamps for kernel log messages in dmesg, so that cannot be used as a way to tell how much time is spent in deep sleep, which is what you're trying to do.

If we were to change the behaviour such that the cores are not brought online whenever such wakeups occur, we'd have to have a way to tell if a wakeup is caused by the user or not (for example, through the home or power buttons) - otherwise, if a wakeup is caused by the user, all of the cores except 0 would always be offline, which is of course no good, and we'd have to make modifications to the kernel that are not preferable. Also, as I said, this is all the usual behaviour of Samsung's stock kernels, and there are no real issues here, and I doubt hotplugging the cores wastes much power, anyway.
 
Last edited:
  • Like
Reactions: Klaerchen

TabAGuy

New member
Sep 4, 2020
2
1
This is LineageOS 17.1 for the WiFi-only variant of the Samsung Galaxy Tab A 10.1" (2016), codenamed gtaxlwifi.

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 device tree that fixed those 2 bugs.

Now, my builds are really a continuation of Valera's builds after he unfortunately discontinued work on this device due to an (understandable) lack of interest.

Over Valera's old builds, my builds have many improvements and additional features, such as the following:
  • SELinux is set to enforcing by default for better security.
  • Secure ADB (RSA key verification for ADB) is enabled by default, and ADB isn't enabled by default and isn't enabled on boot.
  • Encryption is fully working.
  • USB tethering works.
  • Support for using USB for MIDI is enabled.
  • Support for screen mirroring using miracast has been added back after being removed by Google using the changes here: https://review.lineageos.org/q/topic:"ten-aosp-wfd"
  • Freeform windows work properly with this abandoned change: https://review.lineageos.org/c/LineageOS/android_frameworks_base/+/275189
  • The kernel has many updates from Linux 4.4, 3.16 and the 3.18 Android common kernel, including security and vulnerability fixes, improvements to downstream drivers and additional features (including CPU and GPU voltage control (documentation is further on in this thread), the BFQ IO scheduler and some USB serial drivers updated from Linux v4.4 and enabled (The enabled drivers are the generic, WCH CH341 (also supporting the CH340), SiLabs CP201X, Prolific PL2303 and FTDI SIO USB serial drivers. You can use Termux with tsu and screen to interface with supported USB serial devices via these drivers. They'll be available at /dev/ttyUSB[0-255], though most likely /dev/ttyUSB0.))
  • The kernel is also compiled using clang after having applied the many necessary changes to it to do so.
  • The userspace lmk (low memory killer) is used.
  • There is support for signature spoofing, notably for microG.
  • sswap has been removed and ZRAM is used instead.
  • The Settings -> Privacy -> Trust -> Restrict USB option works.
  • The Mali graphics blob has been updated to version r28p0 from r22p0.
  • Support for OpenCL is working.
  • Assisted GPS works.
  • LiveDisplay color calibration and reading mode is available.
  • FlipFlap has been added. (Only works if the timeouts in Settings -> Connected devices -> Connection preferences -> Smart cover are set to 'immediately')
  • As many vendor blobs as possible have been updated from Samsung's stock T580XXS5CTD1/T580XXS5CTK1 (there are no changes to the vendor blobs between those versions) and A520FXXUGCTI9 firmwares.
  • The BSP libraries are built from more up to date, less hacky sources, based on Lineage's SLSI BSP sources, which are publicly available.
  • An issue where videos that are recorded have a duration that is lengthened by the time spent in deep sleep has been worked around.
Note: I won't build for the LTE variant. I don't have enough disk space to build for both variants and I don't own the LTE variant. However, builds for the WiFi-only variant will apparently 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, you can try to use my builds on it if you can go without those things.
Downloads:
Latest build from 20210313 (security patch level 20210305): https://drive.google.com/file/d/1EUYNu3pAU4My7louBCqt8RdvCchoZ0mb/
Some previous releases: https://drive.google.com/drive/folders/1N56WWqP6FG8W_KyWiuUqia80clb8ShtP
Directory for these builds: https://drive.google.com/open?id=1UiUlSbfj3agDvt-4f_YLIS0Xyuz5RtFC

Changelog:
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.
Previous releases:
. . .

@TALUAtXDA One curious question, now that LineageOS 18.x is out, is there any possibility that you'll be creating a build for that?

With a quick google search, I did find this thread, which does give a thanks to you:

However, I've been so happy with what you've done, I was wondering if you were going to do your own LineageOS 18 build. Also, whatever your direction, I think there are others that are as happy with your work as I am (THANK YOU!) and will want to know this answer. Might want to sticky it, if that's an option you have in a thread.

Thanks in advance, regardless of the direction you choose.
 
  • Like
Reactions: TALUAtXDA

TALUAtXDA

Senior Member
Nov 8, 2018
298
464
@TALUAtXDA One curious question, now that LineageOS 18.x is out, is there any possibility that you'll be creating a build for that?

With a quick google search, I did find this thread, which does give a thanks to you:

However, I've been so happy with what you've done, I was wondering if you were going to do your own LineageOS 18 build. Also, whatever your direction, I think there are others that are as happy with your work as I am (THANK YOU!) and will want to know this answer. Might want to sticky it, if that's an option you have in a thread.

Thanks in advance, regardless of the direction you choose.
Yes, very, very, soon. Two days ago, I had installed a build of 18.1 on my tablet, and have started further work on it. There isn't much to do - most of what had to be done has already been done, and there are few issues. I'm thinking that I'm going to release one new untested 17.1 build, and then start releasing 18.1 builds, and maybe also a few more 17.1 builds before discontinuing 17.1 entirely. You're welcome. :)
 

Klaerchen

Senior Member
Nov 6, 2011
413
382
Stuttgart
This is entirely normal. ... This is all the usual behaviour of Samsung's kernels - I didn't change anything.

The time spent in deep sleep is not counted in the timestamps for kernel log messages in dmesg, so that cannot be used as a way to tell how much time is spent in deep sleep, which is what you're trying to do.
Thanks for your answer! I was not aware of the kernel's timestamps not counting during deep sleep! That explains the behavior perfectly.
 
  • Like
Reactions: TALUAtXDA

Chris_0147

Member
Dec 24, 2020
47
3
hello I want to know if I can only have 4 cores turned on without playing and when I start playing the 8 cores will turn on when playing as the stock ROM is possible?
 

TALUAtXDA

Senior Member
Nov 8, 2018
298
464
New release for 20210413

Download: https://drive.google.com/file/d/1m3RPFY-gJ4R8ZYKgMr_8ilJZzZtDsOyM


Note that as I've moved onto 18.1, I'm unable to test this release, and any future 17.1 builds. Nonetheless, it should boot and work perfectly fine. For anyone who hasn't seen it, I now have a new LineageOS 18.1 build here: https://forum.xda-developers.com/t/...18-1-2021-04-07.4190313/page-13#post-84795467

Changelog:
  • 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.
That's all there is to this release. As usual, enjoy.
 
Last edited:

TALUAtXDA

Senior Member
Nov 8, 2018
298
464
Is Factory reset mandatory when we upgrade from 17 to 18 ?
No, it shouldn't be necessary. You should only need to format the system partition, install the 18.1 build, and install newer versions of any packages that are compatible with Android 11. I upgraded to 18.1 from 17.1 with encryption perfectly fine.

I highly suggest backing up all of your data before attempting to upgrade in case something goes wrong.
 

LifelessDead

Member
Aug 22, 2020
6
3
No, it shouldn't be necessary. You should only need to format the system partition, install the 18.1 build, and install newer versions of any packages that are compatible with Android 11. I upgraded to 18.1 from 17.1 with encryption perfectly fine.

I highly suggest backing up all of your data before attempting to upgrade in case something goes wrong.
Did the upgrade:
1. Update twrp from within twrp
2. Wipe system/cache/dalvik
3. Install 18.1
4. Install Nikgapps core
5. Restart - and everything still looks about the same ;-)

Works out of the box! Thanks
 

R!ffRaff

Senior Member
Oct 21, 2019
221
41
No, it shouldn't be necessary. You should only need to format the system partition, install the 18.1 build, and install newer versions of any packages that are compatible with Android 11. I upgraded to 18.1 from 17.1 with encryption perfectly fine.

I highly suggest backing up all of your data before attempting to upgrade in case something goes wrong.
could that also work for the update of lineageos 16?
I tried that with lineageos 17 and it got a boot loop ?!
 

hsje333

New member
Apr 25, 2021
1
0
Im already rooted with bootimg having lat pie release. Is it possible to flash Android Q on pinnacle of last pie release and be rooted? Again I am rooted with magisk, no longer having twrp.
 

Binerf

Member
Jul 10, 2007
7
0
Hi all,

First of all: many thanks for this work and to allow my daughter to keep using her tablet !!

I've just updated from release 16 to lineage-17.1-20210413-UNOFFICIAL-gtaxlwifi.zip (and lost all previous data in the meantime due to error from my side I guess).
Anyway, there is an SD card inside the tablet which I used to configure as "extended storage" to allow application to be installed on.

It worked pretty well with Lineageos 16 but now, most (hard to find one working actually) of applications installed on this storage crash when starting. I can use this SD card in several applications (like Emby) to use this extra storage to store data.

Did I miss something during upgrade ? (hopefully not as I afraid to lost again data with reinstall...)

Thanks
 

TALUAtXDA

Senior Member
Nov 8, 2018
298
464
I've just updated from release 16 to lineage-17.1-20210413-UNOFFICIAL-gtaxlwifi.zip (and lost all previous data in the meantime due to error from my side I guess).
Anyway, there is an SD card inside the tablet which I used to configure as "extended storage" to allow application to be installed on.

It worked pretty well with Lineageos 16 but now, most (hard to find one working actually) of applications installed on this storage crash when starting. I can use this SD card in several applications (like Emby) to use this extra storage to store data.
Issues with adoptable storage (or "extended storage") are known. As far as I know, these would be caused by SELinux denials. However, I don't have logs with the SELinux denials that I need to address, and I can't test adoptable storage.

Could you run this command to set SELinux to permissive temporarily in a shell with root access, and see if your issues no longer exist after doing so?
Code:
setenforce 0
You can get a shell with root access by using some form of terminal emulator (such as Termux) and running "su" if you have Magisk installed, or by using root access over ADB, which can be enabled in developer options, and running "adb root" and "adb shell" on a computer with a working installation of ADB with your tablet connected.
If your issues do indeed disappear after doing so, please get a log from dmesg still in a shell with root access right after doing something that would crash without SELinux set to permissive by running the following command:
Code:
dmesg > /sdcard/dmesg.txt
After that, upload "dmesg.txt" from your internal storage in a new post here.
 

TALUAtXDA

Senior Member
Nov 8, 2018
298
464
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    New release for 20210413

    Download: https://drive.google.com/file/d/1m3RPFY-gJ4R8ZYKgMr_8ilJZzZtDsOyM


    Note that as I've moved onto 18.1, I'm unable to test this release, and any future 17.1 builds. Nonetheless, it should boot and work perfectly fine. For anyone who hasn't seen it, I now have a new LineageOS 18.1 build here: https://forum.xda-developers.com/t/...18-1-2021-04-07.4190313/page-13#post-84795467

    Changelog:
    • 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.
    That's all there is to this release. As usual, enjoy.
    2
    Is Factory reset mandatory when we upgrade from 17 to 18 ?
    No, it shouldn't be necessary. You should only need to format the system partition, install the 18.1 build, and install newer versions of any packages that are compatible with Android 11. I upgraded to 18.1 from 17.1 with encryption perfectly fine.

    I highly suggest backing up all of your data before attempting to upgrade in case something goes wrong.
    2
    No, it shouldn't be necessary. You should only need to format the system partition, install the 18.1 build, and install newer versions of any packages that are compatible with Android 11. I upgraded to 18.1 from 17.1 with encryption perfectly fine.

    I highly suggest backing up all of your data before attempting to upgrade in case something goes wrong.
    Did the upgrade:
    1. Update twrp from within twrp
    2. Wipe system/cache/dalvik
    3. Install 18.1
    4. Install Nikgapps core
    5. Restart - and everything still looks about the same ;-)

    Works out of the box! Thanks
    1
    could that also work for the update of lineageos 16?
    It could be possible to update to 18.1 from 16.0, but that hasn't been tested.
    I tried that with lineageos 17 and it got a boot loop ?!
    It seems that in a few (some?) cases, it does bootloop after upgrading, and I have no idea why.
    1
    App to change the selinux state
    Not works on android 11
    Did you mean to say that things break when SELinux is set to enforcing, rather than the app not being able to set it to enforcing? That's a known issue, and I've told you that before over in the 18.1 thread.

    SELinux will be enforcing in my next 18.1 release when I've finished with the SELinux rules. In the meantime, please stop trying to set it to enforcing with the current release - No matter what you try, you won't be able to set it to enforcing. The necessary SELinux rules won't suddenly automagically be there. :P
  • 42
    This is LineageOS 17.1 for the WiFi-only variant of the Samsung Galaxy Tab A 10.1" (2016), codenamed gtaxlwifi.

    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 device tree that fixed those 2 bugs.

    Now, my builds are really a continuation of Valera's builds after he unfortunately discontinued work on this device due to an (understandable) lack of interest.

    Over Valera's old builds, my builds have many improvements and additional features, such as the following:
    • SELinux is set to enforcing by default for better security.
    • RSA key verification for ADB is enabled by default, and ADB isn't enabled by default or on boot.
    • Encryption is fully working.
    • USB tethering works.
    • Support for using USB for MIDI is enabled.
    • Support for screen mirroring using miracast has been added back after being removed by Google using the changes here: https://review.lineageos.org/q/topic:"ten-aosp-wfd"
    • Freeform windows work properly with this abandoned change: https://review.lineageos.org/c/LineageOS/android_frameworks_base/+/275189
    • The kernel has many updates from Linux 4.4, 3.16 and the 3.18 Android common kernel, including security and vulnerability fixes, improvements to downstream drivers and additional features (including CPU and GPU voltage control (documentation is further on in this thread), the BFQ IO scheduler and some USB serial drivers updated from Linux v4.4 and enabled (The enabled drivers are the generic, WCH CH341 (also supporting the CH340), SiLabs CP201X, Prolific PL2303 and FTDI SIO USB serial drivers. You can use Termux with tsu and screen to interface with supported USB serial devices via these drivers. They'll be available at /dev/ttyUSB[0-255], though most likely /dev/ttyUSB0.))
    • The kernel is also compiled using clang after having applied the many necessary changes to it to do so.
    • The userspace lmk (low memory killer) is used.
    • There is support for signature spoofing, notably for microG.
    • sswap has been removed and ZRAM is used instead.
    • The Settings -> Privacy -> Trust -> Restrict USB option works.
    • The Mali graphics blob has been updated to version r28p0 from r22p0.
    • Support for OpenCL is working.
    • Assisted GPS works.
    • LiveDisplay color calibration and reading mode is available.
    • FlipFlap has been added. (Only works if the timeouts in Settings -> Connected devices -> Connection preferences -> Smart cover are set to 'immediately')
    • As many vendor blobs as possible have been updated from Samsung's stock T580XXS5CTD1/T580XXS5CTK1 (there are no changes to the vendor blobs between those versions) and A520FXXUGCTI9 firmwares.
    • The BSP libraries are built from more up to date, less hacky sources, based on Lineage's SLSI BSP sources, which are publicly available.
    • An issue where videos that are recorded have a duration that is lengthened by the time spent in deep sleep has been worked around.
    Note: I won't build for the LTE variant. I don't have enough disk space to build for both variants and I don't own the LTE variant. However, builds for the WiFi-only variant will apparently 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, you can try to use my builds on it if you can go without those things.
    Downloads:
    Latest build from 20210413 (security patch level 20210405): https://drive.google.com/file/d/1m3RPFY-gJ4R8ZYKgMr_8ilJZzZtDsOyM
    Some previous releases: https://drive.google.com/drive/folders/1N56WWqP6FG8W_KyWiuUqia80clb8ShtP
    Directory for these builds: https://drive.google.com/open?id=1UiUlSbfj3agDvt-4f_YLIS0Xyuz5RtFC

    Changelog:
    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.
    Previous releases:

    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.


    Documentation on how to undervolt the CPU and and undervolt the GPU:
    Warning: I'm not responsible for any damage. Anything you do is at your own risk!
    Note: everything in this section requires root access. If you don't have root access, you can use root over ADB. All commands should be run using some type of shell.
    This documentation isn't the best, but it should be good enough. This section had documentation on how to overclock the GPU and undervolt various busses, but those features don't appear to actually work.

    CPU voltage control:

    This feature allows changing the voltage on the big and LITTLE clusters. To get the current voltages...
    ...of the first cluster (cluster 0), view the contents of the file /sys/devices/system/cpu/cpufreq/mp-cpufreq/cluster0_volt_table. You can use cat to do this:
    Code:
    cat /sys/devices/system/cpu/cpufreq/mp-cpufreq/cluster0_volt_table
    ...of the second cluster (cluster 1), view the contents of the file /sys/devices/system/cpu/cpufreq/mp-cpufreq/cluster1_volt_table.
    Code:
    cat /sys/devices/system/cpu/cpufreq/mp-cpufreq/cluster1_volt_table
    To set voltages...
    ...for the first cluster, write voltages in microvolts (uV) in the format "<1.69GHz voltage> <1.586GHz voltage> <and so on until 343MHz...>" to the file /sys/devices/system/cpu/cpufreq/mp-cpufreq/cluster0_volt_table. You can use echo to do this:
    Code:
    echo "<1.69GHz voltage> <1.586GHz voltage> <and so on until 343MHz...>" > /sys/devices/system/cpu/cpufreq/mp-cpufreq/cluster0_volt_table
    ...for the second cluster, write voltages in microvolts (uV) in the format "<1.69GHz voltage> <1.586GHz voltage> <and so on until 343MHz...>" to the file /sys/devices/system/cpu/cpufreq/mp-cpufreq/cluster0_volt_table.
    Code:
    echo "<1.69GHz voltage> <1.586 voltage> <and so on until 343MHz...>" > /sys/devices/system/cpu/cpufreq/mp-cpufreq/cluster1_volt_table
    These interfaces are in microvolts (uV), and 1 milivolt (mV) is 1000 uV. Your desired voltage can be found by adding or subtracting the voltage you'd like to make it higher or lower by to the current voltage. These interfaces allow changing voltages in steps of 1 uV. The maximum voltage is 1.2V and the minimum is 0.2V for both clusters.

    GPU voltage control:
    To get the current voltages, view the contents of the file /sys/devices/11400000.mali/volt_table.
    Code:
    cat /sys/devices/11400000.mali/volt_table
    To change voltages, write voltages in the format "<frequency in MHz> <voltage for that frequency>" to the file /sys/devices/11400000.mali/volt_table.
    Code:
    echo "<frequency in MHz> <voltage for that frequency>" > /sys/devices/11400000.mali/volt_table
    This has to be done for every frequency you'd like to change the voltage for. Yet again, this interface is in microvolts (uV), and 1 milivolt (mV) is 1000 uV. Your desired voltage can be found by adding or subtracting the voltage you'd like to make it higher or lower by to the current voltage.



    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: Images and videos that are taken in a resolution with an aspect ratio of 16:9 are actually stretched from 4:3.
    Somewhat of a workaround to issue 2: Use a resolution that has an aspect ratio of 4:3.

    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.

    Issue 4: Videos recorded using the camera after going into deep sleep appear to have a very long duration. A portion of recorded videos is mostly stuck on one frame, and what was actually recorded is at the end of videos.
    Worked around with this change: https://github.com/TALUAtGitHub/and...mmit/f79ac375966db9bf6dc2f16be96dd02fb70d81ee / https://review.lineageos.org/c/LineageOS/android_frameworks_av/+/234657 without the flag and ifdef

    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:
    manifests - https://github.com/TALUAtGitHub/gtaxlwifi-manifests
    device tree - https://github.com/TALUAtGitHub/android_device_samsung_gtaxlwifi
    kernel sources - https://github.com/TALUAtGitHub/android_kernel_samsung_exynos7870
    vendor - https://github.com/TALUAtGitHub/android_vendor_samsung_gtaxlwifi
    hardware - https://github.com/TALUAtGitHub/android_hardware_samsung
    android_frameworks_base fork - https://github.com/TALUAtGitHub/android_frameworks_base
    android_frameworks_av fork - https://github.com/TALUAtGitHub/android_frameworks_base
    BSP sources -
    The BSP sources are in 3 parts in these 3 repositories:
    ...all on branches lineage-17.1

    Thanks to:
    @Valera1978 - for the initial work for this device itself, and for providing his old BSP sources.
    @followmsi - for fixes to various issues and other improvements, and lots of help and information.
    LineageOS - for the Android distribution itself.
    ...and everyone else who's worked on anything that is in use.
    10
    New release for 20200711

    Changelog:
    • 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.

    Download: https://drive.google.com/file/d/1oWMS4UhiNEywnOJdpqS6H4BK1nv-bZWh/

    In this release, the issues with hanging/freezing that were present in the previous release have been fixed. If anyone still has any issues with hanging, please get logs (logcat and dmesg) after a hang occurs, report the issue here with the logs and and some type of details of the issue and use this build: https://drive.google.com/file/d/1SDhpnmmr7bFF69GOHrzZ0z6PV5EXq87O/ , which has a kernel with old changes from 20200608 when there weren't any issues and uses sswap/vnswap instead of ZRAM.

    Enjoy.
    10
    New release for 20200814

    Changelog:
    • 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.

    Download: https://drive.google.com/file/d/1o_1lBoueXM1DOqm6L3y4mfdMrlw9vKR8/

    In this release, the Mali graphics blob has been updated to r28p0. This fixes the hanging issues with Chromium-based browsers (including Chrome).

    Those who had used @Valera1978's LineageOS 17.1 builds a while ago may remember issues when the Mali graphics blob was updated to r28p0. Valera not only updated the graphics blob, but also replaced many other things, which caused those issues. I've only updated the graphics blob. To see what I mean, you can compare my commit here: https://github.com/TALUAtGitHub/and...mmit/81d3a3e2d23f02e3a2cd5e6061eda5502f16ae63 with Valera's commit here: https://github.com/Valera1978/andro...mmit/7b7db571882130aaa8115adb33d5c2875b8174c5.

    Everything else is self-explanatory. Enjoy.
    8
    New release for 20200703

    Changelog:
    • 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)

    Download: https://drive.google.com/file/d/130jbirsEOYM3KjrvUZwWNW-YKOiXdw4R/

    In this release, support for using USB for MIDI has been enabled and USB tethering will now work.

    I've disabled the Exynos hotplug governor again. At first, I thought that all 8 CPU cores were being brought online by it with heavier loads while bringing 4 cores offline when there isn't much load like it's supposed to, but after testing it more thoroughly, it appears that the other 4 cores are actually not brought online by it even with heavy loads unless there is some user interaction. Also, battery life doesn't seem to be any better with it.

    Enjoy.
    7
    Changelog:
    • 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.

    I'm no longer going to mention related commits for changes in changelogs for reasons of readability. If you're interested, you should refer to git histories for the repositories mentioned in the original post.

    Download: https://drive.google.com/file/d/13WQryjF4wJw6OjYL4ZN-O07oy58DLo5l/view?usp=sharing

    In this release, support for Miracast has been added back. For some reason I don't understand (something about HDCP?), Google removed Miracast support in Android 9. The changes used to add back support for Miracast are originally from here: https://review.lineageos.org/q/topic:%22ten-aosp-wfd%22 Screen mirroring with WiFi displays using Miracast will now work.

    Freeform window moving and resizing will now work without crashes and soft reboots through the "Fix freeform window moving/resizing doesn't work" change, originally from https://review.lineageos.org/c/LineageOS/android_frameworks_base/+/275189. That change has been abandoned now, and there hasn't been any fix from AOSP. I've applied that change myself, and we now have fully working freeform windows.

    For those changes, I now have new forks for 2 of LineageOS' git repositories:
    android_frameworks_base: https://github.com/TALUAtGitHub/android_frameworks_base
    android_frameworks_av: https://github.com/TALUAtGitHub/android_frameworks_av
    This means that absolutely everything I use on top of LineageOS' sources is now available as I have it. Previously, I was using LineageOS' android_frameworks_base repository with the signature spoofing permission patch manually applied on top.

    Everything else is self-explanatory. Enjoy.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone