• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

ViPER4Android FX Legacy/XHiFI [Unity][Deprecated]

Search This thread

ahrion

Retired Forum Moderator / Recognized Developer
Jul 19, 2013
3,102
5,114
Yeah, I already did that but it did not work. I reinstalled viper, reinstalled busybox, applied the deep_buffer, but it still won't work under-enforcing mode. Only method that still works is when I set viper to compatible mode, unfortunately.
Which Magisk version do you have installed?

Something you have on your phone is conflicting with v4a. Compatible mode is specifically for v4a to be more compatible with other apps.
 

mttrwlnd

Member
Mar 19, 2014
29
1
That's somewhat unfortunate then. As Osmosis BusyBox is the one I've been had installed during all these attempts.

The issue I'm having is that when I open the viper app, the driver install never sticks. After being granted SU permissions, it locks up for several seconds, then says the install was successful and to reboot. When I do so, however, and then go back into the app, it asks me to do it all over again.

This happens with the APK that I extract from your .zip, as well as the Materialized version.

Yours says "driver needs to be installed/updated"

Materialized specifically says it needs to be reinstalled.

What troubleshooting steps would you recommend for when this happens? Maybe you know something I haven't tried yet.
 

r80ies

Senior Member
Jun 15, 2010
266
13
I flashed V2.0 in Magisk 14.2 running on an XL 8.0 and neither UI for V4A FX and Atmos install. I was going to extract and install .apk manually, but I thought I would check in here first. Any thoughts?
 

sushuguru

Senior Member
Oct 30, 2016
356
172

Attachments

  • Screenshot_2017_10_05_08_42_25.jpg
    Screenshot_2017_10_05_08_42_25.jpg
    228.5 KB · Views: 291
  • Screenshot_2017_10_05_08_42_03.jpg
    Screenshot_2017_10_05_08_42_03.jpg
    171 KB · Views: 295

DerpleNerple2000

Senior Member
Oct 2, 2014
59
7
Good news! It seems the latest GitHub source successfully installs V4A and it's driver upon flashing on the Pixel XL 8.0.0 (I think it was commit 0b8df7ac5d6069adc94ccf72373eb75f6f209eac that fixed the Pixel install). However, the driver will show abnormal status until SELinux is set to permissive (There is a magisk module that flashes fine with flashfire that will do this).
 

ahrion

Retired Forum Moderator / Recognized Developer
Jul 19, 2013
3,102
5,114
I want to give a shout-out to @Zackptg5 for his work in this project. Some of the things he has added or improved upon is great. This project and even the Ainur project wouldn't be the same without him.

While a lot of users don't understand the complexity of Unity Installer or AML, let me explain why we're so excited with it (since people are confused, especially developers).

As you know, Audio Modification Library or AML for short, allows multiple audio mods to utilize the same files without compatibility issues. Some ask why this is necessary right? Well this is necessary because Magisk does it's job by symlinking files. Almost every audio modification or app utilizes audio_effect.conf files by doing patches to that specific file. This is where we run into the problems. Only one of the same file can be symlinked at any given time, so say I download a non AML ViPER4Android module and a non AML Dolby module, whichever audio_effect.conf file is symlinked last, will be the one that is loaded by the system. This will cause either Dolby or V4A to not work. AML fixes this issue so any mod that utilizes AML will just simply patch the AML module, thus fixing the Magisk issue. With v2.0+ AML is different in the fact that it also brings other features besides being a simple framework, but it also assists with System installs as well rather than just Magisk as well as allows SELinux patching for SELinux Enforcing (allows audio mods to work on SELinux Enforcing). It's easy to add support for AML for developers as well by simply utilizing the Unity Installer. It's a copy/paste job (easy) from there.

Unity Installer and AML are both bundled together, Unity Installer is where a lot of the magic happens. The developer who wants to use Unity has the option to make a mod by setting AudModLib=false, in that case AML will not be installed or utilized in a non-audio mod module. Unity Installer is a multi-purpose and multi-compatibility installer that ranges across arm/x84 to Nexus and Pixel devices, and allowing one installer to detect and install on either Magisk or non-Magisk (System install), and adds many features for both developers AND users. Some of the features included rootless, addon.d, init.d, MagiskSU, phh SU, LineageOS SU, other root options, and SELinux Enforcing support. Among other features, Unity also allows Magisk user's to force uninstall by adding "uninstall" to the zip name and force System install by adding "system" to the zip name (if Magisk is already installed). You can also uninstall by flashing the installed version a second time. Another new unreleased feature is the fact that the mod always uninstalls itself when a new version is detected because if the new version is missing previous files from an older version, this cleans up for the new install.

