Related
Welcome to TWRP with F2FS & Thermal Control!
---- Supports Models d800/1/2/3/4/5, LS/VS-980, L01F, lgl22, and F320* ----
(for d804/5 use the d802 version)
Do NOT post a question if you don't read the first FIVE posts of this thread!!!
Features:
Added: Thermal control, thanks to using AICP kernel. [originally dr87's idea]
Added: As of 3.0.2-1: Using modified cm-13 kernel with my additions of thermal and other changes.
Added: As of 3.1.0-0: Using modified cm-14.1 kernel with my additions of thermal and other changes.
Added: Full F2FS support, including updated driver and f2fs-tools.
NOTE: You must NOT have "Use rm -rf instead of formatting." in the Settings page. If you have this option enabled, you will not be able to change partition type.
Added: Proper support for f320 & lgl22 External SD Card.
Added: Tap to wake.
Added: NTFS support.
Added: Working decryption support.
DO NO ENCRYPT f2fs - Bootloop of ROM and Recovery will occur!
Added: AROMA hack to fix graphics.
Uses: dr87's auto-select correct panel type.
Uses: Bump (So loki isn't needed)
& All of the goodies that already come packed in to the latest version of TWRP!
Please enjoy this recovery and I encourage feedback!!!
F2FS Information:
Clicky Clicky (or scroll down to post #5)
Bugs/Issues:
TWRP Issues, Generally:
https://github.com/TeamWin/Team-Win-Recovery-Project/issues
https://github.com/omnirom/android_bootable_recovery/issues
Major Thanks to:
TWRP Team
Dees_Troy
OmniRom Team
Cyanogenmod Team
Drgravy
Team Codefire
Dorimanx
jakew02
dr87
Khaon
bart452
xiaolu
Yoinx
And everyone else involved with these projects!
Installation:
1) First, you need any version of TWRP installed and working:
I'd recommend using Autorec to get initial TWRP running.
This is the link for KK: http://forum.xda-developers.com/showthread.php?t=2715496
There is also an apk for lollipop, this is much preferred! (Google is your friend.)
You can use any number of other methods to get some version of TWRP installed and running.
2) Once you have a working TWRP, simply flash my zip to upgrade to latest version.
If you flash the image directly, the panel detection script will not run!
(This is only important if you have a jdi LCD panel.)
Troubleshooting:
If you have any issues, please try the Official Build and compare to check that bug is only present in my version. If it is present in both versions, report it to TeamWin or Dees_Troy. If it only bugs in my version, please let me know ASAP.
Also, please check FAQ before asking questions. Thanks!
Download:
https://www.gregtwallace.com/lg-g2/g2-twrp/
Downloads are installable zip files, the images inside of which are already BUMPed.
Sources:
https://github.com/blastagator
Source Readme:
https://github.com/blastagator/cm_device_lge_g2-common/blob/cm-13.0-twrp/README.md
Shameless plug for donations:
Venmo Preferred (No Fee)
Zelle, send to [email protected]
Backup (Charges Fee)
Paypal
XDA:DevDB Information
TWRP Touch Recovery w/ Thermal Control and F2FS, Tool/Utility for the LG G2
Contributors
blastagator, TeamWin, and everyone else listed above!
Version Information
Status: Stable
Current Stable Version: 3.3.1-0
Stable Release Date: 2019-12-23
Created 2014-11-02
Last Updated 2019-12-31
Announcements
May 7, 2016
New CM-13 based build is released! Enjoy all.
May 4, 2016
New release coming this weekend. Make any complaints ASAP about version -g!
VOTE on if you want me to TRY to fix AROMA. (No guarantees!!!)
http://forum.xda-developers.com/lg-g2/general/twrp-poll-aroma-t3372512
April 30, 2016
Release candidate! Give it a test!
http://forum.xda-developers.com/showpost.php?p=66626361&postcount=2543
April 17, 2016
New beta using cm-13 sources. Click HERE. Please test!
April 7, 2016
TWRP 3.0.0-2 is here! Versions older than 2.8.7.3 have been removed from my download site.
February 17, 2016
(Working!) TWRP 3 is here!
More info: https://twrp.me/site/update/2016/02/05/twrp-3.0.0-0-released.html
.
Change Logs
December 23, 2019 (3.3.1-0)
-TWRP Change Log:
* Fix selinux issues during formatting - dianlujitao
* Various fixes for toybox and toolbox builds - CaptainThrowback and bigbiff
* Flash both A and B partitions when installing a recovery ramdisk - Dees_Troy
* Add option to uninstall TWRP app from /system - Dees_Troy
* Create digest for subpartitions - bigbiff
Click to expand...
Click to collapse
April 29, 2019 (3.3.0-0)
-TWRP Change Log:
* Merge AOSP 9.0 r3 (Dees_Troy)
* Use ANDROID_ROOT variable instead of hard coding to /system (CaptainThrowback)
* Decrypt FBE on 9.0 and metadata decrypt (Dees_Troy)
* vold decrypt updates (CaptainThrowback and nijel8)
* Support vibration on LED class devices (notsyncing)
* Metadata decrypt support for Pixel 3 (Dees_Troy)
* Support rotating the display via build flag (vladimiroltean)
* Reboot to EDL mode button (mauronofrio)
* Support MTP on FFS devices (bigbiff)
* Update FDE decrypt to support keymaster 3 and 4 (Dees_Troy)
* Detect mkfs.f2fs version to properly format on f2fs partitions (Dees_Troy)
* Allow TWRP to use md5 and sha256 checksums for zip installs (bigbiff)
* TWRP can use /data/cache/recovery and /persist/cache/recovery on AB devices with no cache partition (bigbiff)
* Switch part of advanced menus in TWRP to use a listbox of options (Dees_Troy)
* Use magiskboot to allow repacking boot images for installing TWRP (Dees_Troy with thanks to topjohnwu of course)
Click to expand...
Click to collapse
September 22, 2018 (3.2.3-0)
-TWRP Change Log:
* Fix automatic installing of OTA zips on encrypted devices
* Remove SuperSU from TWRP
* Support both md5 and md5sum file extensions when doing MD5 checking for zip files
Click to expand...
Click to collapse
July 21, 2018 (3.2.2-0)
-TWRP Change Log:
adb backup fixes
OTA style update zips will now install automatically without prompting for decrypt
minor tweaks to handling date/time on Qualcomm devices
updates to some language translations
Click to expand...
Click to collapse
December 17, 2017 (3.2.1-0)
(Bug fixes for 3.2.0)
-TWRP Change Log:
minui fixes (cryptomilk)
Better android-8.0 compatibility in ROM trees (Dees_Troy)
Fix missing library in android-8.0 (nkk71)
Fix inconsistent SDCard naming (DevUt)
Default to TWRP restore instead of adb backup restore to fix restore on fresh TWRP boot (jlask)
Click to expand...
Click to collapse
-TWRP 3.2.0-0 Change Log:
Allow restoring adb backups in the TWRP GUI (bigbiff)
Fix gzip backup error in adb backups (bigbiff)
Fix a bug in TWRP’s backup routines that occasionally corrupted backup files (nkk71)
Better support for installing Android 8.0 based zips due to legacy props (nkk71)
Support vold decrypt with keymaster 3.0 in 8.0 firmwares (nkk71)
Decrypt of synthetic passwords for Pixel 2 (Dees_Troy)
Support newer ext4 FBE policies for backup and restore in libtar (Dees_Troy)
v2 fstab support (Dees_Troy)
Bring TWRP forward to android 8.0 AOSP base (Dees_Troy)
Various other minor bugfixes and tweaks
Click to expand...
Click to collapse
December 3, 2017 (3.2.0-0)
Removed and replaced with 3.2.1-0
May 20, 2017 (3.1.1-0)
-TWRP Change Log:
Backups will now include adopted storage keys (Dees_Troy)
Fixed an adb restore issue (bigbiff)
Fixed rebooting when no OS is present (Dees_Troy)
Fixed line wrapping in the GUI terminal (_that)
Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)
Click to expand...
Click to collapse
March 13, 2017 (3.1.0-1)
Rebuild of 3.1.0-0 (from 2017.03.10) - Add ability to boot with JB bootloader.
-TWRP Change Log:
-vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
-adb backup to stream a backup directly to or from your PC, see documentation here: https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9 (bigbiff)
-tweak MTP startup routines (mdmower)
-support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
-support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
-better indicate to users that internal storage is not backed up (Dees_Troy)
-improve automatic determination of TW_THEME (mdmower)
-minimal getcap and setcap support (_that)
-try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
-shut off backlight with power key (mdmower)
-timeout during FDE decrypt (Dees_Troy and nkk71)
-support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
-boot slot support (Dees_Troy)
-TWRP app install prompt during reboot (Dees_Troy)
-support for AB OTA zips (Dees_Troy)
-support new Android 7.x log command (Dees_Troy)
-update recovery sources to AOSP 7.1 (Dees_Troy)
-numerous bugfixes and improvements by too many people to mention
Click to expand...
Click to collapse
-Tree
++Bootloader offset is now 128!
If you are having OTA problems, make sure your ROM maintainer adds this to their device tree: https://github.com/blastagator/cm_d...mmit/946434d0881b50437422e7855d5d7a096d9608e1
Also, /misc needs to be mounted: https://review.lineageos.org/#/c/19334/)
++Completely rebased onto cm-14.1
++Remove custom USB - Use G2+TWRP usbs instead
++Tweaks to enable compatibility with old bootloader
-Kernel
++Completely rebased onto cm-14.1
++Tweaks to enable compatibility with old bootloader
++Disable lots of unneeded things and changed kernel compression
------------- All builds above this line are cm-14.1 based. -----------------
------------- All builds below this line are cm-13 based. -------------
May 7, 2016 (3.0.2-1)
-Tree
++Completely rebased onto cm-13
++All file utilities, etc. are now up-to-date with the latest cm-13 tree.
++Changed from debug builds to engineering builds, per TeamWin instructions (thanks @Startrek852)
-Kernel
++Took cm-13 kernel and added my stuff to it
++Disabled some tuner/multimedia stuff we don't need
++Updated f2fs
-TWRP
++New splash screen
++New fstab processing
++Fixed AROMA graphic bug. If AROMA still crashes, try this:
http://forum.xda-developers.com/showpost.php?p=66747442&postcount=2591
++Lots of language updates.
------------- All builds above this line are cm-13 based. -----------------
------------- All builds below this line are omni-4.4 based. -------------
April 7, 2016 (3.0.2-0)
TWRP 3.0.2-0:
-Fix a bug with the input box that affected masked inputs (passwords).
++This fixes decrypt of full device encryption on devices that support decrypt.
++This bug also impacts encrypted backups.
++Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
-Add Greek translation to some builds.
Click to expand...
Click to collapse
TWRP 3.0.1-0:
-Support new CM 13.0 pattern encryption (sultanqasim)
-Fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
-libtar updated to latest upstream and fixes (jcadduono)
-Fixes for loading custom themes (_that)
-TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
-Translation updates - added Italian, Czech and Polish and significant updates to Dutch
-Progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
-Fix input box text display (Dees_Troy)
-Reboot option after zip install complete (bigbiff)
-Other mostly invisible bug fixes and improvements
Click to expand...
Click to collapse
Device / Kernel / etc.
-No changes
February 17, 2016 (3.0.0-4)
TWRP Change Log:
-Completely new theme - Much more modern and much nicer looking (by z31s1g)
-True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
-Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
-Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
-Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
-Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
-SuperSU prompt will no longer display if a Marshmallow ROM is installed
-Update exfat, exfat fuse, dosfstools (by mdmower)
-Update AOSP base to 6.0
-A huge laundry list of other minor fixes and tweaks
Click to expand...
Click to collapse
My Change Log:
-TWRP:
++Re-enable RO check/warning - MM is potentially sensitive to RO
++NTFS Support
++Remove bootloader backup (user should use zips to manage bootloader instead)
++Enable extra languages (lots of options!)
-Device Tree:
++Fixed decryption
DO NO ENCRYPT f2fs - Bootloop of ROM and Recovery will occur!
++Fixed USB init problem (created custom usb recovery init by combining parts of g2 init and twrp init)
++Switched to using TWRP init w/ additional inits added via proper method
++Update external_sd init
++Restructure g2 device repo to further isolate 'TWRP' parts
++Enable QCOM Overlay Graphics
++Remove non-functioning LED part of postrecoveryboot.sh
-Kernel
++Fixed decryption
++Updated f2fs (to latest, @dorimanx for helpful commits)
++Enable NTFS
++Update exfat driver
++Fix lge usb gadget config options
++Some other misc. updates
November 9, 2015 (2.8.7.3)
-Sorry about bad 2.8.7.2 build
-Still built off of omni-4.4 source code. (Android-M isn't ready for a full release yet.)
-Vendor: Complete overhaul of vendor blobs, now using cm-12.1-caf branch from lg-devs
-TWRP: Make separate flags for ability to backup or restore partitions
-Device: Add ability to backup/restore Bootloader partitions
++User cannot use TWRP to restore Bootloader, too dangerous!
-Device: Removed system_image
++We don't need this for our phone and it was confusing people who didn't READ the change log
-TWRP/Device: Remove any warnings about system mount RO, this isn't important for our phone
-Device: Set max brightness to actual max (255)
-Device/TWRP: Create default brightness, set it to 175 (~68%)
-Kernel: Latest f2fs driver
++This should fix issue where ROM running kernel with newest f2fs doesn't boot
++Note: This breaks compatibility with ROM using old f2fs driver. Read note below.
-Kernel: Other commits that were needed to make latest f2fs driver work
-Kernel: Config changes that might allow encrypted f2fs to work now!
-Kernel: Enable SELinux
++Before I accidentally completely disabled, now it should boot Enabled, but in Permissive mode.
-TWRP: More tweaking to recreation of media folder / setting internal storage path
-Device: Remove integrated supersu
IMPORTANT - f2fs /data note: If you restore OLD backups, you will probably cause ROM or recovery (or both) to hang! This is obviously bad because your only option at that point is doing a back to stock kdz. To avoid problems, make NEW backups AFTER upgrading to the new version of TWRP. Backups made with 2.8.7.3 can be restored with 2.8.7.3 without causing issue.
October 31, 2015 (2.8.7.2)
-Broken build!
-Device: Add ability to backup/restore Misc partition
++Caused broken build. Do not use this version.
June 24, 2015 (2.8.7.1)
-Make sure you have newest Theme (or no theme).
-Fixed internal storage path, I had it wrong for long time, sorry!!! https://github.com/blastagator/cm_d...mmit/cbfe7d09d95890b4e26f673c9db937840167da9b
-Turned down max screen brightness, no need to fry phone
-Fixed TWRP not assigning proper context to Internal Storage when wiping: https://github.com/blastagator/andr...7903af041ad00146aee866#commitcomment-11848774
++Full wipe of phone will now always recreate folder properly!
++Bumped version up by .1 to reflect change to actual TWRP code.
-Add ability to backup "System Image"
++YOU VERY LIKELY DON'T NEED THIS. (If you're on anything other than stock ROM already, you DEFINITELY don't need it.) We have KDZ flashing to get back to stock.
++This creates a raw, emmc, backup of the System partition (instead of file backup)
++Has to do with new OTA issues (which aren't an issue for G2 yet, if ever)
++Not really important for us, but TWRP added it, so I added it too: https://github.com/omnirom/android_bootable_recovery/commit/eb32b1ff00878e7b01453450fcd04ecb9fcbba52
++See also: https://github.com/blastagator/cm_d...mmit/e28ab9cef31d6574a6f6e1f92b97f94bcbdda584
-TWRP Updates:
-Initial ground work for software drawn keyboard (_that)
-Fix handling of wiping internal storage on datamedia devices (xuefer)
-Allow DataManager to set and read values from the system properties (xuefer)
-Fix crash when taking screenshots on arm64 devices (xuefer)
-Fix error message after an ORS script completes (Dees_Troy)
-Fix crashes / error when creating encrypted backups (_that, Dees_Troy)
-Add system read only option – more details below (Dees_Troy)
-Add resize2fs and GUI option to run resize2fs (Dees_Troy)
-Fix crash loop caused by empty lines in AOSP recovery command file (_that)
-Prevent duplicate page overlays such as multiple lock screens (mdmower)
Click to expand...
Click to collapse
May 25, 2015 (2.8.6.3)
-Updated f2fs kernel module to match the version used by @dorimanx
-Updated vendor blobs by applying all changes from lg-devs and using newest 12.1 branch
-Updated e2fsprogs (the binaries used to manipulate the filesystem) to latest cm-12.1 version
-Updated to using the newest branch for qcom_common
-Updated f2f2-tools by forking cm-12.1 and making some tweaks (Git)
-Fixes the issue where TWRP won't load if you're using Lollipop with f2fs
-Relocated common manifest to g2-common git
-Enable new Qualcomm HW Decrypt flag
-TWRP Fixes:
++Prevent multiple unlock screens
++<MAYBE> Enable proper decryption of an encrypted /data partition
Much Older Versions:
May 24, 2015 (2.8.6.2)
-Test build that is now removed.
-Only built for d800 & d802.
May 2, 2015 (2.8.6.1)
-Added lgl22 support. All models now supported!
Mar 30, 2015 (2.8.6.1)
-Added ability to backup/restore Sensors partition (per user request)
-Thanks to @_that for tipping my off to my previous error (& @z31s1g who's themeing led to problem discovery)
-TWRP Changelog:
CHANGELOG for 2.8.6.0:
-Fix daylight savings time rules for USA and Europe (_that)
-Allow mulitple overlays for popup boxes (Dees_Troy)
-Add pattern style password entry for decrypt (Tassadar)
-Keyboard improvements (_that)
-Update AOSP base to 5.1 (Dees_Troy)
-Reduce theme count to 5 and rely on scaling (Dees_Troy)
-Various scaling improvements (Dees_Troy)
-Improved handling of resources in the GUI (_that)
-Make scroll bar size proportional to list size (_that)
-Allow scoll lists to render without a header (_that)
-Make console scroll per pixel with kinetic scrolling (_that)
-Support styles in XML to reduce XML size and improve consistentcy (Dees_Troy)
-Various other fixes and improvements (mdmower, bigbiff, codelover, etc)
Click to expand...
Click to collapse
Mar 28, 2015 (2.8.6.0)
-Improperly built 2.8.6.0
-Used wrong TWRP tree. Oops!
Feb 15, 2015 (2.8.5.1)
-Corrected build of 2.8.5.0
-Edited the init.rc (see: https://github.com/omnirom/android_bootable_recovery/commit/df7abac1a645949ded76418759236bc3b14f107e)
-Also made a slight tweak to move tap-to-wake to a separate init (should make it easier to update the init.rc in the future if it is changed)
-FIXED: sd_card init was not being copied correctly. Relocated it to /etc and made appropriate related changes. (I guess this wasn't getting in the way of sd_card working, but it is proper to include this file.)
-NEW FILE HOST: Now using spideroak.com, they advertise no download limits!
Feb 13, 2015 (2.8.5.0)
-Merged upstream vendor blobs (Updates from lg-devs)
-TWRP Changelog:
CHANGELOG for 2.8.5.0:
-Scale the GUI - TWRP can read the theme's resolution and scale it up or down to fit the theme to your screen's resolution
-Backups can now be cancelled while the backup is in progress (does not include restore because we don't want to leave your device in a bad state)
-Improve thread handling and move input handling into the main rendering thread to improve stability
-Make MTP work even if unplugged and plugged back in
-Unify scrollable list code and make kinetic scrolling feel more natural
-Fix handling of mapped zip files for OTA updates (CM12 updater)
-USB keyboards should now work on all devices that support USB host mode via a USB OTG cable
-Other small fixes and improvements
Click to expand...
Click to collapse
Jan 13, 2015 (2.8.4.0)
-Changed Kernel Configs so default kernel state is SELinux Permissive.
++There was already a change that allowed TWRP to immediately change to Permissive, now it is Permissive immediately.
-Made a few changes to g2-common to accommodate lgl22 (when I get around to getting that working).
CHANGELOG for 2.8.4.0:
-Add flashing of boot and recovery images via the TWRP GUI (Find the Images button on the Install page)
-Fix some MTP related crashes and bugs
-Eliminate TWRP toggling USB IDs during boot if MTP is enabled
-Fix various adb sideload issues
-Improve threading of actions
-Eliminate separate thread for screen timeout
-Update libblkid to 2.25.0
-Use power button as back button on watch themes for easier navigation
-Add mutex locking to data manager
-Improve custom theme handling on encrypted devices
-Allow the stock theme to be offset by build flags so we can center a lower res theme on a higher res screen especially for watches with round screens
Click to expand...
Click to collapse
Dec 27, 2014 (2.8.3.1)
-Tweaked the fstab file
++Changed partition type to ext4 from auto - this should fix broken Format Data / Factory Reset. However, f2fs is still supported. My f2fs cache partition still mounted in twrp even though fstab was set to ext4.
++Added the encrypt partition to the fstab. This should enable twrp to mount encrypted /data partitions. I don't know if this is the problem or not. The one person I asked to try it didn't have any luck. Please others try and let me know if it works or what errors you get. NOTE: An encrypted f2fs /data partition will probably NOT work in this configuration.
Dec 24, 2014 (2.8.3.0)
-Version 2.8.3.0
What's new in 2.8.3.0:
MTP fixes and improvements - you can now copy zips to the root of storage - thanks to _that
MTP will now tell the host PC that storage is removed instead of disabling MTP completely
MTP will now report the correct max file size based on the file system in use to the host PC (may fix transfer of large files)
Update and improve fix permissions and make fixing contexts optional
Update SuperSU in TWRP to 2.40 and update install process
Make TWRP work properly on AArch64 (Nexus 9 is now built in true 64-bit binaries and libraries)
Attempt to set correct permissions and contexts on all files placed in storage so backups will show in Android
Fix kernel panic during MTP start on some devices
Support unicode fonts on devices with True Type Font support
Fix slider value not showing sometimes (vibration settings page)
Toggle MTP off during adb sideload to set correct USB IDs
Reduce library requirements for 5.0 L decrypt
Other minor fixes and improvements
Click to expand...
Click to collapse
-Update g2-common to ensure se_linux will be set to permissive at boot of recovery
Dec 18, 2014 (2.8.2.1)
-Full repo sync
-Check the omni git for changes
-Looks like Dees_Troy pushed quite a few bug fixes over the past couple of weeks
-Switched device tree to start using 'L' encryption
Dec 11, 2014 (2.8.1.2)
-Rebuild of 2.8.1.1
-Uses the new device trees
-Adds l01f for this version
-BUMPed (2.8.1.1 was not)
-I recompiled this version due to various bug complains involving 2.8.2.0 in general - in case anyone wants to stay on old version til those get sorted out.
++I'm not aware of any specific issues.
Dec 9, 2014
-Created custom l01f kernel config.
-Built and added l01f variant.
Dec 6, 2014 (2.8.2.0)
-Reworked all device trees to use the CM stock device trees + a couple mods to add TWRP support.
-Still using the Omni4.4 source.
-BUMP'ed and new flashing script that still auto-detects panel type but does NOT use loki.
++Bump works on JB & KK bootloader.
-All the other goodies as listed in 2.8.1.9.
-If you're on d800 and want to upgrade to KK bootloader, go here.
Dec 2, 2014 (2.8.1.9)
-Built with Omni 4.4
-TWRP 2.8.2.0 Source (LP5.0 for TWRP source only)
-Labeled as 2.8.1.9 just for clarity when I redo the device trees and rebuild.
-Team Win Change Log:
-Pull in all changes from Android 5.0 lollipop into TWRP
-Add decrypt support for Android 5.0 lollipop encrypted partitions including automatic decrypt when the default_password is in use
-Revert some changes to exFAT that were breaking exFAT support on some devices
-Other minor fixes and updates
Note: At this time we do not have a GUI representation for pattern unlock. You can still decrypt patterns though by translating the pattern dots to numbers. The pattern dots correspond to numbers in the following pattern:
1 2 3
4 5 6
7 8 9
So an upper-case L would translate to a password of 14789 entered on the keyboard. Eventually we plan to add a proper pattern unlock to TWRP but it is a relatively low priority at this point.
Click to expand...
Click to collapse
Oct 25, 2014 (2.8.1.1)
-Corrected bug where "Internal Storage" was being listed as "Data"
-F320: Added additional properties to External SD mount.
++Should now be able to wipe External SD under advanced wipe.
++Should not get error when booting TWRP with no External SD card inserted.
Oct 24, 2014 (2.8.1.0)
-Team Win released version 2.8.1.0 [TeamWin Page]
What's new in 2.8.1.0:
MTP fixes and improvements - you can now copy zips to the root of storage - thanks to _that
TrueType Font support - optional as it takes up a decent amount of space so may not be available on all devices - thanks to Tassadar
Temperature support - thanks to bigbiff
Various other bugfixes and tweaks
Click to expand...
Click to collapse
-Full repo sync and upstream merges on all sources.
-F320 External SD Card is now supported.
-Ability to backup Modem and Recovery partitions
Oct 20, 2014 (2.8.0.2)
-Because incrementing a digit by 1 is always better!
-Full repo sync and upstream merges on all sources.
(That is - TWRP source, device tree source, g2-common source, and aicp source are all the newest available!)
-Compiled completely from scratch. (No need for hodge-podge as previous version.)
-TWRP now shows CPU temperature.
-F320 variant should work now.
(Which is nice for F320 users since it looks like it has been awhile since getting a new version of TWRP!)
-Simplified file naming convention for the downloads.
-Original release used old loki. New zips are posted with newest loki and newest panel detection script! Should work on all phones now.
Oct 19, 2014 (2.8.0.1)
-Changed to AICP kernel to add thermal control!
-Patched AICP kernel to support F2FS.
-2.8.0.1 Base came from DrGravy (this version is a composite of a few different sources)
-Tap to wake works now.
-TWRP Version 2.8.0.1
-Some bug fixes that came along with 2.8.0.1
Oct 18, 2014
-Not actually a new build, just a big information update!
-Added info for adding full f2fs support to your kernel.
-Looking in to compiling TWRP with the AICP kernel to add thermal support.
Oct 10, 2014
-Full repo sync.
-Changed vendor tree from a CM11 build that I had been using to dr87's git.
-Built for (almost) all LG G2 models.
------------- All builds below this line are for D800 ONLY! -------------
Oct 8, 2014
-Fully sync'd everything to the above listed gits
-Moved the tap to wake code out of bootable/recovery and into a custom recovery init.rc
-Moved a couple files into g2-common/twrp folder to improve organization
-Sync'd with main repo to get any code changes and confirm the init.rc wasn't causing issues anymore
-Posting this build in .img and .zip format
Oct 7, 2014 (Build 2)
-Added postrecoveryboot.sh (Forgot to include it in the original build)
Oct 7, 2014
-Initial Release
-Based on latest OmniRom TWRP Source
-Kernel is based on Stock Kernel patched w/ F2FS for 3.4 kernel
FAQ
My OTA isn't working or I am now in a bootloop to TWRP.
To get out of the bootloop, connect to adb shell, and issue:
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/misc count=1 bs=32
This should resolve the problem. If not, search the thread, some people have other suggestions for various places to nuke the bad commands residing in /misc. To avoid the future problem, contact your ROM maintainer with the following info.
Starting in Android N, the ROM uses /misc partition to communicate with recovery. (Therefore if your ROM is M or lower, OR uses the old communication method, this is not relevant to you). To address OTA problems, it is important to note the newly introduced bootloader offset.
https://review.lineageos.org/#/c/165001
Also, /misc needs to be mounted:
https://review.lineageos.org/#/c/19334/
Your ROM maintainer should add these to their device tree. This will insure that ROM will write to the exact place the recovery is reading from.
I see error: "E: mount -0 bind '/data/media' '/sdcard' process ended with error=255" when I switch partition type on /data.
Update to new version, 2.8.7.1. This problem is fixed.
I see error: "assert failed: run_program(" /tmp/loki.sh") == 0" when I flash X. Why?
Loki is only supported by JB BL. Loki is smart enough to check your BL version before flashing. If you are on KK BL and the thing you are flashing uses loki, you're going to get this error. New BL requires you to use bump.
Now that I have bump, how do I update to the KK bootloader?
If you have a d800 (or d801), see my thread here. If you have a d802, see @dorimanx's thread, here. Credit's to dori for inspiring me to make the package for d800.
USB-OTG isn't working, why not?
To use USB-OTG your device needs to be formatted fat32, not NTFS.
I'm having trouble formatting partitions. Why doesn't it work?
Fixed: As of 2.8.3.1
The option to Format Data or do Factory Reset probably won't work. The fstab is set to auto to support f2fs and those two options don't know how to deal with auto (they don't know if you want them wiped to ext4 or f2fs). Therefore, you need to do Advanced Wipe, which works fine. If you are still having trouble, make sure MTP isn't on and make sure your USB isn't plugged in.
OMG, my TWRP thinks this is the 1970s?! HALP!
This is an issue that arises in Android L (for whatever reason). Member murdoch1 found this and confirmed that installing it fixes the 1970 issue in TWRP.
Does [xyz] work?
As far as I know, everything works except for known issues in the common twrp source.
I want to report [xyz] as not working, how do I do it?
Post in this forum. I'll do what I can to fix it.
When will the next version come out?
I don't plan on building again unless a bug is discovered that I can fix, or if TeamWin releases the next version.
Why don't you do [xyz]?
Why don't you do it?
Why doesn't F2FS work?
It DOES work in the recovery. To get it working on your ROM you need to have proper kernel support. Many AOSP ROMs support f2fs partitions. Additionally, dorimanx has added working f2fs on his stock kernel.
Why doesn't AROMA work?
AROMA is old. As of version 3.0.2-1, I added a hack to fix the graphics. If your zip file still isn't working, try my guide:
http://forum.xda-developers.com/showpost.php?p=66747442&postcount=2591
F2FS Information
WARNING: Changing Partition type of /data WILL wipe ALL data, including INTERNAL SD!
You need to specifically backup Internal SD, TWRP does not automatically do this when you backup /data!
(This only applies if you change from ext4 to f2fs, or vice versa; other operations will not magically wipe your partitions.)
WARNING 2: DO NOT ENCRYPT F2FS - ROM and RECOVERY will BOTH bootloop and you'll be doing back to stock method!!!
If you want to use F2FS:
1) Make sure your kernel and ramdisk support f2fs (the dev of your ROM/kernel should have f2fs support noted). Dorimanx stock kernel as well as many AOSP kernels have full f2fs support.
2) Install and boot into my recovery.
3) Go to Wipe, Advanced Wipe, select /data, then click Change Partition Type. Select f2fs, and it will convert. Repeat this process for /cache.
4) Reboot the recovery, NOT reboot to system. DO NOT DO ANYTHING ELSE UNTIL YOU REBOOT RECOVERY!!!
5) Reboot OS. That's it! You're ready to go.
If you want to switch to F2FS without losing your data:
1) Make sure your kernel and ramdisk support f2fs (the dev of your ROM/kernel should have f2fs support noted). Dorimanx stock kernel as well as many AOSP kernels have full f2fs support.
2) Install and boot into my recovery.
3) Make a backup of your /data partition and copy it to your PC via MTP. Also, copy the content of your /sdcard to your computer. Both of these things will be destroyed when you switch partition type!
4) Go to Wipe, Advanced Wipe, select /data, then click Change Partition Type. Select f2fs, and it will convert. Repeat this process for /cache.
5) Reboot the recovery, NOT reboot to system. DO NOT DO ANYTHING ELSE UNTIL YOU REBOOT RECOVERY!!!
6) Copy your backup via MTP to your phone. Restore your /data partition.
7) Copy your sdcard files back to your sdcard. (NOTE: For some reason, when I do this, the files end up getting deleted, you may need to copy the sdcard files over after your reboot into your OS.)
8) Reboot OS. That's it! You're ready to go.
Don't complain if you didn't read everything in all 5 of these posts!
Very nice! Im glad to see more work being done to bring F2FS to the G2. I dont know enough about getting into the ROM and kernels to get this going myself, but I will be following the development more closely now and hope someone else is gracious enough to port one of the stock based ROMs to work with F2FS. I think I remember seeing Dorimanx kernel has support for the file system already too, just no recovery or ROM that was capable at the time.
blastagator said:
Problem: We need a kernel/ramdisk that will mount the partitions in a ROM!
On my ROM I am using Dori's kernel with which has the f2fs module. However, even though it has the module, the /cache partition does not mount when the rom boots. Perhaps a ramdisk fstab issue? - Possibly my next adventure...
Click to expand...
Click to collapse
You may need to rebuild his kernel (or rip the ramdisk out of a pre-built one and inject it back in after modifying it) and explicitly mount the cache partition as f2fs.
https://github.com/dorimanx/LG-G2-D802-Ramdisk/blob/kitkat-ramdisk/ROOT-RAMDISK/fstab.g2
You'd probably need to add it with these, though I'm unsure why it's not already listed. It may be in the built ramdisk, built into the file during the compile... It may also be mounted after boot in one of the .rc scripts... But I'm used to seeing all the partitions laid out in the fstab on previous devices.
Have you tried manually mounting via terminal once you've booted? I'm assuming that works and you're just trying to make it auto-mount?
Yoinx said:
You may need to rebuild his kernel (or rip the ramdisk out of a pre-built one and inject it back in after modifying it) and explicitly mount the cache partition as f2fs.
https://github.com/dorimanx/LG-G2-D802-Ramdisk/blob/kitkat-ramdisk/ROOT-RAMDISK/fstab.g2
Click to expand...
Click to collapse
I was thinking modify the fstab. However, in dori's kernel, the fstab.g2 doesn't even have entries for /system /data or /cache. In the recovery I changed those partitions from ext4 to auto. I planned to do the same on the kernel. Even though the fstab is different, I was going to try adding mounts for those 3 partitions and see what happened. However, I couldn't get the image repacked. I used the non-standard mkbootimg from the compiling of the recovery. I tried several different commands to repack - all of which led to a boot loop. (Except one, which got me fastboot because the offsets were wrong.)
Alternatively I was going to recompile the dori kernel but I haven't really delved into adding the custom ramdisk into that compile, got too tired last night.
Yoinx said:
Have you tried manually mounting via terminal once you've booted? I'm assuming that works and you're just trying to make it auto-mount?
Click to expand...
Click to collapse
Using: mount -t f2fs /dev/block/platform/msm_sdcc.1/by-name/cache /cache
The partition mounted properly using the dori's build of dori's kernel 8.0.1
You can get something like kernel workshop, extract the boot.img into the kernel and ramdisk to play with whatever then repackage it without recompiling.
Yeah, I saw the fstab is a bit odd. I thought they were moving to a new mount system but I couldn't find it handily
Yoinx said:
You can get something like kernel workshop, extract the boot.img into the kernel and ramdisk to play with whatever then repackage it without recompiling.
Yeah, I saw the fstab is a bit odd. I thought they were moving to a new mount system but I couldn't find it handily
Click to expand...
Click to collapse
Dori was nice enough to point it out for me:
https://raw.githubusercontent.com/dorimanx/LG-G2-D802-Ramdisk/kitkat-ramdisk/ROOT-RAMDISK/fstab.g2
https://github.com/dorimanx/LG-G2-D802-Ramdisk/blob/kitkat-ramdisk/ROOT-RAMDISK/init.target.rc#L45
I plan to fiddle with it
Simple enough. They're just running it in the scripts then. I modified my old phone's kernel to have simulated run levels by running a script from each of the points in the init.rc events, so you could run commands at various points throughout the boot sequence via init.d essentially. I liked the feature, but I don't think many others really had a use for it.
Same concept, the only downside by it being hard-coded is that you need to repack each time instead of just modifying an init.d script on the fly.
Glad you found it though
Yoinx said:
You can get something like kernel workshop
Click to expand...
Click to collapse
Try googling "kernel workshop" --- grumble
Sorry man. I usually post from my phone, so it's hard to verify some of what I'm saying...
http://forum.xda-developers.com/showthread.php?t=2073775
It's android image kitchen. I had the wrong name.
Yoinx said:
Sorry man. I usually post from my phone, so it's hard to verify some of what I'm saying...
http://forum.xda-developers.com/showthread.php?t=2073775
It's android image kitchen. I had the wrong name.
Click to expand...
Click to collapse
Thanks. I've been fighting with that as one of my options. The g2 requires a dt.img as well as a non-standard mkbootimg, so it is driving me up the wall!
blastagator said:
Thanks. I've been fighting with that as one of my options. The g2 requires a dt.img as well as a non-standard mkbootimg, so it is driving me up the wall!
Click to expand...
Click to collapse
Interesting. I haven't started really building anything for the G2 yet.... not enough time IRL at the moment. When I flash kernels though, it's just boot.img.
What's this dt.img that you're talking about? The non-standard mkbootimg is typically just just for offsets.
You may be better off just downloading the kernel sources and building from scratch if the imgtools dont work.
Looks like this guy's got a version of the mkbootimg tools that supports dt.img https://github.com/xiaolu/mkbootimg_tools if you're running linux (hopefully, since it makes things MUCH easier)
Yoinx said:
Looks like this guy's got a version of the mkbootimg tools that supports dt.img https://github.com/xiaolu/mkbootimg_tools if you're running linux (hopefully, since it makes things MUCH easier)
Click to expand...
Click to collapse
You sir are a god send! Unpacked the Dori kernel, repacked, and the repacked image booted right up!!! I'll be sure to update if I make any headway with automount
Oct 8, 2014 Build
-Fully sync'd everything to the above listed gits
-Moved the tap to wake code out of bootable/recovery and into a custom recovery init.rc
-Moved a couple files into g2-common/twrp folder to improve organization
-Sync'd with main repo to get any code changes and confirm the init.rc wasn't causing issues anymore
-Posting this build in .img and .zip format
Signed Zip: https://www.dropbox.com/s/sd1lo0mijouu6kg/2014.10.08-blastagator-twrp-2.8.0.0-w.f2fs-signed.zip?dl=0
Zip MD5: https://www.dropbox.com/s/xmw5e4pzw...gator-twrp-2.8.0.0-w.f2fs-signed.zip.md5?dl=0
Img: https://www.dropbox.com/s/gmzfyg7rs8guw1m/2014.10.08-blastagator-twrp-2.8.0.0-w.f2fs.img?dl=0
Oct 10, 2014 Build
-Full repo sync.
-Changed vendor tree from a CM11 build that I had been using to dr87's git.
-Built for (almost) all LG G2 models.
-deleted- (double post)
Your title for the OP says it is for the vs980 as well...
I don't not see a link for it though
NLOS is an unofficial LineageOS build with many additions. These additions started small and have grown large over the month. So, it's time to name it NLOS - which still is an UNOFFICIAL LineageOS build.
Thanks to @UnbracedTundra NLOS has it's own logo, bootanimation and wallpapers.
LineageOS is a free, community built, aftermarket firmware distribution of Android 7.1.2 (Nougat), which is designed to increase performance and reliability over stock Android for your device.
My priorities are stabillity, battery, performance - in that order. At the moment this means this build is optimized for oneplus3t - and it runs only on oneplus3t.In addition this rom contains two patches (https://github.com/microg/android_p...aster/patches/android_frameworks_base-N.patch and https://github.com/microg/android_p...aster/patches/android_frameworks_base-N.patch) to be microG ready - this means freedom of choice to flash either gapps or install (microG How to use Android without Google Apps). Since LineageOS lacks a theme engine this rom comes with OMS patches applied and is Substratum ready.
NLOS is shipped with Camera2 (atm I recommend the modded Google Camera from Modded Google Camera with HDR+, 60FPS video and Slow Motion by @S4turno or the modded OnePlusCamera from my downloads - do NOT! install both the same time: it's GCam XOR OPCam.
The kernel is prepared for Wireguard VPN - to use Wireguard for vpn-tunnels you need to get the WireGuard-apk from playstore. WireGuard developer @zx2c4 runs a dedicated Wireguard Thread.
Currently known issue can be found here.
If you find an issue, follow these instructions: https://forum.xda-developers.com/showpost.php?p=58239877&postcount=3
Everybody has his very own definition of "clean flash" or "dirty flash". I use these phrases like descriped in this posting: https://forum.xda-developers.com/showpost.php?p=58239877&postcount=2
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
#include <std_disclaimer.h>
/*
* Your warranty isn't void: we are on an oneplus device.
*
* We are 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 us for messing up your device, we will laugh at you.
*
*/
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. You will need to provide your own Google Applications package (gapps). LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
This thread is for Unofficial LineageOS 14.1 builds for oneplus3t - it is not for oneplus3. The following will not be supported here:
Custom kernels
Mods
Xposed
gapps packages bigger then opengapps-nano (read this.)
I don't support Xposed and any logcat which includes a Xposed module will be ignored. You're kindly invited to not report bugs if you:
Flashed a custom kernel
Installed or did mods from untrusted sources
Modified system files (i.e. by using gapps bigger then opengapps-nano)
First time flashing LineageOS 14.1 on your device, or coming from another ROM?
Download the ROM below in the downloads section (or from a mirror; see posting #2)
If you have downloaded a build with "firmware" in it's name, the needed firmware is included and installed while flashing. If you have downloaded a build without "firmware" in it's name, you need to flash the needed firmware BEFORE flashing the rom. You'll find the firmware flashable zips near the end of this posting. New files are added on top of the list.
Download exactly Beans Dynamic Mini Gapps (Note that any other version of Google Apps are known to have wide spread side effects - see posting #4; section "gapps' known issues"
Install exactly this TWRP.
Reboot into recovery.
Backup your current ROM and make sure you have backups of your data you want to keep.
Flash firmware if not using a build with "firmware" in it's name.
Wipe system, data and cache. (Before flashing anything, make sure the system partition is NOT mounted: TWRP-home->mount->uncheck system)
Flash LineageOS
Flash Google Apps (see posting #4; section "gapps' known issues") If you want to use microG skip this step and install microG (How to use Android without Google Apps).
Reboot (as usual: first boot takes loooooong )
Updating this rom
Dirty flashing should work just fine: reboot into recovery and flash a newer LineageOS zip. Settings, apps and even google apps should be preserved.
Important: if you encounter any issues, a clean install is recommended and even required if you need support.
I won't build on a daily (or nightly) basis. I will publish new builds, if I fixed something, important upstream changes or new security patchlevels.
LineageOS changelog: https://www.cmxlog.com/14.1/
Since my time is quite limited till end of October, the update frequency is reduced to 7 to 10 days.
Build 20180309
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
This is most propably the last NLOS-14.1 build. I want to say "Thanx" to all users. Please feel invited to to use NLOS-15.1!
EOL.
Changelog:
Sync to upstream: March Security Patch.
boeffla_wl_blocker: defconfig: enable wl_blocker. — nvertigo
wl_blocker: add more wakelocks to the default block list — Francisco Franco
boeffla_wl_blocker: update to wakelock blocker driver v1.1.0 — andip71
boeffla_wl_blocker: update to wakelock blocker driver v1.0.1 — andip71
boeffla_wl_blocker: add generic wakelock blocker driver v1.0.0 — andip71
WG: squash WireGuard-0.0.20180304. — nvertigo
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
Happy flashing!
History
Build 20180214
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
There has been some confusion on twrp versions, lately. For nlos always use the "original nougat twrp-3.2.1-0".
If you have issues with bootloops or access to data with some apps, use "original nougat twrp-3.2.1-0" to FORMAT(!) the data partition of the device:
Backup all your data (eveything under /sdcard/; i.e. Downloads, Vodeo, DCIM, etc...)
Boot to "original nougat twrp-3.2.1-0".
Tap on "Wipe".
Tap on "Format Data".
Confirm with swipe. This actually clears your complete data partition, including all data and encyption.
Check if the newly created fs is the type you want (ext4 and f2fs is supported) - eventually change it to your liking.
Just follow the OP's procedure for first installs from OP's "Installation" section (clearing data is allready done, of course).
Changelog:
Sync to upstream: Feb. Security Patch
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
Happy flashing!
Build 20180206
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
There has been some confusion on twrp versions, lately. For nlos always use the "original nougat twrp-3.2.1-0".
If you have issues with bootloops or access to data with some apps, use "original nougat twrp-3.2.1-0" to FORMAT(!) the data partition of the device:
Backup all your data (eveything under /sdcard/; i.e. Downloads, Vodeo, DCIM, etc...)
Boot to "original nougat twrp-3.2.1-0".
Tap on "Wipe".
Tap on "Format Data".
Confirm with swipe. This actually clears your complete data partition, including all data and encyption.
Check if the newly created fs is the type you want (ext4 and f2fs is supported) - eventually change it to your liking.
Just follow the OP's procedure for first installs from OP's "Installation" section (clearing data is allready done, of course).
I have reintroduced lineageos Snpdragon Camera (Snap), because of it's new implemented QuickReader - the issue with crashes on one of the first ff-cammtaken pics is still present. Wiping system and reflashing BeansGapps-Mini-7.1.x-20170725.zip is highly recommended!
Changelog:
op3: Address SELiunx denials — dianlujitao
op3: Unbreak perfd — dianlujitao
Revert "Drop LineageOS/CAF SnapCam aka Snap." — nvertigo
qcacld-2.0: Update to LA.UM.5.5.r1-06700-8x96.0 — dianlujitao
Merge tag 'LA.UM.5.5.r1-06700-8x96.0' into cm-14.1 — dianlujitao
ANDROID: xattr: Pass EOPNOTSUPP to permission2 — Daniel Rosenberg
ANDROID: sdcardfs: Move default_normal to superblock — Daniel Rosenberg
ANDROID: sdcardfs: Fix missing break on default_normal — Daniel Rosenberg
f2fs: Reset to v4.14-rc1-3.18 — dianlujitao
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
Happy flashing!
Build 20180131
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
Changelog:
Mantainance: synced to los.
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
Happy flashing!
P.S.: chagallwifi build is updated as well - f2fs for cache and data fixed.
Build 20180120
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
Changelog:
Revert "Track our own version of android_vendor_codeaurora_telephony." — Nvertigo
Update WireGuard to 0.0.20180118.
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
Happy flashing!
Build 20180116
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
Changelog:
Xtra Fixes - https, version check & version 3 — Wyatt Riley
January security update.
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
P.S.: chagallwifi build is updated as well - aptx enabled.
Happy flashing!
Build 20180109
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
Some new fs, fs-crypt and sdcardfs patches has been merged upstream. Perhaps these also solve the remaining issues with bootloops, though I have only very little hope these will avoid the necessity of reformatting the user-data partition.
Changelog:
fscrypt: move to generic async completion — Gilad Ben-Yossef
crypto: introduce crypto wait for async op — Gilad Ben-Yossef
fscrypt: lock mutex before checking for bounce page pool — Eric Biggers
fscrypt: new helper function - fscrypt_prepare_setattr(
fscrypt: new helper function - fscrypt_prepare_lookup(
fscrypt: new helper function - fscrypt_prepare_rename(
fscrypt: new helper function - fscrypt_prepare_link(
fscrypt: new helper function - fscrypt_file_open(
fscrypt: new helper function - fscrypt_require_key(
fscrypt: remove unneeded empty fscrypt_operations structs — Eric Biggers
fscrypt: remove ->is_encrypted(
fscrypt: switch from ->is_encrypted(
fs, fscrypt: add an S_ENCRYPTED inode flag — Eric Biggers
fscrypt: clean up include file mess — Dave Chinner
fscrypt: fix dereference of NULL user_key_payload — Eric Biggers
fscrypt: make ->dummy_context(
ANDROID: sdcardfs: Add default_normal option — Daniel Rosenberg
ANDROID: sdcardfs: notify lower file of opens — Daniel Rosenberg
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
P.S.: chagallwifi build is updated as well.
Happy flashing!
Build 20180106
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
I've done some testing with toolchains: I couldn't find any advantage using Snapdragon llvm, so I decided to stay with laos stock clang. I also found that using a gcc-6 based cortex-a53 toolchain on the kernel (instead of 4.9) makes the resulting kernel a very little bit more bat friendly. But I did NOT found any advantage of UBERTC/Linaro compared to plain (no Linaro patches and enhancements) gcc-6 build for cortex-a53.
Considering those observations, I decided to use:
kernel: cortex-a53 optimized gcc-6.4.1 (crosstool-ng, config: https://bitbucket.org/nvertigo/aarc...og.bz2?at=master&fileviewer=file-view-default)
All other c- and c++-code in the rom: stock laos llvm/clang
Your milleage may vary, but to me this combination is CURRENTLY giving the best ballance of performance and bat life. Let me know your impressions.
Changelog:
Remove Snapdragon LLVM. — Nvertigo
Add aarch64-linux-android-6.4: stock gcc version 6.4.1 20171215 (crosstool-NG crosstool-ng-1.23.0-288-gadaa3a5d
Remove aarch64-linux-android-6.x. — Nvertigo
Remove aarch64-linux-android-5.x. — Nvertigo
Remove aarch64/aarch64-linux-android-4.9. — Nvertigo
Remove aarch64-linux-android-4.9-kernel. — Nvertigo
Fix derp in opting in LINEAGE_VERSION_APPEND_TIME_OF_DAY. — nvertigo
Opt in LINEAGE_VERSION_APPEND_TIME_OF_DAY. — nvertigo
Use GNU gcc 6.4.1 for kernel building. — nvertigo
gcc-6.4.1: disable unused-const-variable warnings. — nvertigo
gcc-6.4.1: remove unsed variable fsm_en. — nvertigo
gcc-6.4.1: fix a bunch of (misleading) indents. — nvertigo
bluetooth: hci_sock: Fix warning detected by gcc 5.3.1 — NewEraCracker
tfa9890: tfa_container: Fix warnings detected by gcc 5.3.1 — NewEraCracker
treewide: Fix code errors detected using Linaro GCC 6.3.1 — Sultan Alsawaf
treewide: Properly fix use of uninitialized variables — Sultan Alsawaf
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
Happy flashing!
Build 20171230
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
Changelog:
mcpu: use cortex-a53 with stock clang/llvm. — nvertigo
Revert "msm: camerav2: isp: Reserve rdi ub based on image size" — nvertigo
Revert "msm: camera: Synchronize v4l2 subscribe and unsubscribe event in camera.c" — nvertigo
Revert "msm: camera: isp: Allocate kernel page and map to userspace" — nvertigo
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
Happy flashing!
May the source be with you and yours in 2018!
Build 20171223 (xmas-firmware)
Releasenotes:
This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.
Changelog:
Firmware requirementsnhave not changed, but to avoid unneseccary hussles during Xmas I included the firmware (with nlos bootlogo) again for this build.
disable SDCLANG and UBERTC for now (to minimize any issues).
Bootlogo: add NLOS bootlogo. — nvertigo
net/wireguard: add wireguard importer — nvertigo
Revert "msm: mdss: Do not attempt to request TE irq again if already requested" — dianlujitao (laos/cm-14.1
op3: Regen defconfig — dianlujitao
ANDROID: ion: Fix uninitialized variable — Daniel Rosenberg
drivers: staging: Update qcacld-2.0 driver — Luca Stefani
Merge tag 'LA.UM.5.5.r1-06400-8x96.0' of https://source.codeaurora.org/quic/la/kernel/msm-3.18 into cm-14.1 — dianlujitao
sepolicy: allow apps to stat processes. — nvertigo (nvertigo/nlos-14.1, github/nlos-14.1, nlos-14.1
sepolicy: allow cameraserver to search mpctl socket directories. — nvertigo
sepolicy: add a bunch of denials need for different apps. — nvertigo
sepolicy: allow hostapd to access diag_device. — nvertigo
gps: update to LA.UM.5.5.r1-06400-8x96.0. — nvertigo
Revert "IMS: fix derp: remove some test settings again." — nvertigo
sepolicy: allow time_daemon to connect to unix_stream_socket. — nvertigo
sepolicy: allow mediacodec to search mpctl. — nvertigo
sepolicy: allow system_server to use setsched. — nvertigo
init: set downmigrate after upmigrate. — nvertigo
init: remove some artefacts from eas. — nvertigo
oneplus3: Enable framework sched boost — Sultanxda
BoardConfig.mk: remove out-commented SDCLANG. — nvertigo
Bootlogo choices
nlos_bootlogo-v0.1.zip
back_in_black_bootlogo-v1.0.zip
[SIZE=+2]DOWNLOAD[/SIZE]
Happy flashing!
Firmware
NVertigo's Oxygen Firmware Archive
Renamed blobs (for use with custom kernels build for unified roms)
NVertigo's UniBlob Archive
TWRP
https://forum.xda-developers.com/oneplus-3/development/recovery-official-twrp-oneplus-3-3t-t3543391
Google Apps:
Beans Dynamic Mini Gapps
Source and toolchains
https://github.com/LineageOS/
https://github.com/nvertigo/local_manifest/tree/cm-14.1 (If you want to build this rom yourself, consult the file named README)
Aytex, who made all of the banners on this post.
team-exynos5429 for the OP templete.
All the LineageOS-Team.
@Lord Boeffla for patiencely answering my questions.
@koenkk
@Sultanxda
@TheFrozen4 for documentation and optimizing this OP.
@m0d hipp¥ for mirroring.
@mad-murdock for first testings.
The microG Team
Nathan Chancellor for LineageOMS, especially for this wonderfull piece of software.
@joshuous for introducing and explaing EAS to me and making VoxPopuli public. Last and not least for running EAS-Project.
@RenderBroken for providing EAS patches for EAS-Project's LineageOS based kernel.
@UnbracedTundra for all the awesome NLOS-ArtWork.
@zx2c4 for Wireguard VPN (dedicated Wireguard Thread)
...and everybody I forgot.
Happy flashing!
I will be putting the latest mirror's of nvertigo67's rom on here.
Additional FilesOxygenOS - ob8 firmware - http://x-null.net/xda/nvertigo67/Other/oxygenos-ob8-firmware.zip
OxygenOS - ob7 firmware - http://x-null.net/xda/nvertigo67/Other/oxygenos-ob7-firmware.zip
OxygenOS - ob6 firmware - http://x-null.net/xda/nvertigo67/Other/oxygenos-ob6-firmware.zip
OxygenOS - ob5 firmware - http://x-null.net/xda/nvertigo67/Other/oxygenos-ob5-firmware.zip
OxygenOS - ob4 firmware - http://x-null.net/xda/nvertigo67/Other/oxygenos-ob4-firmware.zip
4.0.3 firmware - http://x-null.net/xda/nvertigo67/Other/oxygenos-4.0.3-firmware.zip
TWRP 3.0.4-1 - http://x-null.net/xda/nvertigo67/Other/twrp-3.0.4-1-oneplus3.img
TWRP 3.1.0-1 - http://x-null.net/xda/nvertigo67/Other/twrp-3.1.0-1-oneplus3t.img
Open Gapps Nano 01-20-2017 - http://x-null.net/xda/nvertigo67/Other/open_gapps-arm64-7.1-nano-20170120.zip
Newest will be on top
June 6 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170606-UNOFFICIAL-nvertigo-oneplus3t.zip
June 6 2017http://www.x-null.net/xda/nvertigo6...06-UNOFFICIAL-nvertigo-gps-test-oneplus3t.zip **GPS TEST**
June 2 2017http://www.x-null.net/xda/nvertigo6...02-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip
May 24 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170524-UNOFFICIAL-nvertigo-oneplus3t.zip
May 18 2017http://www.x-null.net/xda/nvertigo6...18-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip
May 15 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170515-UNOFFICIAL-nvertigo-oneplus3t.zip
May 9 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170509-UNOFFICIAL-nvertigo-oneplus3t.zip
May 3 2017http://www.x-null.net/xda/nvertigo6...03-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip
Apr 26 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170426-UNOFFICIAL-mad-murdock-EXP-oneplus3t.zip *Experimental with OMS*
Apr 22 2017http://www.x-null.net/xda/nvertigo6...NOFFICIAL-nvertigo-EXP-firmware-oneplus3t.zip *Experimental*
Apr 18 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170418-UNOFFICIAL-nvertigo-oneplus3t.zip
Apr 11 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170411-UNOFFICIAL-mad-murdock-oneplus3t.zip
Apr 7 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170407-UNOFFICIAL-mad-murdock-oneplus3t.zip
Apr 4 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170404-UNOFFICIAL-mad-murdock-oneplus3t.zip
Apr 1 2017http://www.x-null.net/xda/nvertigo6...01-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip
Mar 30 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170330-UNOFFICIAL-nvertigo-oneplus3t.zip
Mar 28 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170328-UNOFFICIAL-mad-murdock-oneplus3t.zip
Mar 24 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170324-UNOFFICIAL-nvertigo-oneplus3t.zip
Mar 20 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170320-UNOFFICIAL-nvertigo-oneplus3t.zip
Mar 16 2017http://www.x-null.net/xda/nvertigo6...16-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip
Mar 12 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170312-UNOFFICIAL-nvertigo-oneplus3t.zip
Mar 7 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170307-UNOFFICIAL-nvertigo-oneplus3t.zip
Mar 4 2017http://www.x-null.net/xda/nvertigo6...04-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip
Mar 1 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170301-UNOFFICIAL-nvertigo-oneplus3t.zip
Feb 25 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170225-UNOFFICIAL-nvertigo-oneplus3t.zip
Feb 24 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170224-UNOFFICIAL-nvertigo-oneplus3t.zip
Feb 18 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170218-UNOFFICIAL-nvertigo-oneplus3t.zip
Feb 14 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170214-UNOFFICIAL-nvertigo-oneplus3t.zip
Feb 10 2017http://www.x-null.net/xda/nvertigo6...10-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip
Feb 6 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170206-UNOFFICIAL-nvertigo-oneplus3t.zip
https://mega.nz/#!aYNkERIb!QyFzj6IZAchSL0TqIn-ZDIrsZulStkbDZi0RF1oyJcg - credit to @t-shock
Feb 3 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170203-UNOFFICIAL-nvertigo-oneplus3t.zip
Feb 1 2017http://www.x-null.net/xda/nvertigo67/lineage-14.1-20170201-UNOFFICIAL-nvertigo-oneplus3t.zip
https://mega.nz/#!jRdB1aRZ!-QzqNBaP_7QWZPxpuFQz1X3a7IghVy21xLDqyTlJew8 - credit to @t-shock
3T only - why that?
Since the latest changes in init and overlay, I don't think this posting is true any longer.
I don't like to publish a rom for a device I have not my hands on. So this is still 3t-only.
I completely understand all devs doing unified builds. I completely understand it was so annoying, that oneplus launched 3T half a year after 3, and devs wanted to preserve their work, or don't want to buy just another device. So if you think unified builds are your way, I understand and appriciate that!
For me, on the other hand, it looks like this: I've come from bacon to 3t, I have no 3 and my personal policy is building only for devices I have my hands on. I like OOS - indeed for me it's one of the best stock roms I've ever seen - but it lacks some features I learned to love in cm times, like privacy, app-ops, automatic do not disturb rules and much more.
I lurked some time around in the threads, build OSS from source and tried to dig in the sources. I tried hard to understand the differences of 3 and 3t. What I found in most of the sources was @Sultanxda's and @Graraks patches to load different adreno firmware.
Then I pulled blobs from OOS-4 for 3t and ran diff against the onplus3 blobs from themuppets. I don't say they were completely different, but they differed in about 4/5th of the files (as you can see in this commit: https://github.com/nvertigo/proprie...mmit/17c7609f79167c02041736306b18f52bca5b9ac6). Then I compared the specs of 3 and 3t - surprise: they are different...
Let me give you an example: the battery is different. That means power_profile.xml has to be different for 3 and 3t, too. If you got traped by the hoax, that the 3t comes with a 3000 mAh battery read this.
So I decided to build a rom with all blobs beeing native and configuration optimized for 3t. To my surprise my first attempt ended in a build so smooth with all features I missed, that I fell in love instantly. So I spent even more time on this, added busybox (not as toybox' replacement, but just as binary in /system/xbin/busybox) and used native qcom SnapDragon llvm for CLANG and UBERTC/linaro for kernel.
At this point @mad-murdock tested the build. I wasn't sure about my own perception, because it was my own rom. He ensured me though, it was stable and smooth. So I was happy with the build.
I don't say it's not possible to achieve all this with an unified build. But I'm absolutely sure, that 3 and 3t differ in more aspects then graphic blobs. These differences need to be addressed in unified builds (RR seems to be a step ahead compared to laos). This is far behind my scope (and to stick to my personal policy to build only for devices I have hands on, I would need to get a 3 and a second sim), so here we are: LineageOS for 3t only.
I surely don't want to start a religous debate on "the right way" of building roms for 3 and 3t - there are always many ways to build awesome roms - this is just my way for the moment.
Known Issues
General known issues
If you want to report an new issue provide logs. If you don't know what logcat is or how to deal with it this posting is for you.
The following stroked isaues may or may not be present on Snap - to avoid all Snap hazards, NLOS is shipped with Camera2 (atm I recommend the modded Google Camera from Modded Google Camera with HDR+, 60FPS video and Slow Motion by @S4turno or the modded OnePlusCamera from my downloads - do NOT! install both the same time: it's GCam XOR OPCam:
camera: continuous shot not working select sports mode[/STRIKE]
camera: HDR on front camera just produces a green picture
camera: front camera in HAL1 mode: one of the first two or three shots, let the camera server crash - following shots are perfectly ok til next reboot.
Workarounds:
The ugly one: use OnePlusCamera or Snap and take pictures (mostly one to three) til camereserver crashes, wait 7 seconds and use your prefered HAL1 cam as usual.
The more elegant one: use a cam app that supports HAL3 (api2) like opencamera by @mdwh (recommended: it's opensource and free of charge - don't forget to donate, if you decide to use it on a regular basis) or one of the closed source apps.
camera: first still while taking a video is broken.
sRGB-Mode is not setable from Settings; workaround: https://forum.xda-developers.com/showpost.php?p=70799426&postcount=53You find sRGB as color mode in LiveDisplay
encrypting an unencrypted data partition is currently NOT working - no matter if ext4 or f2fs. Workaround: restore your oos nandroid, encrypt your phone by setting pin or password to something new, and tap on "secure phone on startup" (might not be the accurate phrase, but you know, what I mean when you see it.)
Gapps known issues
You can easily avoid all of this - and propably much more - if you stick to the recommended gapps package!
The notification slider isn't working.
webview is stuttering and lagging
first time setup can't be completed.
dialer is not working as expected
unpredictable behavior of UI
random (or not so random) fc's of system components (apps and/or services)
I did not flash the correct Google Apps version!
Some Google App versions overwrite critical system components, which leads up to all kind of random issues. One of the most obvious issues, is gapps preventing Lineage setup to start, and will instead guide you through the AOSP Setup Wizard. This will cause issues, amongst others the Alert Slider on the left side of the phone will not work. If you encounter this or other problems, you need to wipe system, data and caches, before you reflash the ROM and the suggested version of Google Apps linked in the download section of OP. After initial setup, the google apps will update via playstore so don't worry about that. With this package installed, you can install all your missing gapps from playstore. The great advantage is, that the added gapps from playstore will be installed as user-apps and therefore won't mess up your system.
HOWTO: build this rom from source
See the README in
https://github.com/nvertigo/local_manifest
UPDATED: Camera Mods
To give the user more freedom of choice, OnePlusCamera and onePlus Gallery are removed from the rom. In this posting I provide additionally installable apks, to allow the user to install them as any other apk.
@kxzxx's mod (use to get the same cam setup we use for four months - callbacks removed):
https://drive.google.com/open?id=0B_f72wz8rwc6SV9VTXRXMVdfeFk
This should work on all laos based roms. Recommended, if you want the very same setup as before.
Update Version 1.5.0 (ob14): https://drive.google.com/file/d/0B_f72wz8rwc6dEpHUGVlQ2hYY28/view?usp=drivesdk
Plain stock OOS gallery - op3/t (dng support):
https://drive.google.com/file/d/0B_f72wz8rwc6QWNWUDhpQWhJa3M/view?usp=drivesdk
This should work on any rom without OnePlusGallery not installed.
Update Version 1.8.4 (ob14): https://drive.google.com/file/d/0B_f72wz8rwc6S2VkV1VsaHNNYzA/view?usp=drivesdk
Some candy:
Plain stock OOS 4.5.x cam - op5 (sometimes glitchy, flash not working reliable - raw working [set iso and shutter manually in pro-mode]):
https://drive.google.com/file/d/0B_f72wz8rwc6UzBoUlNhT0NabWs/view?usp=drivesdk
Outdated and obsoleted - just for reference: If you want to check this out on our current rom, needs to remove OnePlusCamera&Gallery first. Flash this in recovery:
https://drive.google.com/file/d/0B_f72wz8rwc6b2xUSUZQMXNuck0/view?usp=drivesdk
@homebuilders and all interessted people:
This is neither a HOWTO, nor a script (op3t/op5 is hardcoded, because I havn't parsed arguments), but gives at least an impression on what is needed to make a other roms system app an user installable app. As you can see, I sign the apk with laos test keys. The key does not really matter, as long as the apk is signed at all.
Code:
cat build.sh
#!/bin/bash
S1="-decompiled"
S2="-unaligned-unsigend.apk"
S3="-unaligned.apk"
S4="-v1.4.0-op3-nvertigo.apk"
for i in $*; do
apktool d -f -v -t oxy -o $i$S1 $i.apk
cp -av lib $i$S1
apktool b -f -o $i$S2 $i$S1
../.signing/sign.sh $i$S2 $i$S3
zipalign -f -v 8 $i$S3 $i$S4
done
cat sign.sh
#!/bin/bash
java -Xmx2048m -Djava.library.path=/mnt/export/data/src/cm14/out/host/linux-x86/lib64 -jar /mnt/export/data/src/cm14/out/host/linux-x86/framework/signapk.jar -w /mnt/export/data/src/cm14/build/target/product/security/testkey.x509.pem /mnt/export/data/src/cm14/build/target/product/security/testkey.pk8 $1 $2
@kxzxxx: if you still read here and if you have plenty of (spare-)time, would you be so awesome to look into op5 cam for callbacks on flash? I tried based on op3 cam, but failed. No need to hurry. Thanx in advance.
You should also checkout these:
MI5 camera mods (by @Arnova8G2): https://forum.xda-developers.com/mi-5/themes/app-collection-camera-modded-t3591177
OxygenOS Camera Mod (by @siankatabg): https://forum.xda-developers.com/oneplus-3/themes/port-oxygenos-stock-camera-cm-t3451721
Pixel Google Camera: https://www.xda-developers.com/google-camera-hdr-ported/
nvertigo67 said:
Since my time is quite limited till end of October, @mad-murdock is providing you with new builds.
Click to expand...
Click to collapse
I build these ROMs from source for quiet a while for myself. So I am the build slave or OP now. I use nvertigo's sources unchanged. Using the 141-work branch - in case you want to build yourself.
Mirror: posting #2. I assume @m0d hipp¥ will update it like usual.
Build 20170522
Some advice on Theme/OMS/Substratum users. You can ignore this, if you don't use themes:
Make sure you disable all overlays in substratum BEFORE dirty flashing.
If you ignore this, you get a force close of system-ui on boot.
To fix such errors, flash /sdcard/substratum/SubstratumRecovery.zip in TWRP. This will remove any OMS overlays and allow you to boot again.
To enable your Theme again, you must BUILD it, not only enable. Enabling it without building will make system-ui force-close again and requires you to flash the recovery zip in TWRP.
Changelog
I am a bit confused about changes. This part will be updated soonish.
Updated to latest LaOS and OMS sources.
Note on firmware: This build requires OOS beta 7 firmware. If you get an TZ error while flashing, make sure to flash OOS beta 7 firmware first. It was included for users having flashed lineage-14.1-20170518-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip.
ROM: lineage-14.1-20170522-UNOFFICIAL-mad-murdock-oneplus3t.zip
MD5: 4f6208f56b4a1fce39a34830f03ec294
Mirror: posting #2
Happy flashing!
Experimental Build 20170426
This is an updated experimental build with OMS. See nvertigo's post of last build for details.
Some advice on Theme/OMS/Substratum users. You can ignore this, if you don't use themes:
Make sure you disable all overlays in substratum BEFORE dirty flashing.
If you ignore this, you get a force close of system-ui on boot.
To fix such errors, flash /sdcard/substratum/SubstratumRecovery.zip in TWRP. This will remove any OMS overlays and allow you to boot again.
To enable your Theme again, you must BUILD it, not only enable. Enabling it without building will make system-ui force-close again and requires you to flash the recovery zip in TWRP.
Changelog
I don't have changes. Shame on me. Rebooted Windows for gaming.
Of course updated to latest LaOS and OMS sources.
Note on firmware: This build requires OOS beta 5 firmware. If you get an TZ error while flashing, make sure to flash OOS beta 5 firmware first. It was included for users having flashed lineage-14.1-20170422-UNOFFICIAL-nvertigo-EXP-firmware-oneplus3t.zip.
ROM: lineage-14.1-20170426-UNOFFICIAL-mad-murdock-EXP-oneplus3t.zip
MD5: 8aa8df7ed35999ec47c8ea23d659f78e
Mirror: posting #2
Happy flashing!
Build 20170411
It's that time again to update your ROM. No side-effect reported from last test-build, so we consider it stable.
Changelog
No changes, except updated to latest LaOS sources
Note on firmware: This build requires OOS beta 4 firmware. If you get an TZ error while flashing, make sure to flash OOS beta 4 firmware first. It was included for users having flashed lineage-14.1-20170401-UNOFFICIAL-nvertigo-firmware-oneplus3t.zip.
ROM: lineage-14.1-20170411-UNOFFICIAL-mad-murdock-oneplus3t.zip
MD5: 6b76cd3366c9beb3df1aa30d6a8deb2a
Mirror: posting #2
Happy flashing!
Thanks!!
your rom is best!!
Thanks guy ! Great
Great to see you started your own thread afterall. Going to flash this today, also because @mad-murdock approves this rom so much . Can't wait!
edit: found a small typo in the instructions. Check the year @nvertigo67 :
"Install the Google Apps addon package (Optional. Use opengapps nano package from 20160120)"
Update: Wipe before you install.
You might want to know that I flashed this ROM dirty over koenkk's ROM.
I have no problems doing so. Be advised though, that this isn't recommended and can result in stuff not working. You can try a dirty flash, if it works, fine. If not, just wipe as in official instructions.
Just flashed your Rom. Fluent and feels natural! Thanks Developer
Glad to see you posting a thread on XDA
mad-murdock said:
You might want to know that I flashed this ROM dirty over koenkk's ROM.
I have no problems doing so. Be advised though, that this isn't recommended and can result in stuff not working. You can try a dirty flash, if it works, fine. If not, just wipe as in official instructions.
Click to expand...
Click to collapse
I like experimenting, I like dirty flashing, I like custom kernels (indeed I'd love to see Boeffla cm/laos-14.1 kernel) and I want to encourage everybody to home-build, experiment, dirty flash, try mods, kernels or what ever: he, who never bricked an android device, has not flashed hard enough.
The only problem with that is support: I can't test any combination, reproduce issues and so on. Also if everybody reports on his very own combination, the thread becomes unreadable/unundestandeble.
So I kindly ask you to try whatever you want; but if reporting an issue, stick to OP rules, please.
HOWTO: build this rom yourself
The "homegrow"-howto is here in the file named README.
nvertigo67 said:
break for me now.
Click to expand...
Click to collapse
Well deserved. Take care.
Has anyone installed this ROM after formatting system and cache to F2FS?
System and cache as f2fs is rare. No idea which Roms support this. I would say, just try, if it won't work, format system and cache. It's no extra effort.
Just make sure not to reboot recovery while system is blank, since TWRP pulls crypto lib from system
nvertigo67 said:
I surely don't want to start a religous debate on "the right way" of building roms for 3 and 3t - there are always many ways to build awesome roms - this is just my way for the moment.
Click to expand...
Click to collapse
Hi. I like the way, that you chose. Hope you will doing it in future. Like and you, I came from oneplus one.
Btw. What about sRGB mode? Is it here ? I'm hate oversaturated colors. After opo it's looks so ****ty..
sorry to be a pain but how long does it take for first boot? I've been waiting for 15 mins so I'm not sure if I've done something wrong...
hassan_1000 said:
sorry to be a pain but how long does it take for first boot? I've been waiting for 15 mins so I'm not sure if I've done something wrong...
Click to expand...
Click to collapse
it depends on how many apps you had installed. still, 15 minutes sounds pretty long. did you dirty flash without wiping? if so, you should probably go and wipe now.
Here is first attempt to build LineageOS 14.1 for XiaoMi MiPad
Current state is: mostly working
I finally found solution to fix old mipad stock graphic blobs to load on cm13 and Los 14.1. This build is proof of concept to show it is possible to have Nougat on old good MiPad.
What working:
WiFi (better than 12.1, now using opensource wpa_supplicant)
Sensors (autorotation works)
LEDs
audio including microphone
hardware accelerated video playback
camera
What not working:
audio (currently plays only some system sounds, all other failed because of wrong PCM format)
camera
[*]lineage Music add doesnt play anything (3rd paty players seems to work fine)
[*]windevine drm not working (need updated liibs, to be done in next build)
[*]probably hardware acceleration playback (missed symbols for some omx libs)
[*]not enough space to install gapps into /system partition
[*]random crashes going to system ui restart loop
webview crashing with ERROR:gl_fence_egl.cc(63)] Failed to wait for EGLSync. error:EGL_BAD_MATCH (gapps and play market unusable)
Github links:
Device tre (cm-14.1 branch)
Vendors blobs (cm-14.1 branch)
Kernel (cm-14.1 branch)
2017-02-16
Download:lineage-14.1-20170216-UNOFFICIAL-mocha.zip
Changelog:
Initial release
2017-02-20
Changelog:
Audio fixed
Using patched webview, gapps should work now
SD card and usb mounting fixed
Download: lineage-14.1-20170220-UNOFFICIAL-mocha.zip
2017-02-26
changelog:
random crashes and black screens resolved
new Audio HAL based on opensource tinyhal (microphone works now)
big system partition (1.2Gb). You have to install it on merged system1 and system2, if you have already merged just install.
SD card mount fix included (access to SD card from all apps)
hardware accelerated video playback now works
cleaned some useless blobs like powerservice daemon
updated wifi firmware
Download:lineage-14.1-20170226-UNOFFICIAL-mocha.zip
2017-03-03
Changelog:
Fixed mp3 and flac playback in Music app (disabled offloading since it broken for mp3 and enable ffmpeg for other formats)
Updated wvm libs, Widevine DRM L3 now works
Download: lineage-14.1-20170303-UNOFFICIAL-mocha.zip
2017-03-11
Changelog:
KeyDisabler (alow to enable navbar and disable hardware buttons)
Vibrator intensity control
hwui props in build.prop makes screen more stable in browsers (black pixels on screen issue)
Updated LED capabilities (RGB notification, settings for battery and notification colors, button backligth brightness)
Userspace cpuquiet governor by default. Looks like this is best option to get smooth playback. (cores dosnt switches off but only changes its freq)
Fixed offline charging mode. Now shows animaton with current battery level. Also previous 14.1 builds cant be offline charged from PC USB port, now this issue resolved
return glcomposer compositor. Now looks stable, it should be because of hwui right props added. *broken*
Download: lineage-14.1-20170311-UNOFFICIAL-mocha.zip broken
2017-03-12
composer changed back to surfaceflinger. Solves issues with blck screen or reboots in 20170311 build
Download lineage-14.1-20170312-UNOFFICIAL-mocha.zip
2017-04-21
test version with Nexus 9 blobs
webview slow work resolved with new graphic blobs
Browser replaced with Gelllo
lineage code updated up to 7.1.2
Known issues:
Bluetooth broken
Doesnt load proper mac address
Some graphic issues in general user interface
Download: lineage-14.1-20170421-UNOFFICIAL-mocha.zip
Download fixed boot.imgboot-20170429.img - fixes wifi and bluetooth issues on 2017-04-21 lineage 14.1 build.
2017-05-02
Changelog:
camera works now
Browser replaced with Gelllo
lineage code updated up to 7.1.2
Known issues:
this build still uses old graphic blobs, so webview apps is laggy.
if camera doesnt work after dirty flash try to delete /data/nvcam folder from adb root console or root file manager
Download: lineage-14.1-20170502-UNOFFICIAL-mocha.zip
Webview apk is one patched to work on broadcom GPU with same problem as ours: https://github.com/manumanfred/android_external_chromium-webview
2017-09-11 NEW!
Changelog:
Lineage OS 14.1 sources updated
Webview updated and rebuilt with only changes necessary for Mi Pad. Most of webview related issues now resolved. Faster and smoother scrolling in webview based apps, some apps now startings works, like Gogle Books. See webview patch applied below.
device tree cleaned for proper work with proprietary blob files. Now they can be extracted from stock rom or device and makefiles can be properly generated in vendor.
Using opensource version of libbt-vendor - maybe some changes in bluetooth perfomance.
Download lineage-14.1-20170911-UNOFFICIAL-mocha.zip from Google Disk or from MailRu mirror
Webview patch applied:
Code:
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
index b8f5489ce086..6bf7f9250237 100644
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@@ -1,6 +1,6 @@
{
"name": "gpu driver bug list",
- "version": "10.93",
+ "version": "10.94",
"entries": [
{
"id": 1,
@@ -2542,6 +2542,19 @@
"features": [
"rely_on_implicit_sync_for_swap_buffers"
]
+ },
+ {
+ "id": 236,
+ "description": "MiPad Nvidia drivers g_ignore_egl_sync_failures work around",
+ "cr_bugs": [123456],
+ "gl_vendor": "NVIDIA.*",
+ "machine_model_name": ["MI PAD"],
+ "os": {
+ "type": "android"
+ },
+ "features": [
+ "ignore_egl_sync_failures"
+ ]
}
],
"comment": [
special patched webview prebuilts located here https://github.com/HighwayStar/android_external_chromium-webview (branch cm-14.1-mocha)
Merge partitions
Mi Pad by default has 2 /system partition, each 640Mb. It is not enogh to install LineageOS and Gapps. To install 2017-02-25 build and newer you have to merge 2 system partition in one 1.2Gb system partition. To dod this follow instruction http://en.miui.com/thread-118294-1-1.html
Root Access
If you want root access flash addonsu-arm-signed.zip from https://download.lineageos.org/extras
XDA:DevDB Information
LineageOS 14.1 for Xiaomi MiPad (mocha), ROM for the Xiaomi Mi Pad
Contributors
highwaystar_ru, highwaystar_ru
Source Code: https://github.com/HighwayStar/android_device_xiaomi_mocha
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.10.x
Based On: CyanogenMod, LineageOS
Version Information
Status: Alpha
Created 2017-02-16
Last Updated 2017-09-11
Reserved
If you have problem installing newer latest build, or just to be sure it will install fine check you system partition with DiskInfo app. It should show System partition at least 1337564160 bytes.
First! Holy ****, I never thought I'd see the day...
@highwaystar_ru Is there not enough space in /system even after merging system1 and system2?
EDIT: If anyone wants root: https://download.lineageos.org/extras
Unbelievable
Damn dude, you rock....!!
the future of mi pad 1 is getting brighter because of you.....!!
drakonizer said:
First! Holy ****, I never thought I'd see the day...
@highwaystar_ru Is there not enough space in /system even after merging system1 and system2?
Click to expand...
Click to collapse
On merged system it is enogh space, but now /system in rom configured to match stock /system. Not sure for now if it possible to remove LineageOs stock app like browser and email and free some space or just use bigger /system and require to repartition.
Woah
Impressive.
highwaystar_ru said:
On merged system it is enogh space, but now /system in rom configured to match stock /system. Not sure for now if it possible to remove LineageOs stock app like browser and email and free some space or just use bigger /system and require to repartition.
Click to expand...
Click to collapse
We could do that...remove some unnecessary packages from https://github.com/LineageOS/android_vendor_cm/blob/cm-14.1/config/common.mk with a PRODUCT_PACKAGES -= line in the device.mk.
But asking users to repartition to install gApps is better in my opinion, for future official Lineage support. There could be a check in the updater_script to verify the user has repartitioned.
I am pretty sure there is no re-configuration necessary to support repartitioned /system partitions.
Does that mean CM12 development is dropped?
MiliWanili said:
Does that mean CM12 development is dropped?
Click to expand...
Click to collapse
Do you want the latest nougat or old lolipop
OMG... unbelievable....first 7.1.1 on mipad...
Xiaomi, shame on you
and thank you! highwaystar!
AbhaYsinGH007 said:
Do you want the latest nougat or old lolipop
Click to expand...
Click to collapse
Lollipop if it comes faster.
If it possible to make los14.1 run stable and sound working it is better to go with los14.1. At least it has upstream support, and some things here works better. I cant make opensource wpa_supplicant working on 12.1, but here it works. Microphone in cm12.1 is also hard to fix, because there is only LD_PRELOAD for lib and microphone require MonoPipe class from 4.4 to work, but it will break other things. On cm13 or los14.1 it is possible to use LD_SHIM_LIBS to fix only broken libs and not break working.
For now I'm trying what cause los14.1 unstable, sometimes it may work for hours, but when it crashed to black screen and buttons backlight it starts endless bootloop.
Unbelievable
Never expected los14.1 on mi pad.
Awsome,, nice work bro
Xiaomi Mi Pad with the latest OS. Awesome Dev!
Awesomeeeeeee! Highwaystar. You are simply awesome. never expected the lineageOs, that too for Mi pad. and now you are our only hope.
Holy moly... Would be flashing this baby once we get the camera and hardware acceleration sorted out... This is why I LOVE XDA and the developers here....
drakonizer said:
First! Holy ****, I never thought I'd see the day...
@highwaystar_ru Is there not enough space in /system even after merging system1 and system2?
Click to expand...
Click to collapse
Did you tried least gapps.
---------- Post added at 12:26 PM ---------- Previous post was at 12:25 PM ----------
drakonizer said:
First! Holy ****, I never thought I'd see the day...
@highwaystar_ru Is there not enough space in /system even after merging system1 and system2?
Click to expand...
Click to collapse
Did you tried gapps Pico version
awesome awesome awesome unbelievable ::good::good::good::good::good:
This is the development thread for Lineage 16.
Everyone who knows C, Java and strace is welcome to participate. Please send git formatted patches!
Device Trees
https://github.com/cryptomilk/android_kernel_sony_msm8998
https://github.com/cryptomilk/android_device_sony_common-treble
https://github.com/cryptomilk/android_device_sony_yoshino
https://github.com/cryptomilk/android_device_sony_lilac
I've started to get TWRP building.
I've finally successfully started TWRP based on Android 9.0. However the data partition doesn't get upgraded. So I'm trying to figure out what is failing there now ...
I think I got a working TWRP recovery. First step towards Pie done. I think @derf elot has the Kernel update almost ready. We are just waiting for Customized DE update to Android Pie to start building a new Lineage 16.
modpunk said:
I think I got a working TWRP recovery. First step towards Pie done. I think @derf elot has the Kernel update almost ready. We are just waiting for Customized DE update to Android Pie to start building a new Lineage 16.
Click to expand...
Click to collapse
Thank you very much, I just want to ask if there will gcam HDR+ support in this version?
modpunk said:
I think I got a working TWRP recovery. First step towards Pie done. I think @derf elot has the Kernel update almost ready. We are just waiting for Customized DE update to Android Pie to start building a new Lineage 16.
Click to expand...
Click to collapse
The new 47.2.A.0.306 stock kernel is merged into an up-to-date LA.UM.7.4.r1 kernel following both CAF and Linux updates (thank again @nathanchance ). Sony is also using LA.UM.7.4.r1 as a base now, so the switch made sense (we/Sony used LA.UM.6.4.r1 before). But we will always be updated to upstream, as is the case for 15.1 already, sometimes even months before some patches for security issues make it on to the ASB.
So far, the kernel builds fine. Will now test it on stock, then "LOS'ify" it - which is pretty straightforward - and we are ready to go.
Hi, first of all, thank you very much for your work on LineageOS!
I'm reposting a message from LineageOS 15.1 thread as it is EOL and you probably missed it and it contains two bugs not listed in OP that I believe are worth investigating on next release or so:
- On calls, we can't hear with headset (unless you unplug and plug back in). It was noted that it worked with beta4 so I investigated and found that this commit was added between beta 4 and 5 so you may have a look at it: https://github.com/cryptomilk/andro...mmit/c4a8569c492b343a0e22b31dd51d0821c9b75b47
- Some apps can't write on their own data folder (/storage/emulated/0/Android/data/<appname>/) if READ/WRITE_EXTERNAL permission not listed in Manifest, so the workaround you mentioned in Known Issues of the thread doesn't work + even if it is listed, it's a privacy issue because we don't want the app to look at other folders.
Examples of apps trying to write in its own data folder with no READ/WRITE_EXTERNAL permission in Manifest:
- com.tinyco.potter (instantly crash)
- com.c4mprod.rtm (instantly crash)
The only workaround possible it to apktool the app, add permission to the Manifest, and in some cases (Harry Potter for example) remove the license verification due to wrong signature after new signing, but the privacy issue remains.
Android documentation about this: https://developer.android.com/reference/android/Manifest.permission#WRITE_EXTERNAL_STORAGE
Starting in API level 19, this permission is not required to read/write files in your application-specific directories returned by Context.getExternalFilesDir(String) and Context.getExternalCacheDir().
Click to expand...
Click to collapse
That's why older versions of apps targeting a lower API than 19 works because they have the writing external permission
This is a DEVONLY thread and not the appropriate place to discuss bugs in a completely different version of the ROM.
Gairtial said:
This is a DEVONLY thread and not the appropriate place to discuss bugs in a completely different version of the ROM.
Click to expand...
Click to collapse
Why do you say it is a "completely different version of the ROM"?
Device and kernel trees are based on 15.1 work, look at the commits, there is almost no differences, so the same bugs will be inherited on 16.
I'm not sure I understand what you mean by "DEVONLY", I'm a dev and I talked of the bugs from a developer point of view (link to commit from the tree, logs, Android documentation).
I don't want to derail the thread (my original goal was to stop the thread from being derailed) but to explain myself some more (and this will be my last post on the matter, this has gotten bad enough as it is):
Yurienu said:
Why do you say it is a "completely different version of the ROM"?
Device and kernel trees are based on 15.1 work, look at the commits, there is almost no differences, so the same bugs will be inherited on 16.
Click to expand...
Click to collapse
16 is in a very early state and we don't know for sure whether the bugs can be reproduced on 16. We can't verify them, we can't diagnose them, we can't test fixes. We can't take any action on them, therefore they don't really belong here. They'd be much better suited to the LOS 15.1 thread, or left until 16 is functional enough that they can at least be verified.
Yurienu said:
I'm not sure I understand what you mean by "DEVONLY", I'm a dev and I talked of the bugs from a developer point of view (link to commit from the tree, logs, Android documentation).
Click to expand...
Click to collapse
I brought up DEVONLY because you're presenting bugs (discussion really belongs in a user thread) rather than fixes, or even work towards fixes (discussion totally belongs in a developer thread). You've presented one bug with some details but nothing that really contributes to fixing it and one with a possibly related commit. However you haven't done anything to determine whether that commit is actually the problem. You could verify for sure by building and testing before and after it. If you did that, you could even look into offering a fix.
I'm not saying this to pick a fight with you or because I hate you or think you're an idiot, I just want to make sure the right discussions are in the right threads so that devs are able to communicate with us and each other without too much pain. Putting your bug report in the 15.1 thread where it belongs ensures that this thread can be used to discuss LOS 16 development, as was clearly the intention of creating it.
Time to fork xD
Do you have a gerrit?
modpunk said:
We are just waiting for Customized DE update to Android Pie to start building a new Lineage 16.
Click to expand...
Click to collapse
It just arrived. :good:
beggar23 said:
It just arrived. :good:
Click to expand...
Click to collapse
Download is already running ...
The deep sleep bug affecting Yoshino platforms on Pie is being fixed here: https://github.com/kholk/kernel/commits/232r14-sleep-bug-research
According to the pull request to official kernel, this should mitigate the issue.
Please keep us informed if there is anything else preventing a release.
I was not able to boot LineageOS 16 compiled from your repos but if you can provide a flashable package, I can help testing if you need help?
Can you provide a status update please? How are things going? Is there something bootable at least (even if self-compiling is required)?
There is something which can be compiled. I dunno if it boots yet.
Read on Reddit that what's holding back LOS16 is "LineageHW deprecation in favor of new "treble-ready" HALs".
From the thread "What's holding back the LOS16 release ?" posted 9 days ago in r/LineageOS by u/FishTheFish152.
Any news here? How to participate?
building LineageOS 16.0 including TWRP for pie
I am sharing my steps used to build los16 with repos provided by @modpunk in the OP, in the hope that more devs could participate in the development.
Disclaimer: the result of this does not boot, so I am not sure at all if my howto and modifications are good or wrong.
Still hoping it might be useful to someone or maybe @modpunk or @derf elot could provide some hints to reach current status of this project?
Big thanks to @modpunk and @derf elot for working on this project.
Basically I tried to follow los15 howto as provided in the README.md of the modpunk's android_device_sony_lilac repository - just adapting it for los16 instead of los15:
initialize repo: used branch "lineage-16.0", first sync was done on 2019-03-18 with resync on 2019-03-19 (for the record of the los16, twrp and modpunk's repos source tree state)
for local manifest I've used this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- SONY -->
<project name="cryptomilk/android_kernel_sony_msm8998" path="kernel/sony/msm8998" remote="github" revision="lineage-16.0-LA.UM.7.4.r1" />
<project name="cryptomilk/android_device_sony_common-treble" path="device/sony/common-treble" remote="github" revision="TESTING" />
<project name="cryptomilk/android_device_sony_yoshino" path="device/sony/yoshino" remote="github" revision="TESTING" />
<project name="cryptomilk/android_device_sony_lilac" path="device/sony/lilac" remote="github" revision="TESTING" />
<!-- Pinned blobs for lilac -->
<project name="cryptomilk/android_vendor_sony_lilac" path="vendor/sony/lilac" remote="github" revision="lineage-16.0" />
<!-- TWRP recovery -->
<remove-project path="bootable/recovery" name="LineageOS/android_bootable_recovery" groups="pdk" />
<project name="omnirom/android_bootable_recovery" path="bootable/recovery" remote="github" revision="android-9.0" />
<remove-project path="vendor/qcom/opensource/data-ipa-cfg-mgr" name="LineageOS/android_vendor_qcom_opensource_data-ipa-cfg-mgr" groups="qcom,pdk-qcom" />
</manifest>
Please note, I've used TESTING branch instead of lineage-16.0 as it seems that the newest changes happen there for los16 development. Similarly I tried to guess the right kernel branch based on the most recent commits: lineage-16.0-LA.UM.7.4.r1 - hopefully that is right.
Also I tried to build TWRP in the process, so replacing los recovery with upstream twrp for pie one in the local manifest.
There has been a conflict in los source tree with data-ipa-cfg-mgr that has been pulled also from modpunk's local manifest, so that is why I am removing the los one in my local manifest here.
to speed up the sync and reduce the disk space, I am using this command:
Code:
repo sync --no-tags --no-clone-bundle -c -j8
in the Extract vendor blobs step, I am using
Code:
SRC=/path/to/unpacked-fw/xz1c-pie-8.24 ./extract-files.sh
command, having full fw unpacked into plain files all readable for normal user including fixes for symlinks to be relative instead of pointing to / directory. As I was not sure about the right fw version, I've tried pie 4.45 too for the blobs extraction. During the build, some blob was missing, so I've added proprietary-files-rootfs.txt file into device/sony/lilac directory with following content:
Code:
# ROOTFS_TRIMAREA
-sbin/tad_static;rootfs
for Setup the environment, I am using following:
Code:
unset JDK_HOME
unset JAVA_HOME
unset JAVAC
export OUT_DIR_COMMON_BASE=/path/to/lineageos/output
export WITH_TWRP=true
source build/envsetup.sh
lunch lineage_lilac-userdebug
Those unset's I had to use to avoid build problem complaining about javac different versions for .mk and soong - quite difficult to find that workaround.
The OUT_DIR_COMMON_BASE is to make compiled stuff to go outside the source tree to speed up greping there.
The WITH_TWRP option seems to be needed to let some makefiles know we like to build twrp recovery.
I've tried lineage_lilac-userdebug first, after lots of fixes during the build, the result did not boot, so I tried lineage_lilac-eng lunch target too with basically the same result unfortunately.
before Build LineageOS step, you may try to apply my changes/fixes that I had to use to avoid build errors (some were quite tricky actually) - please see the attachment here for the combined patch.
This is my repo status after the changes:
Code:
project bootable/recovery/ (*** NO BRANCH ***)
-m applypatch/Android.bp
-m applypatch/applypatch.cpp
-m crypto/lollipop/cryptfs.c
-m minui/events.cpp
-- mtdutils/Android.bp
-m otautil/Android.bp
-m otautil/Android.mk
-m updater/Android.mk
-m updater/install.cpp
project build/make/ (*** NO BRANCH ***)
-m tools/releasetools/common.py
project device/sony/common-treble/ (*** NO BRANCH ***)
-m sepolicy/vendor/file.te
project device/sony/lilac/ (*** NO BRANCH ***)
-- proprietary-files-rootfs.txt
project device/sony/yoshino/ (*** NO BRANCH ***)
-m recovery/twrp.fstab
-m sepolicy/vendor/file.te
-m sepolicy/vendor/hal_livedisplay_default.te
-m sepolicy/vendor/startup-logger.te
-m sepolicy/vendor/toolbox.te
project vendor/sony/lilac/ (*** NO BRANCH ***)
-m proprietary/framework/qti-telephony-common.jar
following command would build los16 including twrp recovery:
Code:
make -j5 bacon
The built images and installation zip can be found under ${OUT_DIR_COMMON_BASE}/lineage-16.0/target/product/lilac directory:
twrp recovery image: recovery.img
kernel boot image: boot.img
los16 installation zip: lineage-16.0-20190321-UNOFFICIAL-lilac.zip
Here are the results for lineage_lilac-eng build:
tried to boot recovery.img first, got hanging on twrp splash screen.
Installed the zip file via modpunk's twrp, tried to boot it, got a hanging black screen after SONY splash screen.
Flashed userdata from stock fw to do an erase: that made built twrp bootable and actually working - installed the built los16 zip just fine.
So this twrp is the only working thing for me so far. But it seems my built twrp is not that flexible as modpunk's as mine needed userdata erase to boot while modpunk's did not.
I tried to get some logs from main los16 boot, but logcat is not reachable. Have seen also the commit to redirect logcat into /cache for charging boot mode - tried that, but the log file was not created there.
The lineage_lilac-userdebug behaved similarly if I remember correctly (tried that build first), only twrp I could not boot as the userdata erase thing has been discovered with the -eng build. But re-tested that, it helped also with -userdebug twrp build, so both variants seem to behave the same.
The blobs from pie 8.24 vs pie 4.45 did not make a difference (after a quick rebuild followed the extraction).
In order to check my build environment, I tried similarly to build sony's aosp-9.0 - it also needed some fixes, but the result has been working (needed the special oem partition image flashed as described in sony's howto to make it boot - it would hang without it).
Attached result of following command (git added the new files first):
Code:
repo diff -u >my-changes.diff
Hopefully this helps anybody who likes to participate.
Thanks for any hints.
hi there,
yes those are the right branches you are using there. I was planning to PR some of the changes needed to build to the testing branches this weekend. I'll also look more closely at your patches, but from what I can tell you fixed the neverallow selinux issues - great!
the main issue right now is still the init, I know of at least a couple of crucial things missing from stock (there is more than one fstab now, for example - this is not implemented yet), but I was waiting for modpunk to push his recent changes before working on it again. he also told me that he has some uncommitted stuff, but hasn't had the time yet to sort them out.
also, feel free to PR your patches to modpunk's git. any help is much appreciated!
edit: instead if re-adding the proprietary-files-rootfs.txt, you can just remove the references to it from extract-files.sh and setup-makefiles.sh
Code:
#include
/*
* 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.
*/
LineageOS 19.1 for the LG G2 - An attempt to get a more recent version of Android onto this dinosaur of a device.
Over the past few months, I have been attempting to port LineageOS 19 to my LG G2 as my first taste of ROM development. I have since managed to yield a functioning ROM (albeit, still with minor issues).
Status
Working:
WiFi
Sound
USB Connectivity
Infrared
Accelerometer
Widgets
JIT Compiler (as of 20230207)
Flashlight (as of 20230210)
Bluetooth (as of 20230219)
RIL (as of 20230309)
Offline Charging (as of 20230521)
GPS
It helps to not be on a low floor in a tall building when I'm testing it... That's probably why I was having so much trouble with it.
Partially Working:
Display
On some occasions, the soft buttons become glitched with horizontal lines. Not a 19.1-specific problem, I noticed this on a LineageOS 16.0 ROM as well.
When there are notifications, the top portion of the lock screen sometimes appears black.
SELinux
Enforcing by default as of 20230521, some denials still remain.
NFC
Only works sporadically.
Camera
Mostly working, but there have been reports that forcing the flash to be on can crash the app.
Screen Recording
Same glitches as on 18.1.
Not Working:
FM Radio
As far as I can tell, this was never really a feature for LineageOS on this device, but it might not be impossible to add (on D802 & LS980 only; it's broken in hardware on other models).
I myself can only test for the D800, as that is the model I have. I have also compiled binaries for the D802 because that is the most popular G2 model. If there is demand from people who can't compile it, I will attempt to compile untested binaries for other G2 models.
Screenshot
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(more screenshots attached to this post)
Downloads
Binaries (D800 & D802 only for now): Sourceforge
Source Code: GitHub
How to Use?
The binaries above can be flashed using blastagator's TWRP in the same way as prior versions of LineageOS. You will also need a compatible bootstack (like the Lollipop bootstack for D800-D802 & *S980 or a hybrid bootstack for other devices).
This video by channel48 also goes over installing this ROM and various aspects of using it:
As for the sources, compile them the same way as 18.1 would be compiled, except use the lineage-19.1 branch of the LineageOS-UL repo instead, and between running "repo init" and "repo sync", download the local_manifest.xml file from the repository and place it in the .repo/local_manifests folder (which may need to be created). There may also be additional packages needed for your Linux distro, but I don't remember exactly what they are.
While I highly recommend sticking with LineageOS 18.1 if the G2 is still (somehow) your daily driver, hopefully, having this ROM out in the public will allow people to test it, find other bugs not listed above, and help to improve it (since my discretionary time for this will be limited). This also serves as proof that old grandpa isn't dead just yet!
EDIT 2023-03-18 - Updated bootstack information. If accelerometer and/or RIL do not work, try switching bootstacks if possible.
EDIT 2023-05-23 - Installing an older version of Cyanogenmod/LineageOS first can sometimes fix accelerometer issues. The 20230521 build broke Bluetooth, use a later build instead to fix it.
EDIT 2023-05-30 - Added a reference to channel48's video. I agree that this is really not in an alpha state anymore, as I called it that when it wouldn't even boot without modifications. Many things have been fixed since then so I will remove that label.
Credits
@aleasto and LineageOS contributors (for supporting this device all the way to LineageOS 18.1)
@MetoIsTaken (for preliminary work on the g2-common repository)
Contributors to LineageOS 19 for HTC and Samsung MSM8974 devices, as well as the G4 (for providing ports to similar devices from which I could reference)
LineageOS-UL team (for also having fixed many of the problems I have ran into)
@rlawoehd187 for continued work, especially on the Korean f320 model
@Concept48 for making a video of this ROM
Likely others not listed here, let me know if I forgot someone who should be listed
Good work buddy! I'll probably work on d802 later but Wifi&BT is broken on my device so I'm limited about testing.
SIM card is not working.
not working: lineage-19.1-20230211-UNOFFICIAL-d802.zip (did not detect the SIM)
is working : lineage-18.1-20230114-UNOFFICIAL-d802.zip
Nice to see someone still trying to develop on g2.
Inspired by your work, I took out the g2 again after a long time.
working on my f320.
Accelerometer
bluetooth
camera (full work)
nfc
not work
radio
gps (fix coming soon)
GitHub - rlawoehd187/android_device_lge_g2-common at lineage-19.1
Contribute to rlawoehd187/android_device_lge_g2-common development by creating an account on GitHub.
github.com
GitHub - rlawoehd187/android_kernel_lge_msm8974 at lineage-19.1
LGEs "galbi" family. Contribute to rlawoehd187/android_kernel_lge_msm8974 development by creating an account on GitHub.
github.com
ox96115 said:
SIM card is not working.
not working: lineage-19.1-20230211-UNOFFICIAL-d802.zip (did not detect the SIM)
is working : lineage-18.1-20230114-UNOFFICIAL-d802.zip
Click to expand...
Click to collapse
The newest build has a changed property that made it detect my SIM card (though I still have no service). I wonder if you might have better luck with that one? Thanks for testing.
jb881122 said:
The newest build has a changed property that made it detect my SIM card (though I still have no service). I wonder if you might have better luck with that one? Thanks for testing.
Click to expand...
Click to collapse
lineage-19.1-20230309-UNOFFICIAL-d802.zip
SIM card is working fine.
Calls OK
LTE OK
Mobile data OK
Roaming should be OK.
jb881122 said:
The newest build has a changed property that made it detect my SIM card (though I still have no service). I wonder if you might have better luck with that one? Thanks for testing.
Click to expand...
Click to collapse
Good job dude. Btw you can go enforcing with ignoring neverallows. It's ok.
EDIT: No it's not xd. Brokes RIL.
[lineage-19.1-20230309-UNOFFICIAL-d802]
Developer options / Force full GNSS measurements ON
I'm not sure if it will work well. GPS signal is very weak at outdoors.
Then i used external antenna. GPS should be OK.
ox96115 said:
[lineage-19.1-20230309-UNOFFICIAL-d802]
Developer options / Force full GNSS measurements ON
I'm not sure if it will work well. GPS signal is very weak at outdoors.
Then i used external antenna. GPS should be OK.
Click to expand...
Click to collapse
It's nice that GPS is working fine for you, I still have troubles. The best I have ever gotten on a non-stock ROM is a single satellite being used, and even that is rare.
I'll keep poking around, but I'm not sure what might be wrong if it works for you (and for me on stock ROMs only). Perhaps you live in a different region of the world where the satellites are different enough to work for this ROM?
At the very least, I noticed that widgets have stopped taking a long time to load, and I think it has something to do with RIL functionality.
Anyway, I think this ROM is getting to the point where it's approaching the level of functionality of 18.1 (with the exceptions of offmode charging and SELinux), so I have re-arranged the branches on GitHub:
lineage-19.1: The "stable" branch, focused on maximum functionality
Update 2023-05-21: SELinux is now enforcing on this branch
lineage-19.1-testing: The SELinux testing branch, where it is set to enforcing and denials will be addressed
This applies to the g2-common and local_manifest repositories only, other repositories of mine where this was a branch name will now be updated under the lineage-19.1 branch only
I originally put "-testing" in the branch names at the beginning since it wasn't bootable when I originally named it, but in retrospect, it only made things more difficult when I was modifying the repositories.
MetoIsTaken said:
Good job dude. Btw you can go enforcing with ignoring neverallows. It's ok.
EDIT: No it's not xd. Brokes RIL.
Click to expand...
Click to collapse
On the SELinux front, I got RIL working, but Bluetooth is still broken, ADB does not want to connect on boot unless I re-plug the phone, and there are still a lot of denials. I have not noticed anything else broken in my limited testing so far.
I'm not entirely sure what to do from here, but I suppose one approach would be to set it back to permissive mode, do a bunch of stuff, take the logcat/dmesg logs, pipe them into audit2allow, and compare what that gives you with the policies of other MSM8974-based devices that already have Android 12 ROMs. I won't have time to work on that for a little while, but I think it could serve as a good starting point.
EDIT: One more thing, I don't think NFC was broken in the first place (for me, at least). I was using Android Beam to try testing it, but it hasn't worked for me since LineageOS 16.0. I tested with another app and NFC was indeed functional. I'm curious if this is the case with other devices as well...
For offline charging fix https://github.com/jb881122/android...blob/lineage-19.1/rootdir/etc/init.g2.rc#L275 try moving it from on boot to on charger.
Like this
bullhead: Fix offline charging mode · rlawoehd187/[email protected]
Signed-off-by: hiru <[email protected]>
github.com
rlawoehd187 said:
For offline charging fix https://github.com/jb881122/android...blob/lineage-19.1/rootdir/etc/init.g2.rc#L275 try moving it from on boot to on charger.
Like this
bullhead: Fix offline charging mode · rlawoehd187/[email protected]
Signed-off-by: hiru <[email protected]>
github.com
Click to expand...
Click to collapse
I'm not sure just moving between files would have any effect, but I tried moving it to init.g2.power.rc and using the attributes in your commit and I get the same result as before, freezing at the LG logo.
I see that on the G4, the charging binary was replaced, though the G4 is different enough that unless the problem is vendor-related, it is probably not the same as on this device. Besides that, the linked commit is also on the Android 11 branch but offline charging works fine with Android 11 on this device.
I suspect it might be a kernel issue (or a problem with libraries if the charger binary is non-static, haven't checked yet) because I tried copying the charger binary from LineageOS 18.1 and noticed no change.
Let me know if there are any other ideas.
Just registered on XDA-developers to say you THANK YOU!
All works fine for me. No bugs were founded.
Does it become an official build?
CrabXDA said:
Just registered on XDA-developers to say you THANK YOU!
All works fine for me. No bugs were founded.
Does it become an official build?
Click to expand...
Click to collapse
I'm glad it's working well, that's ultimately my goal for this ROM. If you do encounter something broken (other than the list in the initial post), let me know.
As far as I can tell, I don't think LineageOS has any plans for official support past 18.1 for any MSM8974 devices (including the G2) anymore. The kernel is still version 3.4, which requires some tricks to get Android 12 and above running on (hence the use of LineageOS-UL sources), and I think convincing them to resume official support would at least partially involve getting a later version (specifically one that supports eBPF) working, which would be a feat above my skill level for the foreseeable future.
jb881122 said:
If you do encounter something broken (other than the list in the initial post), let me know.
Click to expand...
Click to collapse
Yes, i have found 2 bugs.
1. Screen Brightness below 8% is compleatelly black screen (I tested With disabled Live Display and Auto mode off)
2. Force FlashLight on in Camera cause Camera App crash (instead of Auto)
Model D802
jb881122 said:
Code:
#include
/*
* 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.
*/
LineageOS 19.1 for the LG G2 - An attempt to get a more recent version of Android onto this dinosaur of a device.
Over the past few weeks, I have been attempting to port LineageOS 19 to my LG G2 as my first taste of ROM development. Today, I managed to get it booting (albeit, still with major issues).
Status
Working:
WiFi
Sound
USB Connectivity
Infrared
Accelerometer
Widgets
JIT Compiler (as of 20230207)
Flashlight (as of 20230210)
Bluetooth (as of 20230219)
RIL (as of 20230309)
Offline Charging (as of 20230521)
Partially Working:
Display
On some occasions, the soft buttons become glitched with horizontal lines. Not a 19.1-specific problem, I noticed this on a LineageOS 16.0 ROM as well.
When there are notifications, the top portion of the lock screen sometimes appears black.
SELinux
Enforcing by default as of 20230521, some denials still remain.
NFC
Only works sporadically.
Camera
Mostly working, but there have been reports that forcing the flash to be on can crash the app.
Not Working:
GPS
Seems to be broken for me for all CM/LOS builds since Jelly Bean. Some people have reported this working, your mileage may vary.
I myself can only test for the d800, as that is the model I have. If there is demand from people who can't compile it, I will attempt to compile untested binaries for other G2 models. Otherwise, I will wait until this ROM is in better shape.
Update 20230210 - Updated to 19.1, based on the LineageOS-UL sources. Untested binary also compiled for d802.
Screenshot
View attachment 5833529
(more screenshots attached to this post)
Downloads
Binaries (d800 & d802 only for now): Sourceforge
Old - don't use: If "-jitworkaround" is in the zip file name, it contains a modification in the updater script to set "dalvik.vm.usejit=false" on installation and allow the ROM to boot.
Zip files without "-jitworkaround" are unmodified outputs from my build environment (which should be bootable from 20230207 on).
Source Code: GitHub
How to Use?
The binaries above can be flashed using blastagator's TWRP in the same way as prior versions of LineageOS. You will also need a compatible bootstack (like the Lollipop bootstack for D800-D802 & *S980 or a hybrid bootstack for other devices).
As for the sources, compile them the same way as 18.1 would be compiled, except use the lineage-19.1 branch of the LineageOS-UL repo instead, and between running "repo init" and "repo sync", download the local_manifest.xml file from the repository and place it in the .repo/local_manifests folder (which may need to be created). There may also be additional packages needed for your Linux distro, but I don't remember exactly what they are.
While I highly recommend sticking with LineageOS 18.1 if the G2 is still (somehow) your daily driver, hopefully, having this ROM out in the public will allow people to test it, find other bugs not listed above, and help to improve it (since my discretionary time for this will be limited). This also serves as proof that old grandpa isn't dead just yet!
EDIT 2023-03-18 - Updated bootstack information. If accelerometer and/or RIL do not work, try switching bootstacks if possible.
EDIT 2023-05-23 - Installing an older version of Cyanogenmod/LineageOS first can sometimes fix accelerometer issues. The 20230521 build broke Bluetooth, use a later build instead to fix it.
Credits
@aleasto and LineageOS contributors (for supporting this device all the way to LineageOS 18.1)
@MetoIsTaken (for preliminary work on the g2-common repository)
Contributors to LineageOS 19 for HTC and Samsung MSM8974 devices, as well as the G4 (for providing ports to similar devices from which I could reference)
LineageOS-UL team (for also having fixed many of the problems I have ran into)
@rlawoehd187 for continued work, especially on the Korean f320 model
Likely others not listed here, let me know if I forgot someone who should be listed
Click to expand...
Click to collapse
CrabXDA said:
Just registered on XDA-developers to say you THANK YOU!
All works fine for me. No bugs were founded.
Does it become an official build?
Click to expand...
Click to collapse
thats the attitude !!!
Great Job !!!
rlawoehd187 said:
Nice to see someone still trying to develop on g2.
Inspired by your work, I took out the g2 again after a long time.
working on my f320.
Accelerometer
bluetooth
camera (full work)
nfc
not work
radio
gps (fix coming soon)
GitHub - rlawoehd187/android_device_lge_g2-common at lineage-19.1
Contribute to rlawoehd187/android_device_lge_g2-common development by creating an account on GitHub.
github.com
GitHub - rlawoehd187/android_kernel_lge_msm8974 at lineage-19.1
LGEs "galbi" family. Contribute to rlawoehd187/android_kernel_lge_msm8974 development by creating an account on GitHub.
github.com
Click to expand...
Click to collapse
For FM Radio, is it possible to add the driver from the stock LG G3 kernel to make it usable?
Some time ago I tried adding the driver (I don't remember whether I pulled the source from Sony Shinano or LG) to 14.1 on D802, I cannot hear any sound but RDS (FM channel name and text/description) works.
Jazzlike-Swing-5623 said:
For FM Radio, is it possible to add the driver from the stock LG G3 kernel to make it usable?
Some time ago I tried adding the driver (I don't remember whether I pulled the source from Sony Shinano or LG) to 14.1 on D802, I cannot hear any sound but RDS (FM channel name and text/description) works.
Click to expand...
Click to collapse
If you can replicate those fixes on the LineageOS 18.1 or 19.1 kernels, I could merge those into my repositories and add the FM radio to the D802 and LS980 repositories. While I tried re-adding the radio from Shinano (it's in drivers/bluetooth/broadcom IIRC) and enabling it in the config, it didn't work. I realized upon further research that there's no way for me to test it, as I have the D800 model and according to this post on a thread about the G3's FM radio, models other than the D802 and LS980 have it broken in hardware.
Would you build lineage os recovery too? It gonna makes installation more easier for someone that have a device with broken screen. Aaa... honestly i doesnt like "someone logo" on the splash screen when twrp start...
qwek said:
Would you build lineage os recovery too? It gonna makes installation more easier for someone that have a device with broken screen. Aaa... honestly i doesnt like "someone logo" on the splash screen when twrp start...
Click to expand...
Click to collapse
Built, see the Sourceforge folder. I've tested the d800 one to make sure it boots, but I haven't tried flashing anything with it (I have stuff on the phone, so I don't want to mess with it too much during the week).