[Samsung Galaxy S10/S10+/S10 5G/E Cross Device Deve] ctrej:
I've updated the FAQ to match RC2 and integrated the "Features + Bugs Summary" from one of my last posts.

Features + 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

++ 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

++ full brighness range available

+ double tap to wake should be working (see bug list)

Sound

++ dual laudspeaker for media, quality as expected, high volume selectable

++ headphones (3.5mm jack) have clean audio, high volume selectable

+ headphone mic (tested with recorder app, volume a bit low)

+ earpiece (no in depth test)

++ primay mic (tested with recorder app, volume is ok)

o volume of earpiece & mic might be lower than stock (details)

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)

o 1080p/240fps (main)/ 1080p/120fps (front) high speed/ slow-mo only in stock camera

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 gitch during setup (see bug list)

++ accelerometer, gyroscope, magnetometer, pressure, light (front) (all values are within tolerance)

+ IR/RGB sensor outputs values for IR/Red/Green; I can't confirm if the 4th channel (Blue) exists (COM.SAMSUNG.SENSOR.LIGHT_IR)

- rear light sensor does not generate data (COM.SAMSUNG.SENSOR.BIO_IR)

- hall sensor does not generate data (should detect magnet in buttom left corner to detect open/close for some flip covers)

++ front proximity (switches between 0 and 8cm at a physical distance of about 2cm - this is intended and makes the samsung drivers compatible to AOSP)

- "proximity pocket" does not generate data (COM.SAMSUNG.SENSOR.PROXIMITY_POCKET)

++ software sensors: step counter, rotation vector, gravity, linear acceleration, compass

- "pick up gesture" does not generate data (PICK_UP_GESTURE)

++ S10/S10+ heart rate/ SpO2 (confirmed by [MENTION=465284]Ned[/MENTION])

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)

Misc

++ all buttons, bixby can be reprogrammed

++ 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"

the default installation...

has no root

does not pass safetynet

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)

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 if necessary

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

Do not specify a pin/pattern during setup afterwards, otherwise TWRP may cause the "try again after 86400 seconds" issue (see below)

Install our TWRP (official thread) | FAQ | more details (thanks [MENTION=10599663]AndrOdin[/MENTION])

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)

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:

Remove any pin/password/pattern to prevent "retry after 86400 seconds"

Copy the ROM ZIP file an external SD card or internal storage

Boot into the recovery

Flash the ROM

(Optional: Update GAPPS to the latest version)

Wipe dalvik and cache

Reboot to system

You'll also need to update Magisk, if you use it.

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). If that happens you have to wait for 1 day to unlock your device again. If you do not enter your pin (press cancel), it will not trigger the delay and you can still flash an update.

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.

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.

Odin

With Odin you have to flash:

BL_G97?FXX*.tar.md5

CP_G97?FXX*.tar.md5

From AP_G97?FXX*.tar.md5 take the dt.img and create a new AP.tar with only the dt.img. You may need to include vbmeta_disable.img (renamed to vbmeta.img) into the .tar file to get it to work. (details [MENTION=9186778]okloloi[/MENTION])

Heimdall

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

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!

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 [MENTION=5985501]JoeRifle[/MENTION] and this post by [MENTION=494233]ned14[/MENTION] .

How do I install Magisk?

If you need root (eg. for AFWall) you can get it through 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:

Patch TWRP

Which camera app do you suggest?

Open Camera is great and supports a lot of the camera's features with the camera API v2 (select this option in the settings):

Most cameras supported (normal, wide angle, telephoto, front, front-cropped)

Manual change of exposure, aperture, shutter speed, ISO

Multiple focus options that work with the PDAF (Phase-Difference Auto Focus, is much faster and more precise then "regular" contrast based AF)

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

Getting Help:

General:

We want linageOS to work on your device, that's the whole point of this thread. If you run into an issue, please check this FAQ and the posts of the last two days first. Should you not find an answer, you can post your question, Make sure to include enough details to reproduce your issue. When in doubt it's better to include too much information than too little :)

You may copy the template below and fill in you details. A simple example would be:

[b]System:[/b] device, version, TWRP twrp_version, (if installed eg) gapps, magisk

[b]Description:[/b]
description

[b]Steps to reproduce:[/b]
[list]
[*]step 1
[*]step 2
[*]step 3[/list]

We do this in out free time and it may take us some time to answer, so please be patient. To take your bug reports to the next level, please read Simon's "How to Report Bugs Effectively". We'd be thankful for that and so will be every other developer you speak to.

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:

20200713

update: feature/ bug list (previously called working/ not working) with fixed from RC2

update: instructions for microG (thanks [MENTION=494233]ned14[/MENTION])

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 [MENTION=4603758]Sradgads[/MENTION])

20200707

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 [MENTION=10912981]fishnetfancy[/MENTION])

add: working/not working section

add: this changelog

add: telephoto lens not working (thanks [MENTION=465284]Ned[/MENTION])

add: several RC1 issues (thanks [MENTION=10650955]angela5246[/MENTION])

add: vbmeta_disabled note to firmware instructions (thanks [MENTION=9186778]okloloi[/MENTION])

add: reminder to update Magisk alongside lineage (thanks [MENTION=250480]fishnetfancy[/MENTION])

20200705

first FAQ update by me (ctrej)

change: order to the "natural" installation flow

change: install section into a more detailed checklist (thanks [MENTION=10599663]AndrOdin[/MENTION])

add: sub-sections (install/ 3rd party/ support)