Related
{
"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"
}
Warnings:-
Code:
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards, dead cats,
* thermonuclear war, or you getting fired because the alarm app failed.
* YOU are choosing to make these modifications, and no point
* in pointing the finger at me for messing up your device
*/
Resurrection Remix the ROM has been based on CM,slim.omni and original Remix ROM builds, this creates an awesome combination of performance, customization, power and the most new features, brought directly to your Device
Many things that in previous versions were tweaked with mods, are now included by default in the ROM so, please enjoy!
Special thanks to, the CM team,OMNI team ,SLIMROMS and of course to all the supporters.
BRIEF INRODUCTION
I started working on treble for almost about a month, after developing beta builds of Lineage OS. At the initial development, I keep developing those builds in the view of project treble, using latest blobs from other devices, move HAL's to /system/vendor(no /vendor at that time), binderize everything etc. Those experiments arose some issues and I managed to fix few issues and few are left. I dont think I know everything, but its quite challenging as it is my first development on qcom. I am constantly learning by doing.
USING /PRELOAD AS /VENDOR?
Initially, I thought of using preload partition as /vendor and it was only 400M. I thought it wouldn't be sufficient. There was about 50M unallocated space after /preload. We can append 50M to preload to increase its size. I started looking the size of vendor image from other devices. I noticed that vendor images of some devices was less than 400M. So 400M would work if I remove some unused 32 and 64 bit blobs. I cleaned up some useless blobs and build twrp. It was successful
EXISTING ISSUES
After having a seperate /vendor, I changed everything to /vendor from /system/vendor. Haxxx blobs using sed to solve dependencies and added VNDK-SP HALS. I got stuck at two major issues, NFC and sensors. I noticed that mike started working on official lineage build. I got a fix for sensor service. Thanks to @mikeioannina. Regarding NFC, I have used Stock HAL in my previous builds as passthrough HAL. OSS HAL is not working for some unknown issue(need to look at it later). NFC is not working after treble is implemented. I noticed that the stock HAL depends on libhardware_legacy.so and [email protected]. And those are expected to be present at /vendor in sphal namespace(as dynamic linker search at /vendor in sphal namespace). I added those two to EXTRA_VENDOR_LIBRARIES so that they will be shipped to /vendor. NFC is working now. But the problem is that the HAL load nfc configs from /system. I guess we cant haxx using as sed only work for the same size of string replacement. Replacing /etc with /vendor/etc will cause issues as address references will shift. I flashed phhusson GSI(Vanilla without Gapps) and it worked fine. Altogether current issues are
1. NFC HAL loads configs from /system.
2. Versioned VNDK using BOARD_VNDK_VERSION := current is not yet implemented. That means framework and vendor is not strictly isolated. Enabling the flag in BoardConfig enables the full VNDK support and restricts global headers. Android Oreo not strictly enforces isolation between /vendor and framework. This is strictly enforced in Android P and above. Vendor HAL dependencies on framework must be resolved.
3. Selinux is still in permissive mode.
INSTALLATION INSTRUCTIONS
Make a BACKUP of current /boot, /data and /system partition first partition using TWRP.
Flash the treble enabled TWRP located here.
Do a factory reset (wipe /data , /system, /vendor and /cache).
Flash the ROM.
Flash the Gapps.
Flash the custom magisk
NFC configuration files requires if any GSI is flashed.
Note : It is highly recommended to clean flash the ROM(Wipe /data, /system, /vendor /cache)
INSTALLATION FILES
RESURRECTION REMIX - BETA v1
CREDITS
mikeioannina for provinding fix for sensors.
abhishek987 for his custom magisk.
vovka36 for fp gestures.
Donations:
Help Supporting me. Any donations are highly appreciated.
Donate via PayTM
Sources:
Resurrection Remix
Kernel
XDA:DevDB Information
RESSURECTION REMIX-TREBLE, ROM for the Lenovo P2
Contributors
CodeElixir
ROM OS Version: 8.x Oreo
ROM Kernel: Linux 3.x
Based On: Lineage
Version Information
Status: Beta
Beta Release Date: 2018-06-03
Created 2018-06-03
Last Updated 2018-06-03
CHANGELOG
What works:
Boots
RIL (Calls, SMS, Data)
Fingerprint
Wi-Fi
Bluetooth
Camera
Camcorder
Video Playback
Audio
Sensors
Flash
LED
GPS
NFC
Volte
DT2W
FP Gestures
Fastcharging
Known Issues:
One Key Slider
Permissive Selinux
May be more ...
Thanks a lot
Sounds like a fantastic project. Thanks very much.
Wooohoo
Treble???? Superrr....thanks bro
And... let's get started with the stupid q what's treble and if any advantages, just search google!
No need to be rude.
911-Future_Maker said:
And... let's get started with the stupid q what's treble and if any advantages, just search google!
Click to expand...
Click to collapse
Just a question. I ve heard of treble and I knw how it works for mainstream devices. I just dont understand how its being implemented in custom roms. If u cant give a proper answeru should just ignore and move on.
CodeElixir said:
What works:
Click to expand...
Click to collapse
Hi mate
Great work. Hats off to you. This is great mate especially your explanation in the beginning, this is simply great news. I congratulate you for being the first to release treble for kuntao publicly.
I have heard firelord was working on treble as well but I'm not sure how much work has been done as I don't know his GitHub . Maybe that can result in some improvements??
For who aren't sure what this means : treble Or simply treble is a way of arranging blobs (which are responsible for camera , sensors etc) separately from system. Thus when you need to update to New version of Android, you need to work from scratch. That means you need to import blobs and make changes again in blobs to be compatible with newer Android version. Also you need to update Android system version as well. Thus it delays development.
Treble works by separating these two so once a fully functional blobs are made, you never need to update blobs again and only need to update system as blobs will be compatible with all new version of Android
Thus faster updates and better camera quality like stock rom if treble implementation is from vendor already.
This means we can have treble for all Oreo ROMs but for Android Phone we need some more work to have a fully working treble because Oreo doesn't have very clear sense of separating blobs and system but it gives concept and works on enforcing it in Android P. Thus, for fully functional treble , we need to address the issues by development community to completely separate blobs.
venu44 said:
First to comment. I have a question. can someone explain whats the purpose of treble and why is there a custom twrp for it.
Click to expand...
Click to collapse
Get a lollipop. Grow up mate ! Already explained above. Discussion should be to the point and being first to post isn't an achievement unless you have something important to tell us.
Sutcliffe9 said:
Sounds like a fantastic project. Thanks very much.
Click to expand...
Click to collapse
Sohit5s said:
Wooohoo
Click to expand...
Click to collapse
balugudidiot said:
Treble???? Superrr....thanks bro
Click to expand...
Click to collapse
Hnk1 said:
Hi mate
Great work. Hats off to you. This is great mate especially your explanation in the beginning, this is simply great news. I congratulate you for being the first to release treble for kuntao publicly.
I have heard firelord was working on treble as well but I'm not sure how much work has been done as I don't know his GitHub . Maybe that can result in some improvements??
For who aren't sure what this means : treble Or simply treble is a way of arranging blobs (which are responsible for camera , sensors etc) separately from system. Thus when you need to update to New version of Android, you need to work from scratch. That means you need to import blobs and make changes again in blobs to be compatible with newer Android version. Also you need to update Android system version as well. Thus it delays development.
Treble works by separating these two so once a fully functional blobs are made, you never need to update blobs again and only need to update system as blobs will be compatible with all new version of Android
Thus faster updates and better camera quality like stock rom if treble implementation is from vendor already.
This means we can have treble for all Oreo ROMs but for Android Phone we need some more work to have a fully working treble because Oreo doesn't have very clear sense of separating blobs and system but it gives concept and works on enforcing it in Android P. Thus, for fully functional treble , we need to address the issues by development community to completely separate blobs.
Get a lollipop. Grow up mate ! Already explained above. Discussion should be to the point and being first to post isn't an achievement unless you have something important to tell us.
Click to expand...
Click to collapse
Sorry if I ve offended someone. I hope its cool and I was just excited. I ve done a lot of researching and even this explanation helps a lot. Thanks guys. Sorry again.
Can I flash GSI image of only a partition of any 64bit rom on top of that?
Wow roms are raining I love resurrection remix rom ?
Is the camera Raw working? And Gcam hdr+?
I have a small doubt can flash the treble twrp Kuntao as the same way as normal twrp flashing form ADB and fastboot terminal and this treble enabled twrp can be used for flashing other ROMs
Great work by the developer thanks for p2 support:good: TQ very much
Subho166 said:
Can I flash GSI image of only a partition of any 64bit rom on top of that?
Click to expand...
Click to collapse
Yeah
Woaah great, I hope there NFC work correctly
I tried to understand the issues but couldn't understand them completely. And wanted to know suppose this issues get resolved now..and when new Android version comes.. then the developer only needs to compile that with the blobs(sensors n all) ..that's it? that's what project treble is about? Sounds really exciting. I would like someone to make video about it ...would be great ...
Great work CodeElixir ........hope you resolve issues ..Thanks for the hardwork !
Dolby for oreo not working. Everything else is perfect. Dark video bug is present but playback is smooth.
anilyarki said:
Dolby for oreo not working. Everything else is perfect. Dark video bug is present but playback is smooth.
Click to expand...
Click to collapse
he can you make a video about how you flashed it ?
nareshfree said:
Is the camera Raw working? And Gcam hdr+?
Click to expand...
Click to collapse
Yeah even 4k hdr+ is working><
BATIK RECOVERY OFFICIAL ALPHA-02 Kenzo
Support : TREBLE | NON TREBLE
Changelog :
- Initial build base TWRP-3.2.2.x
- Upstreamed Source Omni Oreo
- Add Featured : Extra Tools
Link :
BATIK RECOVERY
ALPHA-02
TREBLE | NON TREBLE
CHANGELOG :
- Initial build base TWRP-3.2.2.x
- Upstreamed Source Omni Oreo
- Add Featured : Extra Tools
DOWNLOAD :
Kenzo - https://t.me/ZHANreport/7161
#batik #recovery #kenzo
Source : ZHAN Project
• Channel Blog nTu21
• Channel Youtube Blog nTu21
This is not my work I am just sharing
Working perfectly all about good.?
why alpha? when can we expect a stable build?
shawon11 said:
why alpha? when can we expect a stable build?
Click to expand...
Click to collapse
Sorry bro but this is not my work I am just sharing good TWRP:good:
Azizbagwan said:
BATIK RECOVERY OFFICIAL ALPHA-02 Kenzo
Support : TREBLE | NON TREBLE
Changelog :
- Initial build base TWRP-3.2.2.x
- Upstreamed Source Omni Oreo
- Add Featured : Extra Tools
Link :
BATIK RECOVERY
ALPHA-02
TREBLE | NON TREBLE
CHANGELOG :
- Initial build base TWRP-3.2.2.x
- Upstreamed Source Omni Oreo
- Add Featured : Extra Tools
DOWNLOAD :
Kenzo - https://t.me/ZHANreport/7161
#batik #recovery #kenzo
Source : ZHAN Project
• Channel Blog nTu21
• Channel Youtube Blog nTu21
This is not my work I am just sharing
Working perfectly all about good.?
Click to expand...
Click to collapse
can u explain me what is treble?? advantage of treble??
i see on RN5 development there is many treble rom & treble twrp..
robbayani said:
can u explain me what is treble?? advantage of treble??
i see on RN5 development there is many treble rom & treble twrp..
Click to expand...
Click to collapse
Project Treble is the Answer
The reason manufacturers have such a hard time pushing out prompt updates is because of all the work that has to go into getting the operating system to communicate with the hardware.
Traditionally, it worked something like this: the OS framework and low-level software were all part of the same code. So when the OS got updated, this low-level software–technically referred to as vendor implementation—also had to get updated. That’s a lot of work.
So, starting with Android 8.x (Oreo), Google separated the two. That means the Android OS itself can be updated without having to touch the vendor implementation. That, in turn, can be updated by itself if needed.
To put that in full context, before an update can be pushed out to an Android 7.x (or earlier) device, not only does the Android OS code have to be updated, but so does the low-level hardware code, which is generally maintained by the chip maker. So, for example, if Samsung wants to push an update to one of its phones, it has to wait for Qualcomm (or whoever made the chip) to update its code to work with the new Samsung code. That’s a lot of wheels turning at once, and each one is dependent on the other.
With Android 8.x and beyond, it won’t be like this anymore. Since the core hardware code is separate from the OS code, device manufacturers will be free to update their software without having to wait for the silicon maker to also update its code.
This should dramatically speed up the update process—in theory, at least. Updating devices will still be in the manufacturer’s hands, and since the first Oreo devices outside of the Google-maintained Pixel line are just now rolling out, we haven’t yet had a chance to fully see this in practice. Hopefully, it actually makes a significant change to the speed in which updates are written and pushed out.
Will My Device Benefit from Project Treble?
Now that’s the million dollar question, right? Unfortunately, the answer isn’t so simple (surely you didn’t expect it to be). That said, here are some facts:
If your device never gets updated to Oreo, it will never get Project Treble. No way around that. Sorry.
If your device does get updated to Oreo, it’s still not required to support Treble—that’s up to the manufacturer.
If you buy a new phone that runs Oreo out of the box, it is required to support Treble out of the box.
In short: Treble support on updated systems is still up to the manufacturers, but new Oreo devices will be required to support Treble moving forward.
So, for example, the Pixel 2 already supports Project Treble. The forthcoming Galaxy S9 will also support Treble out of the box. Google also updated the Pixel 1 to support Treble, but it’s unfortunately it looks like Samsung left it out of the Oreo build for the Galaxy S8.
If you’re curious about your own device, Android Police has a running list of all devices that will get Treble support, as well as a which ones will get updated to Oreo without Treble.
Android OS updates have been a constant point of contention for many years now, so it’s good to see Google finally addressing the issue. With any luck, this will put all Android devices closer to parity with Apple in terms of device updates.
This thread described the main steps to port a P Preview image into semi-GSI .This is only a reference that points out the key files you may need to deal with, but not a step to step guide.Also I can only lead you to make it boot,and I'm not promising anything.
Things you need to prepare:
1.An Android device with official / unofficial 8.1 Treble support and a PC.
2.P DP3 semi-GSI image(most OEM P are working with DP3)
3.A *Qualcomm OEM P Preview image you want to port.
4.Better have a recent Android kitchen.
*Seems that there's only Qualcomm based devices received official P Preview builds. I'm not sure if someone has early access to P images for Kirin processors (e.g. for Huawei Mate 10) or Exynos.
In theory ,P images can be ported between chipsets from the same vendor.(If anyone have these images feel free to share it)
Also you need to prepare for (in case)bricks,if something goes wrong.
So let's start.
Unpack P semiGSI and the ROM you want to port.
*the lib&lib64 below means there are to files you need to replace,one in lib and one in lib64 folder.
Replace /system/lib&lib64/libselinux.so from semiGSI to your port.
Look for a txt file start with ld.config in your /system/etc of port image, then replace it with /system/etc/ld.configs.txt from semiGSI.
Remove /system/etc/permissions/qti-permissions.jar
Modify /system/etc/prop.default to disable adb secure and enable all debug props for debugging.
Unpack /vendor from port, try to find out services added by OEM in manifest.xml.
The manifest can be in /vendor or /vendor/etc/vintf
Pick out all /vendor HALs related to services you found in manifest.
Basically they are located in:
/vendor/bin/hw
/vendor/etc/init
/vendor/lib&lib64/
/vendor/lib&lib64/hw
Also look for some additional files related to OEM rom.(framework, overlays etc.)
Then pack your /system into img.
Flash 8.1 vendor & P semi-GSI boot & vendor patches.
Flash your port.
Add all additional thing you found in vendor.
You need to modify your device's manifest.xml and add OEM related.
Flash FBE Disabler and permissiver to disable FBE and SELinux.
Format /data ,push adb keys into system for debug
& reboot.
If you're lucky then you can get into bootanimation.If not, try to check everything.
Use adb logcat >logcat.txt and get logs.
Open the log, search 'died' and you will get to lines near system crash. Here you need some ROM porting skills,try to find out what's going wrong.
Reserved
Some frequently bug's solutions:
'dumplicate permission : XXX'
Find the XXX permission in files in /system/etc/permissions . Delete lines for that permission.
'fail to make lockscreen ready'
Add libpuresoftkeymasterdevice.so from P semi GSI to your /system.
Reboot or black screen after enter system
(Most SDM845 ports)
Replace
/system/bin/surfaceflinger
/system/lib&lib64/libsurfaceflinger.so and libtimestats_pronto.so
Great job, OP. My question is, does this mean that in the future we may be able to trebelize most, if not all, OEM roms?
dustmalik said:
Great job, OP. My question is, does this mean that in the future we may be able to trebelize most, if not all, OEM roms?
Click to expand...
Click to collapse
The answer is ,'yes it should be'.In theory ,ported sGSI should work on the same platform ,e.g. Qcom sGSI,Exynos sGSI.But these OEM roms usually intend to specific hardware, so there may always bugs exist.As we know developers of O GSIs did a lot of hacks ,try to enable the maximum compatibility.But porting makes this not possible cuz no source code.
Also, the port I do is only on OEM without too much modification to original P, what about Samsung with their own hals and Huawei EMUI with the *** OEMINFO partition ? These roms are not possible to port in the near past,I think nor in the near future.
The problem with exynos device that is with s9+ we dont have android 8.1 vendor image.
Note: Tested not working on latest P miui of MI MIX 2S .
EDIT: Because of SELinux
fxsheep said:
Note: Tested not working on latest P miui of MI MIX 2S .
EDIT: Because of SELinux
Click to expand...
Click to collapse
did you manage to boot a miui10 GSI?
meltbanana said:
did you manage to boot a miui10 GSI?
Click to expand...
Click to collapse
No
fxsheep said:
Note: Tested not working on latest P miui of MI MIX 2S .
EDIT: Because of SELinux
Click to expand...
Click to collapse
Do you plan on porting the new HydrogenOS Beta 1 android pie for OnePlus 6?
https://forum.xda-developers.com/oneplus-6/how-to/android-pie-9-0-public-beta-version-t3829394
Surprising Update : I got leaked EMUI 9 rom of Huawei Mate 20 (powered by Kirin 980) and followed this method on a Qualcomm Trebled device. What surprised me is that I already got bootanimation ,end up with the same SELinux error when I port MIX2S MIUI P.
This may means that in the future we can even port roms between platforms ,and make real GSI.
fxsheep said:
Surprising Update : I got leaked EMUI 9 rom of Huawei Mate 20 (powered by Kirin 980) and followed this method on a Qualcomm Trebled device. What surprised me is that I already got bootanimation ,end up with the same SELinux error when I port MIX2S MIUI P.
This may means that in the future we can even port roms between platforms ,and make real GSI.
Click to expand...
Click to collapse
If anyone can give me the way to get this firmware https://www.xda-developers.com/huawei-mate-10-pro-android-p/amp/
Then I can prove it
fxsheep said:
If anyone can give me the way to get this firmware https://www.xda-developers.com/huawei-mate-10-pro-android-p/amp/
Then I can prove it
Click to expand...
Click to collapse
I think this isn't the one you want. But I hope it will help you. BTW, can you boot it on HUAWEI vndk26 devices?
http://update.hicloud.com:8180/TDS/...50/g1750/v152588/f1/full/update_full_base.zip
麦麦观 said:
I think this isn't the one you want. But I hope it will help you. BTW, can you boot it on HUAWEI vndk26 devices?
http://update.hicloud.com:8180/TDS/...50/g1750/v152588/f1/full/update_full_base.zip
Click to expand...
Click to collapse
This one isn't.In theory it can boot on vndk26 but lack selinux fixes.I don't have treble vndk26 device though.
fxsheep said:
Surprising Update : I got leaked EMUI 9 rom of Huawei Mate 20 (powered by Kirin 980) and followed this method on a Qualcomm Trebled device. What surprised me is that I already got bootanimation ,end up with the same SELinux error when I port MIX2S MIUI P.
This may means that in the future we can even port roms between platforms ,and make real GSI.
Click to expand...
Click to collapse
Do you think is it possible to port oppo color os into gsi ?
Update:This guide does not support P Release versions.i.e.If you port any P roms which is marked as "release" not "beta" by OEM then probably this won't work.It can only boot on 9.0 vendor.
Better is make script same as my cd C:\Users\MAREK\Desktop\BASE\system
echo FAZA 1 ld.config.txt
pause
COPY C:\Users\MAREK\Desktop\BASE\system\etc\ld.config.txt C:\Users\MAREK\Desktop\skrypt\BASE\system\etc\
pause
echo FAZA 2 libselinux.so
pause
COPY C:\Users\MAREK\Desktop\BASE\system\lib\libselinux.so C:\Users\MAREK\Desktop\skrypt\BASE\system\lib\
pause
COPY C:\Users\MAREK\Desktop\BASE\system\lib64\libselinux.so C:\Users\MAREK\Desktop\skrypt\BASE\system\lib64\
pause
This overlay APK it's "born" because of the necessity to overcome missing overlays (thanks Huawei, love ya xoxo) under /vendor/overlay .
What it does exactly?
Nothing more than adding AOSP overlay matching our device capabilities and also, inherits Victoria power profile and it's compatible with P!
Do I need it?
Yes.
It will fix Battery stats problems and add compatible features for your VTR over GSI.
This will conisderably enhance your experience on every GSI ROM giving better functionality overall.
Why you did that?
Because I'm sick of inheriting stuff that belongs to /vendor, in system.
Project Treble it's all about separating vendor implementation from system.
So why we should keep adding OEM stuff in that if it doesn't belong no more in /system?
I have XYZ device with ZYX firmware can I use it?
As long as you're on a VTR-*** device (with a non-EMUI firmware), you're good to go.
Otherwise DO NOT USE IT FOR THE LOVE OF MANKIND.
I don't have VTR, but I want it on my Huawei device !
Well, that's fine, join the Telegram group @GSI_HI6250, so that you could help me with stock files grabbing to make an overlay for your device.
Installation Instructions
Download the overlay [/URL]
With root, push the overlay to /vendor/overlay. Create the folder if it doesn't exist.
Run the following command in a rooted terminal or ADB shell:
Code:
chcon u:object_r:vendor_overlay_file:s0 /vendor/overlay;chcon u:object_r:vendor_overlay_file:s0 /vendor/overlay/dil3mm4-overlay-VTR.apk
XDA:DevDB Information
[Overlay] Dil3mm4's Overlays for Huawei Victoria Series devices (all variants), Tool/Utility for the Huawei P10
Contributors
Dil3mm4
Version Information
Status: Stable
Created 2018-08-28
Last Updated 2018-08-28
Guys why there is no developer here working on a treble project enable tool to our phone
Since we have a stable oreo rom and have all the libs and files in vendor to make oreo boot successfully without bugs there is a possible way to make our klte project treble i'm sure >
but i can't lonely make this project alive we need to work with our devs to make this happens
since the creation of vendor partition is not that hard thing but i'm didn't know anything about editing the kernel and the device tree to boot from new vendor partition.
Thank you if you reach that point of the thread
@phhusson i really appreciate your work for the project treble forum
Can you help me with making this thing happens ?
mhmdalsfaf said:
Guys why there is no developer here working on a treble project enable tool to our phone
Since we have a stable oreo rom and have all the libs and files in vendor to make oreo boot successfully without bugs there is a possible way to make our klte project treble i'm sure >
but i can't lonely make this project alive we need to work with our devs to make this happens
since the creation of vendor partition is not that hard thing but i'm didn't know anything about editing the kernel and the device tree to boot from new vendor partition.
Thank you if you reach that point of the thread
Click to expand...
Click to collapse
treble is not only bound to partitioning , its also a kernel version as well which we not even near it , the required kernel version is 3.18 (as the bare-minimum ) and up , the S5 is stuck at 3.4.113 so no treble for the S5.