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

Search This thread

DanGLES3

Senior Member
Nov 11, 2017
735
720
For those who do not work the latest version of Viper4Android FX.

I have used this one since it came out in LineageOS 16.0 Android P. Until I updated to the latest version and the driver stopped working and was not installed.

For now, I have not seen this version of XDA Labs connect to the internet.

It is version 2.7.0.0


(I do not know if I can pass Viper's apk here, if I can not, tell me and I'll eliminate it)
It doesn't connect to the internet because the 2.6 and the new 2.7 versions had the entire apps rewritten from scratch
 
  • Like
Reactions: z3ki

stankyou

Senior Member
Dec 20, 2010
1,748
590
Personally it's ok for me to have this app renamed to something different to avoid the confusion with the legacy app. Mamba4Android maybe? Lol.

Anyway, anyone else using Oneplus 5T got the app working and not stop processing in the middle of music playback?

Sent from my OnePlus 5T using XDA Labs
 
Last edited:
  • Like
Reactions: z3ki

z3ki

Member
Sep 10, 2014
40
2
How do I get this running on the OnePlus 5T with latest 9.0?
Installing with drivers like a charm but no "processing".


Have you activated Master limiter?
 

Attachments

  • Screenshot_20190508-000812_ViPER4Android_FX-picsay.jpg
    Screenshot_20190508-000812_ViPER4Android_FX-picsay.jpg
    138.5 KB · Views: 659
  • Screenshot_20190508-000812_ViPER4Android_FX-picsay2.jpg
    Screenshot_20190508-000812_ViPER4Android_FX-picsay2.jpg
    138.1 KB · Views: 651

agplugged

Senior Member
Oct 23, 2016
159
53
OnePlus 8T
My experience with 2.7.1 was an odd one, and I can't understand the reason for the update.
The session toggle behaves unpredictably - some apps use session 0, some don't, and switching between them makes for a rather unintuitive experience.
Also, while toggling the attach audio effects on, makes Viper lag after starting new sessions (like skipping songs, podcasts etc.), Which disrupts the whole listening experience.
Installing ACP solves this problem and makes the use of the toggle obsolete. I'd like to understand why the toggle operates the way to does and what's the idea behind it besides "not using ACP".

Compatibility mode also causes issues while using several sessions (such as a music player combined with GMaps or Waze).
Again - installing ACP solves these problems, as far as I can tell.
 
  • Like
Reactions: SirRhor and sjamie

Zackptg5

