• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[ROM][10] LineageOS 17.1 + 18.1 (official trees - unofficial build) [SURYA]KARNA]

Search This thread

gardiol

Senior Member
Feb 23, 2011
757
974
San Carlo Canavese
photos.gardiol.org
Lineage_OS_Logo.png



LineageOS 17.1 official trees / unofficial builds for surya and karna.

LineageOS 18.1 unOfficial, official request in progress, for surya and karna.

We are official!


But "official" builds cannot be built yet until we move to fully OSS vendor partition. Be patient now, it will happen thank to the amazing underlying Ghostrider work, but i need to adapt it to LOS trees which are different.

Work on the 18.1 with full vendor partition, that will be officially built is in progress.


/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/

What's working:
  • WiFi
  • VoLTE
  • VoWIFI
  • FM Radio
  • RIL (telephone, SIM, 2G/3G/4G/LTE/+/blah...)
  • Tethering
  • Bluetooth + AAC
  • Tethering + bluetooth working
  • Safety net passed
  • SELinux Enforcing in Trust
  • DT2W
  • WiFi Display fully working
  • Infrared (IR)
  • NFC (Surya only)

Known issues:
  • Honestly at this time, nothing?

Download:

There is also a MIcroG build if you don't like Google Apps!
Note: on the same download links you can find also MicroG builds for both 17.1 and 18.1!

There is also, for help and support, the:
Instructions:
  • NOTE: it is MANDATORY to flash latest stable firmware for your region!
  • For 17.1: flash VENDOR + FIRMWARE from Android 10 (Q)
  • For 18.1: flash FIRMWARE from Android 11 (R) - no vendor required.
  • Download this build and Magisk (optionally) and gapps (optionally).
  • Put the zip on your MicroSD (suggested) or connect via USB to PC.
  • Boot to recovery (latest TWRP only is suggested! OrangeFox has issues).
  • Wipe Dalvik, Cache and format data. This IS NOT OPTIONAL!
  • Reboot recovery after wipe and format.
  • Flash this ROM zip...
  • ... (suggested) reboot system and do the initial setup ...
  • ... If you want Magisk and/or gapps: boot back to recovery,
  • Flash GAPPS and/or Magisk.
  • Reboot and enjoy!
If you have any issues flashing, like persistent GApps or booting issues, try to cleanup the phone with the following procedure:
  • Download a full MIUI rom recovery package from XiaomiFirmwareUpdater
  • ... (make sure you download the full rom package for RECOVERY, it is about 2.4Gb!) ...
  • From recovery, flash the zip file. This will cleanup all the partitions.
  • Now flash again this ROM.
This problem is related to the fact that TWRP and OrangeFox both don't support dynamic partitions properly yet.

Tested with Magisk 23.0, newer version should work.
Suggested GAPPS for LineageOS 17.1: OpenGapps nano or pico.
Suggested GAPPS for LineageOS 18.1: Mind The Gaps (
here)


XDA DevDB Information
LineageOS 17.1 & 18.1, ROM for the Xiaomi Poco X3 NFC

Contributors

Build by @gardiol
Thanks to @Maharajah99, @janhammer504 , and quite so many others.

Device tree sources: device tree
Kernel sources: kernel
Vendor sources: vendor

Additional notes

SafetyNet does not pass by default, you need to follow the steps on post n.3 below. This is due to Google issues and LOS rules.

ROM OS Version: Android 10 & 11
ROM Kernel: Linux 4.x

Version Information
Status:
Testing, unofficial.

Created 2020-12-13
Last Updated 2021-09-98
 
Last edited:

gardiol

Senior Member
Feb 23, 2011
757
974
San Carlo Canavese
photos.gardiol.org
Changelog

19 September 2021 (17.1)

September security patches.

06 September 2021 (18.1)
New debloated kernel
Fixed screen recorder rate limiter
Fixed DriveDroid (and more usb gadget stuff)
Added proximy check to prevent screen wakeup option
August patches
Fixed minor denials (battery improvement)

31 July 2021 (18.1)
Fixed lots of denials
Greatly improved battery life
more minor fixes.

20 July 2021 (both 17.1 and 18.1)
July patches
For 18.1: mi_thermald added back
For 18.1: dynamic 30-120Hz fixed

13 July 2021 (18.1)
All new trees!
FORMAT data is MANDATORY

19 June 2021 (17.1)
Upstream sync
June patches

17 June 2021 (18.1)
fixed haptic issues
Fixed Netflix error 5.10
Fixed idle drain
Fixed NFC denial
Upstream sync

