• 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

Xj748

Member
Feb 5, 2021
10
0
good evening to the whole group and thank you!
I ask you for help ... I installed on Elephone s8 smartphone with Root permissions (it has a mediatek processor) viper4android and then I also tried James DSP ... but they only work on youtube or music player or spotify, but on applications such as i games don't work ... (on samsung tablet with root it works instead) ... do you know how I can fix it? some other app or mod that allows me to increase the volume in the headphones would also be fine ... then if you can also equalize even better ....



buona serata a tutto il gruppo e grazie!
vi chiedo aiuto... ho installato su smartphone Elephone s8 con permessi di Root (ha un processore mediatek) viper4android e poi ho provato anche James DSP... ma funzionano solo su youtube o player musicale o spotify, ma su applicazioni ad esempio i giochi non funzionano... (su tablet samsung con root invece funziona)... sapete come posso risolvere? andrebbe bene anche qualche altra app o mod che mi permetta di aumentare il volume in cuffia... poi se riesci anche a equalizzare ancora meglio....

Grazie 🙏
 
Last edited by a moderator:

DiamondJohn

Recognized Contributor
Aug 31, 2013
5,612
5,390
Sydney
I had a selinux deny:
07-26 15:07:13.329 13850 13850 I HwBinder:13850_: type=1400 audit(0.0:333): avc: denied { execmem } for scontext=u:r:hal_audio_default:s0 tcontext=u:r:hal_audio_default:s0 tclass=process permissive=1

I could get 2.7.2.1 to work (A11/LOS18) by adding to sepolicy:
supolicy --live "allow hal_audio_default hal_audio_default process { execmem }"
that same allow is in /data/adb/modules/ViPER4AndroidFX/sepolicy.rule - why that did not work I dont know
For starters, you are running permissive (ie end of the line, "permissive=1"). Permissive will log the denies, but actually allow them. So if it isnt working now, I dont think changing your selinux will help.

I havent nchecked your allow line, but I have built an app TeMeFI which I used to use to create selinux allows (originally for viper). You can find it under the menu at: Logcat>Logcats>Generate SELinux Allows The output format is more for ROM source code or the sepolicy file in Magisk, but it should give you a better idea of what to set.
 
Last edited:

maxmopp

Member
Jul 21, 2011
8
0
For starters, you are running permissive (ie end of the line, "permissive=1"). Permissive will log the denies, but actually allow them. So if it isnt working now, I dont think changing your selinux will help.

I havent nchecked your allow line, but I have built an app TeMeFI which I used to use to create selinux allows (originally for viper). You can find it under the menu at: Logcat>Logcats>Generate SELinux Allows The output format is more for ROM source code or the sepolicy file in Magisk, but it should give you a better idea of what to set.
Thanks a lot, cool tool!
I did check with enforcing=1 as well though
 

gfrank227

Senior Member
Feb 12, 2018
78
12
Moto G8 Plus
Hi all,

I thought I would share the method that I have discovered to correctly configure V4A to process audio. This is tested on my Moto G8 Plus (doha) running Android 10. My impression from this thread and others is that this method may work for many different phones running A10 and A11, so I thought I would share it here. I didn't create this method, but I am simply gathering various pieces of the puzzle into one post so that people will hopefully have an easier time getting V4A to process.

1. Make sure your device is rooted with Magisk Manager installed.

2. Download V4a FX through Magisk Manager app. Install and reboot.

3. Install Audio Modifications Library (AML) through Magisk Manager app. Reboot.

4. Enter the V4A app and install the drivers. The phone will automatically reboot.

5. Go back into Magisk and disable AML. Reboot.

6. Enter the V4A app and the program will ask to reinstall the drivers. Do this; your phone will reboot.

7. ** Use your preferred android file explorer and find the post-fs-data.sh file inside the following directory in the root: /data/adb/modules/ViPER4AndroidFX/
Add the following lines to this file: (thanks to the original poster of this: see this thread.)

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 }’

Then, reboot your phone.

8. go into the V4A app; enable legacy mode and turn on the master limiter.

9. Congratulations. V4A should now be processing.

** Alternatively, you can download the SELinuxModeChanger app from the F-droid store and set SELinux to Permissive. However, I prefer the first method, since this second method is less secure.

I didn't create this method; however, I developed this method after gathering together different methods that have worked for different people. I hope that this will help someone.
 

pndwal

Senior Member
Hi all,

I thought I would share the method that I have discovered to correctly configure V4A to process audio. This is tested on my Moto G8 Plus (doha) running Android 10. My impression from this thread and others is that this method may work for many different phones running A10 and A11, so I thought I would share it here. I didn't create this method, but I am simply gathering various pieces of the puzzle into one post so that people will hopefully have an easier time getting V4A to process.

