Guys, I wanted to use viper4android on the new Xiaomi Mi 4i running on lollipop 5.0.2 following the below procedure. But the catch is the selinux implementation from Jellybean. Everytime I am setting it to permissive it keeps resetting back to default since hard reboot resets the configuration. The process followed is below:::::
>= First of All, Download Viper4Android FX & SELINUX MODE CHANGER .
>= Then, Install Both The Apks onto Your Smartphone.
>= Open SELinux Mode Changer & Give It Root Permissions.
>= Now, Simply SELINUX Mode To Permissive & Reboot Your Device.
>= After Rebooting Your Device, Open Viper4Android > Install Drivers & Again Reboot Your Device.
>= Yeyy!! Now Enjoy The Best Audio Quality Alike KitKat or Other Android Versions.
Now, I found in another xda thread that there is a workaround to set seLinux mode to permissive at boot by using a custom script.
Need SUper SU .
############
su
mount -o remount,rw /system
mkdir /system/su.d
echo "#!/system/bin/sh" > /system/su.d/permissive.sh
echo "setenforce 0" > /system/su.d/permissive.sh
echo "0" > /sys/fs/selinux/enforce
chmod 755 /system/su.d/permissive.sh
############
ref: http://forum.xda-developers.com/xposed/how-to-set-selinux-to-permissive-boot-t3034245/page2
I wanted to ask the veteran devs here if the above method would work on Xiaomi Mi 4i . I am reluctant to dry run atm... but if the seniors could throw some light and confirm that the method wont harm in any way I would gladly go ahead and test! Need insights please..... Mi 4i earphone sound seems mushy and often grainy at louder volumes. v4a might bring better clarity and output to our device! . Thanks for your help..
For those who are wondering what Viper4android is and what it does visit : http://forum.xda-developers.com/showthread.php?t=2191223
About Selinuxmode changer app: http://forum.xda-developers.com/showthread.php?t=2524485
Why do you even need viper audio? DIRAC works pretty well and it probably would interfere with Viper.
by DIRAC are you referring to the preset modes based on different earpieces ?
I tried all of them and tried tweaking the equalizer to balance out... sadly the sound is not at par with other devices .Not even close to my last device running Jellybean and v4a 2.1.1
I am using Soundmagic ES20 and it gives pretty decent output and paired with v4a its truly amazing experience Believe me!
Valkyrx can u help me on this??any help would b Much appreciated buddy!
111kaustav111 said:
by DIRAC are you referring to the preset modes based on different earpieces ?
I tried all of them and tried tweaking the equalizer to balance out... sadly the sound is not at par with other devices .Not even close to my last device running Jellybean and v4a 2.1.1
I am using Soundmagic ES20 and it gives pretty decent output and paired with v4a its truly amazing experience Believe me!
Valkyrx can u help me on this??any help would b Much appreciated buddy!
Click to expand...
Click to collapse
I had a Sound Magic as well, great earphones.
First of all have you tried changing the SELinux mode to permissive using Terminal emulator by entering
Code:
su
setenforce 0
and soft rebooted? The only problem I can see is that the permissive is getting reset on boot.
Edit: I didn't read the post carefully (My Bad)
Yes, with confidence i can say that you can dry run the script, but just in case something goes wrong, make a nandroid backup before hand. Hope it works for you, good luck!
Can you have a look at the script snippet posted on the original section if its safe ? the custom /system/su.d/permissive.sh script at boot? or is there a chance that the device may go for a bootloop? I have stock recovery. does it support nand backup? I gotta check bro.... thanks btw
111kaustav111 said:
Can you have a look at the script snippet posted on the original section if its safe ? the custom /system/su.d/permissive.sh script at boot? or is there a chance that the device may go for a bootloop? I have stock recovery. does it support nand backup? I gotta check bro.... thanks btw
Click to expand...
Click to collapse
Yeah i edited my previous post after looking at the code. It wont give a bootloop, because it will be executed after a successful boot. You will need TWRP to do a nand backup.
A QUICK TUTORIAL ON HOW TO INSTALL VIPER4ANDROID ON STOCK FIRMWARE
Prerequisites
Download the right version of Viper4Android from here http://forum.xda-developers.com/showthread.php?t=2191223 (Can't link direct download due to OP's request)
Download and install ES File Explorer on your device - https://play.google.com/store/apps/details?id=com.estrongs.android.pop&hl=en
Download SELinuxModeChanger - http://forum.xda-developers.com/showthread.php?t=2524485
Root
__________________________________________________________________________________________________
INSTRUCTIONS
First install Busybox from Playstore open the app and press "Install" then install the downloaded SELinux Mode Changer,
Then open the application on your device, it will ask for root, grant it, then after a couple seconds you will be able to change the modes, now select SELinux Mode "PERMISSIVE" and exit the app,
Now open ES file explorer with root explorer enabled from options, now move Viper4Android to Device/system/app Now long press the app and go to options>Properties Now click Change Permissions and give it the following,
User: Read Write only
Group: Read Only
Others: Read only
Now reboot your device and wait about a minute till your Super User manager has given SE Linux Changer root access, now you should see Viper4Android has been installed and is in your app drawer, now open it, if it prompts you to install a driver, do so, if not continue.
Now go to Driver Status in Viper4Android Settings, after you have enabled it in "Enable" in all tabs you should see
NEON: Enabled
ENABLED: YES
STATUS: NORMAL
AUDIO FORMAT: SUPPORTED
PROCESSING: (YES If playing audio at the moment) (NO if not playing audio at the moment)
Sampling Rate: 48000
__________________________________________________________________________________________________
You now have Viper4Android on your device, have fun listening to pristine quality music.
__________________________________________________________________________________________________
Other Information:
DRIVER: 2.4.0.1
Build Number: 18.6.A.0.182 (5.1.1 Lollipop)
Date: 25-09-2016
I don't know if i will update this, installation instructions may change over time, make sure you contact/read Viper4Androids instructions before hand always. Especially if this topic gets dated.
__________________________________________________________________________________________________
FAQ:
Question: Why not use the Playstore version?
Answer: It's not officially maintained by the Viper4Android devs, this is easy and secure and up to date.
Question: Why do i need the SELinux Changer application?
Answer: Our firmware comes with SELinux mode ENFORCING, which does not allow Viper4Android the permissions it needs to install properly and installation without this will result in only the Viper4Android app working and making no changes to the sound quality as the sound driver fails to work. What this app does is change the mode to PERMISSIVE, which gives it the permissions to install properly so the sound driver installs successfully.
Question: Can i uninstall SELinux Changer application after installation?
Answer: No, the sound driver will fail as soon as you remove it, as it goes back to ENFORCING mode.
Question: I followed the instructions but i still did not notice any sound improvements?
Answer: Try rebooting and wait a couple minutes then open SELinux Changer and make sure it has root access and select PERMISSIVE and make sure It's on by closing and opening it and reboot and try again
*Reinstall the sound driver
*Make sure you tick Enable Viper4Android in all the tabs if you don't know which one your audio is played through and just to be sure
*Post in the Viper4android thread
Question: Can i install this as a user app? And is this a system app?
Answer: Yes you can install it as a user app but you might have problems with installation. Yes this is a system app.
__________________________________________________________________________________________________
Last Updated: 01:06 25-09-2016 IST (I may not keep it up-to-date!)
****Make sure you install BusyBox from Playstore****
Mine always says "driver installation failed"
momoring said:
Mine always says "driver installation failed"
Click to expand...
Click to collapse
Did you follow the instructions correctly? I think you did not follow the SELinux changer part.
ARandomIndian said:
Did you follow the instructions correctly? I think you did not follow the SELinux changer part.
Click to expand...
Click to collapse
I followed it all. Btw, i got unlocked bootloader and I used eagleroottool to root my device
Edit: It says "Driver installation failed, the busybox found on your device doesn't work. this usually means you installed the wrong or broken busybox, V4A needs stericson busybox to work. If you are sure about having installed the proper busybox, then please confirm your device has been properly rooted."
momoring said:
I followed it all. Btw, i got unlocked bootloader and I used eagleroottool to root my device
Edit: It says "Driver installation failed, the busybox found on your device doesn't work. this usually means you installed the wrong or broken busybox, V4A needs stericson busybox to work. If you are sure about having installed the proper busybox, then please confirm your device has been properly rooted."
Click to expand...
Click to collapse
Install Busybox from Playstore and open the app and press "Install"
BusyBox is needed for V4A
ARandomIndian said:
Install Busybox from Playstore and open the app and press "Install"
BusyBox is needed for V4A
Click to expand...
Click to collapse
Already did but still not working. I'll try it again later
Edit: Got it to work. I used solid file explorer rather than es file explorer. Thank you
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I know that there is many tools apps etc to disable or hide SU.
I decide to make this just because those did't work on my device back in 2016 and or CyanogenMod/LineageOS ROM that I use, so I assume this happens to other in CyanogenMod/LineageOS users too, I start this thread and made this app that can help to pass a safety net test on any rooted device (hide SU only when using Lineage add on SU) as it is no longer just a SU hider app is little more.
This is only to CyanogenMod/LineageOS SU binary aka CM-SU, the CM-SU only works with CyanogenMod/LineageOS ROM's and ROM that use they source code as base
That can be Download from Lineageos download page click here to see
No it doesn't work with SUPERSU or any other SU that is not base on CM-SU
No it doesn't support Xposed Hide, if you use Xposed you can't pass safety net with CM-SU.
No it doesn't support AB devices (devices with two system partition) that can't be mounted as rw dynamically in android.
What is iSu?
A simple app to help the user to pass safety net test on CyanogenMod/LineageOS or any CyanogenMod/LineageOS base ROM's.
I personally test this on Marshmallow and Nougat CM base ROM's it works 100%, it also Supports Lollipop but Kit Kat and older OS's are not supported.
How To use it?
read Installation instructions, download Folder with instructions on the bottom of the post
Download and Install the app as a normal app, if you wanna the full app support, use a ROM with the supported SU version (CM-SU), download Folder with instructions on the bottom of the post
if on Marshmallow or Lollipop flash the zip (iSu_kernel_Reboot_Support), download Folder with instructions on the bottom of the post
Learn how to use the app, below instructions
How To pass safety net?
Su deactivated (demanding)
SELinux enforced (demanding)
Android debugging deactivated (not demanding for all devices)
Props known props or special props can't have a red warning (demanding)
Below are some samples of fails or pass:
PASS
*Android debugging only affects some devices, disable if you don't need it.
*In props if there is props with a red warning that may be the reason of the fail if SU and SELinux is set as the above.
If you have SU active you will always fail
FAIL everything
*Fail because SU is Activated
If you have SU deactivate you will not always pass
FAIL everything 2
*Fail because SELinux is in Permissive
If you have SU and SELinux on a correct position you may not always PASS, because some props cause fail of ctsProfile
FAIL ctsProfile
*The above fail because ro.boot.verifiedbootstate
*Some props may or may not cause full FAILS or a FAIL of ctsProfile
Detailed app function description?
The app is divided in 5 tabs (Checks, Controls, Monitor, Props and settings), plus widgets and tiles, bellow a detailed description:
Checks
Basic information about the application, the main start tab if it show a red warning on the SU state options because yours current SU is not supported and the app will work with limited functionality.
SU State, current user SU version and reboot support status
Update, Check for iSu updates
Safety Net test, Let the user try the safety net status, in case of fail it will tell what fail and current SU, SELinux and ADB state as those if on wrong position will cause the fail
Log, Generate a full logs of information about the device and how the app is running, in case of a problem share the log.zip on the thread and explain the problem
Controls
The main control tab, be aware there is extras actions for this controllers in settings tab
SU, Changes and show SU state. This function only works with CM-SU
SELinux, Changes and show SELinux state, plus allow user to fake enforce Selinux for devices that have problems when running with SELinux enforced
Android debugging, Changes and show Android debugging state
Tasker, Info about how to control the app using Tasker
Monitor
This tab only works with CM-SU
A Service to monitor when foreground app starts then, activate or deactivate SU and SELinux or ADB (base on settings options).
App monitor, Status and access to accessibility service.
Don't Care List, Select the apps that will not have effect to App monitor, when a foreground app start.
Deactivate SU, Select the apps that will deactivate SU when started
Automatic Re-Activate SU, If this switch is on, will automatic active SU when leave the app that deactivated SU
Activated SU, Select the apps that will activate SU when started
Automatic Re-Deactivate SU, If this switch is on, will automatic deactivate SU when leave the app that activated SU
Props
A tab to change the value of any ro.prop or read only prop, using the resetprop applets from magisk to make a tool to modify on the go any ro.prop, there is also a list of known props that can cause safety net fail they safe or unsafe value
Read Only editor, List of ro props and the ro props changed by the user
Special Props, Known props that has a complicated value that can't be define as OK or NOK
Known props list, just explanation about safe, unsafe or unknow values
Force set all Known props, Click to force all Known Props to the chosen value
Known props, the real list of known props and they current value click to change
Settings
Basic application setting, extra controls and notifications
Application, Allow to force language to English
SU, Extra SU options allow to deactivate it on boot This function only works with CM-SU
App monitor, Allow delays to app monitor This function only works with CM-SU
Props, Allow to apply props changes on boot
Notifications, Enable disable notifications or toast's of SU state This function only works with CM-SU
SELinux, Extra control of SELinux state base on SU is state changes This function only works with CM-SU
Android debugging, Extra control of Android debugging state base on SU is state changes This function only works with CM-SU
Widgets and tiles
The app has widget and tiles that can be used to control the app Controls
Widgets They only work with CM-SU for SU changes
Mono Widget, Allow to change and read SU state, it also work with Settings extra controls (Notifications, SELinux and Android debugging)
Dual Widget, Allow to change and read SU or SELinux state, it also work with Settings extra controls (Notifications, SELinux and Android debugging)
Tiles Only visible on Nougat
SU tile, Allow to change and read SU state, it also work with Settings extra controls (Notifications, SELinux and Android debugging)
iSu tile, Click to open the app
Installation instructions:
Download Folder: Click Here
There is three files, description:
iSu_X_x.apk Install the apk as a normal app.
iSu_kernel_Reboot_Support_V_X_x_and_up.zip Flashable zip, flash only if you are running Marshmallow or Lollipop
Explanation of the above, iSu only need flashable reboot support for Marshmallow or older OS.
The kernel reboot support , this files prevents from losing SU access after a reboot with SU deactivated.
Old reboot support, in case the current fail
Old reboot support download Folder: Click Here[/B]
iSu_kernel_Reboot_Support_V_X_x_and_up_Enforcing.zip Flashable zip, use only one zip, if running Marshmallow or older
iSu_kernel_Reboot_Support_V_X_x_and_up_Permissive.zip Flashable zip, use only one zip, if running Marshmallow or older
Explanation of the above, iSu only need flashable reboot support for Marshmallow or older OS.
The kernel reboot support use only one(enforcing or permissive), this files prevents from losing SU access after a reboot with SU deactivated.
Use the one base on yours current Selinux status to check on your device look in settings > About a phone > SELinux Status if is enforcing or permissive, some CM ROM Run with selinux in Permissive so check yours.
Be aware!!
Updating CM/Los nightly or any ROM update of any CM/Los base ROM will remove the changes made by the zip, so is need to re-flash those .zip after any ROM update, may be need to do it also with some custom kernel from developer that use a boot.img to share the kernel(check yours kernel zip content to know).
If you forget to flash the .zip in a update and have lost ROOT don't worry just go back to recovery and flash it after the reboot all will be good.
The below are obsolete after V3.6 of the app, see old_version folder in main download folder for those files just reference no longer supported
iSu_kernel_cmdline_Patch_V_X_x_and_up.zip
The kernel_cmdline is only need to some devices that after deactivating SU with the app still can't pass the safety check, Google is using kernel and bootloader arguments to determined that the user modify the stock SW(AKA is using custom ROM) and prevent from passing as "safe", this add extra safe arguments to cmline and help to achieve the pass current it only support some device (Nexus and Motorola, maybe other post on the thread device/vendor if the zip help you)
iSu_kernel_defaultprop_Patch_V_X_x_and_up.zip
This is only for those that have apps that use rootbeer SU detection...
explain in this post (Click here).
After flashing defaultprop_Patch zip the user will no longer have access to the option in Settings > Developer options > Root access
But that is not a problem as the same zip will enable root by default so you can use without changing that option.
XDA:DevDB Information
iSu, App for all CyanogenMod/LineageOS devices (see above for details)
Developer donation link:
To donate via paypal click here
No other donation option is available.
Contributors
All Contributors can be see in github click here
fgl27, I use osm0sis Anykernel2 for the kernel zip
App Source Code: https://github.com/fgl27/isu
Extra App credits: iSu readme credits
Version Information
Status: Stable
Current Stable Version: Check latest version in Download folder
Changelog
Created 2016-Oct-03
Last Updated Check latest version
Changelog
Last app version Click to Download
Awesome work! Glad I accidentally stumbled on to this. Magisk stopped working to hide root but this is still good. Woot!:good:
edit: In your isu.sh, shouldn't the end of the script be:
Code:
mount -o ro,remount /system
# instead of
umount /system;
edit 2: For anyone who wants to build their device/kernel with support baked in, so they don't have to patch, I distilled the changes down from your git and created this patch:
https://github.com/blastagator/cm_d...mmit/79118c58fee32d10aa75464ee95751c7e6b8fdc5
This should be a good basis for others to manually patch in support. Working well on my custom cm13 builds.
blastagator said:
Awesome work! Glad I accidentally stumbled on to this. Magisk stopped working to hide root but this is still good. Woot!:good:
edit: In your isu.sh, shouldn't the end of the script be:
Code:
mount -o ro,remount /system
# instead of
umount /system;
edit 2: For anyone who wants to build their device/kernel with support baked in, so they don't have to patch, I distilled the changes down from your git and created this patch:
https://github.com/blastagator/cm_d...mmit/79118c58fee32d10aa75464ee95751c7e6b8fdc5
This should be a good basis for others to manually patch in support. Working well on my custom cm13 builds.
Click to expand...
Click to collapse
Thanks. For me was similar, magisk did not support my device so user complain to me about support as I did not manage to make magisk to work on my device I manage to make this that seems to be 100% for the most none rooted app.
regards the RW/RO
Theoretically yes but things was a little odd when I first start test for this... for simple reason if we don't mount system as RW we can "hide" or "un-hide" SU because is need to move it and system boot in RO, and if leave it mounted as RW safety net check will not be successful even if SU is hide, but after some safety net update on the google side mount it as RO at the end was not working in the .sh and the unmout was, maybe was some other related problem but it work so I did not change...
So I keep the unmount did not test any more after, and in the java code every time the switch is use it start with RW and ends with RO and that does the trick...
I have update the reboot support and the app for Nougat, Selinux is a little more restricted on N and I did not had the time to test a universal .zip to support N as the changes I did in the ROM I build are a little more time demanding to make it right, or not I really only have my build to test on my devices as N is just starting there is no other ROM, I really need another ROM that doesn't have any of my changes to test and really make it fully work with a simple .zip
But every things is also fully working on N CM did not change the SU binary, safety net, pokemon and payment app are all good, at least for know...
:good:
I update the project for N but I only manage to fully test on my ROM so if any one try and have problem read #3 post and report on the thread.
Hey guys, just tried out this in my Redmi Note 2 Prime with Bule's (cleaned) MoKee ROM CM12.1, and worked great, until now, because says, when I'm going to "hide" su, that the "su state change fail" Don't know for what it was, but if you can help me solving this, I would be grateful
Bhb thank you, using on my daughter's xt1254 phone now which runs cm 13.
---------- Post added at 03:16 AM ---------- Previous post was at 03:12 AM ----------
Shadow646 said:
Hey guys, just tried out this in my Redmi Note 2 Prime with Bule's (cleaned) MoKee ROM CM12.1, and worked great, until now, because says, when I'm going to "hide" su, that the "su state change fail" Don't know for what it was, but if you can help me solving this, I would be grateful
Click to expand...
Click to collapse
This is the reason for the kernel hack.
Without it you can lose root.
Dirty flash your ROM and if the kernel hack won't work
Then just be sure to set everything back to normal before any reboots.
I "THINK" then you would be okay.
mrkhigh said:
Bhb thank you, using on my daughter's xt1254 phone now which runs cm 13.
---------- Post added at 03:16 AM ---------- Previous post was at 03:12 AM ----------
This is the reason for the kernel hack.
Without it you can lose root.
Dirty flash your ROM and if the kernel hack won't work
Then just be sure to set everything back to normal before any reboots.
I "THINK" then you would be okay.
Click to expand...
Click to collapse
Yeah, I did that, but dunno if was because of that it failed, or not... I'm fine for now, reverting it whenever I close the game, I put su back Maybe it was because I was trying to cheat on PoGO, and didn't work with Fly GPS, and uninstalling the app in a bad way provoked that I will do a nandroid and try again
Edit
Shadow646 said:
Yeah, I did that, but dunno if was because of that it failed, or not... I'm fine for now, reverting it whenever I close the game, I put su back Maybe it was because I was trying to cheat on PoGO, and didn't work with Fly GPS, and uninstalling the app in a bad way provoked that I will do a nandroid and try again
Click to expand...
Click to collapse
Are you using the kernel support, have you flash it in TWRP?
The app work in CM under 13 is ok, but the kernel support I have not tested in older them CM13, so I'm curious to know if it works, the only way to really test is to deactivate SU and then reboot if you have SU active after or if the app can activate SU after then is all good if you don't have and or can't activate in the app there is a problem...
the basic function of the kernel support is to have no problem after a reboot when you had disable SU, just like @mrkhigh point it out
So if you reboot with that off let me know the behavior if you can use and activate SU will be need a dirty flash of the ROM you are using...
When I have some time I will do some proper test in cm12.1 and only cm12.1 because my devices can only run that there is no older OS for me...
:good:
I update the app and kernel support to 1.5
Changelog and Download link first page post 2 and 3
In Downloads I add two kernel support one with selinux after boot in Permissive and other with Enforcing just check the zip name and check your device in settings > About a phone SELinux Status is using enforcing or permissive, this is need as some CM ROM Run with selinux in Permissive.
Any problem let me know.
bhb27 said:
Are you using the kernel support, have you flash it in TWRP?
The app work in CM under 13 is ok, but the kernel support I have not tested in older them CM13, so I'm curious to know if it works, the only way to really test is to deactivate SU and then reboot if you have SU active after or if the app can activate SU after then is all good if you don't have and or can't activate in the app there is a problem...
the basic function of the kernel support is to have no problem after a reboot when you had disable SU, just like @mrkhigh point it out
So if you reboot with that off let me know the behavior if you can use and activate SU will be need a dirty flash of the ROM you are using...
When I have some time I will do some proper test in cm12.1 and only cm12.1 because my devices can only run that there is no older OS for me...
:good:
Click to expand...
Click to collapse
Well, now I reinstalled all just because I messed all up, again.
Turned off the phone with root of and no kernel support, tried to flash kernel support, and that would be ok, if I didn't "flash SuperSu" stuff when rebooting :silly:. That made the switch work, but didn't pass validation when using PoGO.
Then, had to reflash ROM, delete chinese stuff, reinstall all of my apps, and iSu, of course, while noticing that there was an update; installed the app and new permissive kernel, and from now, so far so good
Hope that I will keep it clean and working. Thanks for the suggestions btw
@bhb27 Installed and working on sprint htc m8 cm13. The kernel mod is installed but untested.
Great work! I can confirm it worked in my moto g 2014 running cyanogenmod 14.1 official. Pokémon go worked!
Thanks dev!
At last something that works! Running CM14.1 rom on my OnePlus 3 and it works!
Pokémon Go go go...
Thx dev!
HC4Life said:
At last something that works! Running CM14.1 rom on my OnePlus 3 and it works!
Pokémon Go go go...
Thx dev!
Click to expand...
Click to collapse
Now go find that ditto.
Would there be anyway to automatically trigger this for certain apps? This is the first root hiding method i've found that actually tricks Barclays Mobile Banking. Great work
LJAM96 said:
Would there be anyway to automatically trigger this for certain apps? This is the first root hiding method i've found that actually tricks Barclays Mobile Banking. Great work
Click to expand...
Click to collapse
:good:
No there isn't yet, is not all that hard to make but is timing I had no time for the last week to start the implementation, but is in my plans, probably still do this year.
BTW is always nice to be remember that the app can be used for other then to catch monsters :laugh:
You might want to consider removing selinux enforce from the kernel service script. If the ROM doesn't have proper SE policy, it could gum things up. I think the switch in the app is probably sufficient in the event user needs to toggle Enforcing to run an app. I don't believe enforcing on boot toggles anything, but I could be wrong since my ROM boots enforcing. Safety Net actually keeps working for me if I toggle to permissive.
If you are someone like me who encountered countless problems while installing Viper4Android on your Android 10 or 11 device and have no idea what to do then you are in the right place. Just download and install the apk from the attachment below.
You need to be rooted with magisk but you can still give it a try if you don't have magisk on your device.
Steps -
* Disable MusicFX or any other sound mod you are using either from Setting/App Manager/Apps or by installing Ainur Narsil magisk module
* Reboot
* Now remove Ainur Narsil magisk module from magisk and install Audio Modification Library (This is required in case you have leftovers from last sound mod)
* Reboot
* Now download the app from the attachment
* Install and open the apk. The app will ask you to install drivers. HIT OK
* The phone will automatically reboot and install Viper4Android magisk module
* Open the app and check. It should be working by now.
If it doesn't work -
* Install Audio Compatibility Patch magisk module. By now you will have two magisk module installed. (Audio Modification Library and Audio Compatibility Patch)
* Reboot
* Open the app. It should work now
* Still no? - Turn on legacy mode from app setting
* Still no? - Turn on compatibility mode from app setting
V4A should totally work by now
Edit : On one plus phones you need to change your seLinux mode to permissive first and then install viper4android.
Use seLinux Mode Changer for that.
Edit: All files are attached at the bottom of the post
Edit 2 -
If none of the above solution is working for you.
Download Viper4Andrpid app from here
Download latest Magisk 21.4 from here
- Flash magisk from recovery
- Then open the Viper4Andrpid app and it'll ask you to update the drivers (or won't, depending on if you already have the drivers installed)
- If phone reboots then open the app again and turn on legacy mode from options
- If phone doesn't reboot, go to options and turn on legacy mode
It should be working now
Edit 3-
If the above two methods don't work and you have enforcing SELinux, try this.
• Disable MusicFX
• Install magisk 22.1
• Install Ainur Narsil magisk module
• Reboot
• Go to magisk and remove Ainur Narsil magisk module
• Download Viper4Android 2.7.2.1 from here
• Open it. It will ask you to install drivers. Click Ok and the phone will reboot. Don't panic.
• Open Viper4Android. Turn on Legacy mode. You will see the Viper4Android app icon on your status bar.
• Go to magisk. Install Audio Modification Library magisk module.
• Reboot
• Go to magisk again and install Audio Compatibility Patch magisk and select the options mentioned below -
- Patch Audio Policy : Vol- (no)
- Patch method : Vol+ (new logic)
- Remove notification helper : Vol- (no)
- Patch USB policy for USB dacs? : Vol- (no)
- Use lib workaround: Vol- (no)
• Reboot
• Open your music player and play a song to check if Viper4Android works now
• If you have never used V4A before, just turn on Master Limiter and Speaker Optimization
If that fails too -
• Unistall Viper4Android app
• Remove Audio Compatibility patch
• Reboot
• Install Viper4Android app and open it
• Enable Legacy mode from top right
• Play a song from your Music Player and turn on Master Limiter in the Viper4Android app
• Now turn on speaker optimization
If Viper4Android doesn't process in the Youtube app or Spotify, install the Audio Compatibility patch like I mentioned above and reboot
Fix 6:
If none of the methods above works then it's likely you messed up somewhere in the process. Unistall all the modules and Viper4Android.
Download the SeLinuxMode Changer app and set your SELinux to permissive. (If you want that)
App link :
Release v11.0 · MrBIMC/SELinuxModeChanger
updated to the latest libs and tools implemented app shortcuts to quicktoggle between permissive and enforcing modes new icons and notification styles adaptive icons (including shortcuts) for 8.0+ ...
github.com
Reboot and go to the top of the post. Follow the very first method.
Fix 7: (May 11, 2022)
I have added Aosp Soundfx remover and V4a fx 2.7.2.1 in the attachment.
Flash Aosp Soundfx remover
Reboot
Turn on mobile data/wifi
Flash v4a fx 2721
Reboot
Open Viper4Android app and install the drivers (if the app is asking you to install)
Reboot
Edit : If you encounter distorted/buggy/laggy audio, clean install viper4android again. But this time keep Ainur Narsil and Audio Modification Library magisk module installed
In OnePlus devices or OxygenOS roms you might need to install the driver twice or thrice.
Credit -
Team De Witt and Viper Acoustic
I did not create the app. I just found a way to get it working in some complicated Android 10 - 12 roms
Thanks for reading and have a nice day!
Edit 69:
If the audio isn't loud enough, go to master limiter, drag that output gain slider to right(6db).
If it's still not loud enough, turn on playback game control, tap on it and customize gain and threshold to your liking.
For others,you can test Wavelet from Wit,its awesome app,same dev.
thank you very much it worked perfectly
Monkeysss01 said:
thank you very much it worked perfectly
Click to expand...
Click to collapse
Hit thanks if it helped
@ Ryan Cr 7
I've followed all of your steps but still no driver installation. (CR Droid, Oneplus 8 pro)
ichbinsauch said:
@ Ryan Cr 7
I've followed all of your steps but still no driver installation. (CR Droid, Oneplus 8 pro)
Click to expand...
Click to collapse
In one plus phones you need to change your seLinux mode to permissive first and then install viper4android.
RyanCr7 said:
In one plus phones you need to change your seLinux mode to permissive first and then install viper4android.
Click to expand...
Click to collapse
OK, Thanks .
thank you very much it worked perfectly
I'm SOOOOOO CLOSE to getting it working. Followed your instructions to the letter, and I get everything looking good in the driver status EXCEPT for PROCESSING. It's still a no and that's with tweaking compatibility and legacy. Any final tips?? Thanks.
Can confirm this works on the OnePlus 8 Pro running Android 11, on the xxx no limits magisk module. Thanks so much.
drewman521 said:
I'm SOOOOOO CLOSE to getting it working. Followed your instructions to the letter, and I get everything looking good in the driver status EXCEPT for PROCESSING. It's still a no and that's with tweaking compatibility and legacy. Any final tips?? Thanks.
Click to expand...
Click to collapse
Never mind... I got it....
drewman521 said:
I'm SOOOOOO CLOSE to getting it working. Followed your instructions to the letter, and I get everything looking good in the driver status EXCEPT for PROCESSING. It's still a no and that's with tweaking compatibility and legacy. Any final tips?? Thanks.
Click to expand...
Click to collapse
For some phones you need to change SeLinux to permissive to get V4A to work.
But changing seLinux to permissive is unhealthy for your phone cause it might open backdoor for some apps to take advantage of your root access.
I am updating the app and magisk now. Come back here 30 minutes later and see if the new solution works.
not working on my google pixel 3 xl android 11. installed both Audio patch and still no luck
Evender99 said:
not working on my google pixel 3 xl android 11. installed both Audio patch and still no luck
Click to expand...
Click to collapse
Play a song in your device music player.
Then open Viper4Android app, Go to that CPU lookalike icon on the top right, it will show you the driver status.
Take a screenshot and share it here.
Don't forget to keep the music player running while taking the screenshot.
Not working on OnePlus 7t Pro on Oxygen OS 11 Beta 2, set selinux to permissive, and followed all steps... Any suggestions?
L4WL13T said:
Not working on OnePlus 7t Pro on Oxygen OS 11 Beta 2, set selinux to permissive, and followed all steps... Any suggestions?
Click to expand...
Click to collapse
Have you tried the second apk and magisk?
Is one plus 7t pro and 7 pro similar?
Cause a few days ago I've set up Viper using this method on 7 pro A11 OOS beta.
RyanCr7 said:
Have you tried the second apk and magisk?
Is one plus 7t pro and 7 pro similar?
Cause a few days ago I've set up Viper using this method on 7 pro A11 OOS beta.
Click to expand...
Click to collapse
Just gave it a go, and still no luck
I'm not too sure on the differences between the two devices, though I wouldn't imagine they'd be vast. Once OOS11 comes out of beta I intend on doing a clean install, so perhaps then is the time to give this another shot.
L4WL13T said:
Just gave it a go, and still no luck
I'm not too sure on the differences between the two devices, though I wouldn't imagine they'd be vast. Once OOS11 comes out of beta I intend on doing a clean install, so perhaps then is the time to give this another shot.
Click to expand...
Click to collapse
Sorry it didn't work. Does your rom comes with a pre-installed equalizer/sound system like Dolby?
You guys should just flash the magisk viper 2.7.2 module it usually works and if it doesn't flash the other sound mods and audio sound mod lib. I found that trick back in oreo. However the samsung oneui devices are the hardest because they only come with enforcing kernel unless a dev makes a permissive kernel. I prefer 2.3.4 with the super driver but you have to have a permissive kernel on samsung. You also need to have busybox installed in magisk. With android 11 one ui 3.1 on samsung you need to use legacy mode again unless you have a permissive kernel than just busybox and viper 4.4 module installed with 2.3.4 as a user app that's my favorite. Right now I'm stuck on 2.7.2 because no permissive kernel for oneui 3.1 yet
Perfect, thanks for sharing.