General Viper4Android - Pixel 6 Pro - how to? [Root/magisk only]

Search This thread

Morgrain

Senior Member
Aug 4, 2015
1,131
1,314
Hello there.

I've been trying to get Viper4Android to work and tried the most common solutions (none worked yet)

-> manually edit /data/adb/modules/ViPER4AndroidFX/post-fs-data.sh didn't work
-> using the automatic editing via magisk module didn't work
-> trying to use JamesDSP/audio compatibility library in between reboots installed/deinstalled didn't work

I also tried the "newest" fix version from the v4a Telegram group.

Any time I use a pair of bluetooth headsets, the options menu just states "abnormal" and v4a doesn't work.

Strangely enough, if I use the phone speakers and have NO bluetooth headset enabled, the processing works normally.

Anyone found a solution yet?

I plan to use this thread as a discussion first and once we found a viable solution that can be reproduced, I will edit this post to a guide. In the following spoiler I'll progressively add more information that will later replace the main text.
Disclaimer: The following requires root level access and knowledge in order to get a functioning audio mod working. I am not responsible for you bricking your device. Always tinker with your devices carefully.

Official v4a XDA Thread


1. Purpose

This guide serves as an installation method to get Android4Viper working on a Google Pixel 6 Pro (as of 12/2021). If not stated explicitly otherwise, do not assume that this method will work on another Android 12 device.

2. Installation method

3. Download


Viper4Android cannot be downloaded via xdalabs anymore. The installer (old 2020 version) can be either found here https://zackptg5.com/android.php#viper or as a magisk module in the new unofficial repo via Fox's Magisk Manager Module https://github.com/Fox2Code/FoxMagiskModuleManager (John abandonded the official Magisk Repo as of 12/2021).

4. Now that I have Viper4Android running... where do I find the right settings for my specific pair of headphones?

For a baseline, you can visit the GitHub page of the project AutoEQ and find the settings that fit your need https://github.com/jaakkopasanen/AutoEq/tree/master/results/crinacle

There is a general thread for Viper4Android profiles that are being shared by the community (sometimes with attached DDC & Convolver files) https://xdaforums.com/t/read-op-first-official-viper4android-audio-profiles.2324454/

For a generic IRS file ("DDC") you can visit this website https://github.com/Codejune/viper4android-eq/tree/master/Kernel

If you want a specific DDC file tailored to your headphone, there are several XDA threads to chose from, where members of this community take the time and effort it takes to create those - usually these files are sold, you can expect about ~ 3€ per headphone IRS file pack. There are some floating around github or other parts of the net, but those are not always "official" and might have been shared without consent of the original creator. One creator of these files that offers them for free can be found here https://xdaforums.com/t/v4a-irs-ddc...filters-2016-06-05-5-new-hifi-models.2372750/

For a Convolver file you can also search for them in several XDA threads (usually for free, DDC files are usually the ones being sold) - for example:


5. My device bootloops after installing a magisk module (fix)

Most bootloops caused by a magisk module can be solved via safemode boot (automatically disables magisk modules).
 
Last edited:

Lughnasadh

Senior Member
Mar 23, 2015
6,160
7,663
Google Nexus 5
Huawei Nexus 6P
Hello there.

I've been trying to get Viper4Android to work and tried the most common solutions (none worked yet)

-> manually edit /data/adb/modules/ViPER4AndroidFX/post-fs-data.sh didn't work
-> using the automatic editing via magisk module didn't work
-> trying to use JamesDSP/audio compatibility library in between reboots installed/deinstalled didn't work

I also tried the "newest" fix version from the v4a Telegram group.

Any time I use a pair of bluetooth headsets, the options menu just states "abnormal" and v4a doesn't work.

Strangely enough, if I use the phone speakers and have NO bluetooth headset enabled, the processing works normally.

Anyone found a solution yet?

I plan to use this thread as a discussion first and once we found a viable solution that can be reproduced, I will edit this post to a guide. In the following spoiler I'll progressively add more information that will later replace the main text.
Do you have HD audio option in Developer settings under Bluetooth enabled? If so, try turning it off.
 

Morgrain

Senior Member
Aug 4, 2015
1,131
1,314
Do you have HD audio option in Developer settings under Bluetooth enabled? If so, try turning it off.
I just tried it out and deactivated HD audio. Now it works! Marvelous! Thank you.

