Development [ROM][S][OFFICIAL] LineageOS 19.1 for POCO X3 Pro [vayu]

Search This thread

Faruk88

Senior Member
Mar 20, 2010
160
19
I believe firmware V13.0.5.0.SJUMIXM has been included since build lineage-19.1-20220805-nightly-vayu-signed.zip looking at the official changes for vayu page. I've been updating every Friday hoping the issue will get fixed.

I also tried your suggestion and lowered the minimum framerate from 120Hz to 60Hz and disabled the smooth display option. The issue does seem less prominent these last few days but I've just experienced a freeze attempting to scroll a Google Search results page.

I updated the firmware on a second Poco X3 Pro which had the same issue, and it also got fixed. So I don't think it's a coincidence at this point. I'd suggest giving the firmware a shot!

I couldn't find any evidence of the same firmware files being included in LineageOS. (I unpacked the ZIP file to look at its contents, and also compared them with the official OTA update ZIP file straight from Xiaomi's website)
 

glock24

Senior Member
Sep 26, 2012
223
50
I updated to the 220916 build, the incoming call bug is still present. When a call is incoming, most of the time I only get a ring but no notification or dialer screen with no way to answer the call.
 

jimithebear

New member
Aug 19, 2022
4
3
I couldn't find any evidence of the same firmware files being included in LineageOS. (I unpacked the ZIP file to look at its contents, and also compared them with the official OTA update ZIP file straight from Xiaomi's website)

I don't think you'll find anything simply unpacking the zip from LineageOS? I believe you would need to convert/peek inside the system images themselves? Using a tool like SuperR's Kitchen (from what I've read)?

I imagine the repackaged blobs in the LineageOS zip are hiding inside vendor.new.dat.br? You'd need to compare them with the blobs from the zipped firmware (again, converting/extracting them from inside the bin files themselves)?

Not something I'd like to tackle myself. 😄

Other than the official LineageOS changelog for vayu;

References to the latest firmware are also mentioned within the LineageOS vayu repository pages on GitHub (committed 25th July);

Hope that helps! Glad to hear however the issue has resolved itself at your end. Lowering the minimum display refresh rate appears to have reduced the freezes at my end (if not by the regular LineageOS updates themselves).
 

Faruk88

Senior Member
Mar 20, 2010
160
19
I believe you would need to convert/peek inside the system images themselves?

No, the firmware files are not part of the system image (or the vendor partition). They're separate binary files. You can check it out if you download the firmware update ZIP file from here: https://xiaomifirmwareupdater.com/firmware/vayu/stable/V13.0.5.0.SJUMIXM/

The firmware update ZIP file is identical to the OTA update ZIP available for download from the Xiaomi server, except the file system images have been removed. You can compare yourself if you would like: https://bigota.d.miui.com/V13.0.5.0.SJUMIXM/miui_VAYUGlobal_V13.0.5.0.SJUMIXM_7cc0b9ac86_12.0.zip

If you extract the firmware update ZIP (or the OTA update ZIP from Xiaomi), you can see the firmware files in the "/firmware-updates" directory. And in "/META-INF/com/google/android/updater-script" you can see how the firmware files are installed. It writes them to some special block devices on the file system. These aren't "real" files, so even if you install a newer build of LineageOS, it will not overwrite/revert to the previous firmware.

I looked at the files listed in the link you shared, but they do not include any of the firmware files from the firmware update ZIP file. Here is the updater-script file from it, for reference:

Code:
show_progress(0.200000, 10);

# Generated by Xiaomi Flashable Firmware Creator
# 2022-07-22 12:45:53.026224 - xfu

