[MODULE] Boot Animation Installer - Magisk

This is a simple module to replace your device's boot animation systemlessly.
Supports any device (probably)
Supports any boot animation (for your device)
Use with Magisk 20.3 or newer
Usage:
Place any boot animation.zip file on root of internal storage
( sdcard/ or storage/emulated/0/ )
Default install location is /system/media
(Most devices use this location)
If your device doesn't place boot animations there, you can create a txt file on the root of internal storage (This file is automatically generated after running the script once) to specify a different install location. It needs to be labeled
Code:
install-location.txt
Contents of it should be the location directory for your device
Example
Code:
/system/media
Or
Code:
/carrier/media
Thanks to @topjohnwu for Magisk
Thanks @Zackptg5 for MMT-Extended and debugging
Tested on OnePlus 7T - Android 10 - Magisk 20.3

Future plans are to add this module to the Magisk Official Repo, but for now downloads are attached here.
Also planned support for more than just bootanimation.zip such as Samsung phones

Script Error
During the installation, the script says "Install-location.txt not round!" In which folder should I place the install-location.txt file ?

LavaboSatanique said:
During the installation, the script says "Install-location.txt not round!" In which folder should I place the install-location.txt file ?
Click to expand...
Click to collapse
( sdcard/ or storage/emulated/0/ )

LavaboSatanique said:
During the installation, the script says "Install-location.txt not round!" In which folder should I place the install-location.txt file ?
Click to expand...
Click to collapse
After installing the first time, if it doesn't find it, it will make one that you can edit. Or you can place it in the root of your internal storage. Usually /sdcard

Thanks! Was going nuts trying to find something that worked for my Oneplus 7T Pro Mclaren.

Will it work with MSM Xtended ROM for oneplus 7T?

vikram. vikie said:
Will it work with MSM Xtended ROM for oneplus 7T?
Click to expand...
Click to collapse
Yes if you set the location to system/product/media

Cm4nXD said:
Yes if you set the location to system/product/media
Click to expand...
Click to collapse
Tried but no luck.

Working fine on Mi 9T. Thanks!

cant seem to get this to work on my pixel 3 running the last Dirty Unicorns.

Got this working. Thanks.

Neither working for me. Only longens the boot. My Device is an FP3 on Andoid 10 and location /system/product/media. Just to give you an short feedback.

I had to unzip the replacer zip file and edit the customize.sh file. Also put everything including your new bootanimation in root of internal storage.
You need to modify these lines:
# Construct your own list here
REPLACE="
$LOCATION/bootanimation.zip
to something like this :
# Construct your own list here
REPLACE="system/media/bootanimation.zip"
after REPLACE= this is the location of your original bootanimation.zip which us usually in system/media but may also be in locations like prism/media/carriers/single/ATT/media/
on newer Samsung phones. The ATT would be replaced with whatever network name your phone is on like VZ, TMOB etc or whatever you find in that folder if your aren't on ATT.

droidzer1 said:
I had to unzip the replacer zip file and edit the customize.sh file. Also put everything including your new bootanimation in root of internal storage.
You need to modify these lines:
# Construct your own list here
REPLACE="
$LOCATION/bootanimation.zip
to something like this :
# Construct your own list here
REPLACE="system/media/bootanimation.zip"
after REPLACE= this is the location of your original bootanimation.zip which us usually in system/media but may also be in locations like prism/media/carriers/single/ATT/media/
on newer Samsung phones. The ATT would be replaced with whatever network name your phone is on like VZ, TMOB etc or whatever you find in that folder if your aren't on ATT.
Click to expand...
Click to collapse
The $LOCATION variable is read from the install location txt file.

I have a rooted OP8T running DerpFest... I got this to work making the following 2 changes:
1. If you edit "customize.sh" file, there is no need for the "install-location.txt" file...
- here is what mine looks like (notice I left all lines in place)
Code:
# Construct your own list here
REPLACE="
system/product/media/bootanimation.zip
"
2. If you unzip the file, you'll see a "system" folder... I basically created the same folder structure from above and then added the "bootanimation.zip" file I want to use. For example, the files and folders within "system" should match ur phones directories. This idea came from a similar Mod I used on the same phone, but with the stock OS.
So once everything was in place, I zipped that along with the edited "customize.sh" file into a new "bootanimationreplacer" file.
If anyone has an OP8T, my modified version should work for you... I also created my own boot animation if you wanna check it out.

Related

[MOD][TEMPLATE] Magisk Module Template with EvilTheme Patcher

