• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[APP][ALL ROOT SOLUTIONS][6.0+]ViPER4Android FX 2.7

Search This thread

Dubbaya

Member
Aug 23, 2017
18
4
The 2.7.1.6 version that was linked by Sohrab1985 caused a major problem, corrupting my internal storage and causing me to have to reset my device. Not blaming, just informing, as I took the risk of a linked file and all was well for a few days.

After several hours of use today, my Pixel 5/December patch froze and then said I had insufficient storage. I could not access storage under any circumstances. I could not access cache through recovery to clear it. I was stuck and had to factory reset. Thankfully, I had made a Swift backup a few days ago and it was all on my PC.

I'm blaming the V4A file because after re-setting my device, that was the last thing I installed and instantly, my device froze again just like before. I was able to reboot once, finally, and then immediately uninstall it.

And then, miraculously, 2.7.2.1 installed and works perfectly in legacy mode.

Make sure you have backups when installing other versions...

Which one was it you installed? Like which post/link?

Edit: Reason I am asking is cause I did go to my older phone that I was using when 2.7.1.6 was released in March on XDA Labs and I do have the apk from then. Dunno how to upload safely here though.
 
Last edited:

digger16309

Senior Member
Jul 17, 2014
407
140
OnePlus 5
Google Pixel 5
Which one was it you installed? Like which post/link?

Edit: Reason I am asking is cause I did go to my older phone that I was using when 2.7.1.6 was released in March on XDA Labs and I do have the apk from then. Dunno how to upload safely here though.

The one I installed was this one:

It could have been many things (not playing nice with Stock A11/Dec Patch, Magisk Beta 21.1, or ExKernel, or Spotify w/ downloaded files). There's no way to know. But the same symptoms started after a factory reset and update to the A11 Dec patch on my Pixel 5 and I think I got out of it in time. For me, it's not compatible, but it could be compatible and work for others.

I installed latest version (2.7.2.1) on LOS18 (Android 11) with no luck. It was working on LOS17.1 just fine.
I found a version (2.7.1.6) that works on LOS18. Here it is:
 

Dubbaya

Member
Aug 23, 2017
18
4
The one I installed was this one:

It could have been many things (not playing nice with Stock A11/Dec Patch, Magisk Beta 21.1, or ExKernel, or Spotify w/ downloaded files). There's no way to know. But the same symptoms started after a factory reset and update to the A11 Dec patch on my Pixel 5 and I think I got out of it in time. For me, it's not compatible, but it could be compatible and work for others.

Gotcha understood, 👍🏻. I am on a 4a and still Nov patch. Will be on the lookout though when stepping up to Dec.
 

vchango

Member
Apr 14, 2009
5
0
So reading sohrab1985 and digger16309 experience my guess is that Android 11 Dec/patch adds another restriction that prevents 2.7.2.1 from setting up either files or permissions to function properly.

Using the file linked by sohrab1985 installs 2.7.1.6 with higher priviledge as a system app.
I installed latest version (2.7.2.1) on LOS18 (Android 11) with no luck. It was working on LOS17.1 just fine.
I found a version (2.7.1.6) that works on LOS18. Here it is:

Once setup, what i did was force stop viper and cleared the storage for the app, than uninstalled in magisk.
Uninstalling i guess is not a clean uninstall, because i assume some files/permissions are left intact; because now
installing the current 2.7.2.1 from magisk does seem to function. Albeit slightly finicky, i have had to toggle legacy and compatibility to get it to register at times.

If it helps My setup Android 11 Dec/patch, magisk canary, elementalx kernel, busybox for android ndk
Also i would not recommend, yea music/spotify seems to work fine, but other media seems to conflict and hang/crash like youtube or media in websites.
 
Last edited:

sohrab1985

Senior Member
Feb 26, 2011
578
350
The 2.7.1.6 version that was linked by Sohrab1985 caused a major problem, corrupting my internal storage and causing me to have to reset my device. Not blaming, just informin................

It's weird, I tried it on LOS18 and it worked fine and didn't cause any problem. I don't know what to say I'm sorry to hear that.
 
Last edited:

sohrab1985