ui_print("Flashing Normal Firmware ...");
getprop("ro.product.device") == "vayu" || abort("E3004: This package is for \"vayu\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Target: Xiaomi/vayu_global/vayu:12/RKQ1.200826.002/V13.0.5.0.SJUMIXM:user/release-keys");
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64");
package_extract_file("firmware-update/NON-HLOS.bin", "/dev/block/bootdevice/by-name/modem");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlib");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hyp");
package_extract_file("firmware-update/BTFM.bin", "/dev/block/bootdevice/by-name/bluetooth");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tz");
package_extract_file("firmware-update/aop.mbn", "/dev/block/bootdevice/by-name/aop");
package_extract_file("firmware-update/xbl_config.elf", "/dev/block/bootdevice/by-name/xbl_config");
package_extract_file("firmware-update/storsec.mbn", "/dev/block/bootdevice/by-name/storsec");
package_extract_file("firmware-update/uefi_sec.mbn", "/dev/block/bootdevice/by-name/uefisecapp");
package_extract_file("firmware-update/imagefv.elf", "/dev/block/bootdevice/by-name/imagefv");
package_extract_file("firmware-update/qupv3fw.elf", "/dev/block/bootdevice/by-name/qupfw");
package_extract_file("firmware-update/abl.elf", "/dev/block/bootdevice/by-name/abl");
package_extract_file("firmware-update/dspso.bin", "/dev/block/bootdevice/by-name/dsp");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfg");
package_extract_file("firmware-update/km41.mbn", "/dev/block/bootdevice/by-name/keymaster");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xbl");
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64bak");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlibbak");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hypbak");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tzbak");
package_extract_file("firmware-update/aop.mbn", "/dev/block/bootdevice/by-name/aopbak");
package_extract_file("firmware-update/xbl_config.elf", "/dev/block/bootdevice/by-name/xbl_configbak");
package_extract_file("firmware-update/uefi_sec.mbn", "/dev/block/bootdevice/by-name/uefisecappbak");
package_extract_file("firmware-update/qupv3fw.elf", "/dev/block/bootdevice/by-name/qupfwbak");
package_extract_file("firmware-update/abl.elf", "/dev/block/bootdevice/by-name/ablbak");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfgbak");
package_extract_file("firmware-update/km41.mbn", "/dev/block/bootdevice/by-name/keymasterbak");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xblbak");

show_progress(0.100000, 2);
set_progress(1.000000);

The official update from Xiaomi that I linked above does the exact same thing, and THEN it patches the system partition and vendor partition and then does a few more things. Here is the updater-script from Xiaomi for reference:

(!less_than_int(1657095343, getprop("ro.build.date.utc"))) || abort("E3003: Can't install this package (Wed Jul 6 16:15:43 CST 2022) over newer build (" + getprop("ro.build.date") + ").");
getprop("ro.product.device") == "vayu" || abort("E3004: This package is for \"vayu\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Target: Xiaomi/vayu_global/vayu:12/RKQ1.200826.002/V13.0.5.0.SJUMIXM:user/release-keys");

# ---- radio update tasks ----

ui_print("Patching firmware images...");
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64");
package_extract_file("firmware-update/NON-HLOS.bin", "/dev/block/bootdevice/by-name/modem");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlib");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hyp");
package_extract_file("firmware-update/BTFM.bin", "/dev/block/bootdevice/by-name/bluetooth");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tz");
package_extract_file("firmware-update/aop.mbn", "/dev/block/bootdevice/by-name/aop");
package_extract_file("firmware-update/xbl_config.elf", "/dev/block/bootdevice/by-name/xbl_config");
package_extract_file("firmware-update/storsec.mbn", "/dev/block/bootdevice/by-name/storsec");
package_extract_file("firmware-update/uefi_sec.mbn", "/dev/block/bootdevice/by-name/uefisecapp");
package_extract_file("firmware-update/imagefv.elf", "/dev/block/bootdevice/by-name/imagefv");
package_extract_file("firmware-update/qupv3fw.elf", "/dev/block/bootdevice/by-name/qupfw");
package_extract_file("firmware-update/abl.elf", "/dev/block/bootdevice/by-name/abl");
package_extract_file("firmware-update/dspso.bin", "/dev/block/bootdevice/by-name/dsp");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfg");
package_extract_file("firmware-update/km41.mbn", "/dev/block/bootdevice/by-name/keymaster");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xbl");
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64bak");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlibbak");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hypbak");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tzbak");
package_extract_file("firmware-update/aop.mbn", "/dev/block/bootdevice/by-name/aopbak");
package_extract_file("firmware-update/xbl_config.elf", "/dev/block/bootdevice/by-name/xbl_configbak");
package_extract_file("firmware-update/uefi_sec.mbn", "/dev/block/bootdevice/by-name/uefisecappbak");
package_extract_file("firmware-update/qupv3fw.elf", "/dev/block/bootdevice/by-name/qupfwbak");
package_extract_file("firmware-update/abl.elf", "/dev/block/bootdevice/by-name/ablbak");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfgbak");
package_extract_file("firmware-update/km41.mbn", "/dev/block/bootdevice/by-name/keymasterbak");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xblbak");

