What you will need:
Firstly, what you will need to do is use your file browser and create a folder called "Viper4Android" in your /system/priv-app/ folder. Set the permission for this folder to rwxr-xr-x or 0755, then paste your Viper4Android APK into the folder you created and set the permission for the APK to rwxrwxrwx or 0777, with root being owner and group for both folder and APK.
Secondly, what you will need to do is browse to /system/etc/ with your file browser and open the file init.qcom.post_boot.sh and at the very bottom of the file paste this:
It is imperative that you make sure you are using Unix line endings instead of anything else.
Thirdly, use Titanium Backup or the Application Manager to freeze SoundAlive, as all music apps will attempt to default to it. Also you may want to freeze the Adapt Sound app, as if you enable it will then be used over V4A.
Lastly, reboot your phone and then install the drivers and reboot one last time. I can confirm that it works on Play Music, and that it doesn't work on the stock Music player (however I believe there is a way to get it to work somewhere on the internet).
Problems:
Notes:
This process can probably be done very easily with a init.d script and a recovery flashable zip, but I currently don't have the time and don't want to risk screwing up someone's phone.
You can use any other Viper4Android mod, as long as it is v2.3.4.0, I prefer this version which looks very nice. You can extract the file from the zip attachment and just follow the steps here.
You do not need to have SELinux set to permissive, as even with using MultiSystem to set it to permissive, it still didn't work until the above command is used.
I haven't tested whether effects like convolver or DDC work, but they should.
Thanks to:
@ihancioglu for the code that allows it to work
@nappent for most of the steps needed to get it running
EXTRA:
Here is an init.d script that will do the bypass for you, however, you must have init.d support. As it stands right now, Walter.White's Lollipop ROM does not have init.d, if you want to enable init.d, you have to add
to the end of init.qcom.post_boot.sh and create an init.d folder in /system/etc.
Script: https://mega.nz/#!ZpIUCbrb!QONi8bWb1afE47_JnwxgpBcXoKFuPG3mpnyFX4r83G0
- To be on Lollipop WITH root (go here if you need to flash the rooted ROM)
- BusyBox to be installed (it should already be installed on the rooted ROM, if not then search the Play Store or use your favorite one)
- A copy of Viper4Android v2.3.4.0 (Download from here)
- A file browser that can access the /system partition and change permissions (I prefer ES File Explorer but you can use whatever you like)
- Titanium Backup (or you can use the application manager in the Settings app)
Firstly, what you will need to do is use your file browser and create a folder called "Viper4Android" in your /system/priv-app/ folder. Set the permission for this folder to rwxr-xr-x or 0755, then paste your Viper4Android APK into the folder you created and set the permission for the APK to rwxrwxrwx or 0777, with root being owner and group for both folder and APK.
Secondly, what you will need to do is browse to /system/etc/ with your file browser and open the file init.qcom.post_boot.sh and at the very bottom of the file paste this:
Code:
/system/xbin/supolicy --live "allow mediaserver mediaserver_tmpfs:file { read write execute };"
Thirdly, use Titanium Backup or the Application Manager to freeze SoundAlive, as all music apps will attempt to default to it. Also you may want to freeze the Adapt Sound app, as if you enable it will then be used over V4A.
Lastly, reboot your phone and then install the drivers and reboot one last time. I can confirm that it works on Play Music, and that it doesn't work on the stock Music player (however I believe there is a way to get it to work somewhere on the internet).
Problems:
You are to create it as a system app, so follow the first step.Viper4Android fails at installing!
Make sure you followed the first step correctly and set the proper permissions.Viper4Android doesn't appear!
Make sure you pasted the command into the init.qcom.post_boot.sh file and that you used Unix line endings, as using DOS or Mac line endings add extra characters that Android will try to parse as actual text.Viper4Android still says Abnormal and Unsupported in the status!
This bug happens sometimes, I found the best way to beat it is to open your BusyBox app and just put it in the background and try the driver installation again.Viper4Android says that BusyBox isn't installed!
Make sure you freeze SoundAlive and Adapt Sound, as they will be used before Viper4Android, also you may need to put V4A into Compatibility mode to use with certain music players. Also you can't use the stock Music player (but I think there is a way somewhere on the internet).I enabled everything and my music still sounds the same!
Then you may want to wait until a recovery flashable zip is made, but at no point are the steps going to brick your phone, you can just boot to Safestrap or flash back.My phone broke and won't boot!
Notes:
This process can probably be done very easily with a init.d script and a recovery flashable zip, but I currently don't have the time and don't want to risk screwing up someone's phone.
You can use any other Viper4Android mod, as long as it is v2.3.4.0, I prefer this version which looks very nice. You can extract the file from the zip attachment and just follow the steps here.
You do not need to have SELinux set to permissive, as even with using MultiSystem to set it to permissive, it still didn't work until the above command is used.
I haven't tested whether effects like convolver or DDC work, but they should.
Thanks to:
@ihancioglu for the code that allows it to work
@nappent for most of the steps needed to get it running
EXTRA:
Here is an init.d script that will do the bypass for you, however, you must have init.d support. As it stands right now, Walter.White's Lollipop ROM does not have init.d, if you want to enable init.d, you have to add
Code:
/system/etc/init.d/*
Script: https://mega.nz/#!ZpIUCbrb!QONi8bWb1afE47_JnwxgpBcXoKFuPG3mpnyFX4r83G0
Last edited: