[Samsung Galaxy S5 Neo ROMs, Kernels, Recoveries, &] K9100ii:
This is LineageOS 19.1, which is based on Android 12L, for the Samsung Galaxy S5 Neo, codenamed s5neolte, with models SM-G903F, SM-G903W, and SM-G903M.

LineageOS doesn't need much of an introduction - It's a well-known custom firmware/Android distribution.

Note on LineageOS 19.1/Android 12 usability - For those needing Google apps: Do not use heavy Google apps packages, as otherwise, you WILL have severe performance issues. Instead, use the most minimal variant of your chosen package. For example, for OpenGapps (no longer maintained officially, with no Android 12L packages, so use @ipdev's latest unofficial build available here), that is the pico variant.

Also, make sure to use 32-bit ARM packages, not 64-bit ARM64 ones, since these devices unfortunately don't run 64-bit Android despite being 64-bit capable.

Build download

From 20240711 with security patch level 20240605: https://drive.google.com/file/d/1Jzw2C2Pb3aBKzH9VxD7QQP2-eDzAkIKX

Recovery to use

Use my unofficial TWRP build:

Image: https://drive.google.com/file/d/1dIgSDgPUBqben7tvylwL7zyhT9HeOAJ3/

Tar for Odin for the AP slot: https://drive.google.com/file/d/1guVj-Ghcneu9SR3ff3clLp9170CfJbNT/

This build is built from newer sources than the official TWRP builds and has a kernel built from the same sources as these LineageOS builds, so using it instead of an official one is preferable.

The official 3.7.0 TWRP build apparently might not work, while this is a working 3.7.0 build.

Folder for builds

Along with the current build, this folder contain text files with SHA256 checksums for builds, and a folder containing a few previous builds. https://drive.google.com/drive/folders/1jvNM__De4VASNoYmf8xjDZEMVmYSlr-3

Changelogs

Build for 20240711:

Latest updates from LineageOS, including the 20240605 Android security updates.

Build now signed with my own release-keys - This build contains the signing migration patch here.

Recovery updating(/replacement with broken Lineage recovery) has been disabled entirely - Replacement won't happen anymore even if the mistake where the recovery updating option in the setup wizard isn't disabled is made.

Some security patches have been applied to the kernel.

Previous releases

Build for 20240319:

Latest updates from LineageOS, including the 20240305 Android security updates and changes for adding restrictive signature spoofing support only for microG, replacing the patches used before.

Lineage's charging control feature, which was ported for LineageOS 19.1, has been enabled.

Some security patches have been applied to the kernel.

Build for 20240219:

Latest changes from LineageOS, including the 20240205 Android security updates.

A mistake has been fixed that caused dual SIM support to not be functional.

A few security patches have been applied to the kernel.

Build for 20231216:

Latest changes from LineageOS, including the 20231205 Android security updates.

RIL blobs have been updated from Samsung's A105FNXXS9CWB1 firmware.

Dual SIM support has been added for SM-G903M model S5 Neo's with it.

Build for 20231116:

Latest changes from LineageOS, including the 20231105 Android security updates.

A few security patches have been applied to the kernel.

Build for 20231018:

Latest changes from LineageOS, including the (important) 20231006 Android security updates.

A few security patches have been applied to the kernel.

Build for 20230921:

Latest changes from LineageOS, including the 20230905 Android security updates.

A few security patches have been applied to the kernel.

Build for 20230816:

Latest changes from LineageOS, including the 20230805 Android security updates.

A few security patches and EXT4 filesystem fixes have been applied to the kernel.

Build for 20230713:

Latest changes from LineageOS, including the 20230705 Android security updates.

ZRAM is now setup with the discard flag - Possible improvement?

A few security patches have been applied to the kernel.

Build for 20230625 (this changelog picks up from @Radplay's last build):

Latest changes from LineageOS, including the 20230605 Android security updates.

Bluetooth calling has been fixed.

Linaro's new SLSI BSP (Board Support Package, containing sources for HWC and some other stuff) sources are now used - Much more up-to-date than the previously used sources, and there's possibly a small improvement in performance.

Fixed an issue where the speaker would be slightly quieter than expected, and there is possibly slightly distorted audio at full volume from the headphone jack while playing media.

RIL blobs updated from Samsung's T515XXU8CVL1 firmware - Fixes an issue where, after enabling airplane mode, "Service status" under "SIM status" in "About phone" in settings wouldn't report "Radio off", meaning the cellular modem might still have been active in some way.

Some miscellaneous cleanups have been done.

Some security patches have been applied to the kernel.

The Wireguard kernel module has been removed from the kernel as it causes kernel panics. The userspace Wireguard implementation remains usable.

Known issues and workarounds/fixes (if any)

Issue 1 - No VoLTE support: VoLTE currently can't work on any Samsung devices due to Samsung's proprietary implementation in stock firmwares not working on AOSP.

Issue 2 - Possible low volume and echoing while calling on speakerphone: There may be low mic volume issues and echoing that can be heard by the person you're calling, both while using the speaker.

These issues are supposed to be fixed by some blobs called "Lifevibes". They were added in official LineageOS 18.1 sources, but I decided to get rid of them as they completely destroy audio quality. As a workaround, the earpiece or headphones should be used instead.

If anyone wants them, I could have a way to bring them back as a compromise without including them in my builds, please do ask if so.

Some additional info if anyone is interested:

The lifevibes blobs apply insanely heavy noise gating, to get around the noisiness of this phone's microphones, and also heavily downsamples recorded audio in some way. Both processes result in horrible sounding recorded audio - The downsampling makes it sound lower fidelity than AM radio, and the noise gating is excessive to the point of annoying audible artifacts, and it may also get rid of audio content that can still be made out but is just above the noise floor of the mics. That ruined a mission-critical recording for me. I'd rather just take the noisiness.

Issue 3 - No FM radio tuner support

Never got implemented in any Lineage builds for the S5 Neo, and probably too difficult to be worth it.

Something notable is that with Android 12, encrypted data can't be decrypted in TWRP recovery. That problem can only be fixed within TWRP, but with the fixes only being in Android 12L TWRP sources, which we can't build our TWRP builds from due to issues, it continues to exist.

To report further issues, get a log from logcat and dmesg. If you're unsure on how to get either, there's good documentation out there for how to do so.

Sources

A manifest containing all of the necessary repositories to make builds is in the repository here on branch lineage-19.1.

Thanks to:

The previous maintainers, Stricted and danwood76, for all of the previous work for these devices.

The Lineage team - for the Android distribution itself.

...and everyone else who has worked on anything that is in use, such as device tree changes.