But... now I don't have LDAC anymore, that kinda defeats the purpose of v4a, since I want maximum music quality (I've been using both the Sony WF-XM4 (earbuds) and "normal" XM4 (NC headphones), both which rely on LDAC. Is there another workaround? Or a way to force LDAC even though the option is deactivated?
 

Lughnasadh

Senior Member
Mar 23, 2015
6,160
7,663
Google Nexus 5
Huawei Nexus 6P
I just tried it out and deactivated HD audio. Now it works! Marvelous! Thank you.

But... now I don't have LDAC anymore, that kinda defeats the purpose of v4a, since I want maximum music quality (I've been using both the Sony WF-XM4 (earbuds) and "normal" XM4 (NC headphones), both which rely on LDAC. Is there another workaround? Or a way to force LDAC even though the option is deactivated?
I don't know of a workaround for that, sorry.
 
  • Like
Reactions: roirraW "edor" ehT

Morgrain

Senior Member
Aug 4, 2015
1,131
1,314
Alright, so I narrowed it down a bit.

The problem are both the bitrate and samplerate.

The maximum that this V4A fix currently supports is

48kHz <- down from 96 kHz
32bits/sample <- remains
330kbps <- down from 990kbps

That is still a step up from SBC (44.1Khz 16bit) - ergo if I tune that down in developer options, I can still use LDAC, even though with a reduced bitrate. I should mention that I also installed the Audio Modification Library and Ainur Narsil prior to my most previous attempt to get LDAC working, so that might be of importance.
 

AndroidAddict420

Account currently disabled
Here ya go?

1) flash Viper file, but dont open
2) Flash Patch File, but dont reboot
3) Open Viper, flash drivers let it reboot
 

Attachments

  • ViperFX_Android12_Fix.zip
    2.5 KB · Views: 2,974
  • com.pittvandewitt.viperfx_2.7.2.1-2721_minAPI23(arm64-v8a,armeabi-v7a,x86,x86_64)(nodpi)_apkmi...apk
    8.8 MB · Views: 10,443

Morgrain

Senior Member
Aug 4, 2015
1,131
1,314
Here ya go?

1) flash Viper file, but dont open
2) Flash Patch File, but dont reboot
3) Open Viper, flash drivers let it reboot
I took a look at your second file and that's the exact same post-fs-data.sh edit that I've already talked about in the OP post. I guess your method is the same, even though you have linked a handy app instead of manual editing (credits go to Typhus_ I guess)

I did not use any ViperFX "fix" version though. Can you confirm that your version supports high quality codec/more than 48 Khz/330kbps?
 
Last edited:

AndroidAddict420

Account currently disabled
I took a look at your second file and that's the exact same post-fs-data.sh edit that I've already talked about in the OP post. I guess your method is the same, even though you have linked a handy app instead of manual editing (credits go to Typhus_ I guess)

I did not use any ViperFX "fix" version though. Can you confirm that your version supports high quality codec/more than 48 Khz/330kbps?
Yea, i take no credit for the work, just the find. SEARCH does wonders kid ;) Android 12 (Viper4Android)
 

fil3s

Senior Member
Viper 2.7.2.1 is working fine for me on my 6pro. I have zero problems with it.


Steps I took:

These are the steps I used on my OnePlus 9 and they worked on my 6 Pro as well. Didn't need to mess with any post fs stuff:


1. Install Ainur Narsil in Magisk

2. Install AML in Magisk

3. Install V4A

4. Reboot and should be good (if not, continue to step 5)

