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

Search This thread

gardiol

Senior Member
Feb 23, 2011
720
885
San Carlo Canavese
photos.gardiol.org
Could you (short) explain for non developers what that means?
Are there binaries from Xiaomi, which you have to get rid off, or what is that about?

When flashing a ROM a few partitions must be flashed. They usually are: system, product and vendor (plus a few minor ones like kernel). System and Product contains the actual ROM files. Vendor contains all lower level files from the platform (qualcomm in surya case).

Our current LOS buils only provides system and product, and keeps original MIUI vendor. This works good, but have issues: what if you have an uncompatible MIUI vendor on your phone? or if you dont have a MIUI vendor at all? This will cause the LOS build to fail and the phone will not boot! This is not acceptable for official LOS builds where things must just work.

So this is why.
 

Shad0wZ

Member
Apr 19, 2012
9
2
So, we ARE official, and this is official LOS. But there will not yet be official builds for some time.

Congratulations, I really was waiting for this news. Funny enough I was just ready to unlock my bootloader, so the timing is great. Question though, if I flash this, will this still receive OTA updates or do I still require manual flashing after? Does flashing this release have any consequences when the official builds start rolling out? If not, great. If so, can I dirty flash it?

Thank you for your efforts though :)
 
Last edited:

realseal3

Member
Nov 20, 2019
16
1
Hey gardiol, first thank you for doing such amazing work. Everythings seems to work fine but safetynet on the microg version. I can't activate it in the microg settings and in magisk I get a safetynet api error when I try to check it.
 
Sep 11, 2020
14
2
Congratulations, I really was waiting for this news. Funny enough I was just ready to unlock my bootloader, so the timing is great. Question though, if I flash this, will this still receive OTA updates or do I still require manual flashing after? Does flashing this release have any consequences when the official builds start rolling out? If not, great. If so, can I dirty flash it?

Thank you for your efforts though :)
No OTA ig. You gonna need manual flashing. Dirty works most of the time
 
  • Like
Reactions: _exian_

Shad0wZ

Member
Apr 19, 2012
9
2
Installed non MicroG version today. So far everything's working fine, even WiFi tethering. Send some funds for the second phone for your testing.
 
Last edited:
  • Like
Reactions: paradøx

ingroxd

New member
Jan 9, 2013
3
1
Hi guys, I'm kinda new in this and I am looking forward to see an official LOS for the Xiaomi Poco X3 NFC Phone [:

One good news: my trees have been approved for official and are in the process of being forked in LOS project.

I am really happy that LineageOS Staff decided to approve @gardiol 's build tree, but I have some concerns...

In particular I do not understand one thing or two and I wonder if you can clear some of my doubts:
  • Is there any particular reason we are aiming for an OSS vendor partition? I searched here and there, but I cannot find any info about it; is it mandatory?
  • Looking at some of the official Lineage OS repos I noticed that the /proprietary-files.txt always include the /system/vendor partition; is there any reason why our proprietary-files.txt does not include any vendor path?

One bad news: no "official" build will be shipped until i get a full OSS vendor partition to build properly. I am working on it, but it will take some time.

So, we ARE official, and this is official LOS. But there will not yet be official builds for some time.

I cannot understand these two statements, which seems a bit controversial to me.
In the official LineageOS github page and site I cannot find any info about surya.
@gardiol : can you provide something suggesting that your build is actually official?

I am asking beacause on Telegram you wrote that there never will be an official 17.1 LineageOS build for the Poco X3 NFC Phone because you dropped the idea of making a working OSS vendor partition.

Am I missing something?

