[ROM][EXYNOS] LineageOS 18.1 for S10e|S10|S10+ - v2.2 (UPDATE: 2021-07-23)

Search This thread

Keule-Tm

Senior Member
Oct 3, 2016
373
150
Berlin
Samsung Galaxy S10
Ah, indeed! Disney+ as well!
But it feels a bit weird. The reason I installed this ROM was to get rid of all Samsung-stuff and get as close to a clean Android as possible, but now I have to use a separate store. :rolleyes:
Maybe I'm just being difficult or maybe a custom ROM isn't the way to go for me at this moment and it's better to try stock ROM with a different launcher....

By the way, the front camera is still out of focus. I can see it tries to focus, but never succeeds to focus on me correctly.
Aurora store is an unofficial/FLOS frontend to GP.
 

JoeRifle

Member
Aug 11, 2014
29
10
I have a question about MicroG. After installing it, it breaks the preinstalled UnifiedNlP. I tried debloating it and systemizing the backends to privapp together alongside MicroG so to speak (ang granting microG background permission in XML). This worked on another rom - but not here.

Is there a way of keeping the preinstalled UNlP and integrating with MicroG (disable MicroG UNlP)? Or did I do sth. wrong debloating / systemizing?

Everything else works very well out of the box 4 me. Nicely done.
 

amelsfort

Senior Member
Aug 6, 2008
191
5
I just found the solution to the blurry/out-of-focus image of the front cam!
When I take the phone out of the cover, the image is razor sharp again! Somehow the cover is causing the camera to be unable to focus. :eek:
 

Keule-Tm

Senior Member
Oct 3, 2016
373
150
Berlin
Samsung Galaxy S10
I have a question about MicroG. After installing it, it breaks the preinstalled UnifiedNlP. I tried debloating it and systemizing the backends to privapp together alongside MicroG so to speak (ang granting microG background permission in XML). This worked on another rom - but not here.

Is there a way of keeping the preinstalled UNlP and integrating with MicroG (disable MicroG UNlP)? Or did I do sth. wrong debloating / systemizing?

Everything else works very well out of the box 4 me. Nicely done.
There was an alternate MicroG installer. Somehow I can't find it in Magisk Manager, but you should find it in github.
 
  • Like
Reactions: JoeRifle

modpunk

Inactive Recognized Contributor
Oct 14, 2011
1,718
6,647
Sony Xperia XZ1 Compact
Samsung Galaxy S10
There was an alternate MicroG installer. Somehow I can't find it in Magisk Manager, but you should find it in github.

I'm normally looking at microg from time to time if it is in a useble state. There was a post from marvin that he will development again and grant more users commit rights. However nothing really happened till now. I found only one commit and that's it.

I would like to use it, but not in the current state ...
 
  • Like
Reactions: JoeRifle

modpunk

Inactive Recognized Contributor
Oct 14, 2011
1,718
6,647
Sony Xperia XZ1 Compact
Samsung Galaxy S10
Also the fingerprint scanner still isn't working very well and the unlock screen looks a bit the wrong size. It's not filling the whole screen.

Is this on S10+? There is no developer which looks into S10+ so that e.g. the fingerprint sensor has the right size or the correct position. I only have a S10e so S10+ is done completely blind :)
 

JoeRifle

Member
Aug 11, 2014
29
10
I'm normally looking at microg from time to time if it is in a useble state. There was a post from marvin that he will development again and grant more users commit rights. However nothing really happened till now. I found only one commit and that's it.

I would like to use it, but not in the current state ...

Yeah, I can relate to that :p

But, ever since governments decided to track humans with the help of global cancer namend GApple ... the need is on for me and a lot of my "partners" (NO, we do NOT sell dope/do illegal ****, if you are going that route mentally. We have a very "legitimate" reason for staying off grid!)

Anyways, I think it has to do with rights assignment and/or install location of the backends/NlP. I managed to fix it with another rom that way.

I actually really like your solution to use UnifiedNlP as a standalone version without MicroG. It did work very well out of the box and disentangled the whole thing.

Unfortunately, I do need to integrate some kind of Googlish behaviour (APIs) and have not found a MigroG that comes either w/out integrated UNlP or can integrate/use yours instead...or maybe I'm not good enough hehe.

I also tried to deny MicroG to bind its Network Listener. But that refused to install :p

Anyways, I will try to fix this effup manually. If I make it, i.e. if I can get a reliable usage NlP of MicroG as of its current, unpolished state, I will report findings/solution.