07 June 2021 (18.1)
Fix aptX
Fix boot from MIUI to LOS not working

07 June 2021 (18.1)
Fix netflix
Fic video recording length
Fix GBoard rounded corners

05 June 2021 (18.1)
First release of 18.1 build!

11 May 2021 (17.1)
LOS upstream sync with May patches

18 April 2021
LOS upstream sync with April patches
Dpmd crash resolved
️LOS call recorder enabled
️Removed all permissive domains

09 April 2021
Upstream sources sync

28/29 March 2021
Fixed video recording bug
Fixed audio crackling (finally!)
Removed all "parts", added doze and refresh rate specific settings
Getting trees ready for official
(note: UnofficlalBuild and Experimental builds are from 28 March, MicroG from 29th)

13 March 2021
Two builds are available...
Unofficial, the same old build, but with March security patches.
Experimental, featuring a full vendor partition, but still SELinux permissive, but a ton of improvements including fixed video recording length, 4K video recording and playback and more minor issues.
Pick your choice!

27 February 2021
Really fixed yellow tint once for all
Enabled VoIP transition
Updated proprietary blobs
Haptic improvements
Various minor optimizations
LOS upstream sync

19 February 2021
Improved Wifi
Improved audio
LOS upstream sync

06 February 2021
Improved brightness levels
Finished reworking tree
February LOS upstream sync
Latest security patches