Hello everyone.
This is a little mod to the Magisk Module Template that allows you to patch APK files on-the-fly and have them created as a Magisk Module.
For example, you could have a modified camera module for your ROM, where this patcher would replace the classes.dex file with mods, then pack that as a Magisk Module, using the original file found in the /system (ROM)
For some of the devs that have been around for a while, you would be aware of the old VRTheme modding system, which would allow you to patch files on-the-fly. EvilTheme is basically a newer version of that, so combined with Magisk can be very useful
Here's what this module CAN do:
Replace resources.arsc, classes.dex, AndroidManifest.xml, and META-INF folder
Replace compiled res folders / files
Here's what this module CAN'T do:
Replace files in res/values or smali folders
How to use EVilTheme
(Example using /system/priv-app/SecSettings2.apk)
In the eviltheme folder, go to system and make a folder called priv-app. Inside it, make another folder called SecSettings2.apk
Now make folders as necessary, according to the location of the files you want to theme. For example, battery_icon_50.png is located in res/drawable-hdpi, so make a folder named res inside SecSettings2.apk.
Inside it, create a folder named drawable-hdpi, then paste your new battery_icon_50.png inside.
Repeat step 2 until you've placed your theme files in their appropriate locations.
When you're done, go back to the root folder of the theme (the one that contains eviltheme, engine, etc.) and put all the objects in a ZIP file.
You should use Deflate compression with compression level on Normal, but if your theme is huge, you can safely try compressing using Deflate and the level set to Ultra or whatever high level is available.
Test your mod.
For information regarding the Magisk Module subbmision etc, please read the information HERE
Link to Github Repository: HERE
Enjoy
Nice! Sounds interesting!
I've been using vrtheme for years and even contacted spanna aabout adapting the script to achieve modding of live system files this eliminating the need for recovery zips and even Aroma!
So I have a question about the use and locations of the asset files.
Would it be possible to change, at least the location from which the files get pulled from and placed into the execute folders?
So basically could it be set to pull the image/resource, whatever file from either a data folder or my preference, sd storage?
I've used an asset folder built into my system for similar commands, but with enough options and large files the system partition can get extremely crowded.
Does my question make sense?
Basically i would like to eliminate a big section of my packed 2gb Aroma zip. About 700mb is all vrtheme injected compiled files.
Either way I will definitely be looking into this!
Thanks
stangdriver44 said:
Nice! Sounds interesting!
I've been using vrtheme for years and even contacted spanna aabout adapting the script to achieve modding of live system files this eliminating the need for recovery zips and even Aroma!
So I have a question about the use and locations of the asset files.
Would it be possible to change, at least the location from which the files get pulled from and placed into the execute folders?
So basically could it be set to pull the image/resource, whatever file from either a data folder or my preference, sd storage?
I've used an asset folder built into my system for similar commands, but with enough options and large files the system partition can get extremely crowded.
Does my question make sense?
Basically i would like to eliminate a big section of my packed 2gb Aroma zip. About 700mb is all vrtheme injected compiled files.
Either way I will definitely be looking into this!
Thanks
Click to expand...
Click to collapse
You could, but you would have to look at update-binary and installtheme.sh, then modify it for your needs. So instead of copying the modded files from the flashable zip, you would just have to remove the unzip function and change the path of where they are unzipped to to the location of where the files are on your data partition.
Give it a try
so with this I can technically change the rotation of an app without ever messing with the apk? I've tried editing the AndroidManifest.xml, but after editing I've never been successful putting it back into the apk
dimm0k said:
so with this I can technically change the rotation of an app without ever messing with the apk? I've tried editing the AndroidManifest.xml, but after editing I've never been successful putting it back into the apk
Click to expand...
Click to collapse
If you plan to change androidmanifest.xml you will have to include the newly created META-INF folder for it too.
Could this be used to convert substratum themes to work systemlessly with magisk?
Sent from my Pixel using XDA Labs
qwer777 said:
Could this be used to convert substratum themes to work systemlessly with magisk?
Sent from my Pixel using XDA Labs
Click to expand...
Click to collapse
If you're talking about pre-packaged APK theme files, no it probably won't work, as they still need to be installed.
This is more for files that are already installed that require patching.
Nice work
Got one question - is it possible to modify classes.dex if .apk file is not in system folder? I mean for example, if system app gets updated, it creates new folder in data/app/ with the name of the package and with either -1, -2 or whetever number at the end (ex. data/app/com.google.android.youtube-2).
Do I need to just integrate update into system and then modify it? Or just create new folder in eviltheme one with data/... instead of system/...?
Thanks
I tried to modify system/framework/framework-res.apk/res/drawable-xxhdpi-v4/default_wallpaper.jpg, but unfortunately it did not work. Neither on InFocus M808/mod stock 6.0(mt6753) nor on SamsungS5Neo/mod stock 6.0.1(exynos7580)
Both tried with official Magisk 12.0 and newest beta.
nevermind i didn't read all the way
drei.liter.milch said:
I tried to modify system/framework/framework-res.apk/res/drawable-xxhdpi-v4/default_wallpaper.jpg, but unfortunately it did not work. Neither on InFocus M808/mod stock 6.0(mt6753) nor on SamsungS5Neo/mod stock 6.0.1(exynos7580)
Both tried with official Magisk 12.0 and newest beta.
Click to expand...
Click to collapse
Started another try to replace some icons. did not work. am I missing something or is this template just faulty?
anybody who got this working?
drei.liter.milch said:
Started another try to replace some icons. did not work. am I missing something or is this template just crap?
anybody who got this working?
Click to expand...
Click to collapse
That was a bit rude.
Edit: better to give some details on what you've actually done, maybe even upload your files. Easier to find any faults on your side or possible bugs that way.
I want to add the clock onto my lockscreen statusbar. Would this help me achieve that?
Didgeridoohan said:
That was a bit rude.
Edit: better to give some details on what you've actually done, maybe even upload your files. Easier to find any faults on your side or possible bugs that way.
Click to expand...
Click to collapse
yes ok, the word "crap" maybe was a little bit over the top. i'm sorry for that. I just would like to know, if anybody can report this module/template as working. If so, I would go on looking for the error on my side.
I've actually followed exactly the guide given in OP. (It seems not that tricky to me)
-placed folder tree system/framework/framework-res.apk/res/drawable-xxhdpi-v4/ in the eviltheme-folder and put my default_wallpaper.jpg file in drawable-xxhdpi-v4 folder
-edited module.prop und config.sh
-zipped the whole template folder
-installed via magisk manager
-rebooted
tried with to different phones, beta and official magisk (see my first post)
I'll reproduce my logs and attach them later.
anyway thanks for the hint
drei.liter.milch said:
yes ok, the word "crap" maybe was a little bit over the top. i'm sorry for that. I just would like to know, if anybody can report this module/template as working. If so, I would go on looking for the error on my side.
I've actually followed exactly the guide given in OP. (It seems not that tricky to me)
-placed folder tree system/framework/framework-res.apk/res/drawable-xxhdpi-v4/ in the eviltheme-folder and put my default_wallpaper.jpg file in drawable-xxhdpi-v4 folder
-edited module.prop und config.sh
-zipped the whole template folder
-installed via magisk manager
-rebooted
tried with to different phones, beta and official magisk (see my first post)
I'll reproduce my logs and attach them later.
anyway thanks for the hint
Click to expand...
Click to collapse
Flash Via Recovery, it may work. didnt work for me when i installed from magisk manager.
btw i have a question, is there any way to remove a file from the apk?
shekhawat2 said:
Flash Via Recovery, it may work. didnt work for me when i installed from magisk manager.
btw i have a question, is there any way to remove a file from the apk?
Click to expand...
Click to collapse
thx, i'll try that. which magisk-version do you use? and i guess maybe you can remove a file by placing a dummy.
drei.liter.milch said:
thx, i'll try that. which magisk-version do you use? and i guess maybe you can remove a file by placing a dummy.
Click to expand...
Click to collapse
No brother, I want to delete the file, not to replace it with dummy file. Replacing with dummy file will give system ui FCs.
I saw something delete.list in the installtheme.sh, but I don't know how to use it. If anyone can help, pls help me.
BTW I am using Magisk v12.
shekhawat2 said:
No brother, I want to delete the file, not to replace it with dummy file. Replacing with dummy file will give system ui FCs.
I saw something delete.list in the installtheme.sh, but I don't know how to use it. If anyone can help, pls help me.
BTW I am using Magisk v12.
Click to expand...
Click to collapse
Ok, I see. Perhaps you find sth about it in the vrtheme-topic. Btw. flashing in recovery doesn't work either. I'm not messing around with this anymore and continue using flipster :good:
Where can we download? I want to change Viber's background to pure black so I will change the AndroidManifest. Will this theoretically work?
I was wondering what, if anything, I would need to change for this to work on a pixel. On Pixel's, the install path is system/system. I couldn't tell whether or not this could detect the correct path on its own.
Edit: Never mind. I got it to work.