5. Disable AML in Magisk (don't uninstall, just disable) and reboot

6. Re-enable AML, reboot and now you should be good

I have the latest canary magisk, latest December patch.
 

Morgrain

Senior Member
Aug 4, 2015
1,131
1,314
Why not simply using wavelet?
It's the difference between night and day... apples vs bananas... nuclear warheads vs bricks... kidding.

Wavelet is a glorified Equalizer, whilst Viper4Android is in a class of its own, enabling enthusiasts to go above and beyond to get the best music quality possible by using

- custom tailored DDCs for your specific headphone (you can ez buy headset correction IRS' in certain Telegram groups, make your own or have luck finding ones...)
- Custom tailored Convolvers (personally I'd suggest to give TubeAmplifier & Technics Preamp Extreme v.2 a first try to get a baseline, and then try out others to see if it fits your headphone pair better)
- Decent dynamic & bass system
- Clarity settings, auditory protection, et cetera...

V4A can turn a pair of headphones into a stellar object of beauty, whilst Wavelet will simply elevate your experience by ~20%.

If you can, try it out. The experience (IF ! you tailor it properly) is extraordinary. I'd also always suggest to get the best possible results by tailoring your settings according to your headset, e.g. get a baseline with

 
Last edited:

Morgrain

Senior Member
Aug 4, 2015
1,131
1,314
Viper 2.7.2.1 is working fine for me on my 6pro. I have zero problems with it.


Steps I took:

[...]
I have the latest canary magisk, latest December patch.
Can you confirm that this method (without manually editing any files) enables high quality Codecs/bitrate?

It's still relatively unclear if this is a Android 12 thing, a Pixel 6 problem or if it's caused by Viper4Android. What is clear is that it was possible in the past (I had three Pixels, was never an issue) to use high quality codecs (LDAC) with full bandwidth, meaning

Samplerate of 96.0 kHz
32 bits/sample
990kbps (the latter will probably never work, since the P6 has a bit of bluetooth connection problems, meaning after 660 the phone will only produce noise/can't get a solid connection - hopefully Google can fix this)
 
  • Like
Reactions: roirraW "edor" ehT
It's the difference between night and day... apples vs bananas... nuclear warheads vs bricks... kidding.

Wavelet is a glorified Equalizer, whilst Viper4Android is in a class of its own, enabling enthusiasts to go above and beyond to get the best music quality possible by using

- custom tailored DDCs for your specific headphone (you can ez buy headset correction IRS' in certain Telegram groups, make your own or have luck finding ones...)
- Custom tailored Convolvers (personally I'd suggest to give TubeAmplifier & Technics Preamp Extreme v.2 a first try to get a baseline, and then try out others to see if it fits your headphone pair better)
- Decent dynamic & bass system
- Clarity settings, auditory protection, et cetera...

V4A can turn a pair of headphones into a stellar object of beauty, whilst Wavelet will simply elevate your experience by ~20%.

If you can, try it out. The experience (IF ! you tailor it properly) is extraordinary. I'd also always suggest to get the best possible results by tailoring your settings according to your headset, e.g. get a baseline with


Tbh I only used V4A to apply custom made .irs profiles from oratory1990. Same can be done in wavelet. Nothing more needed for my Sennheiser HD800S, HD600 and Momentum 3.

But yes, V4A has tons of more options. I just never needed those.

What I miss in wavelet are automatic profile switches based on output (speaker,bluetooth,cable).
 

fil3s

Senior Member
Can you confirm that this method (without manually editing any files) enables high quality Codecs/bitrate?

It's still relatively unclear if this is a Android 12 thing, a Pixel 6 problem or if it's caused by Viper4Android. What is clear is that it was possible in the past (I had three Pixels, was never an issue) to use high quality codecs (LDAC) with full bandwidth, meaning

Samplerate of 96.0 kHz
32 bits/sample
990kbps (the latter will probably never work, since the P6 has a bit of bluetooth connection problems, meaning after 660 the phone will only produce noise/can't get a solid connection - hopefully Google can fix this)

Idk man it works fine for me for the most part. I can confirm that Bluetooth randomly drops out about once a day, although, I had probs with the with the stock EQ as well, like the preset would just 'cut out'

It's definitely a lot better than stock. Bass is good. No complaints here 👌

Edit. Disregard this post. Thanks
 

Attachments

  • Screenshot_20220102-045150.png
    Screenshot_20220102-045150.png
    245.4 KB · Views: 137
Last edited:

Lughnasadh

Senior Member
Mar 23, 2015
6,160
7,663
Google Nexus 5
Huawei Nexus 6P
I just tried it out and deactivated HD audio. Now it works! Marvelous! Thank you.

But... now I don't have LDAC anymore, that kinda defeats the purpose of v4a, since I want maximum music quality (I've been using both the Sony WF-XM4 (earbuds) and "normal" XM4 (NC headphones), both which rely on LDAC. Is there another workaround? Or a way to force LDAC even though the option is deactivated?
I just did some testing with my Pixel Buds A-series and I have V4A working via Bluetooth (as well as JamesDSP) with HD audio enabled. I am able to choose my Codec (which the best for my buds are AAC, unfortunately. No LDAC support). However, I do have ACP installed. That may be why it's working with HD audio enabled. Might want to give it a try.

I have V4A, JamesDSP, AML & ACP installed.

When installing ACP, I chose these options:

1. Skip audio_policy patching?=Yes
2. Skip notification_helper remover?=Yes
3. Skip usb policy patching for usb dacs?=No
4. Use lib workaround?=No

Maybe this will help...
 

Roll3r

Senior Member
Mar 7, 2006
764
289
Oakland, CA
? for everyone who has it "working":

a) do you have to enable legacy?

and if not

b) is it stable, or does the status go to abnormal after X number of songs, etc?

I've tried every method out there and since Android 10 I haven't gotten V4A to work consistently without enabling legacy, and I don't want keep beating my head against the wall if legacy mode is the only stable option.
 
Last edited:

Lughnasadh

Senior Member
Mar 23, 2015
6,160
7,663
Google Nexus 5
Huawei Nexus 6P
? for everyone who has it "working":

a) do you have to enable compatibility?

and if not

b) is it stable, or does the status go to abnormal after X number of songs, etc?

I've tried every method out there and since Android 10 I haven't gotten V4A to work consistently without enabling compatability
a) No (but have to enable Legacy Mode)
b) Yes it is stable
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    Why not simply using wavelet?
    It's the difference between night and day... apples vs bananas... nuclear warheads vs bricks... kidding.

    Wavelet is a glorified Equalizer, whilst Viper4Android is in a class of its own, enabling enthusiasts to go above and beyond to get the best music quality possible by using

    - custom tailored DDCs for your specific headphone (you can ez buy headset correction IRS' in certain Telegram groups, make your own or have luck finding ones...)
    - Custom tailored Convolvers (personally I'd suggest to give TubeAmplifier & Technics Preamp Extreme v.2 a first try to get a baseline, and then try out others to see if it fits your headphone pair better)
    - Decent dynamic & bass system
    - Clarity settings, auditory protection, et cetera...

    V4A can turn a pair of headphones into a stellar object of beauty, whilst Wavelet will simply elevate your experience by ~20%.

    If you can, try it out. The experience (IF ! you tailor it properly) is extraordinary. I'd also always suggest to get the best possible results by tailoring your settings according to your headset, e.g. get a baseline with

    4
    Here ya go?

    1) flash Viper file, but dont open
    2) Flash Patch File, but dont reboot
    3) Open Viper, flash drivers let it reboot
    4
    Alright, so I narrowed it down a bit.

    The problem are both the bitrate and samplerate.

    The maximum that this V4A fix currently supports is

    48kHz <- down from 96 kHz
    32bits/sample <- remains
    330kbps <- down from 990kbps

    That is still a step up from SBC (44.1Khz 16bit) - ergo if I tune that down in developer options, I can still use LDAC, even though with a reduced bitrate. I should mention that I also installed the Audio Modification Library and Ainur Narsil prior to my most previous attempt to get LDAC working, so that might be of importance.
    3
    Here ya go?

    1) flash Viper file, but dont open
    2) Flash Patch File, but dont reboot
    3) Open Viper, flash drivers let it reboot
    I took a look at your second file and that's the exact same post-fs-data.sh edit that I've already talked about in the OP post. I guess your method is the same, even though you have linked a handy app instead of manual editing (credits go to Typhus_ I guess)

    I did not use any ViperFX "fix" version though. Can you confirm that your version supports high quality codec/more than 48 Khz/330kbps?
    3
    Do you have HD audio option in Developer settings under Bluetooth enabled? If so, try turning it off.
    I just tried it out and deactivated HD audio. Now it works! Marvelous! Thank you.

    But... now I don't have LDAC anymore, that kinda defeats the purpose of v4a, since I want maximum music quality (I've been using both the Sony WF-XM4 (earbuds) and "normal" XM4 (NC headphones), both which rely on LDAC. Is there another workaround? Or a way to force LDAC even though the option is deactivated?