24 Jannuray 2021
Fixed "Fast Charging" string, except for original charger!!! (Fast charging IS working, just does not says it's fast in lockscreen).
Added 30Hz and 50Hz display frequency in display options
Cleaned up audio routes


19 Jannuary 2021
Reverted a prop which was interferring with whatsapp videos.

18 Jannuary 2021
Fixed fingerprints
Rewritten init_surya.cpp
Removed more useless stuff
Activated correctly second SIM card
Added a few translations
Improved brighness
Improved Wifi networks
Fixed tethering+bluetooth

05 Jannuary 2021
WiFi Display fixed, finally!
Resolved bug with speakerphone and reboot

05 Jannuary 2021
WiFi Display not fixed
Product partition enlarged
Device Tree reworked for proper contribution recognition
AOD disabled. Once fixed will be available again.

01 Jannuary 2021
DT2W Fixed.

29 December 2020
New device tree is up.
Brightness works again
DT2W not working
AOD not working
FM Radio fixed (again)

29 December 2020
Final fix for low volume recording.
WiFI Display still not fixed (please send logs!!!)
Device tree cleaned up a lot
add Higher Aspect Ratio
statusbar : avoid display parameters on Notch
SELinux is showing Enforcing in Trust

28 December 2020
Added audio fixes for low volume.
Added full WiFi Display support (to be confirmed)

26 December 2020
New parittion size.
Bluetooth now reporting working properly.

24 December 2020
Tentative SELinux enforcing.

22 December 2020
Added FM radio support, FM radio working.
SELinux still permissive

20 December 2020
Reworked vendor mixing camera blobs from A10 branch and telephony from A11 branch.
Camera is reported working.
SIM card is reported working.
VoLTE and WoWiFi reported working.
FM Radio NOT working.

19 December 2020
New beta build for camera fix.
Let me know if it works!

18 December 2020
SIM card works
missing camera
selinux permissive, will try to fix in later build
 
Last edited:

gardiol

Senior Member
Feb 23, 2011
757
974
San Carlo Canavese
photos.gardiol.org
Passing SafetyNet and Google Play Certification

Most of POCO X3 AOSP derived ROMs incorrectly set the device fingerprint. The reasons are various and can be summarized as:
  1. It's being dome like this by the Great Devs
  2. It's too dangerous to change
  3. In this way we can fake being a Pixel phone
But this is fundamentally incorrect, as each device has it's own fingerprint signature that shall be preserved, and MUST be preserved in order to achieve official status. Moreover, the recent changes in Play Services about SafetyNet (you can read more here: hardware certification) make impossible to pass SafetyNet with an unlocket bootloader. The workaroud requires a rewrite of the keystore and faking to be an older device which does not support hardware certification. This must be implemented from upstream (and i doubt LOS will ever implement it anyway).

So, what is the problem?

First, the hardware certification must be faked.
Second, the correct device fingerprint must be set.

So, what is the solution?

First, use a magisk module.
Second, use another magisk module to fix it. Maybe this second problem might be solved in the future, but the first one cannot be fixed unless LOS upstream add the fix themselves.

The procedure

  1. Download Magisk (official magisk page), download latest stable.
  2. Boot to recovery and install magisk. (future dirt flashes will preserve magisk)
  3. Reboot system and open Magisk Manager app.
  4. Install the first module (this: from official github page)
  5. Activate Magisk Hide and "hide Magisk Manager app". This is very important!
  6. Install the module "MagiskHide Props Config", you can find it in the modules repository inside Magisk Manager!
  7. Open a terminal... you have three options:
    1. adb shell from PC with phone connected over USB (first, enable USB debugging in developers options)
    2. Enable terminal app from developers options
    3. Install a terminal app from Play Store or FDroid.
  8. Now, in terminal: type "su" (and give root permissions!)
  9. Type "props"
  10. Now you will see a menu, select "1" (Edit device fingerprint)
  11. From the new menu, select "f" (Pick a certified fingerprint)
  12. Select the brand POCO, not XIAOMI!
  13. Now select the POCO X3 NFC (either global or europe, does not matter)
  14. You should see the fingerprint selected on screen, now accept it with "y".
  15. Accept to reboot immediately!
  16. The phone will reboot, after that SafetyNet will pass.
Known issues and solutions

99% of issues are related to incorrectly use of Magisk. Magisk HIDE must be enabled and Magisk MAnager must be "hidden" with the menu selection inside Magisk MAnager itself.
 
Last edited:

Vulnerability

Senior Member
Sep 14, 2017
66
37
Thanks for the ROM! Is this built with the official kernel release? Or are you using the one built by @xyyx ? Also I'm assuming SELinux is enforcing?

I'll flash it later this week most likely :)
 

Top Liked Posts

  • 1
    Ah yes, had developer options enabled all the time, debugging options selected also. Since I wanted to collet as much info about the bug as nessecary. Still the error remains and the application fails to work. I really think this is not an LOS thing but a Bromite thing. Is there any way I can replace the Webview application for another one? The Webview Manager Magisk module does not seem to work. I have no trouble running ADB as root and messing in the shell of my phone. Or installing stuff via ADB. Webview manager seems to install the Webview APK somewhere where LOS does not pick it up.
    For everyone who has problems with applications not able to connect to services with weird logging of not allowing http sockets from https urls and other Bromite related misery. Very very short howto. Please be careful! Running the rm command can damage your install if you are not careful and make typo's.

    Code:
    Developer Options, Allow debugging as root
    
    adb root
    (got suggestion to reboot phone from adb, might not happen to you)
    reboot
    
    adb root
    adb shell
    su -
    (check phone for root access)
    mount -o remount,rw /
    rm -rfv /system/app/bromite-webview
    reboot phone
    
    Install Magisk
    Install Magisk Webview Manager
    https://www.androidacy.com/downloads/?view=%2540Magisk-Modules%2540WebviewManager
    Choose webview you want, wait.
    reboot
    
    Check Developer Options, Webview Implementation.
    Should say someting other than Bromite.

    Problem solved! (At least, on my phone)

    Ungoogled Chromium Webview works as a charm here. You might need to repeat the procedure to remove Bromite when you flash a new rom, since the rom includes the Bromite Webview out of the box on LOS 18 MircoG.
  • 11
    7
    Hi guys, just some notes.

    To any having issues with GPS, ensure you upgraded to latest build AND i also suggest to perform a deep clean by flashing a fastboot MIUI rom as most probably you have borked something in persist partition. GPS works just fine in google maps and any other maps apps has i just spent two weeks uwing it constantly so can definitely confirm it works great.

    I will be resuming working on the kernel cleanup sometine next week, and maybe i will do a build with august patches or maybe not and just wait for september,

    The rom is just perfect like it is and there will most probebly no more "improvements" rom side, just kernel side in the foreseable future. Which i hope will fix the random reboot issue i sometimes experience.
    5
    By the way, this release will be the LAST one with test-keys. From the next one, i will start signing with release keys, so a clean flash will be mandatory AFTER today's build. But this will help with some apps that check for test keys and refuse to work.
    4
    "Are we there yet???"
    Donkey (c) 😁

    Hi! First of all, thanks for that and for bringing (almost) official LOS to X3 NFC, all of us!

    Not asking for ETA, but do you have a rough idea of when next update will be available? Within a few days or some weeks, for instance.
    I'm (and probably others) just about to flash LOS for the first time on my brand new X3 and as next release will need a clean install I'd like to know if better to hold a bit on apps install or not, to avoid lots of apps data backup/restore.

    I've read the whole thread and I saw you were on vacation recently....so welcome back and have your time. But if you can give us your feelings would be nice! Thanks again!
    Look on the download server, under test folder, the 10/09 build called "signed" , flash that one... Already signed with release keys. Its my daily driver so perfectly stable.
  • 56
    Lineage_OS_Logo.png



    LineageOS 17.1 official trees / unofficial builds for surya and karna.

    LineageOS 18.1 unOfficial, official request in progress, for surya and karna.

    We are official!


    But "official" builds cannot be built yet until we move to fully OSS vendor partition. Be patient now, it will happen thank to the amazing underlying Ghostrider work, but i need to adapt it to LOS trees which are different.

    Work on the 18.1 with full vendor partition, that will be officially built is in progress.


    /*
    * Your warranty is now void.
    *
    * I am not responsible for bricked devices, dead SD cards,
    * thermonuclear war, or you getting fired because the alarm app failed. Please
    * do some research if you have any concerns about features included in this ROM
    * before flashing it! YOU are choosing to make these modifications, and if
    * you point the finger at me for messing up your device, I will laugh at you.
    */

    What's working:
    • WiFi
    • VoLTE
    • VoWIFI
    • FM Radio
    • RIL (telephone, SIM, 2G/3G/4G/LTE/+/blah...)
    • Tethering
    • Bluetooth + AAC
    • Tethering + bluetooth working
    • Safety net passed
    • SELinux Enforcing in Trust
    • DT2W
    • WiFi Display fully working
    • Infrared (IR)
    • NFC (Surya only)

    Known issues:
    • Honestly at this time, nothing?

    Download:

    There is also a MIcroG build if you don't like Google Apps!
    Note: on the same download links you can find also MicroG builds for both 17.1 and 18.1!

    There is also, for help and support, the:
    Instructions:
    • NOTE: it is MANDATORY to flash latest stable firmware for your region!
    • For 17.1: flash VENDOR + FIRMWARE from Android 10 (Q)
    • For 18.1: flash FIRMWARE from Android 11 (R) - no vendor required.
    • Download this build and Magisk (optionally) and gapps (optionally).
    • Put the zip on your MicroSD (suggested) or connect via USB to PC.
    • Boot to recovery (latest TWRP only is suggested! OrangeFox has issues).
    • Wipe Dalvik, Cache and format data. This IS NOT OPTIONAL!
    • Reboot recovery after wipe and format.
    • Flash this ROM zip...
    • ... (suggested) reboot system and do the initial setup ...
    • ... If you want Magisk and/or gapps: boot back to recovery,
    • Flash GAPPS and/or Magisk.
    • Reboot and enjoy!
    If you have any issues flashing, like persistent GApps or booting issues, try to cleanup the phone with the following procedure:
    • Download a full MIUI rom recovery package from XiaomiFirmwareUpdater
    • ... (make sure you download the full rom package for RECOVERY, it is about 2.4Gb!) ...
    • From recovery, flash the zip file. This will cleanup all the partitions.
    • Now flash again this ROM.
    This problem is related to the fact that TWRP and OrangeFox both don't support dynamic partitions properly yet.

    Tested with Magisk 23.0, newer version should work.
    Suggested GAPPS for LineageOS 17.1: OpenGapps nano or pico.
    Suggested GAPPS for LineageOS 18.1: Mind The Gaps (
    here)


    XDA DevDB Information
    LineageOS 17.1 & 18.1, ROM for the Xiaomi Poco X3 NFC

    Contributors

    Build by @gardiol
    Thanks to @Maharajah99, @janhammer504 , and quite so many others.

    Device tree sources: device tree
    Kernel sources: kernel
    Vendor sources: vendor

    Additional notes

    SafetyNet does not pass by default, you need to follow the steps on post n.3 below. This is due to Google issues and LOS rules.

    ROM OS Version: Android 10 & 11
    ROM Kernel: Linux 4.x

    Version Information
    Status:
    Testing, unofficial.

    Created 2020-12-13
    Last Updated 2021-09-98
    18
    I have some news. I am working on Lineage-18.1 and so far i am having some good progress.
    I managed to boot it, it's still unstable and a lot work is required, but it's steady.

    It is OSS based, so this will be official no doubt this time.
    16
    Changelog

    19 September 2021 (17.1)

    September security patches.

    06 September 2021 (18.1)
    New debloated kernel
    Fixed screen recorder rate limiter
    Fixed DriveDroid (and more usb gadget stuff)
    Added proximy check to prevent screen wakeup option
    August patches
    Fixed minor denials (battery improvement)

    31 July 2021 (18.1)
    Fixed lots of denials
    Greatly improved battery life
    more minor fixes.

    20 July 2021 (both 17.1 and 18.1)
    July patches
    For 18.1: mi_thermald added back
    For 18.1: dynamic 30-120Hz fixed

    13 July 2021 (18.1)
    All new trees!
    FORMAT data is MANDATORY

    19 June 2021 (17.1)
    Upstream sync
    June patches

    17 June 2021 (18.1)
    fixed haptic issues
    Fixed Netflix error 5.10
    Fixed idle drain
    Fixed NFC denial
    Upstream sync

    07 June 2021 (18.1)
    Fix aptX
    Fix boot from MIUI to LOS not working

    07 June 2021 (18.1)
    Fix netflix
    Fic video recording length
    Fix GBoard rounded corners

    05 June 2021 (18.1)
    First release of 18.1 build!

    11 May 2021 (17.1)
    LOS upstream sync with May patches

    18 April 2021
    LOS upstream sync with April patches
    Dpmd crash resolved
    ️LOS call recorder enabled
    ️Removed all permissive domains

    09 April 2021
    Upstream sources sync

    28/29 March 2021
    Fixed video recording bug
    Fixed audio crackling (finally!)
    Removed all "parts", added doze and refresh rate specific settings
    Getting trees ready for official
    (note: UnofficlalBuild and Experimental builds are from 28 March, MicroG from 29th)

    13 March 2021
    Two builds are available...
    Unofficial, the same old build, but with March security patches.
    Experimental, featuring a full vendor partition, but still SELinux permissive, but a ton of improvements including fixed video recording length, 4K video recording and playback and more minor issues.
    Pick your choice!

    27 February 2021
    Really fixed yellow tint once for all
    Enabled VoIP transition
    Updated proprietary blobs
    Haptic improvements
    Various minor optimizations
    LOS upstream sync

    19 February 2021
    Improved Wifi
    Improved audio
    LOS upstream sync

    06 February 2021
    Improved brightness levels
    Finished reworking tree
    February LOS upstream sync
    Latest security patches

    24 Jannuray 2021
    Fixed "Fast Charging" string, except for original charger!!! (Fast charging IS working, just does not says it's fast in lockscreen).
    Added 30Hz and 50Hz display frequency in display options
    Cleaned up audio routes


    19 Jannuary 2021
    Reverted a prop which was interferring with whatsapp videos.

    18 Jannuary 2021
    Fixed fingerprints
    Rewritten init_surya.cpp
    Removed more useless stuff
    Activated correctly second SIM card
    Added a few translations
    Improved brighness
    Improved Wifi networks
    Fixed tethering+bluetooth

    05 Jannuary 2021
    WiFi Display fixed, finally!
    Resolved bug with speakerphone and reboot

    05 Jannuary 2021
    WiFi Display not fixed
    Product partition enlarged
    Device Tree reworked for proper contribution recognition
    AOD disabled. Once fixed will be available again.

    01 Jannuary 2021
    DT2W Fixed.

    29 December 2020
    New device tree is up.
    Brightness works again
    DT2W not working
    AOD not working
    FM Radio fixed (again)

    29 December 2020
    Final fix for low volume recording.
    WiFI Display still not fixed (please send logs!!!)
    Device tree cleaned up a lot
    add Higher Aspect Ratio
    statusbar : avoid display parameters on Notch
    SELinux is showing Enforcing in Trust

    28 December 2020
    Added audio fixes for low volume.
    Added full WiFi Display support (to be confirmed)

    26 December 2020
    New parittion size.
    Bluetooth now reporting working properly.

    24 December 2020
    Tentative SELinux enforcing.

    22 December 2020
    Added FM radio support, FM radio working.
    SELinux still permissive

    20 December 2020
    Reworked vendor mixing camera blobs from A10 branch and telephony from A11 branch.
    Camera is reported working.
    SIM card is reported working.
    VoLTE and WoWiFi reported working.
    FM Radio NOT working.

    19 December 2020
    New beta build for camera fix.
    Let me know if it works!

    18 December 2020
    SIM card works
    missing camera
    selinux permissive, will try to fix in later build
    16
    I am working at cleaning the tree to meet official requirements. More news will be posted in the net days.
    14
    I have been contacted back by LineageOS team regarding the "official" status. There are few things that needs to be fixed before it will happen, and i am working on it. It will take time but i plan to follow trough to official as planned.