Now people might think Unity or AML is dumb or useless because it looks confusing, and it is, but not for the user or developer. The reason being is among all the features it has, all the internal update-binary script doesn't need to be edited AT ALL for any of these features. The update-binary doesn't need to be touched. It's literally a copy/past game for the developer to the specified files we've created for them. So say for example I want to make a Liveboot module based on Chainfire's app, you would literally just place the file in the system directory of the Unity template, change the necessary files for the module (only if Magisk) and voila, the installer will automatically create the addon.d script, any necessary boot scripts, and the uninstaller will work for whatever apps or files placed without the developer or user adding any code or lines. It's all automated. Cool right? Now there are some special cases where a lib might be installed differently and this is where the custom rules comes in, we allow the developer to manually define the conditions to place their files, but the installer will still automate the process for addon.d, scripts, and uninstall process. So. How can this be relevant? Say we have ARISE right? That mod has over 100+ files right? Literally all that needs to be done is a copy/paste job and the installer/Uninstaller automates the rest. One thing that is developers hate about Uninstallers is always having to update it any time a file is added or changed, imagine being @guitardedhero from ARISE constantly editing an installer for over 100+ lines of code to reflect every file in his mod. Yeah. . That's not gonna happen, which is why many modules don't have uninstallers. This fixes that issue because it's all automated.

Among all the crazy usefulness of an installer like Unity, it's not for everyone. I didn't even finish listing all of the cool features. I just wanted to clear up some confusion on why every time a new feature is released I'm excited, and why I think it would benefit a lot of people other than myself, Zack, or the Ainur project.
 
Last edited:

shantam3108

Senior Member
Jul 8, 2015
1,717
733
new delhi
OnePlus 5
Some logs on Oreo. As soon as I start music viper status goes to abnormal and lost root. And Dolby crashing as well as sound stop until the Dolby app is opened.
 

Attachments

  • Screenshot_20171005-102616.jpg
    Screenshot_20171005-102616.jpg
    115.1 KB · Views: 313

Rom

Senior Member
Jul 1, 2013
2,527
1,045
Lyon
I want to give a shout-out to @Zackptg5 for his work in this project. Some of the things he has added or improved upon is great. This project and even the Ainur project wouldn't be the same without him.

While a lot of users don't understand the complexity of Unity Installer or AML, let me explain why we're so excited with it (since people are confused, especially developers).

As you know, Audio Modification Library or AML for short, allows multiple audio mods to utilize the same files without compatibility issues. Some ask why this is necessary right? Well this is necessary because Magisk does it's job by symlinking files. Almost every audio modification or app utilizes audio_effect.conf files by doing patches to that specific file. This is where we run into the problems. Only one of the same file can be symlinked at any given time, so say I download a non AML ViPER4Android module and a non AML Dolby module, whichever audio_effect.conf file is symlinked last, will be the one that is loaded by the system. This will cause either Dolby or V4A to not work. AML fixes this issue so any mod that utilizes AML will just simply patch the AML module, thus fixing the Magisk issue. With v2.0+ AML is different in the fact that it also brings other features besides being a simple framework, but it also assists with System installs as well rather than just Magisk as well as allows SELinux patching for SELinux Enforcing (allows audio mods to work on SELinux Enforcing). It's easy to add support for AML for developers as well by simply utilizing the Unity Installer. It's a copy/paste job (easy) from there.