Senior Member
Feb 26, 2011
578
350
I installed latest version (2.7.2.1) on LOS18 (Android 11) with no luck. It was working on LOS17.1 just fine.
I found a version (2.7.1.6) that works on LOS18. Here it is:

Anyone using this module from the above post please keep in mind that this module although worked for me and some others, it caused problem for one the users, so please if you want to try this back up you device.
 
Last edited:

digger16309

Senior Member
Jul 17, 2014
407
140
OnePlus 5
Google Pixel 5
It's weird, I tried it on LOS18 and it worked fine and didn't cause any problem. I don't know what to say I'm sorry to hear that.

No worries. That's life in the rooting game without TWRP. If I had a working TWRP, I think I could have fixed it by clearing the cache, then uninstalling Magisk. But there is no TWRP and Google took cache clearing out of the stock recovery in A10 (so I learned yesterday).

The #1 thing I need with an audio mod is increased volume and bass. I haven't explored it, because all was well on A10 for me, but are there other options besides V4A?
 

sohrab1985

Senior Member
Feb 26, 2011
578
350
No worries. That's life in the rooting game without TWRP. If I had a working TWRP, I think I could have fixed it by clearing the cache, then uninstalling Magisk. But there is no TWRP and Google took cache clearing out of the stock recovery in A10 (so I learned yesterday).

The #1 thing I need with an audio mod is increased volume and bass. I haven't explored it, because all was well on A10 for me, but are there other options besides V4A?

I've heard of some other mod like Dolby Atmos but I haven't tried any of them. Like you that is exactly what I need.
 
Last edited:

pyry666

Senior Member
Dec 27, 2012
628
211
OnePlus 9 Pro
No worries. That's life in the rooting game without TWRP. If I had a working TWRP, I think I could have fixed it by clearing the cache, then uninstalling Magisk. But there is no TWRP and Google took cache clearing out of the stock recovery in A10 (so I learned yesterday).

The #1 thing I need with an audio mod is increased volume and bass. I haven't explored it, because all was well on A10 for me, but are there other options besides V4A?

You could try Wavelet
 

Camack

Senior Member
Mar 31, 2018
79
4
Portland
I have 2.7.1.6 installed on OneUI Android 10 and it works most of the time but sometimes the processing is no and I have to play around to get it to yes so I'm wondering can I just install the 2.7.2.1 apk and try legacy mode to see if it works all the time?
 

digger16309

Senior Member
Jul 17, 2014
407
140
OnePlus 5
Google Pixel 5
I've heard of some other mod like Dolby Atmos but I haven't tried any of them. Like you that is exactly what I need.

I looked at that, and it doesn't seem fully stable (less than V4A) and not for A11

You could try Wavelet

I'll look at that, thanks. I think that's just an equalizer though. Thanks to Google protecting my ears for me, I need the sound gain that V4A provides.

Looks like JamesDSP might be an option. It's working on A11, though I don't know if it has gain.
 
Last edited:
  • Like
Reactions: sohrab1985

digger16309

Senior Member
Jul 17, 2014
407
140
OnePlus 5
Google Pixel 5
Looks like JamesDSP might be an option. It's working on A11, though I don't know if it has gain.

JamesDSP installs through Magisk with a hidden API policy as a workaround on A11. I don't know what that does exactly, but it doesn't leverage SU.

It is working well for me so far, includes gain, bass, equalizer, etc.. I can't tell if it is as good as V4A, but it works for what I need and seems to have ongoing support, which V4A does not. That's not meant as a shot at the Devs. Reading through this thread, that's just reality.
 

crackerjack1957

Senior Member
Nov 1, 2012
532
203
I tried JamesDSP.......maybe because not knowing my way around it as good as v4a or maybe the driver in v4a is that much better......v4a was the winner by a mile for me
 

Iron-E

Member
Dec 8, 2020
7
12
Earth
Yeah was gonna link the process as I had the same question of how to donwgrade to 21.0 but you got it. Is it working now for you using 21.0? If you need 21.1 there is a method a person explained a few pages back that had it working with 21.1 I believe. But if you are ok with 21.0 like I am doing then all is well until the V4A folks get the time to update to the latest Magisk.