# --- Start patching dynamic partitions ---


# Update dynamic partition metadata

assert(update_dynamic_partitions(package_extract_file("dynamic_partitions_op_list")));

# Patch partition system

ui_print("Patching system image unconditionally...");
show_progress(0.500000, 0);
block_image_update(map_partition("system"), package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");

# Patch partition vendor

ui_print("Patching vendor image unconditionally...");
show_progress(0.100000, 0);
block_image_update(map_partition("vendor"), package_extract_file("vendor.transfer.list"), "vendor.new.dat.br", "vendor.patch.dat") ||
abort("E2001: Failed to update vendor image.");

# Patch partition product

ui_print("Patching product image unconditionally...");
show_progress(0.100000, 0);
block_image_update(map_partition("product"), package_extract_file("product.transfer.list"), "product.new.dat.br", "product.patch.dat") ||
abort("E2001: Failed to update product image.");

# Patch partition odm

ui_print("Patching odm image unconditionally...");
show_progress(0.100000, 0);
block_image_update(map_partition("odm"), package_extract_file("odm.transfer.list"), "odm.new.dat.br", "odm.patch.dat") ||
abort("E2001: Failed to update odm image.");

# Patch partition system_ext

ui_print("Patching system_ext image unconditionally...");
show_progress(0.100000, 0);
block_image_update(map_partition("system_ext"), package_extract_file("system_ext.transfer.list"), "system_ext.new.dat.br", "system_ext.patch.dat") ||
abort("E2001: Failed to update system_ext image.");

# --- End patching dynamic partitions ---

package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");
show_progress(0.100000, 10);

# ---- radio update tasks 2 ----

ui_print("Patching vbmeta dtbo logo binimages...");
package_extract_file("firmware-update/dtbo.img", "/dev/block/bootdevice/by-name/dtbo");
package_extract_file("firmware-update/logo.img", "/dev/block/bootdevice/by-name/logo");
package_extract_file("firmware-update/vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta");
package_extract_file("firmware-update/vbmeta_system.img", "/dev/block/bootdevice/by-name/vbmeta_system");
set_progress(1.000000);

So basically the firmware update is something completely separate from the blobs that are in the vendor partition.

I have zero freezes on both phones now, after updating the firmware, but I did also turn off smooth display... I may try re-enabling smooth display to see what happens though. On my first phone I did both those things at the same time (update firmware and disable smooth display), but on the second phone I disabled smooth display first and it didn't eliminate the freezes, but then when I also updated the firmware it eliminated the freezes.

Edit: Enabled Smooth Display on both phones. Hours later, got an approximately 5-second freeze on one of them. I guess all I can say for 100% certain is that neither phone experienced any freezing with both updated firmware and smooth display disabled. But doing only one of those things (just updating firmware, or just disabling smooth display) was not enough on my end.
 
Last edited:

jimithebear

New member
Aug 19, 2022
4
3
Apologies, I may have understood the changelog all wrong! I didn't think to look at the firmware scripts either.

I sideloaded the latest firmware in the end working around the "Denying OTA because it's SPL downgrade" issue.

After reverting the display settings back to 120Hz minimum refresh rate and enabling smooth display again, I experienced a freeze within a few minutes?

So I've disabled smooth display and left the minimum refresh rate at 120Hz and will see how that goes.
 
  • Like
Reactions: Faruk88

WongJawa

Senior Member
Aug 11, 2019
203
60
Ngayogyakarta Hadiningrat
Dont
Also look into adreno graphics driver v530... a lot of people are giving good reviews about it.

Apologies, I may have understood the changelog all wrong! I didn't think to look at the firmware scripts either.

I sideloaded the latest firmware in the end working around the "Denying OTA because it's SPL downgrade" issue.

After reverting the display settings back to 120Hz minimum refresh rate and enabling smooth display again, I experienced a freeze within a few minutes?

So I've disabled smooth display and left the minimum refresh rate at 120Hz and will see how that goes.
I have issue too
 

Faruk88

Senior Member
Mar 20, 2010
160
19
After reverting the display settings back to 120Hz minimum refresh rate and enabling smooth display again, I experienced a freeze within a few minutes?

So I've disabled smooth display and left the minimum refresh rate at 120Hz and will see how that goes.
Yeah when I re-enabled smooth display, probably just 20 minutes later I got a 5-second freeze (mentioned in the edit in my post above), so I disabled it again.

Would be interesting if the freezing gets eliminated for you completely now as well, with the updated firmware + smooth display disabled. (From your previous posts it sounded like the freezes were still happening but just less frequently)

The other thing I am curious about is what happens if I bump up the "Minimum refresh rate" to 90 or 120Hz but keep Smooth Display disabled. My understanding is that Smooth Display keeps the display at 60Hz when there is no motion on the screen, but increases it dynamically to 120Hz when there is motion. I tested this by enabling the FPS counter overlay from the Developer Settings. I have a bit of a hard time believing that the freezing would be caused by the refresh rate itself, so maybe it is actually caused by the mechanism that does the dynamic switching from 60 to 120Hz?
 

keypress

Member
Apr 8, 2022
15
5
hi everyone, sorry for writing that long message, but I'm a newbie in custom ROMs and I don't have it clear, what is the upgrade procedure from LAOS 18.1 to 19.1.

General instructions are given, but I don't know how to do some of these steps:
- https://wiki.lineageos.org/devices/vayu/upgrade
- https://forum.xda-developers.com/t/...-1-for-poco-x3-pro-vayu.4301199/post-87005341

Some people had problems and I don't want to brick my phone...
- e.g. https://forum.xda-developers.com/t/...-1-for-poco-x3-pro-vayu.4301199/post-87141839

I'd like to prepare more detailed instructions that would be helpful for other newbies like me. This way maybe one day LAOS will be as easy to install/upgrade, as Debian or Ubuntu are.

So I have an X3 Pro with a plain LAOS 18.1 + Gapps installed according to instructions from https://wiki.lineageos.org/devices/vayu/install :
- unlocked and installed everything about 2022-02-20
- firmware with baseband 1119_2217 - so it is 12.5.5.0.RJUEUXM Europe region (according to https://forum.xda-developers.com/t/...vayu-bhima-auto-updated.4253099/post-87448127 )
- Lineage Recovery
- LineageOS 18.1
- OpenGApps
- not rooted
- no SafetyNet addons

I used adb and fastboot during my first installation and would prefer to continue that way.

I have never upgraded the firmware.

I'd like to avoid the factory reset or removing all my data from the phone.

So now - please forgive me my lack of knowledge of custom ROMs, and please tell me about the mistakes in the steps that I plan to do.. Especially those starting with "???".

Step #1: firmware upgrade
- Download the latest firmware in a ZIP file for Android 12 for Europe region from https://xiaomifirmwareupdater.com/archive/firmware/vayu/
- Verify its MD5 hash
- Start the phone in Recovery mode (refs: https://wiki.lineageos.org/devices/vayu/#special-boot-modes )
- On the phone select: Apply update => Apply from ADB
- Flash the firmware with adb:
Code:
adb sideload <firmware_filename>.zip
- ??? Should I reboot now using the Recovery option "Reboot system now", or should I reboot directly to fastboot mode by using `adb reboot bootloader`, or I can reboot to whatever I want ?

Step #2: recovery upgrade
- Download the latest recovery IMG file from https://download.lineageos.org/vayu
- Verify its SHA256 hash
- Start the phone in Fastboot mode (refs: https://wiki.lineageos.org/devices/vayu/#special-boot-modes )
- Flash the recovery with fastboot:
Code:
fastboot flash recovery <recovery_filename>.img
- Reboot the phone to Recovery mode (refs: https://wiki.lineageos.org/devices/vayu/#special-boot-modes )

Step #3: LineageOS upgrade
- On the phone select: Apply update => Apply from ADB
- Download the latest system package in a ZIP file from https://download.lineageos.org/vayu
- Verify its SHA256 hash
- Download the latest version of MindTheGapps for Lineage 19 for Android 12.1 for arm64 in a ZIP file from https://wiki.lineageos.org/gapps#mobile
- Verify its MD5 hash
- ??? Is it a problem that earlier I used OpenGapps and now I have to use MindTheGapps, because OpenGapps doesn't support Android 12?
- Install the packages with adb:
Code:
adb sideload <lineageos_filename>.zip
adb sideload <gapps_filename>.zip
- On the phone go back and choose "Reboot system now"
- Wait some minutes until the installation is finished.
 
  • Like
Reactions: steveb099

aasoror

Senior Member
Jun 24, 2008
541
72
Kitchener, ON
Xiaomi Mi A2
So I have an X3 Pro with a plain LAOS 18.1 + Gapps installed according to instructions from https://wiki.lineageos.org/devices/vayu/install :
- unlocked and installed everything about 2022-02-20
- firmware with baseband 1119_2217 - so it is 12.5.5.0.RJUEUXM Europe region (according to https://forum.xda-developers.com/t/...vayu-bhima-auto-updated.4253099/post-87448127 )
- Lineage Recovery
- LineageOS 18.1
- OpenGApps
- not rooted
- no SafetyNet addons

I used adb and fastboot during my first installation and would prefer to continue that way.

I have never upgraded the firmware.

I'd like to avoid the factory reset or removing all my data from the phone.

You are already halfway there, you have an old (enough) recovery to flash the firmware without an issue and you have a working adb and fastboot on your PC to the phone.

So here is how I would go about it (I don't like handling the phone during the updates, whenever possible, so I use the command line to reboot into recovery/fastboot/sideload)

Download the most recent matching vendor firmware (rename drivers.zip)
Download the most recent lineage 19.1 image (rename lineageos.img)
Download the most recent arm64 MindTheGapps 12 (rename gapps.zip)
Verify your downloads using md5/SHA256 checks.

Connect the phone to your PC, verify all locks are removed then execute the following via adb
Code:
adb reboot sideload
adb sideload drivers.zip
adb reboot sideload
adb sideload lineageos.img
adb reboot sideload
adb sideload gapps.zip
adb reboot

On the first boot the Poco screen will take a couple of minutes and the lineage splash will take another couple of minutes or so, don't panic and let it run its course.

The only thing to note is that the unsigned zips (drivers and gapps) will require you to manually approve the installation from recovery on the phone.

There is no need to even update recovery or use fastboot at that point (lineage 18.1 recovery will flash 19.1 image without an issue and you can enable the option to update recovery as part of the os update from the updater app settings later on).

Yes you can use MindTheGapps even if your 18.1 installation was OpenGApps.
No, you wont need to do a factory reset and wont lose your data.

If for whatever reason you want to manually update recovery (rename lineageos-recovery.img) then execute the following over adb then fastboot:
Code:
adb reboot bootloader
fastboot flash recovery lineageos-recovery.img
fastboot reboot recovery
Just note to not update recovery prior to updating the vendor firmware (most recent firmware is older than most recent recovery so once newer recovery is installed it wont allow you to install the older firmware).

Good luck
 
Last edited:

keypress

Member
Apr 8, 2022
15
5
Ok, thx a lot. I hope it will go well. (y) Now only two questions to have it clear for newbies like me.

About recovery and OS you said:
lineage 18.1 recovery will flash 19.1 image without an issue
How do I know that? This info may be useful also for future releases. Is it so that any version of a recovery can flash any OS/lineageos? Or are there some rules?

And about recovery and firmware you said:
once newer recovery is installed it wont allow you to install the older firmware
After I follow the upgrade procedure I will get recovery v. "19.1-20220916" or one week later "19.1-20220923". Nice. On the other hand I started now to follow the RSS with firmware releases for vayu https://xiaomifirmwareupdater.com/archive/firmware/vayu/ - because I thought, that it would be good to update to the newest firmware when it's available. And now: if I understand it properly, according to the rule you stated - when I get info about new firmware, I can install it only before I get the next weekly-build of lineage. Because the new lineage will update also my recovery, and this recovery will be newer than the firmware that was released a few days ago - and this new recovery will not allow me to update to the newer firmware. Do I understand properly? And as a rule: should I update firmware to the latest version on a phone with an installed OS - or maybe firmware updates should be done lazy only when needed during OS install or major upgrade?
 
  • Like
Reactions: aasoror

aasoror

Senior Member
Jun 24, 2008
541
72
Kitchener, ON
Xiaomi Mi A2
You don't, it's just a fact it happens that lineage 18.1 recovery has all the features needed to install 19.1 lineageos images.

This info may be useful also for future releases. Is it so that any version of a recovery can flash any OS/lineageos? Or are there some rules?
I don't see this changing for 19.1 images but the same doesn't necessarily apply to other recoveries (say older TWRP) or even future lineage builds (say 20.1).
Indeed the recommended procedure is to update to a matching recovery before flashing a build, but it just happens that those with an 18.1 recovery don't need to do it when upgrading to 19.1 builds.
if I understand it properly, according to the rule you stated - when I get info about new firmware, I can install it only before I get the next weekly-build of lineage. Because the new lineage will update also my recovery, and this recovery will be newer than the firmware that was released a few days ago - and this new recovery will not allow me to update to the newer firmware. Do I understand properly?
More or less correct, but note that because the vendor firmware releases are not synced with community releases (lineage) the released firmware might be outdated by a prior nightly build even before it is released, in that case, you will still need to downgrade recovery, install the vendor firmware, then upgrade recovery back (or just leave it for the updater app to upgrade on the next update).
And as a rule: should I update firmware to the latest version on a phone with an installed OS - or maybe firmware updates should be done lazy only when needed during OS install or major upgrade?
vendor firmware is only tested and granted to work with the official vendor OS, when using community builds I would only update the firmware if known to fix something or if recommended by the community firmware developer (the latest vendor firmware for another poco phone, f3, broke its lineage builds that the dev had to put a PSA on the download page asking people to stick to the older firmware version), with that said, in most cases firmware upgrade/downgrade isn't that big of a deal (aside from the inconvenience) for those who would rather test it out of curiosity.

Good luck :)
 

keypress

Member
Apr 8, 2022
15
5
  • Like
Reactions: aasoror

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Hi everyone, has anyone ever had trouble taking screenshots with this ROM? It is difficult for me and rarely takes the combination
    Yes in this topic, I and someone else also faced the issue. To me this occurred since 18 --> 19.1
  • 54
    2okPze5.png


    LineageOS is a free, community built, aftermarket firmware distribution of Android 12L (Sv2), which is designed to increase performance and reliability over stock Android for your device.

    LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.

    All the source code for LineageOS is available in the LineageOS GitHub repo. And if you would like to contribute to LineageOS, please visit out Gerrit Code Review. You can also view the Changelog for a full list of changes & features.

    Downloads
    Here

    Flashing instructions
    Here

    Sources:
    LineageOS

    Happy modding!
    13
    Thanks for finally releasing LineageOS, but you devs are 3 months too late... ArrowOS has inadvertently stolen my heart in your absence, lol.
    Someone asked?
    10
    New update out
    10
    vayu goes LOS19.1 release
    coming soon next friday - is out now!

    thx @SebaUbuntu for your work
    8
    Thanks for finally releasing LineageOS, but you devs are 3 months too late... ArrowOS has inadvertently stolen my heart in your absence, lol.