--> Very very nice job! And all this development will now become way more important (GApple's Secret Services API)! Just wait and see...but be prepared my fellow community!

PS Forgot sth. In your TWRP folder for the S10+ there is one file which does not belong there cause it is for beyondlte1...dunno how it got there. I suppose you didn't realize yet, but maybe you wanna remove it from that folder @modpunk
 
Last edited:
  • Like
Reactions: modde01

circa_

New member
May 30, 2020
2
0
I'm trying to figure out how to properly backup my lineageOS data with TWRP. Everytime I try to restore, I end up in a bootloop.
 

modpunk

Inactive Recognized Contributor
Oct 14, 2011
1,718
6,647
Sony Xperia XZ1 Compact
Samsung Galaxy S10
Yeah, I can relate to that :p

But, ever since governments decided to track humans with the help of global cancer namend GApple ... the need is on for me and a lot of my "partners" (NO, we do NOT sell dope/do illegal ****, if you are going that route mentally. We have a very "legitimate" reason for staying off grid!)

I'm using the pico apps and the first thing I do after installation, is that I go to the permission manager and remove the permissions from the gapps and turn off what I can. However I hope microg development get better in the next month. The current state is pretty bad.
 

circa_

New member
May 30, 2020
2
0
Can you provide a logcat of that bootloop? Sounds like something crashes ...

Hey Modpunk! Thanks for replying. I just wanted to let you know I'm really new to all this. To be honest, I don't know what I'm doing. I been trying to piece together this puzzle. Originally I said there was a bootloop, so i wanted to provide all the steps I took to get there. But I ran into another issue where I can't decrypt the filesystem in TWRP after backing up.

Part 1: Downloaded TWRP, VBMETA, and Lineage OS Rom Files (https://xdaforums.com/galaxy-s10/sa...rom-lineageos-17-1-beta0-s10e-update-t4076585) (https://xdaforums.com/galaxy-s10/samsung-galaxy-s10--s10--s10-5g-cross-device-development-exynos/recovery-twrp-3-3-1-0-s10e-update-2020-t4067765}
unpacked twrp-3.3.1-0-android-10.0-beyond1lte-3
patched twrp-3.3.1-0-android-10.0-beyond1lte-3 with Magisk on phone
moved magisk_patched.img to computer
Renamed magisk_patched.img to recovery.img
Renamed vbmeta_disabled to vbmeta.img
Added twrp and vbmeta images to 7Zip archive as tar
renamed new tar file to recovery.tar

Part 2:
moved Lineage OS Rom files and gapps to SD card.
Turned off phone
Held volume down + bixby button
Connected USB cable
Launched Odin 3.14.4 as administrator
Loaded recovery.tar in AP slot
Under options tab deselected Auto Reboot
Receive Pass!

Part 3:
Reboot device holding volume down and power button for 7 seconds
When the screen turns off immediately press VolumeUp, Bixby and Power), and keep holding it, until the secondary warning appears (The one with warning about unlocked bootloader), then release Bixby and Power, but keep holding volume up, until the TWRP logo is seen.
Successfully boot into TWRP
Select Wipe/Format Data/YES
Select Wipe/Advanced wipe/select dalvik,cache,data,system/swipe to wipe
Select Install/SD Card 1
Select lineage os rom
Swipe to confirm flash
install/Flashed pico gapps
install/image/magisk_boot_beyond2_ctd1_beta2.img to boot/ swipe to confirm flash
Wiped dalvik/cache/data
reboot to system > do not install
let it do its thing > boot into LOS

Part 4:
go through setup/ setup pin
setup fingerprint (for some reason I cant get fingerprint to work - enrollement was not completed.)
install magisk manager > reboot
boot LOS > enter pin
enable android debugging
poweroff

Part 5:
remove vbmeta.img from recovery.tar (only TWRP being flashed)
Held volume down + bixby button
Connected USB cable
Launched Odin 3.14.4 as administrator
Loaded recovery.tar in AP slot
Under options tab deselected Auto Reboot
Receive Pass!

Part 6.
Boot into TWRP
enter pasword (decrypt)
swipe to allow modifications
backup > SD card > boot + data > swipe to backup (not really sure what to select to backup.. is there a combination that will allow me to restore TWRP with out reinstalling the rom?)
reboot to system
boot to LOS > enter PIN > try again in 86400 seconds
cmd / adb logcat > logcat1.txt (log attached)
power off
boot into TWRP
enter password > password failed.


My end goal is to have your version of LOS running as my daily driver. I want to make sure I can backup and restore so I can switch between ROMs. Right now it dosen't seem like fingerprint unlocking is working for me. How does the Vbmeta and boot (magisk_boot_beyond2_ctd1_beta2.img) image work?

Log File: https://www.dropbox.com/s/5q85cjyk28m1w71/logcat1.txt?dl=0

Appreciate the help!
 

modpunk

Inactive Recognized Contributor
Oct 14, 2011
1,718
6,647
Sony Xperia XZ1 Compact
Samsung Galaxy S10
Hey Modpunk! Thanks for replying. I just wanted to let you know I'm really new to all this. To be honest, I don't know what I'm doing. I been trying to piece together this puzzle. Originally I said there was a bootloop, so i wanted to provide all the steps I took to get there. But I ran into another issue where I can't decrypt the filesystem in TWRP after backing up.

Part 1: Downloaded TWRP, VBMETA, and Lineage OS Rom Files (https://xdaforums.com/galaxy-s10/sa...rom-lineageos-17-1-beta0-s10e-update-t4076585) (https://xdaforums.com/galaxy-s10/samsung-galaxy-s10--s10--s10-5g-cross-device-development-exynos/recovery-twrp-3-3-1-0-s10e-update-2020-t4067765}
unpacked twrp-3.3.1-0-android-10.0-beyond1lte-3
patched twrp-3.3.1-0-android-10.0-beyond1lte-3 with Magisk on phone
moved magisk_patched.img to computer
Renamed magisk_patched.img to recovery.img
Renamed vbmeta_disabled to vbmeta.img
Added twrp and vbmeta images to 7Zip archive as tar
renamed new tar file to recovery.tar

Part 2:
moved Lineage OS Rom files and gapps to SD card.
Turned off phone
Held volume down + bixby button
Connected USB cable
Launched Odin 3.14.4 as administrator
Loaded recovery.tar in AP slot
Under options tab deselected Auto Reboot
Receive Pass!

Part 3:
Reboot device holding volume down and power button for 7 seconds
When the screen turns off immediately press VolumeUp, Bixby and Power), and keep holding it, until the secondary warning appears (The one with warning about unlocked bootloader), then release Bixby and Power, but keep holding volume up, until the TWRP logo is seen.
Successfully boot into TWRP
Select Wipe/Format Data/YES
Select Wipe/Advanced wipe/select dalvik,cache,data,system/swipe to wipe
Select Install/SD Card 1
Select lineage os rom
Swipe to confirm flash
install/Flashed pico gapps
install/image/magisk_boot_beyond2_ctd1_beta2.img to boot/ swipe to confirm flash
Wiped dalvik/cache/data
reboot to system > do not install
let it do its thing > boot into LOS

Part 4:
go through setup/ setup pin
setup fingerprint (for some reason I cant get fingerprint to work - enrollement was not completed.)
install magisk manager > reboot
boot LOS > enter pin
enable android debugging
poweroff

Part 5:
remove vbmeta.img from recovery.tar (only TWRP being flashed)
Held volume down + bixby button
Connected USB cable
Launched Odin 3.14.4 as administrator
Loaded recovery.tar in AP slot
Under options tab deselected Auto Reboot
Receive Pass!

Part 6.
Boot into TWRP
enter pasword (decrypt)
swipe to allow modifications
backup > SD card > boot + data > swipe to backup (not really sure what to select to backup.. is there a combination that will allow me to restore TWRP with out reinstalling the rom?)
reboot to system
boot to LOS > enter PIN > try again in 86400 seconds
cmd / adb logcat > logcat1.txt (log attached)
power off
boot into TWRP
enter password > password failed.


My end goal is to have your version of LOS running as my daily driver. I want to make sure I can backup and restore so I can switch between ROMs. Right now it dosen't seem like fingerprint unlocking is working for me. How does the Vbmeta and boot (magisk_boot_beyond2_ctd1_beta2.img) image work?

Log File: https://www.dropbox.com/s/5q85cjyk28m1w71/logcat1.txt?dl=0

Appreciate the help!

Did you wait 1 day to be able to unlock? Also why do you patch twrp if there is a boot.img with magisk available?
 

JoeRifle

Member
Aug 11, 2014
29
10
I'm using the pico apps and the first thing I do after installation, is that I go to the permission manager and remove the permissions from the gapps and turn off what I can. However I hope microg development get better in the next month. The current state is pretty bad.

Yeah. For a savy dude like you, that works well I suppose :cool:

But this device goes to the hands of a regular John Doe - nice, but not so savy.

And I have to make sure that Google does not, by the means of update or something in the background manipulating settings way beyond control of this John Doe, that they do not manipulate or change the device. (as a side note: Google might even be hiding in places we do not know about in the system - but at least with MicroG they have no means of regularly introducing new and unwanted stuff into your device, while we as free users keep at least some compatibility with that global kraken.)

Oh, and btw I found a solution to make it work!!!

So in case other people care about it, I will post instructions in a separe post below this.

And also thanks to
There was an alternate MicroG installer. Somehow I can't find it in Magisk Manager, but you should find it in github.
this input from Keule-T, I remembered that I had indeed tried a different installer before also.

I will post instructions and links below. Gimme a sec for that though.

PS Anything good to recommend for theming anyone? Does Substratum work well?
 
  • Like
Reactions: Keule-Tm

modpunk

Inactive Recognized Contributor
Oct 14, 2011
1,718
6,647
Sony Xperia XZ1 Compact
Samsung Galaxy S10
Yeah. For a savy dude like you, that works well I suppose :cool:

But this device goes to the hands of a regular John Doe - nice, but not so savy.

And I have to make sure that Google does not, by the means of update or something in the background manipulating settings way beyond control of this John Doe, that they do not manipulate or change the device. (as a side note: Google might even be hiding in places we do not know about in the system - but at least with MicroG they have no means of regularly introducing new and unwanted stuff into your device, while we as free users keep at least some compatibility with that global kraken.)

Oh, and btw I found a solution to make it work!!!

So in case other people care about it, I will post instructions in a separe post below this.

And also thanks to

this input from Keule-T, I remembered that I had indeed tried a different installer before also.

I will post instructions and links below. Gimme a sec for that though.

PS Anything good to recommend for theming anyone? Does Substratum work well?

The microG code was last touched in 2018, it isn't ready for Android 10 nor something for the regular John Doe to fix either. So why should I ship something half broken and then get complaints that it doesn't work?

If you wont a half working microG, it is your job to get it half working not mine :) There is also a problem with UnifiedNlp it needs a new permission introduced in Android 10 but it doesn't know about this permission. We need to wait till Marvin gets back to developement or grants people who actually fix issues permissions to commit. This didn't happen yet.
 