How to make a Magisk module replace files

Hi!
i don't know how to make a module so i want replace file in system/etc (file i want replace fonts.xml)
so can anyone help?!?
All the instructions you need are right here:
https://topjohnwu.github.io/Magisk/guides.html
Hi Sorry i try to read it (and look half internet) to understand how to simply replace a file with magisk. Maybe it has changed with version 24? Please link some source where it's easly explained how this task could be achieved.
Isn't this what you are looking for? https://topjohnwu.github.io/Magisk/guides.html#the-system-folder
The system folder
All files you want to replace/inject should be placed in this folder. This folder will be recursively merged into the real /system; that is: existing files in the real /system will be replaced by the one in the module’s system, and new files in the module’s system will be added to the real /system.
Click to expand...
Click to collapse

[Help] Creating Module for vendor partition changes

Hello Fellow Users,
Let me start with the fact that I have zero experience of making flash modules (TWRP/Magisk) and am just dabbling around.
Some background, I found a TWRP flash zip file which makes changes to vendor partition of Redmi Note 7 Pro (violet) running MIUI OS (Android Q) - this is a sound mod.
Now, with TWRP file the issue is that if it doesn't work or has any issues, we need to dirty flash ROM all times (or atleast dirty flash the vendor partition). There is no one-click remove option.
Hence I thought why can't the same be done via Magisk systemless and dabbled around a bit. Below is my experience of the last 2 days.
Now, coming to the original TWRP file - it copies/replaces three folders with included files to vendor partition. Path of folders is following
Code:
/vendor/etc
/vendor/lib/soundfx
/vendor/lib64/soundfx
These 3 folders and similarly named files within them already exist by default in the phone prior to flashing.
Now basis the Magisk guides I saw around and wiki from @Zackptg5 I did the following changes to the default template:
1) Edited customize.sh to define folders to be replaced
Code:
REPLACE="
/vendor/etc
/vendor/lib/soundfx
/vendor/lib64/soundfx"
2) Since Magisk will always look for the vendor under the system folder and so I moved the vendor folder under system folder
Basis same, created attached module and flashed and it installed.
But then three queries in my mind:
1) Are the new files actually replaced systemless and in-use? My concerns as don't see any intended change in sound
2) Is there a way to check if new files are being used o available to system?
3) Is this method of putting replace under customize.sh file the way out? While studying some similar modules making changes to vendor partition, I found that they have default (no change) customize.sh but rather make changes to common/post-fs-data.sh etc
So, looking forward to feedback from users experienced in making Magisk module. Thanks in advance for your time and efforts!
PS: attached is the WIP module which I wrote and also got installed in Magisk Manager
TLDR: How to make a Magisk Module using TWRP files to ensure systemless modification of folder/files in the vendor partition
1 - The REPLACE variable is used to replace the directories you specify with empty folders, not with what you want to add systemlessly. You might want to follow the advice written in the customize.sh file and read the documentation (@topjohnwu has everything explained there):
https://topjohnwu.github.io/Magisk/guides.html
Edit: If you do want to first "remove" (systemlessly, of course) everything in those folders, then keep them in the REPLACE variable. I just realised that it's a little unclear if that's what you want to do or not...
2 - That's the correct procedure. If all you want to do is to add or replace some files to your device, the only thing you need is to put those files in the /system directory of your module. That's it. The customize.sh file is used if you want to customise the installation logic of your module (not necessary if you're just adding files to your device) and post-fs-data.sh and service.sh are boot scripts to run code at boot (again not necessary if you're just adding files systemlessly to your device, see the linked docs for details).
Right now your module isn't adding anything, since the directories in the module's system folder are all empty. There's nothing to add. All it does is to replace those directories with empty ones (see #1 above). I'd say that using MMT is way overkill for such a simple module...
One you've installed a module Magisk will mount that modules files over your existing ones at boot. If the file under the real system path matches the one found in the module directory (under /data/adb/modules) everything is working as it should.
@Didgeridoohan Thanks for taking our time to give detailed reply and guidance
Finally was able to successfully install the module (named AudioEngine) and I do see files under /data/adb/modules but I have the following issue:
All these new files are under:
/data/adb/modules/AudioEngine/system/vendor folder and not under
/data/adb/modules/AudioEngine/vendor folder
Is that ok? If yes, why do we see /data/adb/modules/AudioEngine/vendor separately too?
Attached is final module as well as the screenshot of /data/adb/modules/AudioEngine/ as seen in file manager.
The /vendor folder is a symlink to /system/vendor, created by Magisk. That's just how Magisk works...
From your screenshot it looks like things are working as they should.
That uninstall script looks unnecessary though. The module isn't placing or altering anything outside the module folder, so when uninstalled there won't be any leftovers anyway.
im also try to do something similar with some audio libs in vendor partition for poco f2 with miui12 however if i add any libs to go into vendor/lib, for some strange reason, i lose wifi. theres no issues if vendor/lib/soundfx or vendor/lib64 is occupied with files just the lib directory only. the actual files that are going into lib are not replacing anything but are new files