Unity Installer and AML are both bundled together, Unity Installer is where a lot of the magic happens. The developer who wants to use Unity has the option to make a mod by setting AudModLib=false, in that case AML will not be installed or utilized in a non-audio mod module. Unity Installer is a multi-purpose and multi-compatibility installer that ranges across arm/x84 to Nexus and Pixel devices, and allowing one installer to detect and install on either Magisk or non-Magisk (System install), and adds many features for both developers AND users. Some of the features included rootless, addon.d, init.d, MagiskSU, phh SU, LineageOS SU, other root options, and SELinux Enforcing support. Among other features, Unity also allows Magisk user's to force uninstall by adding "uninstall" to the zip name and force System install by adding "system" to the zip name (if Magisk is already installed). You can also uninstall by flashing the installed version a second time. Another new unreleased feature is the fact that the mod always uninstalls itself when a new version is detected because if the new version is missing previous files from an older version, this cleans up for the new install.

Now people might think Unity or AML is dumb or useless because it looks confusing, and it is, but not for the user or developer. The reason being is among all the features it has, all the internal update-binary script doesn't need to be edited AT ALL for any of these features. The update-binary doesn't need to be touched. It's literally a copy/past game for the developer to the specified files we've created for them. So say for example I want to make a Liveboot module based on Chainfire's app, you would literally just place the file in the system directory of the Unity template, change the necessary files for the module (only if Magisk) and voila, the installer will automatically create the addon.d script, any necessary boot scripts, and the uninstaller will work for whatever apps or files placed without the developer or user adding any code or lines. It's all automated. Cool right? Now there are some special cases where a lib might be installed differently and this is where the custom rules comes in, we allow the developer to manually define the conditions to place their files, but the installer will still automate the process for addon.d, scripts, and uninstall process. So. How can this be relevant? Say we have ARISE right? That mod has over 100+ files right? Literally all that needs to be done is a copy/paste job and the installer/Uninstaller automates the rest. One thing that is developers hate about Uninstallers is always having to update it any time a file is added or changed, imagine being @guitardedhero from ARISE constantly editing an installer for over 100+ lines of code to reflect every file in his mod. Yeah. . That's not gonna happen, which is why many modules don't have uninstallers. This fixes that issue because it's all automated.

Among all the crazy usefulness of an installer like Unity, it's not for everyone. I didn't even finish listing all of the cool features. I just wanted to clear up some confusion on why every time a new feature is released I'm excited, and why I think it would benefit a lot of people other than myself, Zack, or the Ainur project.
Personally i have decided to use unity installer zip template to setup my magisk module update, and seriously i have just make...hum, let me remember in how many seconds i have finished basics things like folders, files and properties..5 minutes, no more.
My most (and present) works time is in the devlopment of my customs commands wich will run in post-fs-data mode, so the same things that in the post-fs-data.sh file from native magisk package.

More about sounds mods compatibility, i use V4F maigks module on v14 of Magisk and now i realyze that its really an great works maked. Because i wanted to "port" several sounds mods basically makes for TWRP (no Magisk support yet), and its litteraly an "Chinese puzzle", both at the level of the code specific to each modules and files and to the domain of the compatibility and the limitations or basic bugs with Magisk.

Really we can say an huge thanks to ahrion and Zackptg5 for their works :good:
 

mttrwlnd

Member
Mar 19, 2014
29
1
Good news! It seems the latest GitHub source successfully installs V4A and it's driver upon flashing on the Pixel XL 8.0.0 (I think it was commit 0b8df7ac5d6069adc94ccf72373eb75f6f209eac that fixed the Pixel install). However, the driver will show abnormal status until SELinux is set to permissive (There is a magisk module that flashes fine with flashfire that will do this).

Just to clarify, this is on Magisk 14.2, and the .zip was installed through Magisk Manager?
 

Rh7m3Pl4ay

Senior Member
Oct 16, 2016
77
15
Have a bug: Magisk 14, flashed your viper module. Installation successful,but it's not processing in YouTube or SoundCloud. Just" processing tab" is listed "no". When using blackplayer- processing- "yes". Flashed deep buffer remover. No changes- same. And also in same 2.5.0.5 version back then, processing was even in system sounds, so it sounded louder. For example, when you unlocked the phone- you clearly heard the difference between unlock sound with viper off and on. To conclude: no processing with SC, Youtube and system.

I use Aosp Extended 4.6, device OnePlus 2
 

ahrion