Thank you for your time and for your efforts [:
 

gardiol

Senior Member
Feb 23, 2011
720
885
San Carlo Canavese
photos.gardiol.org
@gardiol i read on your telegram that you're going to use ghostrider's (waveos?) oss vendor stuff. here people say nfc and otg don't work because of the oss vendor he's using, hope it won't cause issue for your build too? https://forum.xda-developers.com/t/...icial-unified-ossvendor.4220999/post-84967387

I am not really using Ghostrider stuff yet. I will problably, but rebasing it on global MIUI stock. I am using davinci's stuff, which is based on the same SOC as surya.

NFC will work eventually.
 
  • Like
Reactions: f3r.and0 and sm4rk0

gardiol

Senior Member
Feb 23, 2011
720
885
San Carlo Canavese
photos.gardiol.org
Hi guys, I'm kinda new in this and I am looking forward to see an official LOS for the Xiaomi Poco X3 NFC Phone [:



I am really happy that LineageOS Staff decided to approve @gardiol 's build tree, but I have some concerns...

In particular I do not understand one thing or two and I wonder if you can clear some of my doubts:
  • Is there any particular reason we are aiming for an OSS vendor partition? I searched here and there, but I cannot find any info about it; is it mandatory?
  • Looking at some of the official Lineage OS repos I noticed that the /proprietary-files.txt always include the /system/vendor partition; is there any reason why our proprietary-files.txt does not include any vendor path?



I cannot understand these two statements, which seems a bit controversial to me.
In the official LineageOS github page and site I cannot find any info about surya.
@gardiol : can you provide something suggesting that your build is actually official?

I am asking beacause on Telegram you wrote that there never will be an official 17.1 LineageOS build for the Poco X3 NFC Phone because you dropped the idea of making a working OSS vendor partition.

Am I missing something?

Thank you for your time and for your efforts [:

Ok, i understand it's confusing.

There is NO official LineageOS for Surya build as of today and there will not be one until i move to LineageOS 18.1, which is a work in progress and will take some time.

There will NOT be official 17.1 anyway, since i decided to give up on that road, it's pointless to waste time on A10 now, so i moved my effort to A11 and LOS 18.1.

There IS an approved device tree by LOS (i could PM you the email reply from Nolen Johnson if you like) which is my device tree for LOS 17.1, on which all my builds are based upon. This makes my LOS 17.1 builds as tecnically official, as the trees ARE approved, but cannot be called so because LOS servers cannot build them due to the missing vendor partition.

Now, vendor. Either you use stock vendor or OSS vendor. Using stock vendor, like we did so far, is ok but leads to be non-buildable for LOS official releases, due both to technical and safety reasons. Users might flash the "official" zip on non-compatible vendors and brick the device, moreover LOS build servers cannot process such a build.

For legal and also technical reasons it is not possible to "bundle" stock vendor partition in LOS builds.

As you can see, the situation is complex. Mostly due to my being new at this, for which i started the porting from the wrong foot. I should have started from DAVINCI's code base because that shares SURYA SOC. But i didn't do it, so here we are now.

I have started now this on LOS 18.1, starting from DAVINCI's common tree (sm6150-common). Which has nothing to do with ghostrider stuff, even if i am eagerly looking over his trees to better understand what i need to do. He did an amazing job, just not portable to LOS 1:1 if you want official.

Hope i was clearer. Anyway, all my trees are public and you can always build yourself if you don't trust my builds, i willy happily give you all the directions to do so if you are not able to.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 14
    The 18.1 trees have been submitted to official review.
    12
    I hope we had the last official review. I will be merging vendor tree today and i hope to be able to fork device tree officially in the next days. After that will be a short time before official builds will start. Let's cross fingers and be a little bit more patient.
    8
    @gardiol
    Also thanks for hanging around here on the forums and helping other people. It's great to have developers like you here. (y)
    Though I'm not on this ROM, I'd like to second this: please stay on XDA instead of moving to that useless social networking app that everyone is gravitating towards lately. There is zero support there, just a stream of jabber.
    7
    First release for 18.1 out!
    Check first post.

    It's quite stable and good.
    6
    Why you aren't useing trees from crDroid? This ROM works =perfect=!

    I don't know what to say...
    If this rom works perfect, why would i use some other rom trees? Moreover, i need trees that can be accepted by los and that excludes anything derived from current surya trees.

    That's why i have rewrote it for 17.1 and why i am doing the same for 18.1.
  • 49
    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!
    There is also, for help and support, the:
    Instructions:
    • 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 (OrangeFox beta or latest TWRP build).
    • 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: OpenGapps nano or pico. Any package bigge than micro will NOT flash, this is due to opengapps scripts not working with dynamic parttion!


    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-06-19
    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
    I am working at cleaning the tree to meet official requirements. More news will be posted in the net days.
    15
    Changelog

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