ichmyselfandi

Senior Member
Mar 6, 2018
106
22
The microG code was last touched in 2018, it isn't ready for Android 10 nor something for the regular John Doe to fix either. So why should I ship something half broken and then get complaints that it doesn't work?

If you wont a half working microG, it is your job to get it half working not mine :) There is also a problem with UnifiedNlp it needs a new permission introduced in Android 10 but it doesn't know about this permission. We need to wait till Marvin gets back to developement or grants people who actually fix issues permissions to commit. This didn't happen yet.

Or you could just patch sig spoofing into your roms. Then everyone can chose to install microG on their own, without being depended on some installers.
 

t.l

Member
Dec 11, 2016
35
2
Does this ROM also suffer from certain USB devices not working? In particular DJI's remote controllers?
Ivan Meler's LOS doesn't work with these at all...
Tried again today with Beta 2 - didn't work.
Anyone else facing issues? Any ideas on how to get this to work? I'll try anything, except going back to stock...

Worked with Beta 1.
 
Last edited:

JoeRifle

Member
Aug 11, 2014
29
10
The microG code was last touched in 2018, it isn't ready for Android 10 nor something for the regular John Doe to fix either. So why should I ship something half broken and then get complaints that it doesn't work?

If you wont a half working microG, it is your job to get it half working not mine :) There is also a problem with UnifiedNlp it needs a new permission introduced in Android 10 but it doesn't know about this permission. We need to wait till Marvin gets back to developement or grants people who actually fix issues permissions to commit. This didn't happen yet.

Hehe, all good. You are doing enough for sure. I understand where you are going with Marvin resuming first: it would be a clean and more appropriate solution for everyone. Nobody knows what hidden incompatibilities else exist. Permissions might not be enough - especially when looking at safetynet. This might be a problem in the long run. But I hope that we (he) can find a way to circumvent it - and be it just to prove his magnificient coding skills and frivolous urge to break into security systems, I do have one at least :angel:)

Anyways, for me it seems to work what I have installed so far. Instructions coming now so that your users may follow my route - while we wait for good ole Marvin:

0. Pre first boot of OS: after flashing the system in TWRP, rm -r the UnifiedNlP folder in system/app. This ensures no conflicts with MicroG later on, as no other UnifiedNlP ever gets registered.
(probably optional, since it can also be solved by simply deactiving the preinstalled UnifiedNlP, but I wanted that system-app forever gone in case the user needs to factory reset the OS)

After having completely setup Magisk as usual (i.e. installing the Manager app in OS, flashing the include Magisk boot image in TWRP, starting Magisk Manager and downloading the remaining files to setup environment!):

1. Smali patch module for spoofing support.

https://xdaforums.com/apps/magisk/module-smali-patcher-0-7-t3680053