1. Make sure your device is rooted with Magisk Manager installed.

2. Download V4a FX through Magisk Manager app. Install and reboot.

3. Install Audio Modifications Library (AML) through Magisk Manager app. Reboot.

4. Enter the V4A app and install the drivers. The phone will automatically reboot.

5. Go back into Magisk and disable AML. Reboot.

6. Enter the V4A app and the program will ask to reinstall the drivers. Do this; your phone will reboot.

7. ** Use your preferred android file explorer and find the post-fs-data.sh file inside the following directory in the root: /data/adb/modules/ViPER4AndroidFX/
Add the following lines to this file: (thanks to the original poster of this: see this thread.)

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 }’

Then, reboot your phone.

8. go into the V4A app; enable legacy mode and turn on the master limiter.

9. Congratulations. V4A should now be processing.

** Alternatively, you can download the SELinuxModeChanger app from the F-droid store and set SELinux to Permissive. However, I prefer the first method, since this second method is less secure.

I didn't create this method; however, I developed this method after gathering together different methods that have worked for different people. I hope that this will help someone.
FWIW, I'm running Viper4Android FX 2.7.2.1 from Magisk repo w/ 2.5.0.4 driver on stock MIUI Android 10.

After installing and setting Legacy mode (Compatibility mode does nothing for me), Driver Status is Abnormal, but driver is always reset properly / working (for Legacy mode) simply by disabling module and rebooting, then enabling and rebooting again (2 reboots).

Does this work for others? PW
 

gfrank227

Senior Member
Feb 12, 2018
78
12
Moto G8 Plus
FWIW, I'm running Viper4Android FX 2.7.2.1 from Magisk repo w/ 2.5.0.4 driver on stock MIUI Android 10.

After installing and setting Legacy mode (Compatibility mode does nothing for me), Driver Status is Abnormal, but driver is always reset properly / working (for Legacy mode) simply by disabling module and rebooting, then enabling and rebooting again (2 reboots).

Does this work for others? PW

There are multiple reports of users on A10 and A11 using this trick with Audio Modification Library to get the drivers to work properly. I just saw something with people claiming that doing something similar with JamesDSP can also help get V4A drivers to work, then you can disable it (I have not tried this).

I also know for sure that many phones can run V4A without legacy mode. Did the drivers work properly on your phone without legacy mode, and then change to abnormal after it was enabled?

When my phone is not set in legacy mode, the drivers immediately switches to Abnormal. But turning legacy mode back on fixes it without a reboot.

Sometimes I need to kill the process, and then reset some switches in V4A in order to get the app to start processing audio again after a long time. I believe this is due to the app being forced out of RAM by other apps. But I don't believe this is what you're referring to.
 
  • Like
Reactions: pndwal

pndwal

Senior Member
There are multiple reports of users on A10 and A11 using this trick with Audio Modification Library to get the drivers to work properly. I just saw something with people claiming that doing something similar with JamesDSP can also help get V4A drivers to work, then you can disable it (I have not tried this).
Yes, I used disable AML trick also, but once I realised we simply need a way to 'reset' driver once in Legacy mode, I tried simply disabling module and rebooting, then enabling and rebooting again and this works without installing AML...

I haven't seen any reports of others using this particular method.

I also know for sure that many phones can run V4A without legacy mode.
Ah, thanks; I hadn't seen recent reports of Viper4Android FX working w/o Legacy mode enabled; I think need for this may be more common.

Did the drivers work properly on your phone without legacy mode, and then change to abnormal after it was enabled?
No, I have Abnormal on both Redmi Note 8T (stock MIUI, Android 10) and Mi Pad 4 (LOS 18.1, ie. Android 11) w/o Legacy mode.

Interestingly however, on my Mi Pad 4 I was surprised to find it needed only mandatory reboot after module Installation to have working Viper.