android 11 root problem miui 12.5

hi.I rooted the phone using magisk, it was installed and apparently rooted, but I have a problem with root file programs like root explorer or es file manager. The problem is that the rw mount does not work or I even have trouble installing busybox.
my phone : redmi note 10 pro
miui version : 12.5.8 and 12.5.9
android version : 11
magiak version : 23
I don't know deeply this case, but it was told that mounting r/w is not possible in recent Androids for system partitions.
However this is Magisk benefit that you put your files to it's tree and Magisk overmounts original files, I guess it does it using option "mount --bind".
You put file into /data/adb/modules/<module_name>/system/etc/<exemplary file> and after reboot you see it under /system/etc/.
At least the above path was checked personally by me by changing /system/etc/gps_psds.conf file to my own.
F308 said:
I don't know deeply this case, but it was told that mounting r/w is not possible in recent Androids for system partitions.
However this is Magisk benefit that you put your files to it's tree and Magisk overmounts original files, I guess it does it using option "mount --bind".
You put file into /data/adb/modules/<module_name>/system/etc/<exemplary file> and after reboot you see it under /system/etc/.
At least the above path was checked personally by me by changing /system/etc/gps_psds.conf file to my own.
Click to expand...
Click to collapse
I want to install a program as a system, but it is not possible without rw mount, do you know the solution?
I presume you have at least one Magisk module installed.
Put it into /data/adb/modules/<any_Magisk_module_name>/PATH_WHERE_YOU_WANT_TO_HAVE_IT/.
If wanted directories don't exist - create them.
Reboot.
Check.
Maybe tune permissions to make file executable.
Report result here.
F308 said:
I presume you have at least one Magisk module installed.
Put it into /data/adb/modules/<any_Magisk_module_name>/PATH_WHERE_YOU_WANT_TO_HAVE_IT/.
If wanted directories don't exist - create them.
Reboot.
Check.
Maybe tune permissions to make file executable.
Report result here.
Click to expand...
Click to collapse
I have no problem installing the module. My problem is accessing the system / app folder and making changes.
What changes do you want to perform?
Change one or more of files there, right?
If so - I repeat.
Put your modified file(s) under /data/adb/modules/<any_installed_Magisk_module_name>/system/app/ and reboot.
F308 said:
What changes do you want to perform?
Change one or more of files there, right?
If so - I repeat.
Put your modified file(s) under /data/adb/modules/<any_installed_Magisk_module_name>/system/app/ and reboot.
Click to expand...
Click to collapse
I do not want to install the module, I want to move an apk file to the system/app folder that is installed as a system and can not be deleted
I wasted my time.
Good luck.
I devoted a while to check that I was right suggesting what I suggested.

General [Bounty] Viper4android fix