Recognized Developer
  • Sep 18, 2014
    4,088
    6,688
    zackptg5.com
    My experience with 2.7.1 was an odd one, and I can't understand the reason for the update.
    The session toggle behaves unpredictably - some apps use session 0, some don't, and switching between them makes for a rather unintuitive experience.
    Also, while toggling the attach audio effects on, makes Viper lag after starting new sessions (like skipping songs, podcasts etc.), Which disrupts the whole listening experience.
    Installing ACP solves this problem and makes the use of the toggle obsolete. I'd like to understand why the toggle operates the way to does and what's the idea behind it besides "not using ACP".

    Compatibility mode also causes issues while using several sessions (such as a music player combined with GMaps or Waze).
    Again - installing ACP solves these problems, as far as I can tell.
    The toggle exists because many music apps have crap code that don't use audio session properly or haven't been updated in years and still use deprecated session 0. It's not the vault of v4a but of those apps. It's the best solution that could be come up with unfortunately
     

    agplugged

    Senior Member
    Oct 23, 2016
    159
    53
    OnePlus 8T
    The toggle exists because many music apps have crap code that don't use audio session properly or haven't been updated in years and still use deprecated session 0. It's not the vault of v4a but of those apps. It's the best solution that could be come up with unfortunately
    To my understanding ACP was made to solve said problem, am I mistaken?
     

    Zackptg5

    Recognized Developer
  • Sep 18, 2014
    4,088
    6,688
    zackptg5.com
    To my understanding ACP was made to solve said problem, am I mistaken?
    No, acp is just a collection of hacks to get around this issue. Aml has one in it as well which pretty much forces apps to all use the same session. So they're not actually fixing anything, just hacky workarounds. The only way to truly fix it is for app devs to update their apps :/
    But whatever works
     

    agplugged

    Senior Member
    Oct 23, 2016
    159
    53
    OnePlus 8T
    No, acp is just a collection of hacks to get around this issue. Aml has one in it as well which pretty much forces apps to all use the same session. So they're not actually fixing anything, just hacky workarounds. The only way to truly fix it is for app devs to update their apps :/
    But whatever works
    Thanks for illuminating the subject for me. I appreciate the response and the work you put in each of these modules! I highly doubt Spotify would change the way its app works but one could hope, I suppose~
     

    marciozomb13

    Senior Member
  • Apr 30, 2012
    1,288
    2,012
    Rio de Janeiro
    Thanks for illuminating the subject for me. I appreciate the response and the work you put in each of these modules! I highly doubt Spotify would change the way its app works but one could hope, I suppose~
    Spotify is a great app but the problem of it always it 'announces' as a media app each time even without using it and 'stealing' my audio sessions are kinda annoying. Don't have any problem with Deezer.
     
    • Like
    Reactions: joluke

    MrBrady

    Senior Member
    Oct 26, 2010
    3,316
    900
    Silicon Valley
    I think I have the same with Waze.

    Sent from my ONEPLUS A6000 using Tapatalk

    Here's a setup that works for me with Google Maps Navigation audio while using Android Auto. Pixel 2 XL running Dirty Unicorns & Sultan kernel.
    1. Install this Viper app, grant root access and let it install drivers. Reboot.
    2. Open Viper, open Settings, enable "Compatibility mode". According to the release notes, this lets everything work in Car Mode (if I'm reading it correctly).
    3. Install Audio Modification Library Magisk module. Reboot.
    4. Open Viper. Mine asked me to install the drivers again, so I did. Reboot.
    5. Profit
    I tried this before with "Attach audio effects" enabled, but it was causing Viper to cut in-and-out depending on what app was playing audio. For example, it would process music through Spotify, but then a navigation audio would play and you could hear Viper "cut-out", then re-enable when Spotify starts playing again. The AML module fixed this for me, but only after disabling Attach audio effects.

    Added Bonus. If you're into Substratum themes, Outline / Ethereal theme the updated UI of this Viper app.
     
    • Like
    Reactions: kalpik

    gl4cier

    New member
    May 8, 2019
    1
    0
    Can't get it to work on MI a2, android 9: Enabled NO, Processing NO in driver settings when playing from any app to any device (bluetooth, speaker).
    Already tried:
    - disable MusicFX
    - selinux permissive
    - audio modification library from magisk
    - audio compatibility patch from magisk
    - all possible viper settings (channel\compatible)
    - older viper version from magisk
    All over for me?
     

    zickler_malta

    Senior Member
    Nov 19, 2014
    219
    84
    39
    Naxxar
    so you don't need the magisk module when running the apk found in the op? i have both installed and works flawlessly but if the module is unnecessary might as well delete it.
     

    sjamie

    Senior Member
    Aug 6, 2011
    8,491
    4,271
    so you don't need the magisk module when running the apk found in the op? i have both installed and works flawlessly but if the module is unnecessary might as well delete it.

    When you install the apk found in the XDA app, it actually creates a Viper4Android 2.7.1.0 Magisk module. If the Viper module has any other version number next to it, it is an older version of Viper and should be deleted to avoid conflicts.
     
    • Like
    Reactions: hurray

    Joe199799

    Senior Member
    Sep 7, 2014
    826
    282
    Here's a setup that works for me with Google Maps Navigation audio while using Android Auto. Pixel 2 XL running Dirty Unicorns & Sultan kernel.
    Install this Viper app, grant root access and let it install drivers. Reboot.
    Open Viper, open Settings, enable "Compatibility mode". According to the release notes, this lets everything work in Car Mode (if I'm reading it correctly).
    Install Audio Modification Library Magisk module. Reboot.
    Open Viper. Mine asked me to install the drivers again, so I did. Reboot.
    Profit

    I tried this before with "Attach audio effects" enabled, but it was causing Viper to cut in-and-out depending on what app was playing audio. For example, it would process music through Spotify, but then a navigation audio would play and you could hear Viper "cut-out", then re-enable when Spotify starts playing again. The AML module fixed this for me, but only after disabling Attach audio effects.

    Added Bonus. If you're into Substratum themes, Outline / Ethereal theme the updated UI of this Viper app.

    I tried using ethereal to change the colors from Green to red and I just get an off lime color no matter what I pick
     

    Top Liked Posts

    • There are no posts matching your filters.
    • 1
      Ah, OK, thank you! :)
      Will try it next.
      Edit: It's working with headphones (only in legacy mode, and stil got to test Bluetooth later.)
      So most effects don't work with the internal speaker, OK.
      1
      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
      Finally running smoothly with MIUI 12,Magisk 22.1 and Viper 2.7.2.1.Thank u.
      1
      this worked for me:

      Install in order

      Viper4androidFX via Magisk
      Reboot
      Audio Modification Library via magisk
      Reboot
      Push the file (extract from the zip) to data/adb/modules/ViPER4Android/ that i have uploaded and set permission 644
      (it should now be data/adb/modules/ViPER4Android/post-fs-data.sh)
      Reboot
      Open viper, set to legacy mode, then check if status is now normal

      Amazingly this has been working on all my phones with A11
      1
      This is the version of 2.7.1.6 that's working for me. My personal upload, it's thanks to a user who posted it a bunch of pages back.

      V4A Android 11 Beta

      I promise it works! I've tested this on a Pixel 2XL multiple times, with multiple ROMs, stock rooted Android 10 and 11 as well.

      Just recently upgraded to a Pixel 5 5g, flashed after rooting with canary Magisk (2101) and no additional modules.

      I've wiped my phones completely multiple times in the last week or two and reinstalled this version of Magisk and the linked v4a and it works every single time. No problems whatsoever.
      I've been struggling with Viper for days now, was giving up, and then I found this. I installed it without any hopes, and IT WORKED ON THR FIRST TRY. You did say it works every time 🤗😘😘
      1
      I've been struggling with Viper for days now, was giving up, and then I found this. I installed it without any hopes, and IT WORKED ON THR FIRST TRY. You did say it works every time 🤗😘😘
      This zip seems to be setting SELinux to permissive, not the best idea how to make Viper working (in terms of security). Especially as it also contains proper fix with Magiskpolicy.. :)
    • 521
      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
      131
      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
    Our Apps
    Get our official app!
    The best way to access XDA on your phone
    Nav Gestures
    Add swipe gestures to any Android
    One Handed Mode
    Eases uses one hand with your phone