I think the real issue is SELinux. It seems SELinux permissive is the constant in all these installations; if it is permissive Viper works. If it is enforcing, Viper doesn't work. My install of 21.0 worked for a while but ended up having issues after a few reboots. Using Wavelet for now until either v4a or Magisk is patched…

I saw there was a special driver loader for V4A that bypasses this, however you need TWRP to flash it. My device doesn't have TWRP so I'm SOL on that front.

So reading sohrab1985 and digger16309 experience my guess is that Android 11 Dec/patch adds another restriction that prevents 2.7.2.1 from setting up either files or permissions to function properly.

Using the file linked by sohrab1985 installs 2.7.1.6 with higher priviledge as a system app.

I wonder if using the Terminal Systemizer from Magisk to promote Viper to system app would make it start to work.
 
Last edited:

DiamondJohn

Recognized Contributor
Aug 31, 2013
5,859
5,699
Sydney
I wonder if using the Terminal Systemizer from Magisk to promote Viper to system app would make it start to work.
Certainly try it, but I would guess no, as the "Viper app" is only the interface for the settings and not the actual assembly that processes the audio. But this is based purely on logic not on any first hand experience.
 

_mysiak_

Senior Member
Apr 1, 2009
2,434
1,424
Xiaomi Mi 10T Lite
I thought that "abnormal status" on my phone is due to MIUI (just purchased a new phone), but reading previous posts it seems to be a common problem recently. SElinux permissive is working, but I do not like this approach. I fixed it this way (after installing Viper as Magisk module and installing drivers):

1. Locate and edit file
Code:
/data/adb/modules/ViPER4AndroidFX/post-fs-data.sh
2. Add this text to the end of the file
Code:
magiskpolicy --live 'allow audioserver audioserver_tmpfs file { read write execute }'
magiskpolicy --live 'allow audioserver system_file file { execmod }'
magiskpolicy --live 'allow mediaserver mediaserver_tmpfs file { read write execute }'
magiskpolicy --live 'allow mediaserver system_file file { execmod }'
magiskpolicy --live 'allow audioserver unlabeled file { read write execute open getattr }'
magiskpolicy --live 'allow hal_audio_default hal_audio_default process { execmem }'
magiskpolicy --live 'allow hal_audio_default hal_audio_default_tmpfs file { execute }'
magiskpolicy --live 'allow hal_audio_default audio_data_file dir { search }'
magiskpolicy --live 'allow app app_data_file file { execute_no_trans }'
magiskpolicy --live 'allow mtk_hal_audio mtk_hal_audio_tmpfs file { execute }'
3. save, reboot phone
4. go to viper4android app and toggle legacy mode off and on, it should work now with legacy mode enabled

Alternative way is to run commands from step #2 from Tasker on each boot.

Tested on MIUI 12, Magisk 21.1 and Viper 2.7.2.1
 

digger16309

Senior Member
Jul 17, 2014
407
140
OnePlus 5
Google Pixel 5
I tried JamesDSP.......maybe because not knowing my way around it as good as v4a or maybe the driver in v4a is that much better......v4a was the winner by a mile for me

I agree V4A probably is better. After working through the JamesDSP settings, I was able to tweak them to get me where I want to be. I miss the presets of V4A. But, I don't have the time or the patience to be screwing around with V4A after every monthly patch on A11. This last time I installed it, the driver is on and good to go, legacy, etc... but zero processing. 😒
 

crackerjack1957