So I'm not sure if I'm doing this the right way, but I think in an effort to get experienced devs to take a look into our viper4android driver loop issue a bounty is in order.
I have tried every method I could find to get viper4android to work on our OnePlus 10 pro with no success.
Below I'll start a list of pledgers who are willing to pay the bounty when/if a fix is found. I'll add to the list as other pledgers come forward. Any pledge amount helps.
•ecera -$50
•Aldonski - $10
On a side note, I'll be willing to test any fixes that are thrown my way. I'm also ready to provide any files or logs that are requested. Also, if you guys/gals want to tag some members that may be willing to take on this task please do so. Thanks.
@shadowstep @dorimanx @zgfg @vczilla @Juniiim
Hope you guys don't mind me tagging you. From posts I have read of yours, you guys know your stuff. Or maybe you can recommend someone who will be interested in the bounty.
So I'm guessing a little basic info would be helpful. The OnePlus 10 pro is running oos12, the normal post-fs-data.sh fix where vendor/etc and odm/etc "audio_effects.xml" is binded doesn't work(as expected since the file doesn't exist under vendor/etc on this device.) I'll attach a photo where audio_effects.xml can be found on this device. Another thing to note is that the viper4android.zip by @shadowstep actually adds audio_effects.xml &.conf to vendor/etc. But trying to bind this newly created audio_effects.xml to the one in odm/etc doesn't make any changes to the one in odm. I'm also unable to launch the viper4android app using his version, but installing the apk again allows me to open the app. I'm just not sure if that affects anything as far as the functionality of his module. I could though bind the audio_effects.xml located in vendor/etc/audio/sku_cape to the odm/etc one, but driver loop persists. I'm out of ideas I've literally tried every module(aml, jdsp, ainur, acp, v4a from the magisk repo, other versions of v4a zips in different orders/ combinations. Nothing has worked so far.
Aldo - $10
great ideea mate
try this:
remove all sound mods you have added, including the module from magisk and the viper app!
reboot!
Install attached Audio-Modification-Library_v4_0-OS12-op10
reboot!
install com.pittvandewitt.viperfx_2.7.2.1-2721.apk
open the viper app, and click install drivers.
phone auto reboot.
copy attached post-fs-data.sh to /data/adb/modules/ViPER4AndroidFX/ (use adb or rooted file manager)
REBOOT, do not open the app!!!!
now if we hit the FIX, if you will open the app it's should not ask to install drivers.
if it's stop asking, check the state, if it's not NORMAL then tick the Legacy Mode, and check state.
should be Status Normal.
I hope this will work for you.
ecera said:
So I'm guessing a little basic info would be helpful. The OnePlus 10 pro is running oos12, the normal post-fs-data.sh fix where vendor/etc and odm/etc "audio_effects.xml" is binded doesn't work(as expected since the file doesn't exist under vendor/etc on this device.) I'll attach a photo where audio_effects.xml can be found on this device. Another thing to note is that the viper4android.zip by @shadowstep actually adds audio_effects.xml &.conf to vendor/etc. But trying to bind this newly created audio_effects.xml to the one in odm/etc doesn't make any changes to the one in odm. I'm also unable to launch the viper4android app using his version, but installing the apk again allows me to open the app. I'm just not sure if that affects anything as far as the functionality of his module. I could though bind the audio_effects.xml located in vendor/etc/audio/sku_cape to the odm/etc one, but driver loop persists. I'm out of ideas I've literally tried every module(aml, jdsp, ainur, acp, v4a from the magisk repo, other versions of v4a zips in different orders/ combinations. Nothing has worked so far.
Click to expand...
Click to collapse
I could give you suggestions/hints based on how I made it to work on my phone - but it was Xiaomi with stock A11, not your OnePlus 10 with oos12:
https://forum.xda-developers.com/t/...ndroid-10-11-12-devices.4213647/post-86870983
Anyway, before we start, please disable ALL audio moudules (any V4A, AML, etc you may have) and REBOOT
And then please respond/confirm the following:
1) Check, does your system show the same content (one should be mounted to another) for /system/vendor/etc and vendor/etc ?
You can use a root explorer like MiXPlorer or you cah check with ls command in terminal window, and when you boot with the Magisk root.
I.e, do not check from a custom recovery (mounting points must be properly in place when system/Android + Magisk are booted)
2) Check, does your system show the same content (one should be mounted to another) for /system/odm/etc and /odm/etc ?
3) Do you have audio_effects.xml in the following folders (with /vendor = /system/vendor and /odm = /system/odm as mentioned above):
/odm/etc
/vendor/etc/
/vendor/etc/audio/sku_cape
/vendor/etc/audio/sku_diwali
/vendor/etc/audio/sku_taro
4) Do you also have audio_effects.conf in the same folders as listed in 3) - if not, list in which of the folders you do have the conf file
For 1) and 2), we need to be sure if standard montings (as needed for V4A to mount files and work on your system).
For 3) and 4), we need to be sure if you originally (without the intervention from any audio module like the previous installation of V4A or AML, etc)
do have the audio_effects.xml and audio_effects.conf files in all those folders, or in which of them exactly
dorimanx said:
try this:
remove all sound mods you have added, including the module from magisk and the viper app!
reboot!
Install attached Audio-Modification-Library_v4_0-OS12-op10
reboot!
install com.pittvandewitt.viperfx_2.7.2.1-2721.apk
open the viper app, and click install drivers.
phone auto reboot.
copy attached post-fs-data.sh to /data/adb/modules/ViPER4AndroidFX/ (use adb or rooted file manager)
REBOOT, do not open the app!!!!
now if we hit the FIX, if you will open the app it's should not ask to install drivers.
if it's stop asking, check the state, if it's not NORMAL then tick the Legacy Mode, and check state.
should be Status Normal.
I hope this will work for you.
Click to expand...
Click to collapse
Thank you for responding! I'm going to test out your methods first, I will report back.
Edit: so I tried the method you suggested and unfortunately driver loop persists. So what I noticed is that audio_effects.xml in all directories on this phone remain untouched. They remain "stock". Also, under /data/adb/modules/aml or /Viper4Androidfx in the system folder in both directories subfolders were created, but remain empty. Not sure if there's any info you would like to take from the phone that I could get for you? I took a few screenshots, not sure if that'll help. I started clean with no mods and I took these after attempting the fix.
zgfg said:
I could give you suggestions/hints based on how I made it to work on my phone - but it was Xiaomi with stock A11, not your OnePlus 10 with oos12:
https://forum.xda-developers.com/t/...ndroid-10-11-12-devices.4213647/post-86870983
Anyway, before we start, please disable ALL audio moudules (any V4A, AML, etc you may have) and REBOOT
And then please respond/confirm the following:
1) Check, does your system show the same content (one should be mounted to another) for /system/vendor/etc and vendor/etc ?
You can use a root explorer like MiXPlorer or you cah check with ls command in terminal window, and when you boot with the Magisk root.
I.e, do not check from a custom recovery (mounting points must be properly in place when system/Android + Magisk are booted)
2) Check, does your system show the same content (one should be mounted to another) for /system/odm/etc and /odm/etc ?
3) Do you have audio_effects.xml in the following folders (with /vendor = /system/vendor and /odm = /system/odm as mentioned above):
/odm/etc
/vendor/etc/
/vendor/etc/audio/sku_cape
/vendor/etc/audio/sku_diwali
/vendor/etc/audio/sku_taro
4) Do you also have audio_effects.conf in the same folders as listed in 3) - if not, list in which of the folders you do have the conf file
For 1) and 2), we need to be sure if standard montings (as needed for V4A to mount files and work on your system).
For 3) and 4), we need to be sure if you originally (without the intervention from any audio module like the previous installation of V4A or AML, etc)
do have the audio_effects.xml and audio_effects.conf files in all those folders, or in which of them exactly
Click to expand...
Click to collapse
1) Ok, so /system/vendor/etc and /vendor/etc does show the same content. I'd note that audio_effects.xml and .conf are both missing in this directory from an untouched unmodified standpoint though.
2) system/odm/etc is non-existent on this phone. Odm/etc is there though. There is /vendor/odm/etc and shows the same content as odm/etc.
3) audio_effects.xml exists in the following locations.
- /odm/etc
- /vendor/etc/audio/sku_cape
- /vendor/etc/audio/sku_diwali
- /vendor/etc/audio/sku_taro
It is absent in
- /vendor/etc
4) audio_effects.conf exists under
- /vendor/etc/audio/sku_cape
- /vendor/etc/audio/sku_diwali
- /vendor/etc/audio/sku_taro
- /system/etc or /etc
It is absent from
- /odm/etc
- /vendor/etc
Again thanks so much for giving this a shot.
ecera said:
1) Ok, so /system/vendor/etc and /vendor/etc does show the same content. I'd note that audio_effects.xml and .conf are both missing in this directory from an untouched unmodified standpoint though.
2) system/odm/etc is non-existent on this phone. Odm/etc is there though. There is /vendor/odm/etc and shows the same content as odm/etc.
3) audio_effects.xml exists in the following locations.
- /odm/etc
- /vendor/etc/audio/sku_cape
- /vendor/etc/audio/sku_diwali
- /vendor/etc/audio/sku_taro
It is absent in
- /vendor/etc
4) audio_effects.conf exists under
- /vendor/etc/audio/sku_cape
- /vendor/etc/audio/sku_diwali
- /vendor/etc/audio/sku_taro
- /system/etc or /etc
It is absent from
- /odm/etc
- /vendor/etc
Again thanks so much for giving this a shot.
Click to expand...
Click to collapse
Ok, thanks
Then shortly based on 1) and 2):
/odm/etc
/vendor/odm/etc
/system/vendor/odm/etc
are all pointing to the same?
ecera said:
1) Ok, so /system/vendor/etc and /vendor/etc does show the same content. I'd note that audio_effects.xml and .conf are both missing in this directory from an untouched unmodified standpoint though.
2) system/odm/etc is non-existent on this phone. Odm/etc is there though. There is /vendor/odm/etc and shows the same content as odm/etc.
3) audio_effects.xml exists in the following locations.
- /odm/etc
- /vendor/etc/audio/sku_cape
- /vendor/etc/audio/sku_diwali
- /vendor/etc/audio/sku_taro
It is absent in
- /vendor/etc
4) audio_effects.conf exists under
- /vendor/etc/audio/sku_cape
- /vendor/etc/audio/sku_diwali
- /vendor/etc/audio/sku_taro
- /system/etc or /etc
It is absent from
- /odm/etc
- /vendor/etc
Again thanks so much for giving this a shot.
Click to expand...
Click to collapse
Following up, please have again all audio modules uninstlled, reboot and then follow:
- Install the official V4A FX module
- Reboot
- Run V4A app, it will complain that there is no driver installed and it will attempt to install
REBOOT but THEN DO NOT RUN V4A app yet!
1) Instead:
- go to /data/adb/modules/ViPER4AndroidFX/system/vendor
- there must be a subfolder etc with audio_effects.xml and audio_effects.conf
- check are those xml and conf files 'patched' by V4A as on my attached screenshots (they should be)?
2) Create the following system of folders:
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc (that one must have been existed)
/data/adb/modules/ViPER4AndroidFX/system/vendor/odm/etc
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio/sku_cape
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio/sku_diwali
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio/sku_taro
Copy that patched audio_effects.xml from:
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc
to the newly created folders:
/data/adb/modules/ViPER4AndroidFX/system/vendor/odm/etc
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio/sku_cape
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio/sku_diwali
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio/sku_taro
Copy also that patched audio_effects.conf from:
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc
for the beginning only to:
/data/adb/modules/ViPER4AndroidFX/system/vendor/odm/etc
Copy also the attached post-fs-data.sh to /data/adb/modules/ViPER4AndroidFX
3) Then reboot, again DO NOT RUN V4A app but first check:
- do you still have the created folders and files from (1) and (2) in /data/adb/modules/ViPER4AndroidFX/system/vendor/...
Also, now in the 'real' folders, starting from root / (no more in /data/adb/modules...):
/vendor/etc
/vendor/odm/etc
/vendor/etc/audio/sku_cape
/vendor/etc/audio/sku_diwali
/vendor/etc/audio/sku_taro
- check if every of them now contains your patched audio_effects.xml from (1).
- and check if the first two contain the patched audio_effects.conf also from (1).
(they are actually not copied there but Magisk must have mounted them from /data/adb/modules/ViPER4AndroidFX/system/vendor/...)
Pls check and confirm.
Then open V4a app and if it does no more complain, switch to Legacy mode and enjoy
4) If V4a app does not pass yet but still complains that driver is missing, it will delete everything that you did in (2).
Hence reboot, redo step (2) again but this time copy both the patched audio_effects.xml and audio_effects.conf from:
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc
to all those folders:
/data/adb/modules/ViPER4AndroidFX/system/vendor/odm/etc
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio/sku_cape
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio/sku_diwali
Reboot, again do not run yet V4A app but check if all the 'real' folders (starting from root /) contain the patched audio_effects.xml and audio_effects.conf:
/vendor/etc
/vendor/odm/etc
/vendor/etc/audio/sku_cape
/vendor/etc/audio/sku_diwali
/vendor/etc/audio/sku_taro
Pls check/confirm.
Now try again V4A app (with Legacy mode)...
Not sure would V4A app now really work but that was based on what you previously confirmed about your folders, trying to adapt how V4A mounts the patched xml and conf files to your case
zgfg said:
Ok, thanks
Then shortly based on 1) and 2):
/odm/etc
/vendor/odm/etc
/system/vendor/odm/etc
are all pointing to the same?
Click to expand...
Click to collapse
Yes, sorry had to drop the kiddo off at school. But, yeah they all point to the same.
ecera said:
Yes, sorry had to drop the kiddo off at school. But, yeah they all point to the same.
Click to expand...
Click to collapse
Ok, try the follow up, my subsequent post above. Let's see the results
@zgfg I installed the official viper magisk module, rebooted, opened the app, allowed the driver to install, rebooted, didn't open the viper app, went to /data/adb/modules/Viper4AndroidFX/system/vendor, it's empty. Besides a lib folder.
@zgfg something interesting though, I copied audio_effects.xml and .conf from /vendor/etc/audio/sku_cape and created a folder named "etc" in /data/adb/modules/Viper4AndroidFX/system/vendor and copied them there. Now, in /vendor/etc both audio_effects.xml & .conf exist. They aren't "patched" though.
ecera said:
@zgfg something interesting though, I copied audio_effects.xml and .conf from /vendor/etc/audio/sku_cape and created a folder named "etc" in /data/adb/modules/Viper4AndroidFX/system/vendor and copied them there. Now, in /vendor/etc both audio_effects.xml & .conf exist. They aren't "patched" though.
Click to expand...
Click to collapse
Yes, of course, that's the way how mounting works (and how all modules, including V4A utilize that)
Everything that Magisk finds in
/data/adb/modules/<some module folder>/system/<subfolders>/<file>
will be mounted to
system/<subfolders>/<file>
Eg, if you use Systemless hosts and AdAway in the root mode, then AdAway writes to:
/data/adb/modules/hosts/system/etc/hosts
and Magisk mounts that (upon reboot) to:
/system/etc/hosts
---
You could try to run V4A app now with your 'fake' XML and conf files in /vendor/etc (although I'm not sure how would VA app react when it already finds the XML and conf file in /data/adb/modules/Viper4AndroidFX/system/vendor/etc - the same place where it must write its own patched files with the same names)
to check would it then find the (mounted) XML and conf file from /vendor/etc
and would it create the corresponding patched files in its /data/adb/... folder
If it does, then you could continue with my previous post
@zgfg so following your instructions everything is working as far as binding all the locations. The only one that is not sticking is /data/adb/modules/ViPER4AndroidFX/system/vendor/odm/etc. I'm able to copy the patched audio_effects.xml and .conf in there, but they aren't reflecting in the "real" folder (/system/vendor/odm/etc/ or odm/etc.
ecera said:
@zgfg so following your instructions everything is working as far as binding all the locations. The only one that is not sticking is /data/adb/modules/ViPER4AndroidFX/system/vendor/odm/etc. I'm able to copy the patched audio_effects.xml and .conf in there, but they aren't reflecting in the "real" folder (/system/vendor/odm/etc/ or odm/etc.
Click to expand...
Click to collapse
Ok, then copy the attached post-fs-data.sh to /data/adb/modules/ViPER4AndroidFX
(Instead of the previously given sh file)
In the sh script you will see two mount -o bind commands, one for XML and the other for conf, like:
mount -o bind /data/adb/modules/ViPER4AndroidFX/system/vendor/etc/audio_effects.xml /system/vendor/odm/etc/audio_effects.xml
Their purpose is to manually mount from:
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc
to:
/system/vendor/odm/etc/
And REBOOT
Hence again, in the first path (folder) the patched XML and conf files must be present
If it doesn't work you can try shortening the second folder path (both for XML and conf) to:
/vendor/odm/etc
or even to:
/odm/etc
zgfg said:
Ok, then copy the attached post-fs-data.sh to /data/adb/modules/ViPER4AndroidFX
(Instead of the previously given sh file)
In the sh script you will see two mount -o bind commands, one for XML and the other for conf, like:
mount -o bind /data/adb/modules/ViPER4AndroidFX/system/vendor//audio_effects.xml /system/vendor/odm/etc/audio_effects.xml
Their purpose is to manually mount from:
/data/adb/modules/ViPER4AndroidFX/system/vendor/etc
to:
/system/vendor/odm/etc/
And REBOOT
Hence again, in the first path (folder) the patched XML and conf files must be present
If it doesn't work you can try shortening the second folder path (both for XML and conf) to:
/vendor/odm/etc
or even to:
/odm/etc
Click to expand...
Click to collapse
That works as far as binding the existing audio_effects.xml that is located in /odm/etc. The .conf file doesn't appear in /odm/etc/. It does appear in /system/etc/ which I was able to mount a patched version by creating a corresponding folder in /data/adb/modules/Viper4AndroidFX/system/etc.
So I think it's safe to say that every audio_effects.xml & .conf are patched at this point.
Driver loop still persists though, I read one member point out that if he ran dumpsys media.audio_flinger, he noticed that the OnePlus 10 pro is using lib64 audio folders instead of the regular lib folders. It seems like viper tries to use the regular lib folder since the lib files that are patched are under lib and not lib64. Not sure how significant that is.
ecera said:
That works as far as binding the existing audio_effects.xml that is located in /odm/etc. The .conf file doesn't appear in /odm/etc/. It does appear in /system/etc/ which I was able to mount a patched version by creating a corresponding folder in /data/adb/modules/Viper4AndroidFX/system/etc.
So I think it's safe to say that every audio_effects.xml & .conf are patched at this point.
Driver loop still persists though...
Click to expand...
Click to collapse
I see now that in post #9 you already wrote that conf file was originally not present in /odm/etc, hence you don't need to bind it there (remove the corresponding mount -o bind command from sh file)
Now, upon the V4A still looped, did you check, do you still have all the folders and files in /data/adb/modules/ViPER4AndroidFX (you previously created) in place.
Ie, are the patched XML and conf files still in 'real' folders after you rebooted?
If so, you are lucky (you don't need to start all over again) - but then copy the whole structure:
/data/adb/modules/ViPER4AndroidFX
to eg (not a nice place to keep but it will be close to your hands and will not harm):
/data/adb/ViPER4AndroidFX
Then you can experiment further if you have an idea what to do with the libs
If, at any moment, V4A (by looping) deletes what you had in /data/adb/modules/ViPER4AndroidFX
you could then easily repair it from your copy, reboot and continue experimenting
---
If you zip and attach the complete content of that /data/adb/modules/ViPER4AndroidFX
I can give you then a flashable zip (module) file that you could easily install through Magisk app to start from that 'frozen' point all over again
ecera said:
Driver loop still persists though, I read one member point out that if he ran dumpsys media.audio_flinger, he noticed that the OnePlus 10 pro is using lib64 audio folders instead of the regular lib folders. It seems like viper tries to use the regular lib folder since the lib files that are patched are under lib and not lib64. Not sure how significant that is.
Click to expand...
Click to collapse
Regarding the lib vs lib64:
Check in the patched audio_effects.conf file
There should be a number of libraries listed as:
path /vendor/lib/soundfx/*.so
Are they really listed with /vendor/lib/
or with
vendor/lib64/
---
Disable the V4A module (through Magisk app or by placing an empty file named disable into /data/adb/modules/ViPER4AndroidFX - Magisk app by itself disables a particular module that way) and REBOOT and then check the original, not-patched conf file in those 'real' folders and check if it refers to lib or lib64
PS: Check those not-patched conf files in all four locations you said you had them in the post #9
Also, with the disabled V4A module, run su and then your dumpsys command directly from Terminal app and look does it list /vendor/lib/soundfx/ or /vendor/lib64/soundfx/ libraries

Categories

Resources