I did this: installed Viper4Android FX from Magisk repo but instead of reboot immediately, opened Viper4Android FX App (it's already installed), let it install missing Neon driver then reboot, open Viper4Android FX, check driver status; it's Abnormal, select Legacy mode in settings, check driver status again and it's Normal / working! (No reset needed.)

Not sure if it's Android 11, AOSP standard ROM, SELinux policy fixes in Alpha Magisk fork I use or other that allows swapping to Legacy mode to work immediately, but my RN8T on stock MIUI & Android 10 & needs driver reset incl. reboots w/ Legacy mode on to work any time Legacy mode is re-engaged.

When my phone is not set in legacy mode, the drivers immediately switches to Abnormal. But turning legacy mode back on fixes it without a reboot.
Seems we have the same common system environment.

Sometimes I need to kill the process, and then reset some switches in V4A in order to get the app to start processing audio again after a long time. I believe this is due to the app being forced out of RAM by other apps. But I don't believe this is what you're referring to.
Yup, I've only had driver abnormal issues with system changes so far, and reset driver has always fixed (except with one Magisk build until SELinux regression was fixed).

Thanks for your feedback! PW
 
Last edited:

gfrank227

Senior Member
Feb 12, 2018
78
12
Moto G8 Plus
Someone on telegram posted another method on A10 and A11 to get V4A to process correctly. I thought I would paste/share here so that it would be saved for posterity. Again, hope this helps someone. (I have not personally tried this, so cannot vouch for this):

After trying almost every solution in this group and online, here's what I've discovered works to get Viper processing successfully on all of my A10 and A11 phones (your results may vary):

0. Flash Magisk v 21.0 (IMPORTANT!)
1. Flash Android Modification Library (AML) via Magisk.
2. Reboot
3. Flash Viper Magisk module
4. Open Viper app then reboot
5. Open Viper app and activate Legacy mode
6. Turn on Viper
7. Force close Viper
8. Open Viper and play some music
9. It should now be processing successfully
10. Open Magisk and update to the latest version if desired (optional).
 
  • Like
Reactions: tweakradje

Xj748

Member
Feb 5, 2021
10
0
good evening to the whole group and thank you!
I ask you for help ... I installed on Elephone s8 smartphone with Root permissions (it has a mediatek processor) viper4android and then I also tried James DSP ... but they only work on youtube or music player or spotify, but on applications such as i games don't work ... (on samsung tablet with root it works instead) ... do you know how I can fix it? some other app or mod that allows me to increase the volume in the headphones would also be fine ... then if you can also equalize even better ....



buona serata a tutto il gruppo e grazie!
vi chiedo aiuto... ho installato su smartphone Elephone s8 con permessi di Root (ha un processore mediatek) viper4android e poi ho provato anche James DSP... ma lavorare solo su youtube o player musicale o spotify, ma su applicazioni ad esempio i giochi non funziona... (su tablet samsung con root invece funziona)... sapete come posso risolvervi? andrebbe bene anche qualche altra app o mod che mi permetta di aumentare il volume in cuffia... poi se riuscirai anche a equalizzare ancora meglio....

grazie ?
please 🙏 can anyone help me?
 
Last edited by a moderator:

SickCuriosity

Member
Nov 26, 2015
26
5
please 🙏 can anyone help me?
Getting Viper to work properly, especially on less common models, takes a bit of trial and error.
The most common solutions are: install Magisk modules called "Audio Modification Library" and "Audio Compatibility Patch". Then set the selinux policy to "permissive", you can do it with an app like this.

Better if you uninstall Viper first, do these stuff, restart and then reinstall Viper. These are the most common solutions, if after that it still doesn't work I'm not sure what else to do. There are a lot of different tricks around threads, some work and some don't. You can also try Viper's "legacy mode" and "compatibility mode" settings, but they may create more problems than they solve.

Good luck...



I'll reply in Italian since you seem to be Italian.

Far funzionare Viper correttamente, soprattutto su modelli meno comuni, va un po' a tentativi.
Le soluzioni più comuni sono: installa i moduli Magisk chiamati "Audio Modification Library" e "Audio Compatibility Patch". Poi setta la policy selinux su "permissive", puoi farlo con un'app apposta tipo questa.

Meglio se prima disinstalli Viper, fai queste robe, riavvii e poi reinstalli Viper. Queste sono le soluzioni più comuni, se dopo ancora non funziona non so bene che altro fare. Ci sono un sacco di trucchi vari in giro per i thread, a qualcuno funzionano e ad altri no. Puoi anche provare le impostazioni "legacy mode" e "compatibility mode" di Viper, ma potrebbero creare più problemi di quelli che risolvono.

In bocca al lupo...

MOD EDIT: While I appreciate your initiative to help this user, you could have provided an English translation also which would help other users visiting this thread.

Whenever you are posting in another language, please provide an English translation also as per Rule 4.

/TNSMANI, Senior Moderator
 
Last edited by a moderator:
  • Like
Reactions: Xj748

Skaifer

Member
Oct 12, 2016
11
2
26
Huawei P9 Lite VNS-L21 | EliteROM 7.7 | Android v7.0 | Kernel 4.1.49-EKR-v7.3 | Latest possible updates | Magisk 23

Hi there!
So, after several days of tinkering and rebooting my phone a couple dozen times, trying different versions of ViperFX, patches and tips, I've decided, that I have to ask for a help.

I've managed to get working driver with the latest version of ViperFX-2.7.2.1. Wasn't working at first, it didn't want to install the driver, but after hell of amount attempts to get working other versions, tried again latest. It said it could not copy an empty HTC profile file at 6-th step, I deleted it, then it installed just fine.

There are no patches installed right now or other mods. All is working in legacy mode except driver states abnormal in these situations:
  • Turning master switch off/on.
  • Connecting/disconnecting bluetooth earbuds
  • Turning on Headphone surround+.

Basically, after the device being changed, driver can not launch again until I reboot, then it works until next device change. So if my earbuds reconnect my ears are 'bleeding', because without driver sound level is too high.😅 I've tried to kill audio server (su -c killall -q audioserver), after clearing cache and force stopping app, but it does not help - only restart. If any logs can be helpful let me know what should I collect exactly.
 

XODS

Member
Sep 6, 2016
38
0
Trying to get viper only my 1+ 9pro. I've tri d every tutorial and version I could find, the app and module install, but when I open the app it asks to I stall drivers. I hit ok, it reboots, open the app again and it asks to install driver, and does this over and over.
 

gfrank227

Senior Member
Feb 12, 2018
78
12
Moto G8 Plus
Trying to get viper only my 1+ 9pro. I've tri d every tutorial and version I could find, the app and module install, but when I open the app it asks to I stall drivers. I hit ok, it reboots, open the app again and it asks to install driver, and does this over and over.
The following is posted to the telegram site regarding an installation loop:

If you experience a driver install loop, please follow these steps:

N.B. All formatted $ code are commands you would use in a terminal

1. Run $ touch /sbin/.magisk/modules/ViPER4AndroidFX/post-fs-data.sh; echo 'setenforce 0 >> /sbin/.magisk/modules/ViPER4AndroidFX/post-fs-data.sh' && reboot
2. If V4A loaded correctly, run $ su -c dmesg | grep 'avc:' > /sdcard/dmesg.txt and upload the file here. The file most likely contains information on what selinux rules to add so your device can be supported.
3. Run $ echo 'sed -i 'setenforce 0' /sbin/.magisk/modules/ViPER4AndroidFX/post-fs-data.sh' && reboot
4. If the problem could be located, you'll be contacted to try a build that may contain the fix.
 
  • Like
Reactions: XODS

Xj748

Member
Feb 5, 2021
10
0
Far funzionare correttamente Viper, specialmente su modelli meno comuni, richiede un po' di tentativi ed errori.
Le soluzioni più comuni sono: installare i moduli Magisk chiamati "Audio Modification Library" e "Audio Compatibility Patch". Quindi imposta la policy selinux su "permissive", puoi farlo con un'app come questa.

Meglio se disinstalli prima Viper, fai queste cose, riavvia e poi reinstalla Viper. Queste sono le soluzioni più comuni, se dopo non funziona ancora non sono sicuro di cos'altro fare. Ci sono molti trucchi diversi intorno ai thread, alcuni funzionano e altri no. Puoi anche provare le impostazioni "modalità legacy" e "modalità compatibilità" di Viper, ma potrebbero creare più problemi di quanti ne risolvano.

Buona fortuna...



Ti rispondo in italiano visto che sembri italiano.

Far funzionare Viper correttamente, soprattutto su modelli meno comuni, va un po' a tentativi.
Le soluzioni più comuni sono: installa i moduli Magisk denominati "Audio Modification Library" e "Audio Compatibility Patch". Poi setta la policy selinux su "permissive", puoi farlo con un'app apposta tipo questa .

Meglio se prima disinstalli Viper, fai queste robe, riavvii e poi reinstalli Viper. Queste sono le soluzioni più comuni, se dopo ancora non funziona non so bene che altro fare. Ci sono un sacco di trucchi vari in giro per i thread, a qualcuno aiuta e ad altri no. Puoi anche provare le impostazioni "legacy mode" e "compatibility mode" di Viper, ma potrebbe creare più problemi di quelli che risolvono.

In bocca al lupo...

MOD EDIT: Anche se apprezzo la tua iniziativa per aiutare questo utente, avresti potuto fornire anche una traduzione in inglese che avrebbe aiutato altri utenti a visitare questo thread.

Ogni volta che pubblichi in un'altra lingua, fornisci una traduzione inglese anche come da Regola 4.

/TNSMANI, Moderatore Senior
grazie 🙏 ma purtroppo non ha funzionato 😩
 

Top Liked Posts

  • There are no posts matching your filters.
  • 526
    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
    133
    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