Retired Forum Moderator / Recognized Developer
Jul 19, 2013
3,102
5,114
Personally i have decided to use unity installer zip template to setup my magisk module update, and seriously i have just make...hum, let me remember in how many seconds i have finished basics things like folders, files and properties..5 minutes, no more.
My most (and present) works time is in the devlopment of my customs commands wich will run in post-fs-data mode, so the same things that in the post-fs-data.sh file from native magisk package.

More about sounds mods compatibility, i use V4F maigks module on v14 of Magisk and now i realyze that its really an great works maked. Because i wanted to "port" several sounds mods basically makes for TWRP (no Magisk support yet), and its litteraly an "Chinese puzzle", both at the level of the code specific to each modules and files and to the domain of the compatibility and the limitations or basic bugs with Magisk.

Really we can say an huge thanks to ahrion and Zackptg5 for their works :good:
I'm glad more people like yourself are starting to see that Unity is a cool installer. It wasn't made for myself, and Zack isn't doing it for just these modules, but helping others easily.

XMLStartlet will be in next version as well thanks to James from JDSP.
 

SN22

Senior Member
Sep 11, 2014
79
18
Hey.
I've read a few pages and still can't get how to make it work.
Do i need busybox? What about SElinux? Other mods like deep buffer? Im confused.
Can i get a installation guide pls?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 460
    Deprecated - Use the New ViPER4Android v2.7:
    GO TO THE THREAD LINKED ABOVE. You don't need to flash any zips. Just install it as a regular apk, allow it to install the drivers, and you're good to go.
    For magisk users: I made a zip on the repo that includes the original vdc's and my profile converter (will convert your old profiles to the new and better format).
    For rootless users: I made a zip to install drivers and such
    Zips can be found here
    ALL SUPPORT QUESTIONS FOR 2.7 SHOULD BE AT THE THREAD ABOVE.

    This is ViPER4Android FX and Xhifi Unity installers

    These installers utilize my Unified installer that can install on Magisk OR System if Magisk is not detected (with Pixel support).

    Credits of Originality:
    - @zhuhang (Official Thread)
    - @Osm0sis
    - Viper's Audio (Official blog)
    - @ViPER520
    - @Team_DeWitt

    Special Instructions:
    • If you already know which original v4a you want to use, just add 'old' for 2.3.4.0, 'mid' for 2.4.0.1, 'new' for 2.5.0.5, or 'mat' for material to the zipname prior to flashing.
    • If you already know if you want it installed as a user or system app, add "uapp" for user app or "sapp" to system app to zipname.
    • If you already know if you want to apply the libstdc++.so lib workaround, add "lib" or "nlib" to zipname (note that there are some devices that are already known to require it and so they'll apply workaround regardless of choice)
    • If you already know if your device/rom requires the v4a open/close/fc audioserver workaround, add "ocw" to zipname. Otherwise, add "nocw" to zipname
    • To skip volkeys (if your device isn't compatible with them), add "novk" to the zipname. Note that if you don't specify the above, defaults will be applied which are: sapp, new
    • Make sure there are no spaces in the zipname

    Audio Mod Troubleshooting Guide

    Downloads

    XDA:DevDB Information
    ViPER4Android FX Legacy/XHiFI [Unity], App for the XDA Community Apps

    Contributors
    ahrion, Zackptg5

    Version Information
    Status: Stable
    Current Stable Version: v4.4
    Stable Release Date: 2019-08-11

    Created 2019-01-18
    Last Updated 2020-01-01
    31
    Updated V4A to v1.6.4! Changelog: Unity 1.5.2 update, add AML detection/notification for noobs, update old material to latest repo version (no longer trips play protect, uses switches like original 2.5 v4a, lots of other improvements)
    26
    Updated v4a to v4.0! Changelog:
    * Fix boot script once and for all
    * Don't prompt for lib workaround if device that needs it
    * Get rid of aroma option
    * Update to Unity v4.0
    25
    Been busy with my new mod specific stuff and then work. The problem is that I have to update like 13ish update binaries because this new Magisk changed quite a bit. Usually I just do batch editing which allows me to make changes in minutes. This will take like a good days worth of work for one of my days off.

    It's not just for this mod though. Thank you for your patience.
    25
    V4A has been updated! Changelog: Updated to unity v1.5.5