Related
**I did not write these scripts, just updated the flashable zip for our x86 Asus phones**
**All work done by @Paget96**
ORIGINAL Mod Thread here : http://forum.xda-developers.com/android/software-hacking/tweak-l-speed-v1-0-02-02-2015-t3020138
@Paget96 has added an x86 version to the original thread with the (more appropriate) fixes!! Go discuss there!
Big thanks to him. Use the v2.4 Test3 or greater "x86" file
Reqs:
1) Need root
2) Need Custom recovery (TWRP)
3) Need kernel with init.d support (like @TheSSJ 's here: http://forum.xda-developers.com/zenfone2/development/project-t-custom-kernel-zenfone-2-t3150822)
** Use v44 or greater for proper init.d support
Download zip from the original thread
and flash in recovery.
Then look at the original thread for config options while you're in there
Added the Emergency Uninstaller zip as well. (i think you still need to use this version, until an x86 version is up there too)
Ch-Ch-Ch-Ch-Changes
Jul 23 2015: OG thread updated by dev. Updated flashing instructions in OP (mods can probably lock this thread)
Jul 15 2015: Fixed script to properly set perms on /system/bin/LS; Added Emergency Uninstaller zip
Jul 14 2015: Initial upload. Needed to use the update-binary from Asus to work with our x86 architecture and replace all the set_perms with set_metadata's. Apparently the update-binaries from Asus don't include set_perms
I would have expected that some parts of my kernel would fight against this tweak, nice to see that it seems to work
Yean I don't know that some of the governor stuff is working 100%, still messing around with it .
Thanks man Been using TheSSJ kernel with this pack of tweak. Its awesome Thanks to both of you
Added in index, thanks for updating the mod!
taylor.fowler said:
@aziz07 Here you go.
Needed to use the update-binary from Asus to work with our x86 architecture and replace all the set_perms with set_metadata's. Apparently the update-binaries from Asus don't include set_perms
Click to expand...
Click to collapse
Thanks! Working A++
Edit: I tried running the script from terminal with no luck. I have to cleanup the alpha version first with the provided uninstaller by Paget96. Its a great idea to have the uninstaller zip working with x86.
++Uninstaller patched, permssions fixed, kudos @taylor.fowler
Need help can't get to run in terminal
Sent from my ASUS_Z00AD using Tapatalk
taylor.fowler said:
@aziz07 Here you go.
Needed to use the update-binary from Asus to work with our x86 architecture and replace all the set_perms with set_metadata's. Apparently the update-binaries from Asus don't include set_perms
Click to expand...
Click to collapse
how can i do that because not work for me
Have u guys tried with Kernel Adiutor?
su
LS > permission denied
selinux already permissive
chobztopz said:
su
LS > permission denied
selinux already permissive
Click to expand...
Click to collapse
I've got it too
The permission for LS file in system/bin is wrong. It should be 0755 (rwx rx rx) then it will done on terminal emulator
lordpipa said:
Have u guys tried with Kernel Adiutor?
Click to expand...
Click to collapse
I am using that.. But y u asked?
And guys only cleaner works it seems, he added logs for all option thankfully and only cleaner having log, others are blank, I can't run the options of LS..
mustatir said:
The permission for LS file in system/bin is wrong. It should be 0755 (rwx rx rx) then it will done on terminal emulator
Click to expand...
Click to collapse
Yep thanks, OP can you edit the updater script please...
After that script enable also same result, no log entered in those files..
Kernel samepage merging didn't came, no swap.. kernel auditor can enable kernel samepage merging even without this script. .. .
ansebovi said:
I am using that.. But y u asked?
And guys only cleaner works it seems, he added logs for all option thankfully and only cleaner having log, others are blank, I can't run the options of LS..
Yep thanks, OP can you edit the updater script please...
After that script enable also same result, no log entered in those files..
Kernel samepage merging didn't came, no swap.. kernel auditor can enable kernel samepage merging even without this script. .. .
Click to expand...
Click to collapse
Hrmph. I must have Ul'd the wrong version. I had the same issue. Will re-up in a couple hours.
@ansebovi cause u can use it for some of the init scripts.
Hmm, mine does all have logs. Yep, I had to set LS permissions to all in /system/bin folder. I think it might be because I still have the old alpha version files and I can't flash the uninstaller as it needs the x86 code.
Edit: ++Uninstaller patched, permssions fixed, kudos @taylor.fowler
Checked the updater-script. All functions are already available in TWRP itself, so normally you don't even need the updater-binary in the zip file, maybe this makes also the uninstaller work if you just delete the updater-binary from the zip file
TheSSJ said:
Checked the updater-script. All functions are already available in TWRP itself, so normally you don't even need the updater-binary in the zip file, maybe this makes also the uninstaller work if you just delete the updater-binary from the zip file
Click to expand...
Click to collapse
OK, so I fixed the updater-script (and found another error with setting the permissions on init.d). Apparently I had changed them to 0775 instead of 0755 :silly:
Also added the emergency uninstaller script too.
@TheSSJ I dont think that's how flashable zips work, but i tried anyhow. No dice...
taylor.fowler said:
@TheSSJ I dont think that's how flashable zips work, but i tried anyhow. No dice...
Click to expand...
Click to collapse
Bummer...was convinced this would work...twrp code at least shows that it executes updater-binary if present,otherwise it interprets the script itself...
Sorry!
Note: This module won't work with v10-v11.6 since some syntax err in the mounting scripts. More info here. https://github.com/topjohnwu/Magisk/commit/624b7616d082feced71bff0474c64c1b4afd5cc0
If you're using a beta one newer than v11.6. Try this module.
Init.d Link (Magisk)
Intro
The module solves the situation when /system/etc/init.d doesn't exist, some app, let's say Kernel Auditor Beta, doesn't recognize the *.d folder provided by MagiskSU and tries to create the init.d folder by itself. So we'd better symlink one from an available *.d — post-fs-data.d, service.d or su.d.
- The module symlinks a *.d folder as init.d,
- or simply create one systemlessly.
- Init.d scripts will be run by an existing superuser — MagiskSU, phh's superuser or SuperSU — or the kernel,
- but NOT by the module itself, in case of collision with the func of kernel.
Symlink Priority:
1. /magisk/.core/service.d (Magisk v12)
2. /magisk/.core/post-fs-data.d (Magisk v11)
3. /magisk/phh/su.d
4. /su/su.d
5. /magisk/.core/post-fs-data.d (Magisk v12)
6. /magisk/.core/service.d (Magisk v11)
The last resort will be the creation of a systemless init.d folder.
NOTE: init.d will be symlinked only if available *.d foler exists.
Installation
Flash it in RECOVERY ONLY.
Credit
https://github.com/laggardkernel/init.d-link by laggardkernel
Changelog
v1.3
- Fix mount of su.img
v1.2
- Update to module template v3
- Add link target info into module.prop.
- Reorder init.d link priority for Magisk v12:
1. /magisk/.core/service.d (Magisk v12)
2. /magisk/.core/post-fs-data.d (Magisk v11)
3. /magisk/phh/su.d
4. /su/su.d
5. /magisk/.core/post-fs-data.d (Magisk v12)
6. /magisk/.core/service.d (Magisk v11)
- There is also a post-fs-data branch keep post-fs-data.d at high priority by force.
Reserved.
How to use this module?
ngtung84 said:
How to use this module?
Click to expand...
Click to collapse
Just download the zip and flash it in your recovery. Then the module will create a /system/etc/init.d link directing to /magisk/.core/post-fs-data.d SYSTEMLESS. This will solve the pain that some apps, like Kernel Manager beta, don't recognize Magisk's post-fs-data.d and create a init.d itself to put their init scripts.
laggardkernel said:
Just download the zip and flash it in your recovery. Then the module will create a /system/etc/init.d link directing to /magisk/.core/post-fs-data.d SYSTEMLESS. This will solve the pain that some apps, like Kernel Manager beta, don't recognize Magisk's post-fs-data.d and create a init.d itself to put their init scripts.
Click to expand...
Click to collapse
I have some scripts. Can I put them into /system/etc/init.d created by this module?
You make some really nice little modules. I really believe you should submit them to the repo... It's gonna need some updating to the latest template and maybe also some updates for v12 though. From the v12 release notes:
It is recommended to run most scripts in the service mode (service.d/service.sh), except a. mounting files; b. patching system props; c. time critical operations
Click to expand...
Click to collapse
Didgeridoohan said:
You make some really nice little modules. I really believe you should submit them to the repo... It's gonna need some updating to the latest template and maybe also some updates for v12 though. From the v12 release notes:
Click to expand...
Click to collapse
Gotta disagree with you here. This module is ALL OVER THE PLACE. The code in the startup scripts is doing TONS of unadvertised stuff:
There is code related to @ahrion Dolby Atmos (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L108) that will potentially put your device into Permissive Mode without telling you.
No idea what this code is doing, but certainly doesn't relate to init.d symlinks (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L93).
Appears to attempt to install a non-existent APK called '*.apk' with package name '*.*.*' (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L68).
And that's all on every startup.
I would be careful with this module...
Jman420 said:
Gotta disagree with you here. This module is ALL OVER THE PLACE. The code in the startup scripts is doing TONS of unadvertised stuff:
There is code related to @ahrion Dolby Atmos (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L108) that will potentially put your device into Permissive Mode without telling you.
No idea what this code is doing, but certainly doesn't relate to init.d symlinks (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L93).
Appears to attempt to install a non-existent APK called '*.apk' with package name '*.*.*' (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L68).
And that's all on every startup.
I would be careful with this module...
Click to expand...
Click to collapse
Hm... Thank's for pointing that out. I'm not at all fluent enough in scripting to have caught that without some serious scrutiny, and I've not had the time for that today.
Perhaps we'll get an explanation from @laggardkernel about what's going on.
Didgeridoohan said:
Hm... Thank's for pointing that out. I'm not at all fluent enough in scripting to have caught that without some serious scrutiny, and I've not had the time for that today.
Perhaps we'll get an explanation from @laggardkernel about what's going on.
Click to expand...
Click to collapse
Best guess i can come up with is that stuff is left over from other experiments. He seems to be using the same repo for multiple projects and separating them with branches. That seems to have caused some cross contamination in his branches.
As a general development rule you should have one project/solution per repo. Your branches usually represent new features for the project.
Jman420 said:
Best guess i can come up with is that stuff is left over from other experiments. He seems to be using the same repo for multiple projects and separating them with branches. That seems to have caused some cross contamination in his branches.
As a general development rule you should have one project/solution per repo. Your branches usually represent new features for the project.
Click to expand...
Click to collapse
If you look in config.sh you'll see that the module isn't even using post-fs-data.sh (POSTFSDATA=false). And the files on GitHub doesn't match the files in the module zip. Look at update-binary in the zip and then on GitHub. In the zip you'll find the symlinking, but not on GitHub...
So yeah, I guess we're talking about a bunch of code left over from previous experiments.
Jman420 said:
Gotta disagree with you here. This module is ALL OVER THE PLACE. The code in the startup scripts is doing TONS of unadvertised stuff:
There is code related to @ahrion Dolby Atmos (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L108) that will potentially put your device into Permissive Mode without telling you.
No idea what this code is doing, but certainly doesn't relate to init.d symlinks (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L93).
Appears to attempt to install a non-existent APK called '*.apk' with package name '*.*.*' (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L68).
And that's all on every startup.
I would be careful with this module...
Click to expand...
Click to collapse
I took all of that setenforce stuff out of my script. And in my release notes it clearly stated when I release v1.2 that I added the script to AudModLib. However I removed it because I found a workaround in v1.3.
With Audmodlib we have only audio server media server, and system prop contextd permissible for ONLY system and priv apps. Which is what I had to replace with the setenforce stuff.
He's not doing anything shady when looking at the code, it looks like he was following my example. I would submit a git issue to tell him to update the mod.
Hope this clears things up man.
Jman420 said:
Gotta disagree with you here. This module is ALL OVER THE PLACE. The code in the startup scripts is doing TONS of unadvertised stuff:
There is code related to @ahrion Dolby Atmos (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L108) that will potentially put your device into Permissive Mode without telling you.
No idea what this code is doing, but certainly doesn't relate to init.d symlinks (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L93).
Appears to attempt to install a non-existent APK called '*.apk' with package name '*.*.*' (https://github.com/laggardkernel/magisk-module-template/blob/init.d/common/post-fs-data.sh#L68).
And that's all on every startup.
I would be careful with this module...
Click to expand...
Click to collapse
1. Look into the config.sh;
2. Post-fs-data.sh, service.sh are NOT enabled;
3. Post-fs-data.sh, service.sh will NOT be copied to your device.
4. I use a template with some additional features myself. Maybe I'm too laggard to clean up unused codes. But I'm sure I commented out, disabled all unnecessary parts.
laggardkernel said:
Maybe I'm too laggard to clean up unused codes.
Click to expand...
Click to collapse
Ha ha!
But yeah, like it shows, you're gonna scare some people leaving it in there.
True, you'll only get scared if you don't look at the entire thing, but still...
laggardkernel said:
Maybe I'm too laggard to clean up unused codes.
Click to expand...
Click to collapse
hehehe, i see what you did there.
laggardkernel said:
1. Look into the config.sh;
2. Post-fs-data.sh, service.sh are NOT enabled;
3. Post-fs-data.sh, service.sh will NOT be copied to your device.
4. I use a template with some additional features myself. Maybe I'm too laggard to clean up unused codes. But I'm sure I commented out, disabled all unnecessary parts.
Click to expand...
Click to collapse
Yeah, deeper review does show that those scripts aren't installed or used. But leaving them there makes reviewing the module much harder since you have to go looking for that 1 flag which indicates they aren't used. As a developer if I see code in a script I expect that it's meant to be executed and a reviewer won't necessarily know which piece is correct (the flag disabling the script or the script itself).
The module is definitely benign, but on a quick surface review the dead code seems strange in the context of the module itself. Just a suggestion, but cleaning up that dead code would make the module easier to review and avoid having that code get executed accidentally or misinterpreted.
Didgeridoohan said:
But yeah, like it shows, you're gonna scare some people leaving it in there.
True, you'll only get scared if you don't look at the entire thing, but still...
Click to expand...
Click to collapse
Even a full review would raise some concerns with me. Mainly which is correct; having the script disabled or enabled. That concern can only be addressed through a discussion like this. A full review would make me feel a bit more secure since the script isn't executed, but would make me question whether the full functionality of the module is actually in place.
@laggardkernel This is all good work, so I hope you don't take any of this the wrong way. I just happen to do development (more accurately software engineering) as a career and see this kind of stuff all over the place in enterprise software and it makes my eyes bleed every time I see it. Now that I've gotten into a cyber security role I'm even more sensitive to this stuff since they end up constituting security holes (either maliciously or accidentally, usually the latter).
Flash it from recovery, it say Error... because there is already has init.D folder ?
So i have to delete the folder first ?
Vuska said:
Flash it from recovery, it say Error... because there is already has init.D folder ?
So i have to delete the folder first ?
Click to expand...
Click to collapse
If you already have init.d support you don't need this module.
And if you want proper help, where's your recovery log?
Does this module already support Magisk 13.1?
Magisker said:
Does this module already support Magisk 13.1?
Click to expand...
Click to collapse
Not yet. I haven't migrated to v13+ and I'm still waiting for the update of the all-in-one wiki.
laggardkernel said:
Not yet. I haven't migrated to v13+ and I'm still waiting for the update of the all-in-one wiki.
Click to expand...
Click to collapse
The template v4 is already there tho
https://github.com/topjohnwu/magisk-module-template
magisk 14 does not mount magisk.img. It creates a different set up. There is no magisk folder at root containing post-fs-data.d and service.d folders. If they are not there in magisk 14, where are the scripts to be placed for running at boot. Anybody could help on this.
Hello everyone
Well... Not much to say.
I've made that very simple module for my personal use and just sharing it with the community in case anyone needs it.
What it does it really simple.
It installs (or replaces) sqlite3 binary in /system/bin to be used by any app or from terminal.
It's for ARM7 only.
Have fun
Credits: @topjohnwu for the template and @tech128 for the binary used.
Thank you for your effort... Do you have binary of sqlite of 64bit?
lssong99 said:
Thank you for your effort... Do you have binary of sqlite of 64bit?
Click to expand...
Click to collapse
I'm currently on G5 which is 64bit and binary works just fine.
Yes, it will work. However my situation is a bit complex that I call sqlite from Tasker and there is a bug in Tasker's that Tasker will invoke 64 bit libraries and throw error even if sqlite is 32 bit.
There is a work around but a bit complex so I am searching for 64 bit binary...
Sorry but what is SQLite
kwanthenewbie said:
Sorry but what i SQLite
Click to expand...
Click to collapse
You don't need it probably xD
It's the "program" to manipulate sqlite databases.
lssong99 said:
Yes, it will work. However my situation is a bit complex that I call sqlite from Tasker and there is a bug in Tasker's that Tasker will invoke 64 bit libraries and throw error even if sqlite is 32 bit.
There is a work around but a bit complex so I am searching for 64 bit binary...
Click to expand...
Click to collapse
https://github.com/stockrt/sqlite3-android
Build one by yourself. I guess you need arm64-v8a ?
DenyDarko said:
I'm currently on G5 which is 64bit and binary works just fine.
Click to expand...
Click to collapse
DenyDarko said:
https://github.com/stockrt/sqlite3-android
Build one by yourself. I guess you need arm64-v8a ?
Click to expand...
Click to collapse
Haha! Thanks.... Actually I had been trying very hard to resist the urge to build one myself (too lazy....). Maybe I should starting setup the tool train now....
Anyway thanks!
lssong99 said:
Haha! Thanks.... Actually I had been trying very hard to resist the urge to build one myself (too lazy....). Maybe I should starting setup the tool train now....
Anyway thanks!
Click to expand...
Click to collapse
It's not that hard and it's fun. Plus this git contains a customised sqlite for android.
It's not like building a kernel or smth. Give it a try xD
Hi @DenyDarko,
Please, can you update your module? It doesn't install with last version of Magisk. Futhermore, it will be interesting to include all binaries: sqlite3.arm; sqlite3.arm64; sqlite3.x64; etc. and add a symlink for the run architecture to "sqlite3". And last, publish it in the official repository.
Thank you!
manos78 said:
Hi @DenyDarko,
Please, can you update your module? It doesn't install with last version of Magisk. Futhermore, it will be interesting to include all binaries: sqlite3.arm; sqlite3.arm64; sqlite3.x64; etc. and add a symlink for the run architecture to "sqlite3". And last, publish it in the official repository.
Thank you!
Click to expand...
Click to collapse
@ianmacd added an updated version to the official repo already
DenyDarko said:
@ianmacd added an updated version to the official repo already
Click to expand...
Click to collapse
Ha. I didn't know there was already an SQLite module. I checked the official Magisk repo and didn't find one, so I made one for my own use and submitted it so that others could hopefully benefit from the work.
ianmacd said:
Ha. I didn't know there was already an SQLite module. I checked the official Magisk repo and didn't find one, so I made one for my own use and submitted it so that others could hopefully benefit from the work.
Click to expand...
Click to collapse
I even use yours now myself xD
@DenyDarko
Can you somehow check if this sqlite3 works ?
ianmacd said:
Ha. I didn't know there was already an SQLite module. I checked the official Magisk repo and didn't find one, so I made one for my own use and submitted it so that others could hopefully benefit from the work.
Click to expand...
Click to collapse
Hi @ianmacd,
I installed your Magisk module. However, I found a trouble: when enabling your module, the SafetyNet check never completes or indicates "the response is invalid".
So, please verify or review your module. Only disabling it the SafetyNet continues working well.
Or almost, put this info in the description, because your module is now in the official repository.
Regards.
manos78 said:
Hi @ianmacd,
I installed your Magisk module. However, I found a trouble: when enabling your module, the SafetyNet check never completes or indicates "the response is invalid".
So, please verify or review your module. Only disabling it the SafetyNet continues working well.
Or almost, put this info in the description, because your module is now in the official repository.
Regards.
Click to expand...
Click to collapse
The issue might be that the module mounts the binary to /system/xbin, and that your device doesn't have a xbin folder by default. This has been known to cause issues, and seem to be even more prevalent on recent Magisk releases. Try changing the modules xbin folder to bin and reboot, to see if it makes any difference.
@ianmacd It's a good idea to look for the existence of xbin at installation and use bin instead if it doesn't exist.
Didgeridoohan said:
The issue might be that the module mounts the binary to /system/xbin, and that your device doesn't have a xbin folder by default. This has been known to cause issues, and seem to be even more prevalent on recent Magisk releases. Try changing the modules xbin folder to bin and reboot, to see if it makes any difference.
@ianmacd It's a good idea to look for the existence of xbin at installation and use bin instead if it doesn't exist.
Click to expand...
Click to collapse
Thanks for the tip, @Didgeridoohan.
I'll have to read up on the Magisk installation environment to ensure that I write the logic in a sane way. By that, I mean, for example, that I'm unsure whether I can just check for [ -d /system/xbin ], or whether I might get a false positive if some other module has erroneously faked the existence of this directory.
ianmacd said:
Thanks for the tip, @Didgeridoohan.
I'll have to read up on the Magisk installation environment to ensure that I write the logic in a sane way. By that, I mean, for example, that I'm unsure whether I can just check for [ -d /system/xbin ], or whether I might get a false positive if some other module has erroneously faked the existence of this directory.
Click to expand...
Click to collapse
Good point... Check for /sbin/.core/mirror/system/xbin. That's the untouched /system mirror.
ianmacd said:
Thanks for the tip, @Didgeridoohan.
I'll have to read up on the Magisk installation environment to ensure that I write the logic in a sane way. By that, I mean, for example, that I'm unsure whether I can just check for [ -d /system/xbin ], or whether I might get a false positive if some other module has erroneously faked the existence of this directory.
Click to expand...
Click to collapse
Alternately you can just use bin and forget about xbin. There's really no technical reason to use xbin unless you're installing alternate forms of existing commands.
jcmm11 said:
Alternately you can just use bin and forget about xbin. There's really no technical reason to use xbin unless you're installing alternate forms of existing commands.
Click to expand...
Click to collapse
That's actually also been known to cause issues on some systems. While investigating issues like this, a while back, I believe it was found that it was most compatible to use xbin if it exists and bin if it doesn't.
I am using the version of magisk modified by @TeamMex for his Treble based Xperience ROM on Moto Z Play and I can't get magisk hide to work or modules to install. I found a work around for the modules but I really need magisk hide, is there a certain file I can make or copy from another device to force it to work? This is the log if any smart people want to give it a shot.
I'm completely in the dark about Treble, but after looking at your log I'm curious if you have root access at all? MagiskHide is triggering, but there's a whole lot of sqlite3 database issues, which makes me thing you have su problems.
Does that Magisk version happen to have verbose logging enabled so that you have a magisk_debug.log in /data/adb? If so, that log might show more.
Didgeridoohan said:
I'm completely in the dark about Treble, but after looking at your log I'm curious if you have root access at all? MagiskHide is triggering, but there's a whole lot of sqlite3 database issues, which makes me thing you have su problems.
Does that Magisk version happen to have verbose logging enabled so that you have a magisk_debug.log in /data/adb? If so, that log might show more.
Click to expand...
Click to collapse
in unnoficial treble need to handle other partition name as vendor in this case need to mount oem partition as vendor (if we try to use oficial magisk it make a bootloops)
Su works(you can modify system partition but not vendor trying to modify vendor makes a system freezing) but MagiskHide isn't here
Hi,
Regarding the Magisk for Treble devices, I found sparse and inconsistent info. So, I suggest to write up-to-date info and details.
So, I do this summary:
At time, no official support of Magisk for Treble devices.
Some unofficial ports exists: v16.0 from @pchatzop; v16.3 from @faizauthar12; etc.
I feel that not all treble devices has equal partitions, so the unofficial versions can, or can not, work in all devices.
And this is all the info that I see.
Please, can you help to complete it?
Thank you!
manos78 said:
Hi,
Regarding the Magisk for Treble devices, I found sparse and inconsistent info. So, I suggest to write up-to-date info and details.
So, I do this summary:
At time, no official support of Magisk for Treble devices.
Some unofficial ports exists: v16.0 from @pchatzop; v16.3 from @faizauthar12; etc.
I feel that not all treble devices has equal partitions, so the unofficial versions can, or can not, work in all devices.
And this is all the info that I see.
Please, can you help to complete it?
Thank you!
Click to expand...
Click to collapse
Hey
my custom release is only for "factory" partition
although, we ( z2_plus user ) doesn't need these custom binaries anymore
we're already rename our partition to "vendor"
here is the link
faizauthar12 said:
Hey
my custom release is only for "factory" partition
although, we ( z2_plus user ) doesn't need these custom binaries anymore
we're already rename our partition to "vendor"
here is the link
Click to expand...
Click to collapse
Thank you!
As soon I'll receive my new Moto G6+, I need to know how to "port" Magisk to this model...
Regarding your mod:
It can work with other devices despite the Z2+?
Why you write in "/system" (updater-script creates "/system/addon.d/")?
Any recomendation for doing the port?
Regards. :highfive:
NOTE: This is only for Nougat (7.1) custom ROMs (such as Lineage 14.1 based)!
Make sure you do a proper nandroid backup before flashing!
I made a flashable zip for updating the libhoudini stuffs for Nougat (7.1) ROMs to 7.1.0a_y.49344. Not sure if this has been posted elsewhere before, though.
Before flashing, check your current libhoudini version by typing "houdini --version" either from adb shell or from terminal emulator. (UPDATE: Use the built-in Terminal as it doesn't work in Termux)
You should only try to flash this if your houdini version is below 7.1.0a_y.49344. Current custom ROMs usually have a houdini version of 7.1.0_y.48901 (DotOS 1.2 for example).
Flashable zip (It's about 34MB in size) (Dropbox link here)
The original source is from here, apparently taken from Nexus Player (fugu).
After flashing, "houdini --version" should report something like this:
Code:
[14902]
[14902] Houdini version: 7.1.0a_y.49344
[14902]
TESTING NEEDED: I'm not sure what this version of houdini might fix or break, so try this at your own risk. If you're currently not having problems with apps then there's no need to flash this. Compared with existing device files (7.1.0_y.48901, in /system/lib/arm/), several library files are changed, plus an additional "libgate.so" which I could identify it as being an ARM library file (so it'll also be placed in /system/lib/arm, although I'm not sure where it might be used).
EXPERIMENTAL (UNTESTED!): Here's another version in case someone might be interested. This build is 8.0.0_y.49374, and the version number literally means it's to be used for Oreo, so I'm not sure if it'll work on a 7.x ROM. The original source of this version is from Android-x86.
Flashable zip (Dropbox link here)
If the zip works, it should report the following version:
Code:
[19729]
[19729] Houdini version: 8.0.0_y.49374
[19729]
What is the use for this ?
PedroCaseiro said:
What is the use for this ?
Click to expand...
Click to collapse
It's just to put updated libhoudini libraries into the device, in hope that those updated stuffs might help with fixing some native libhoudini crashes on certain problematic ARM-only apps.
I had some ARM-only apps that always FC with native crashes (SIGSEGV) from libhoudini on Zenfone 2. Although the updated binaries unfortunately could not fix the problems entirely, at least the they work as intended as I haven't discovered anything broken by the updated stuffs yet.
However, this won't help if your app crash is due to the developer shipping an incomplete set of x86 native binaries (this can happen). You need to sideload it through adb and force it to use ARM abi, like this:
Code:
adb install --abi armeabi xxx.apk
Note that the abi name varies among apps, armeabi is just an example, it might be arm, or armeabi-v7a, depending on the app itself.
EDIT: Say, is there a way to report device incompatibilities to Play Store so I can explain the device's situation and let Play Store always ship the last known good version for our device? There seem to be some apps that previously worked, but not now due to updated native libraries that would cause native crashes on libhoudini (Play Store will still treat our device as compatible due to the device exposing the ARM abis thanks to libhoudini), and I often need to disable the app in question's auto-update to prevent Play Store updating it to the native-crashing version.
Running "houdini --version" in a terminal emulator results in:
"houdini: command not found"
for latest version of Groovy Android
deckinghalls said:
Running "houdini --version" in a terminal emulator results in:
"houdini: command not found"
for latest version of Groovy Android
Click to expand...
Click to collapse
Are you using Termux? It seems I'm getting the same result there as well, but houdini outputs just fine in the built-in Terminal as well as in the T-UI launcher.
And as for file lists:
In /system/bin there's the "houdini" binary.
Then there's "libhoudini.so" in /system/lib/ (this is the main library which is of i386 architecture).
And the rest of the files (ARM libraries) in /system/lib/arm/. These consist of the exact same set of files as the ones provided by the custom ROMs, plus an additional one (libgate.so).
LSS4181 said:
Are you using Termux? It seems I'm getting the same result there as well, but houdini outputs just fine in the built-in Terminal as well as in the T-UI launcher.
And as for file lists:
In /system/bin there's the "houdini" binary.
Then there's "libhoudini.so" in /system/lib/ (this is the main library which is of i386 architecture).
And the rest of the files (ARM libraries) in /system/lib/arm/. These consist of the exact same set of files as the ones provided by the custom ROMs, plus an additional one (libgate.so).
Click to expand...
Click to collapse
I am not sure what is meant by "the built-in Terminal" (I don't recall any ROM coming with one?) but I did use Termux as well as the terminal in TWRP. I figured out if you type "su" to get root access first, then the command works fine in Termux.
Flashed the .zip file. So far, I haven't noticed any changes, good or bad. I don't remember which apps would FC (maybe the Amazon Echo app and Disney Infinity 3.0?) but I'll keep you posted.
deckinghalls said:
I am not sure what is meant by "the built-in Terminal" (I don't recall any ROM coming with one?) but I did use Termux as well as the terminal in TWRP. I figured out if you type "su" to get root access first, then the command works fine in Termux.
Flashed the .zip file. So far, I haven't noticed any changes, good or bad. I don't remember which apps would FC (maybe the Amazon Echo app and Disney Infinity 3.0?) but I'll keep you posted.
Click to expand...
Click to collapse
Some ROMs do have built-in terminal app. However, you need to enable it, which can be done in Settings -> Developer Options (assuming you know how to enable Developer Options as well). There would be an option to enable "Local terminal" which is the built-in terminal app.
Which means it will help the x86 device run ARM ???
I do not understand. Please analyze me
Mkey_34 said:
Which means it will help the x86 device run ARM ???
I do not understand. Please analyze me
Click to expand...
Click to collapse
libhoudini is Intel's ARM binary translator that helps x86 devices run ARM apps, albeit with some limitations and performance reduction due to overhead. Without it, most apps won't be able to work at all, as they don't have x86 native libraries.
Zenfone 2 already has houdini included, that's why it could run as many apps as any other devices. The flashable zip here contains updated files (for 7.1 ROMs) in hope it could help with some problematic ARM-only apps that refuse to work with libhoudini, though in most cases the differences are barely noticeable.
LSS4181 said:
libhoudini is Intel's ARM binary translator that helps x86 devices run ARM apps, albeit with some limitations and performance reduction due to overhead. Without it, most apps won't be able to work at all, as they don't have x86 native libraries.
Zenfone 2 already has houdini included, that's why it could run as many apps as any other devices. The flashable zip here contains updated files (for 7.1 ROMs) in hope it could help with some problematic ARM-only apps that refuse to work with libhoudini, though in most cases the differences are barely noticeable.
Click to expand...
Click to collapse
Thank you
---------- Post added at 02:58 AM ---------- Previous post was at 02:53 AM ----------
something's wrong I can not download it. I need another link. thank you
My device is running Groovy Android 7.1.1, 18 May Build.
so i have successfully upgraded houdini version using your flashable file. Thank You for your work.
what if i want to revert to the houdini version that comes preinstalled with the rom, will dirty flash rom zip work?
sushuguru said:
what if i want to revert to the houdini version that comes preinstalled with the rom, will dirty flash rom zip work?
Click to expand...
Click to collapse
The zip is meant to be flashed every time you reflash the ROM, so yes, dirty flashing should be able to revert it.
But again... you're supposed to do a nandroid backup before flashing, and there's no need to flash this if you aren't encountering any native code crashes from arm-only apps at the moment.
Unfortunately, as Intel had already left the mobile market and no more Intel-powered smartphones produced anymore, some developers started to "move on" and use libraries or compiler options incompatible with houdini in order to make their apps run more efficient on modern ARM smartphones, without having to be "constrained" for compatibility reasons...
The houdini binaries I found only seems to be a minor update, and I'm not sure if Intel is still working on this or if there are possibilities to obtain an even newer houdini version with "y" suffix, which our phone uses.
Added an experimental (UNTESTED!) version found from Android-x86 (8.0.0_y.49374). This version was originally meant for Oreo, so I'm not sure if this would work on a Nougat ROM.
Currently on Android-x86 only the "y" version (which our devices use) is available. The other versions ("x" and "z") are not present, and the link would simply give you a "not found" error.
Although I don't mainly use the phone anymore, I could still conduct some tests with the device if I have time.
Bit the bullet and tested the 8.0.0_y.49374 build. Does not work. Evie force crashes right off the bat. Haven't tested further than this, but if I cannot even use my launcher of choice, that isn't a good sign.