I've been looking into audio boosters for Android and in my search I stumbled upon Viper4Android. It's pretty awesome but requires a bunch of installation steps and I found the documentation a bit incomplete and/or confusing - so much that, at some point, I found myself holding a (soft)bricked device. So here's what I did to get it to work.
NOTES
This guide is based on the steps I had to follow to get everything working on my Moto X 2013 running the official, stock Moto Android 5.1 rom. The actual (system version) version is 222.27.5.ghost_row.O2.en.DE.If you have any further tips or if you think I forgot something: give me a shout in the comments
REQUIREMENTS
- A rooted device with SuperSu (or a similar app) and BusyBox installed
- The Viper4Android FX (just download the zip, we'll cover its contents later)
- SELinux Mode Changer (not available through the Play Store because Google does not approve)
- A "root file explorer" like ES File Explorer or Root Explorer (I prefer the latter)
Recommended:
- USB debugging enabled (on the device)
- ADB installed on a pc
- An usb cable to connect the device with a pc
INSTALLATION
1. Make sure you are rooted, have SuperSU and Busybox installed
From what I've found it should not matter which busybox installer you use but it is recommended to use the app by 'Stephen (Stericson)' (which is linked above).
A note on SuperSU: If the driver won't install and says something about an incorrect or missing busybox installation: open the SuperSU app, go to settings and uncheck "Mount namespace separation". This further compromises the security of your device so you may want to try if disabling it is possible after installing the Viper driver (which we'll do a bit later on in this guide).
From what I've found it should not matter which busybox installer you use but it is recommended to use the app by 'Stephen (Stericson)' (which is linked above).
A note on SuperSU: If the driver won't install and says something about an incorrect or missing busybox installation: open the SuperSU app, go to settings and uncheck "Mount namespace separation". This further compromises the security of your device so you may want to try if disabling it is possible after installing the Viper driver (which we'll do a bit later on in this guide).
2. Open SELinux Mode Changer and set it to permissive
WARNING: this *does* somewhat compromise Android's ability to keep you safe from malicious software
You need to reboot your device now (if I remember correctly).
3. Now we need to modify a system file called build.prop
WARNING: this is the step where I messed up and almost bricked my device. Fortunately my mistake was fixed pretty easily but that's because I have some basic linux experience. If you don't, you'll probably still manage to perform the same fix but it may be a lot more abracadabra (read: you'll probably have NO idea what you're doing and thus risk even more damage).
- I STRONGLY recommend you make a backup using TWRP or CWM recovery so you can roll back any changes in case something goes awry. Another thing you might do is just create a backup of the build.prop file (copy it, paste it somewhere else)
- Open ES File Explorer or Root Explorer and navigate to /system
- Find the file called build.prop
- Edit the file by..
- ...opening it with a basic text editor on your device
- ...or send it to a pc via Dropbox, Drive, Pushbullet, etc and edit it there, then send it back to the device and copy it over the existing file
- You should get a dialog asking you if you want to change the permission on the file so you can overwrite it. You need this so do it. BUT DON'T FORGET TO CHANGE IT BACK once you're done. The numeric permission notation should say '0644' which is 'rw-r--r--'.
Here's what you need to change:
“Ipa.decode=true” to “lpa.decode=false”
“tunnel.decode=true” to “tunnel.decode=false”
“lpa.use-stagefright=true” to “lpa.use-stagefright=false”
If you can't find one (or more) of these properties: don't worry, in that case you don't need to change it :) Once you've finished editing it DO NOT FORGET to change the permissions back to read-only!!!
IF you forgot to restore the permission of the file you may follow this guide to fix it:
http://forum.xda-developers.com/showthread.php?t=1927198
IF you forgot to restore the permission of the file you may follow this guide to fix it:
http://forum.xda-developers.com/showthread.php?t=1927198
4. Unzip the Viper4Android FX zipfile and copy the correct apk file to your device.
Note: 2.3 for Android 2.3 and 4.x if you're running Android 4.0 or higher
5. Install the apk file and run the app
When asked for root access: grant it.
6. Install driver, select 'Power saver' driver mode and reboot
V4A needs to install a driver to work so this is the first step. After that it should show you three modes in which it can run. Choose the battery friendly one for now - you can change it later.
Don't forget to reboot your device.
7. Once rebooted, open V4A and check if it works...
Tap the overflow icon (the three dots in the upper right corner) and check if everything is working properly by going to Driver Status. It should say something like:
- Driver version ...
- NEON Enabled: Yes
- Enabled: ...
- Status: Normal
- Audio Format: Supported
8. And then check if it really works...
I recommend going to the headphone tab, enabling V4A at the top, then the Equalizer and select a preset. The change should be audible pretty much immediately.
If you're not sure what all the settings do you should have a look at this page:
http://vipersaudio.com/blog/?page_id=43
You're done! Unless it's...
9. ...not working..?
Have a look at the official troubleshooting guide
ACKNOWLEDGEMENTS
An excellent guide on Reddit:
And of course the installation guide on the official Viper Audio website:
I've found a guide that seems to work on a Moto X 2014 running Marshmallow and the best part is: it doesn't seem to require editing build.prop!
ReplyDeletehttp://www.droidorigin.com/how-to-install-viper4android-on-marshmallow-6-0/