--> Be aware of the security risks though: this OS does not have any dialogue to ask for explicit user consent in order to grant the permission; the permission is openly available throughout the system now!
--> Off-Note: it would be best if the patcher itself could patch in a dialogue - which actually used to work a while ago, I remember some module for that in Smali patcher. A suboptimal alternative would be that custom roms were presenting an option during installation to include such support and apply all needed patches. IMHO the need for MicroG glory will persist and at some point spoofing will then be "needed" again - we do not have reason to believe that Marvin does not resume coding or that such a project would not be continued by other folks just in case!

2. Magisk Busybox module (probably optional, but might help some setups/apps/etc. lazy coding).

3. Then get this MicroG version here:

https://github.com/FriendlyNeighborhoodShane/MinMicroG_releases/releases

4. In the downloaded zip file (I used the NOGOOLAG version of them): edit the defconf by commenting out all backend installations under "stuff", and only(!) there. This will give you:

Code:
stuff="
  #/system/app/AppleNLPBackend/AppleNLPBackend.apk
  #/system/app/AuroraDroid/AuroraDroid.apk
  #/system/app/AuroraStore/AuroraStore.apk
  #/system/app/DejaVuNLPBackend/DejaVuNLPBackend.apk
  #/system/app/LocalGSMNLPBackend/LocalGSMNLPBackend.apk
  #/system/app/LocalWiFiNLPBackend/LocalWiFiNLPBackend.apk
  /system/app/MicroGGSFProxy/MicroGGSFProxy.apk
  #/system/app/MozillaUnifiedNLPBackend/MozillaUnifiedNLPBackend.apk
  #/system/app/NominatimNLPBackend/NominatimNLPBackend.apk

...the other stuff unchanged

Close and save the editor. It will ask to update the zip file. Hit yes.

5. In the downloaded zip file also edit the system/etc/default-permissions/microg-permissions.xml by commenting out (<!-- "comment" -->) all unneeded permissions since we are not (yet) installing any backends - but note the explicit permission to run as background for Mozilla and for MicroG:

Code:
<exceptions>

    <exception package="com.google.android.gms">
        <!-- Phone -->
        <permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
        <!-- Account -->
        <permission name="android.permission.READ_CONTACTS" fixed="false"/>
        <permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
        <permission name="android.permission.GET_ACCOUNTS" fixed="false"/>
        <!-- Location -->
        <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
        <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
        <permission name="android.permission.ACCESS_BACKGROUND_LOCATION" fixed="false"/>
        <permission name="org.microg.permission.FORCE_COARSE_LOCATION" fixed="false"/>
        <!-- Storage -->
        <permission name="android.permission.READ_EXTERNAL_STORAGE" fixed="false"/>
        <permission name="android.permission.WRITE_EXTERNAL_STORAGE" fixed="false"/>
    </exception>

    <exception package="org.microg.nlp.backend.ichnaea">
        <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
        <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
	[B]<permission name="android.permission.ACCESS_BACKGROUND_LOCATION" fixed="false"/>[/B]
        <permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
    </exception>

[B]<!--[/B]
    <exception package="org.fitchfamily.android.dejavu">
        <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
        <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
    </exception>

    <exception package="org.microg.nlp.backend.apple">
        <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
        <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
    </exception>

    <exception package="org.openbmap.unifiedNlp">
        <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
        <!-- Storage -->
        <permission name="android.permission.READ_EXTERNAL_STORAGE" fixed="false"/>
        <permission name="android.permission.WRITE_EXTERNAL_STORAGE" fixed="false"/>
    </exception>
[B]-->[/B]

</exceptions>

All but the preinstalled Mozilla backend are commented out and MicroG has been given default access to background location.
Same for Mozilla Backend - while probably it isn't needed here though, as all other backends ask for it anyhow after installation, but it does not harm either. I put it to make sure.

6. One more edit of the system/etc/permissions/com.google.android.gms.xml:

Code:
<permissions>
    <privapp-permissions package="com.google.android.gms">
        <permission name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
        <permission name="android.permission.FAKE_PACKAGE_SIGNATURE" />
        <permission name="android.permission.INSTALL_LOCATION_PROVIDER" />
        <permission name="android.permission.READ_PHONE_STATE" />
        <permission name="android.permission.READ_CONTACTS" />
        <permission name="android.permission.WRITE_CONTACTS" />
        <permission name="android.permission.GET_ACCOUNTS" />
[B]   <permission name="android.permission.ACCESS_FINE_LOCATION" />
        <permission name="android.permission.ACCESS_COARSE_LOCATION" />
        <permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
        <permission name="org.microg.permission.FORCE_COARSE_LOCATION" />[/B]
        <permission name="android.permission.READ_EXTERNAL_STORAGE" />
        <permission name="android.permission.WRITE_EXTERNAL_STORAGE" />
    </privapp-permissions>
</permissions>

This ensures the actual permissions for MicroG in case default-permissions gets ignored somehow.

7. All the whitelisting in the system/etc/sysconfig/nogoolag.xml can be left alone. It ensures background API and energy savings compatibility once we do install further backends.

8. Install the edited MicroG zip as a module.

9. After reboot, go to MicroG settings, grant missing permissions if any, and setup your Mozilla backend and Nominatim.

All should work now. You are free to install further backends from this point on. They should all work without further tweaks as they are whitelisted and ask for background access under Android 10.

Droidguard can be installed as a user app and then systemized by Systemizer. But this does not help with safetynet. Even when using MagiskHideProps. So IMHO only Pico Gapps might work here.

Thank you Modpunk and contributors again. And Keule-T for making me remember a different release version as my base for the edits.

PS Substratum does not really work. Be it full version or Lite. Modules do not get applied and the amount of free themes is minimal. Forget it atm. Lineage 17.1 does have its own theme engine. But not much in it at all. Hope this becomes alive and lively. And all the free launcher alternatives are basically full of chinese tracking or advertisements. Forget it. For launchers there is either $$$ or the open source variant OpenLauncher. But more I could not dig up...
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 61
    - - - - - -
    This project provides LineageOS with SELinux for the Samsung Galaxy S10e (SM-G970F, beyond0lte), S10 (SM-G973F, beyond1lte) and S10+ (SM-G975F, beyond2lte).
    - - - - - -


    lineage_17.1_banner.jpg

    FEATURES

    We provide a secure and up to date ROM, check the Lineage Trust status of your phone!

    Secure ROM

    • Fine-grained SELinux policy
    • Latest 4.14 Linux Kernel release
    • Improved performance
    • Wireguard support
    • USB restrictions
    • AES-256-XTS File Based Encryption (FBE)
    • Signed with developer keys

    Nice features

    • FDroid and AuroraStore preinstalled
    • Bluetooth phone calls

    lineage_version.png
    lineage_trust.png


    KNOWN ISSUES

    Don't be scared by the "BETA" label. Our ROMs are always rock solid.

    • Some audio effects are missing
    • Miracast not working
    • Wideband SCO
    • IMS not working (No AOSP solution yet)

    Some minor issues are described in the FAQ below.

    DOWNLOAD

    You can download the latest version under the following links:

    S10e
    S10
    S10+


    INSTALLATION

    Put the zip file of the ROM on your external SD card boot into recovery. If you use our TWRP recovery, you should use that one to flash the ROM.

    Make sure you select: Zip signature verification.

    This will verify that the signature of the ROM will match the one in TWRP recovery. A more detailed step by step description is in the FAQ below.

    SECURITY ADVICE

    Don't flash Magisk modules or anything else which sets SELinux to permissive or you open your device for malware!
    Do not flash Multi Disabler on this ROM!


    What a Wurst!

    This ROM is developed by derf elot, linux4 and modpunk

    Contributors
    modpunk, derf elot, linux4
    Source Code: https://github.com/whatawurst

    ROM OS Version: Android 11
    ROM Kernel: Linux 4.14.236
    ROM Firmware Required: XXSBFUF3
    Based On: LineageOS
    27
    REQUIRED FIRMWARE: XXSBFUF3


    CHANGELOG


    2021-07-23 | 2.2
    • Update to Linux 4.14.239

    2021-06-23 | 2.1
    • Update to Linux 4.14.236
    • Fixed GPS
    • Improved autobrightness (Thanks to linux4)

    2021-06-07 | 2.0
    • Added support to disable fast charging
    • Kernel fix to disable the touchscreen during handheld phone calls
    • Improved auto-brightness
    2020-12-17 | 1.4
    • Add support for glove mode

    2020-10-26 | 1.3
    • Update to Linux 4.14.206

    2020-10-26 | 1.2
    • Update to Linux 4.14.202
    • Added Seedvault (Video)
    • Fixed bluetooth regression
    • Fixed NFC service registration (SELinux denials)
    • Fixed camera issues
    • Fixed LineageOS recovery

    2020-09-11 | 1.1
    • Update to Linux 4.14.196
    • Added Kernel changes from CTG4 (fixes usb audio issues)
    • Improved DT2W support (thanks linux4)
    • Fixed camera access to some sensors

    2020-08-08 | 1.0
    • Update to Linux 4.14.192
    • Performance improvements
    • New thermal HAL for better overheating protection
    • Fixed light sensor auto-brightness
    • Fixed extended-length NFC (required for ePerso App)

    2020-07-13 | RC2
    • Update to Linux 4.14.188
    • Fixed reboot issue with new Power HAL
    • Fixed crash issue with power HAL
    • Update to latest Security release
    • Removed su for adb root

    2020-07-06 | RC1
    • Update to Linux 4.14.187
    • Performance improvements (new power HAL)

    2020-06-17 | BETA3
    • Update to Linux 4.14.184
    • Update to Wireguard 1.0.20200520
    • Fixed HDR support
    • Upstreamed vibrator service implementations

    2020-05-20 | BETA2
    • Update to Linux 4.14.177
    • Added Wireguard support
    • Added support for L1 widevine security level (Netflix etc.)
    • Added in-screen fingerprint support for S10(+)
    • Added "Wireless Powershare" support
    • Get the full list of sensors working, including tilt, rotation_vector, game_rotation_vector and pick_up_gesture
    • Fixed USB tethering
    • Fixed wifi hotspot
    • Fixed proximity sensor
    • Fixed phone calls over bluetooth
    • Fixed phone off charger with nice animation now

    2020-04-14 | BETA1
    • Update to Linux 4.14.175
    • Added magisk building support
    • Added USB Trust HAL
    • Added "Always On Display" quick setting tile (merged upstream)
    • Fixed performance issues
    • Fixed video calls (e.g. in Signal)
    • Fixed proximity sensor
    • Fixed significant motion sensor

    2020-04-05 | BETA0.1
    • Fixed Play Store
    • Fixed permission list
    • Added missing vendor properties
    • Fixed product definitions

    2020-04-03 | BETA0
    • Initial release


    OUR UPSTREAM EFFORTS

    22
    Features + Known Bugs Summary:
    This ROM does already support most features of the hardware. If you need specific features, please check the list below. Each feature was manually tested, so it is possible that it does not match your experience with the ROM. In this case please tell us, see the "Getting Help" section at the end of this post.


    Ratings Description
    • ++ perfect (in depth tested, performs like stock or better)
    • + good (lighly tested only or has minor flaws but is good enough for normal use)
    • o ok (can be used with some limitations)
    • - broken (doesn't work at all)
    • x not supported (unlikely to be implemented, relies on samsungs closed source code)
    • ? can't test, please give feedback

    Performance
    • ++ geekbench 5 score: 2267 (gsmarena stock: 2141)
    • ++ antutu v8.4.1 score: 403909 (gsmarena stock: 389694)

    Speed (values in MB/s, sr =seq. read, sw = seq. write, rr = random read, rw = random write)
    • ++ internal SD 128GB
      • AndroBench5: sr 815.0, sw 193.1, rr 138.7, rw 24.7 (= notebookcheck stock)
      • CPDT 1GB: sr 735.3, sw 139.2, rr 19.2, rw 4.52
    • ++ external SD, 128GB Samsung Evo Plus
      • Androbench5: sr 68.2, sw 34.5, rr 5.75, rw 2.56
      • CPDT 1GB: sr: 75.2, sw: 29.5, rr: 4.08, rw: 1.71
    • ++ USB 3.0 MTP, sw 105MB/s (PC CrystalDiskMark -> mtpdrive -> internal SD)
    • ++ USB 3.0 OTG, sw 105MB/s (Sandisk Extreme 64GB -> internal SD, 10.8GB file, 102s)
    • + bluetooth file transfer, 0.1MB/s (29MB; from other phone 4m42s, from PC 5m24s) (theoretical max. is 0.3 for BLE4.0, 0.8 for BLE4.2 and 1.4 for BLE5.0)

    Connectivity
    • ++ phone calls, 3G, LTE; also with dual sim
    • ++ wifi (delivers 50Mb/s, the maximum my provider supports)
    • ++ bluetooth (file transfer to phone & pc; headphons incl. mic; speakers; keyboard incl. special keys)
    • ++ NFC (only card read tested)
    • x VoLTE

    Screen
    • + 10 finger multitouch, "high touch sensitivity" mode not available
    • ++ full brighness range available
    • ++ double tap to wake
    • + AOD works, but might be dimmer than stock and brightness cant be changed. While active the proximity sensor is used an its LED blinks dimly next to the camera

    Sound
    • ++ dual laudspeaker for media, quality as expected, high volume selectable
    • + earpiece (no in depth test)
    • + headphones (3.5mm jack) have clean audio, high volume selectable, limited to 16bit/48kHz (instead of 24bit/192kHz) possibly by ROM
    • + build-in mic, limited to 16bit/48kHz (instead of 24bit/192kHz), volume should be normal (test)
    • + headphone mic, limited to 16bit/48kHz (instead of 24bit/192kHz)
    • + some external DACs supported, limited to 24bit/48kHz; (reported by @El Dun)

    Camera (with opencamera + camera API v2)
    • ++ wide, ultrawide, front, front-crop
    • ++ PDAF autofocus, face tracking optional (main + front camera, ultrawide is always fixed focus)
    • ++ manual setting for exposure/ ISO/ shutter/ focus
    • ++ raw files option (main camera)
    • ++ optional HDR
    • + dual apperature (main camera), only manual switch (default f1.5)
    • + video up to 2160p/30fps, 1080p/30fps (all cameras should support 60fps, but OpenCamera only produces 30fps files)
    • + 1080p/240fps (main)/ 1080p/120fps (front) high speed/ slow-mo works in stock cam + GCam
    • x no 720p/960fps super slo-mo
    • x no supersteady
    • - S10, S10+: no telephoto camera (details + help wanted)
    • x S10+: no front depth camera

    Sensors
    • ++ gps, quick fix with A-GPS data
    • + fingerprint (all variants), can glitch during setup (see bug list)
    • ++ accelerometer, gyroscope, magnetometer, pressure, light (front) (all values are within tolerance)
    • + light sensor, but only the front/ under-screen sensor, not the rear sensor
    • ++ IR/RGB sensor outputs values for IR/Red/Green/Blue/Clear (test) (COM.SAMSUNG.SENSOR.LIGHT_IR)
    • ++ grip sensor
    • + front proximity (makes only one measurement per second, if you put it quickly to your ear it may touch the screen before it's turned off; reported by @Lav64)
    • ++ software sensors: step counter, rotation vector, gravity, linear acceleration, compass
    • ++ S10/S10+ heart rate/ SpO2 (confirmed by @Ned)
    • o several software sensors don't produce data, but don't do it on stock either. Affected are the IDs: PICK_UP_GESTURE, COM.SAMSUNG.SENSOR.PROXIMITY_POCKET, COM.SAMSUNG.SENSOR.HALLIC, COM.SAMSUNG.SENSOR.BIO_IR (proof thanks @Brembo109, more info from modpunk)

    Charging & Battery
    • ++ 15W quick charge
    • ++ 4.75W reverse charge (with USB OTG adapter)
    • + 7.5W+ qi-wireless charge (limited by my charger)
    • + 2.5W+ reverse qi-wireless charge (limited by the receiver IC BQ51013)
    • + low 40mW idle power consumption (details)
    • + ACCA (advance charging controller app) works with limited settings

    Misc
    • ++ all buttons, bixby can be reprogrammed (workaround for other functions)
    • ++ wired headphone buttons (pause/play, vol+, vol-)
    • + flashlight has only one brighness option (instead of 5 on stock)
    • - S10e: no fingerprint swipe up/down geture, not even with 3rd party app "Quick Fingerprint Geture"

    Known bugs:
    • when phone is shut down, it reboots instead (fixed in RC2)
    • reboot to recovery boots directly into system (fixed in RC2)
    • reboot takes long, about 30s (fixed in RC2, now it only takes a few seconds)
    • double tap to wake not always working (should be fixed in RC2)
    • holding fingerprint too long during setup can cause problems details
    • in full screen apps there may be a black bar to hide the camera cutout which can not be disabled (details, workaround)
    • high sensitivity touch screen / "glove mode" not available (details)
    • bixby-button hold-shortcut does not work (details)
    • google backup does not work with 4x4 or 5x5 pattern. This is an LineageOS issue, but important enough to deserve a note here. (details (thanks @Ivo_Todorov)


    Installation:

    How do I install this ROM on my phone for the first time?
    Below you find a brief checklist of the required installation steps. Installation is more complicated than other ROMs because we take device security very seriously. If you are unfamiliar with installing custom roms , please click the links and read the additional details there.

    • Confirm the firmware version
      • Check the top of the ChangeLog which firmware version is required for the ROM release to work well
      • Go to settings/software-update and update only if the new version matches the requirement!
      • Alternative: flash with odin/heimdall (details see below)
    • Unlock your device
      • Backup all data, unlocking will factory reset your phone
      • Enable developer mode to and enable the OEM-unlock switch there
      • Turn off device and boot to bootloader (hold VolumeDown + Bixby, then connect USB cable)
      • Follow instructions on-screen
      • Finish the initial setup after unlock. You must connect to WiFi, but can skip everything else. Do not specify a pin/pattern during setup afterwards, otherwise TWRP may cause the "try again after 86400 seconds" issue (see below)
      • Confirm in the settings that the bootloader is actually unlocked. (greyed out, telling you its unlocked)
    • Install our TWRP (official thread) | more details (thanks @AndrOdin)
      • Download our TWRP recovery and the vbmeta-disabled.img file
      • Unpack the .xz file with 7zip
      • Check integrity of TWRP (optional, but important for security)
      • Rename files to recovery.img and vbmeta.img; then pack both files together in a .tar archive with 7zip
      • Install Samsung USB drivers and odin, (direct link)
      • Start odin as admin, disable "Auto Reboot" and click "AP "to select the .tar archive
      • Turn off device, boot to bootloader and, once odin detects it, click "Start"
      • When the screen turns off, immediately hold (and keep holding) VolumeUp + Bixby + Power to enter recovery mode
      • When the secondary warning appears, release everything but VolumeUp
      • Swipe slider to allow for modification
    • Install LinageOS
      • copy the ROM ZIP file an external SD card
      • Boot into the recovery
      • Wipe cache + dalvik (wipe->advanced and select cache + dalvik)
      • Format data (wipe->format data, use the dedicated button, wipe->advanced does not work)
      • Flash the ROM (install -> select storage -> micro SD card and select the .zip file)
      • Optional: Flash GAPPS (e.g. OpenGAPPS)
      • Reboot to system

    How do I update LineageOS?
    Updating LinageOS is a lot less work and you can keep all user data. The process is similar to the last part of the installation:

    • Backup all important files optional, but very helpful if something goes wrong)
    • Remove any pin/password/pattern to prevent "retry after 86400 seconds"
    • Copy the ROM ZIP file an external SD card or internal storage; download the new firmware files to PC (if needed)
    • Boot into the recovery, do not reboot until you've installed the new ROM and firmware
    • Flash the ROM (install -> select storage -> micro SD card and select the .zip file)
    • (Optional: Update GAPPS to the latest version)
    • Wipe dalvik and cache
    • Reboot to download
    • Flash new firmware with instructions below
    • (Optional: if you use Magisk, flash the new BOOT file. You can also do this in previous step instead of using Stef4n82's "BL.tar" file.)
    • Reboot to system


    How do I update the firmware?
    On the stock ROM you can update from the settings menu. You can't do this on lineageOS (yet), so ypu need to use use Odin or Heimdall instead.

    How do I update the firmware manually?
    Thanks to @Stef4n82's new instructions and repacked firmware files installation is easier than ever. Below you find a copy of his post:

    If you use Heimdall:

    1. Download the latest firmwarepackge for your device: "G97?F_Firmwareupdate_Heimdall_????.tar.gz"
    2. Extract the package
    3. Flash the firmware files with this command:
    Code:
    heimdall flash \
        --BOOTLOADER sboot.bin \
        --PARAM param.bin \
        --UP_PARAM up_param.bin \
        --CM cm.bin \
        --KEYSTORAGE keystorage.bin \
        --UH uh.bin \
        --DTB dt.img \
        --RADIO modem.bin \
        --CP_DEBUG modem_debug.bin

    If you use Odin:
    1. Download the latest firmwarepackge for your device: "G97?F_Firmwareupdate_Odin_????.zip"
    2. Extract the package and you will get an AP.tar, a BL.tar and a CP...tar.md5
    3. Flash the 3 files with Odin (tested with latest Odin 3.14.x)

    You can download the repacked firmware from the links below.
    1. S10
    2. S10e
    3. S10+

    If you don't want this repacked firmware packages and want to download the whole firmware by your own. Make sure if you flash it via Odin that you use this files:

    1. From AP_G97?FXX*.tar.md5 take the dt.img and create a new AP.tar
    2. CP_G97?FXX*.tar.md5
    3. Extract BL_G97?FXX*.tar.md5 and create a new BL.tar without the vbmeta.img.lz4


    Try again after 86400 seconds?
    With newer version of the Samsung blobs, if you unlock the storage (/data) with TWRP (ie. you enter your pin/password/pattern in TWRP), the trustzone thinks it is a failed attempt and will lock the storage unlocking for 1 day (86400 seconds). To prevent this do not enter your pin (press cancel) and you can still flash an update. If you tripped the trustzone you can either wayt for 1 day to unlock your device (do not power it off) or try rebooting the phone a few times (thanks @Stef4n82), or this slightly more detailed guide (thanks @Exilion90)

    You can prevent this completely by removing any pin/password/pattern before entering recovery. This does remove all stored fingerprints, so you'll have to set the up again after the update.



    3rd Party Software:

    How do I install Google apps?
    You can download and install the Google Apps from Open Gapps Project. You need ARM64 and 10.x. We suggest to always use the pico package. If you need additional apps you find them in the Play Store.

    Put the Open Gapps ZIP file on your SD card and flash it directly after you flashed LineageOS and before the first boot!


    Can I use GPay? What about other banking apps
    GPay as well as some other banking apps check if the device passes safetynet and will not start if it doesn't. Safetynet fails when the bootloader is unlocked and therefore this ROM will not run GPay and other applications that need it. This official LineageOS statement explains why safetynett will never by bypassed (by default).

    Safetynet used to be easy to bypass with Magisk, but since an Update eralier this year Google uses the TPM module and that can't be circumvented easily. However there might be a workaround with "MagiskHide Props Config", please check out this post and this one. (thanks @Stef4n82) Please note that this has not yet been tested and we can not provide any support. If you got it working on your device, please share how you've done it so we can add it here!

    How do I get MicroG with this ROM?
    MicroG is an open source alternative to GAPPS. , but unfortunately not recently updated and therefore not recommended.

    If you want to install it anyway, read this guide by @JoeRifle and this post (appendum) by @ned14 . Update: It has been reported that the new MicroG version works without issues. (thanks @ichmyselfandi)


    Does this ROM have root?
    Not by default. If you need root (eg. for AFWall) you can get it through Magisk.

    How do I install Magisk?
    Important security Advice: Don't flash Magisk modules or anything else which sets SELinux to permissive or you open your device for malware!

    Option 1 (recommended):

    • Download the boot image for Magisk: S10e -- S10 -- S10+
    • Verify the integrity of the file -> See INTEGRITY
    • Unzip the boot image using xz or p7zip
    • (Needed for Odin) Rename the file to boot.img and use 7zip to pack it into a .tar file
    • Flash the boot image to the BOOT partition using Odin, Heimdall or TWRP
    • Install https://******************/

    Option 2:


    Which camera app do you suggest?
    OpenCamera:
    Great open source app that supports a lot of the camera's features with the camera API v2 (select this option in the settings):
    • All cameras supported (except telephoto, this is a issue with the ROM)
    • Manual change of exposure, aperture, shutter speed, ISO
    • The (main) developer uses an S10e himself so you can expect good HW support :p
    You can get it from F-Droid or Play Store

    GCam Variants:
    There is no "official" GCam for this ROM, but there are some that work. Please read this excelent post by @ned14 for more details. The current recommendation is "GCam_5.1.018.177470874.41362666_IDan_N6_3.5_fix.apk" from (IDan). You need GAPPS, microG (post) or the Google Service Framework(post).

    In comparison to OpenCamera it sacrifices manual controls + extra lenses for:
    • simpler user interface
    • better single-shot HDR
    • better panoramas + photospheres
    • SlowMo video (1080p @120/240fps)
    I've also written a more detailed comparison. You can have both camera apps installed at the same time, so you can always choose the better one depending on the scenario.


    Getting Help:

    General:
    Before you post, please check this FAQ, use the search function and skim the few last pages of this thread. We want LinageOS to work on your device, that's the whole point of this thread, but this way you can get the fastest help. If you did not find an answer, feel free to ask here :) We do this in out free time and it may take us some time to answer, so please be patient.

    How to report a bug?
    To fix any bug we first have to be able to reproduce it. Please include all relevant information:
    • device (S10e/S10/S10+)
    • ROM version
    • is gapps/ microg/ magisk installed?
    • steps to reproduce the issue

    When in doubt it's better to include to 0much information than too little. A good example is @Sheffield Steve's bug report. Check out Simon's "How to Report Bugs Effectively" to write even better reports (and thus get better help).

    How to create a logfile?
    To get an even better insight into your issue, a logfile can help us a lot. On Android this is called "logcat". Short logcats are best. They contain less fluff which makes finding the issue easier. Here are the steps how to create a log with adb:

    • install adb drivers
    • open cmd and navigate to the adb file eg. cd C:\Users\<user>\Desktop\platform-tools
    • Connect your phone via USB
    • Select "Allow USB Debugging" on the popup on the phone (see below how to activate it)
    • Clear the log using: adb logcat -c
    • Start loggingwith: adb logcat | tee beyond.log
    • Reproduce the issue
    • Stop logging by pressing CTRL+c
    • Send us the log (in a PM)

    How do I enable USB Debugging?
    To enable USB Debugging you need to do the following steps:

    • Go to Settings -> About Phone
    • Look for Build number
    • Tap on Build Number several times till you get the message that Developer Options have been enabled
    • Go to Settings -> System -> Advanced -> Developer Options
    • Enable USB Debugging


    About this FAQ:
    This FAQ is originally written by modpunk and partly maintained by me (ctrej) to reduce modpunk's workload. We try to keep the FAQ as up-to-date as possible, but it may lag a few days behind. Please read the last posts in this thread for latest information.

    Changelog:
    20200813 (v1.0)
    • update: this changelog, now with ROM version at time of posting and a hide section for older changelogs
    • update: firmware update section (thanks @Stef4n82!)
    • update: ROM update section
    • update: getting help section, rewritten for clarity
    • update: proximity sensor, slow sample rate (thanks @Lav64)
    • update: audio section with my test and @El Dun's report
    • add: gpay/safetynet explanation
    • change: link formating to stay under the 30k character limit

    20200809 (RC2)
    • update: audio output with limited frequency range, limited DAC support (thanks @El Dun)
    • update: double tap to wake works well, used it for a few weeks now without issues
    • update: "86400 seconds" section (thanks @Exilion90)
    • add: links to each version of this FAQ, just click one of the datecodes
    • add: ACCA to feature list
    • add: ADO works kinda
    • add: dual sim to feature list (thanks @Exilion90)
    20200802 (RC2)
    • update: microG section (thanks @ichmyselfandi)
    • update: unlock instructions, setup with wifi required (thanks @Lunat1c)
    • update: "86400 seconds" section (thanks @Lunat1c & @Stef4n82)
    • add: gapps/ microg/ google framework requirement for the GCAM (thanks @KanyT & @ned14)
    • add: bug google backup pattern with 4x4 or 5x5 pattern (thanks @Ivo_Todorov)
    • fix: twrp "more details" link (thanks @Lunat1c)
    20200719 (RC2)
    • update: rgb light sensor, all channels working
    • update: software sensors don't output values on stock either (thanks @Brembo109)
    • add: gcam information (thanks @ned14)
    • add: grip sensor
    • add: microg appendum (thanks @ned14)
    • add: workaround for black status bar in fullscreen
    • add: bug no glove mode (thanks @raggatip)
    • add: bug bixby button hold shortcut (thanks @Lav64)
    20200713
    • update: feature/ bug list (previously called working/ not working) with fixed from RC2
    • update: instructions for microG (thanks @ned14)
    • update: magisk install instructions
    • update: wireless power share works fine, the phone just didn't like the synthetic load I used for testing
    • add: black bar on camera cutout in fullscreen apps (thanks @Sradgads)
    20200707 (RC1)
    • update: section "get help" with copy & paste template
    • update: font for cmd to Courier New
    • confirm: removing pin/password/pattern solves the 86400 second wait delay (thanks @fishnetfancy)
    • add: working/not working section
    • add: this changelog
    • add: telephoto lens not working (thanks @Ned)
    • add: several RC1 issues (thanks @angela5246)
    • add: vbmeta_disabled note to firmware instructions (thanks @okloloi)
    • add: reminder to update Magisk alongside lineage (thanks @fishnetfancy)
    20200705 (Beta3)
    • first FAQ update by me (ctrej)
    • change: order to the "natural" installation flow
    • change: install section into a more detailed checklist (thanks @AndrOdin)
    • add: sub-sections (install/ 3rd party/ support)
    20
    JFYI: I'm working on LineageOS 18.1 however I didn't have had time to work on it the last two weeks. Next week will be better.
    17
    What is difference between this and Ivan's lineage os?

    The most obvious one is that we provide SELinux enforcing and care about security and privacy. For the rest I can't give you an answer as Ivan doesn't want to release the source of his device tree. It would be great if Ivan would join our effort and contribute.