Senior Member
Nov 1, 2012
532
203
Did you happen to try the android 11 version 2.7.1.6?
Not saying it works but would like to know because I'm still on Android 10 running 2.7.1.6
 

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    Yes of course

    My most recent attempt was this method

    Installed the apk (2.7.2.1) first, opened it, granted root, installed driver, reboot, replace that post-fs-data file with the custom one (yes, I added the stuff correctly at the bottom of the row), reboot and turn on Legacy Mode. Reboot again.
    I am using OnePlus 9R (and was using the OnePlus 5 before this). Unfortunately, both these devices needed extra fixes/hacks for V4A to work. So I ended up making a Magisk module for myself which installs V4A as a system app, installs the drivers and applies fixes that are needed for it work (at least on my device). If you want to give it a shot, I've attached it. :)
    2
    I wondered if either @shadowstep or @DiamondJohn may be able to help me.
    I've been using viper for probably at least 10 years? Since getting into a more high-fidelity/audiophile world, I have continued to use my phone as the source as I don't know anything else that can sound as good as Viper.

    On it's own (straight from phone to headphones) viper works fine but when I use an external dac (RME ADI-2 DAC) or any other external dac, occasionally I get unbearable sounds when skipping tracks. It comes in a variety of different ways, like a squelching feedback, or an unusual distortion among others. I have to unplug my phone from the dac to clear it. I've learned to deal with it but wondered if either of you (or anyone) has ever experienced this or knows a fix.

    I've never experimented if it happens without Viper enabled but will try that today.

    Update: Does not happen without Viper enabled.
    I've never used an external DAC, so this is out of my wheelhouse. Sorry!
    2
    The other thing I noted, but forgot to mention, which obviously is fine for you, but others running different ROMs may need to add, is the removal of existing pre-installed equalizers in their ROMs. In the module I use, it removes MusicFX and AudioFX , at least one of which has been used previously in LOS based ROMs I have run. Don't know if they include it in more recent Android builds. Its not required in my Pixel device either, but its there by default.
    That's correct. This Audio Mod Troubleshooting Guide is pretty comprehensive as well, and may prove to be beneficial if anyone is having trouble getting V4A to work.

    I also compared your permissions XML with the one installed (and working) on my device, and found the following weren't in yours.
    Code:
    android.permission.ACCESS_SUPERUSER
    android.permission.BLUETOOTH
    android.permission.WRITE_EXTERNAL_STORAGE
    The one I am running was missing android.permission.FOREGROUND_SERVICE which sounds pretty instrumental, but hasn't appeared to cause issues. I haven't run APPT against the APK to check (ie manually create the permissions file from the APK). I understand we are running different versions, and there is no use assigning a permission if its not requested/used by the APK, and superuser is only used to install the driver, which the module already solves.
    I generated the permissions XML using AAPT only; used it against latest available version of the app, i.e. v2.7.2.1.
    1
    I wondered if either @shadowstep or @DiamondJohn may be able to help me.
    I've been using viper for probably at least 10 years? Since getting into a more high-fidelity/audiophile world, I have continued to use my phone as the source as I don't know anything else that can sound as good as Viper.

    On it's own (straight from phone to headphones) viper works fine but when I use an external dac (RME ADI-2 DAC) or any other external dac, occasionally I get unbearable sounds when skipping tracks. It comes in a variety of different ways, like a squelching feedback, or an unusual distortion among others. I have to unplug my phone from the dac to clear it. I've learned to deal with it but wondered if either of you (or anyone) has ever experienced this or knows a fix.

    I've never experimented if it happens without Viper enabled but will try that today.

    Update: Does not happen without Viper enabled.
    I have a Audioquest Dragonfly blue DAC which I can use with Viper4Android without issues.
  • 532
    ViPER4Android FX
    YF7EJvAcFH9ZuuytKO91DimKH-TQUvYOaA-gmdBrioXY-LSgtjoadLI17gtaGgIkR6KBXyVA4IXtcdjfLdQ=w2880-h1608

    By pittvandewitt and MrWhite214

    Introduction
    Many users are enhancing their smartphone audio experience with the popular ViPER4Android software, but some of us have a hard time installing the driver or they don't like the look of the app. As a solution for these troubles we have rewritten the 2.4.0.1 app source and added all 2.5.0.5 features to it. Many more features have been implemented too.
    With our huge success of ViPER4Android 2.6 we decided to completely rewrite the ViPER4Android app in Kotlin. This allowed us to squeeze out the remaining bugs and clean up the code even more. After a long time of waiting for you and developing for us, ViPER4Android 2.7 is finally here!
    There are many new features and improvements compared to 2.6, of which some can be found in the changelog. Hit the download button to check it out yourself!

    Downloads
    You can download the latest version on XDA Labs
    If you were pointed here for the installer by @Zackptg5, the link can be found here

    pittvandewitt's vdc service
    If you've always wanted to get the most neutral and arguably best sound coming from your headphones, make sure to join the VDC service to request a file!

    Donate
    You can donate to us via PayPal or buy our donation package from XDA Labs with extra features!
    Donate via PayPal
    Buy our donation package *coming soon*

    Dev Note
    If you want to include the app in your work, you're free to do so as long as you give proper credits

    Legal notice
    We are not associated with vipersaudio nor audlabs.
    Stating their Github readme we're free to use the driver as long as it's not used commercially.
    The driver parameters are obtained from the 2.4.0.1 source. The graphical EQ interface is inspired by the Cyanogenmod DSP application
    The app is still named ViPER4Android, because the driver isn't any different from what ViPER ACOUSTIC provides.
    Renaming it without changing anything would be considered kanging, which is not what is going on here.

    Credits
    ViPER ACOUSTIC for the driver
    Bappo for Swedish translation
    pittvandewitt for Dutch translation
    sazuke0703 for Thai translation
    R1DEN for Russian translation
    Hede for Danish translation
    gloeyisk for Indonesian translation
    LCS for Chinese simplified and traditional translations
    razor84 for Turkish translation

    Installation
    Download and install the APK from XDA Labs
    Follow the instructions when opening the app

    XDA:DevDB Information
    ViPERAndroid, App for the Apps & Games

    Contributors
    Team_DeWitt, pittvandewitt, Mr_White_214

    Version Information
    Status: Stable
    Current Stable Version: 2.7.2.1
    Stable Release Date: 2020-10-27

    Created 2018-04-09
    Last Updated 2020-10-27
    134
    Currently on the wishing list
    • Car mode / head unit detection
    • More translations. If you're interested, take a look over here to find the files. Fork the repo and make a pull request to get your translation merged in next release!
    • EMUI (Huawei) 8.0+ refuses to load the driver. Ask ViPER ACOUSTIC for a 64bit driver (Can't fix)
    • Updated driver that does not require selinux injections or the libstdc++ dependency workaround (Can't fix)

    Before reporting:
    Make sure you use the latest APK provided on XDA Labs
    Make sure any other audio mod is disabled/removed before installing the driver. We really cannot afford fixing every single device setup, especially when it's not related to the app


    If you would like to report a bug, pm @Team_DeWitt using the following format:
    [Describe the problem and your steps you take to reproduce it]
    [Phone brand and model]
    [OS (ROM) + Android version]
    [Root method (in case of magisk: core or full)]
    [Provide a link to your log file]
    115
    Changelog

    2.7.2.1
    • Improved loading logic for convolution files
    • Fixed an issue when installing the module on older Magisk versions
    • Bug fixes
    • Stability improvements


    2.7.2.0
    • Android 11 support
    • Automatically save/restore settings based on the device type/name
    • Add preset widget
    • Reworked presets
    • Performance improvements
    • Close service when no music playback is active if legacy mode is disabled
    • Add optional crashlytics to help improving future versions

    2.7.1.6
    • Support Magisk 20.3
    • Long press a feature to show description
    • Material theme update
    • Support scoped storage on Android 10+ (Preset dir is now /sdcard/Android/data/com.pittvandewitt.viperfx/files/Preset)

    2.7.1.0
    • Support Magisk 19
    • Add compatibility setting
    • Add ability to attach to sessions
    • Fix preset loading bug
    • Switch from setools to magiskpolicy
    • Important release notes: Link

    2.7.0.0
    • Full rewrite in Kotlin
    • New UI
    • Presets can be managed in the app itself
    • Effects can be set more precisely with seekbars
    • Min API 23
    • Uses 2.5.0.4 driver only
    • Audio routing bug fixed
    • Driver status bug fixed
    • Cross device effect changing bug fixed
    • App follows system dark/light mode (can be toggled with google messages e.g.)
    • Installation is faster and more versatile
    • Notification settings
    • Reduced APK size significantly

    2.6.0.5
    • Add app shortcuts (7.1+)
    • Minor interface redesign
    • Fix muffled sound
    • Fix options not applying
    • Fix profile conversion
    • Introduce vdc service
    • Improve performance
    • Update driver installation
    • Update chinese translations, thanks to KiSS

    2.6.0.4
    • Retain service after clearing recents
    • Emergency service.sh fix
    • Support Magisk core mode
    • Fix profile load loop
    • Recover speaker service
    • Fix convolver
    • Support Pixel devices
    • Use su.d if possible
    • Force global effect mode
    • Add Korean translation by @nebulac

    2.6.0.3
    • Fix /system install and uninstall.
    • Add temporary workaround for the convolver
    • Updated strings

    2.6.0.2
    • Fix FC while installing the driver
    • Add root check before installing the driver
    • Removed lucky patcher check
    • Capitalized driver status outputs
    • Updated strings

    2.6.0.1
    • Fix profile loading
    • Fix assets bug
    2.6.0.0
    • Initial Release
    101
    2.7.1.0 released

    Yay it's finally time to release an update

    And with this release come a few important release notes:
    Support for Magisk prior to v19 is dropped.
    If you did not use magisk, you need to reflash your /system partition and reinstall the driver
    An audio attach setting is added too to improve compatibility and it needs some explanation:
    For every time you play a song, the audio player should send information about what session the audio is played on, so equalizer apps can attach to that session.
    Session 0 is the default but deprecated session. Most of the time V4A processes just fine at session 0, but if it doesn't you can enable this switch and Viper will attach to other sessions. Note that if you don't have any session open, the driver status will say abnormal, which makes sense.
    There is the need for a switch, because in a lot of cases audio players do NOT send the information when a session is closed. So they keep the driver occupied and this mutes all other audio streams, including session 0 which is the fallback session.
    To make this problem a bit less bad, I excluded session 0. But when you still run into this problem, the solution is not to kill viper but to kill the audio app that was playing music previously.
    Bad design, I know. But it's not my fault. You should contact the developer of the music app to fix their crappy code and send a broadcast when audio playback stops/pauses.
    This switch makes ACP obsolete.

    Other things that have improved:
    I've seen multiple issues with android pie where the viper library wasn't detected any longer because a dependency is removed since the update. A workaround is shipped in the new release.
    The compatibility mode switch has been added back. This seems to be mandatory for car mode and some android q builds.
    An issue when loading presets has been resolved

    Download can be found on labs as always: Link
    89
    Answers to some related questions

    Help, the driver status says no
    • In case of Enabled: no; Please flip the Master limiter switch and go sit in a corner for a while
    • In case of Processing: no; If you use an application that uses audio sessions, enable session attaching in the settings. If that does not work, the audio is routed over session 0. You might want to try Audio Compatibility Patch from the Magisk repository in this case.

    What happened to the profiles?
    • They're now called presets. They are reworked to use independently per device, a feature that was very welcome. Because of many technical changes and improvements on how the preset is stored and loaded, they are not compatible with older versions than 2.7. You will have to recreate them by hand unfortunately. You can access the menu by pressing the selected device in case you missed the huge showcase when you first launched the app after installing the driver

    Why does your Magisk module not work?
    • Probably because you installed some other mod that also has an audio_effects file in it. Whatever module gets loaded last will become active
      The easiest way to bypass this is to let the app build a module after you installed all your favorite audio mods, and delete all files containing audio_effects in the other modules
      AudModLib will not come in handy this time, because the app doesn't flash a zip that AML can intercept

    Where can I find the source code?
    • You can't. And there is an obvious reason for that: This app is more sensitive to kangers who start selling this app, likely after adding their bullsh*t to it, rather than to people who actually want to help improve the app. Something like that already happened in the past to other audio software here on xda. Not really something we want to see happen again

    Where did the Selinux switch go?
    • What..? Are you really that careless security wise?
      The app handles this in a much more sophisticated way now. It injects only the absolute necessary rules to allow V4A to process, fully automatically

    Help, why do I still experience service drops?
    • Probably because doze is kicking in because Android doesn't like long running services. The service has been implemented the way the docs suggest. You can try excluding it from doze. Alternatively you can check out dontkillmyapp.com for tips

    Do you have a zip file for me?
    • No. There is no point in providing a zip file anymore. The driver installation is written from scratch and actually works now

    How do I uninstall the driver?
    • Use Magisk Manager to delete the module. If you use another root solution, you can dirty flash your rom or just leave it there