[Guide] [ROOT Required] Installing Viper4Android on Lollipop - AT&T Galaxy Note 3 General

What you will need:
To be on Lollipop WITH root (go here if you need to flash the rooted ROM)
BusyBox to be installed (it should already be installed on the rooted ROM, if not then search the Play Store or use your favorite one)
A copy of Viper4Android v2.3.4.0 (Download from here)
A file browser that can access the /system partition and change permissions (I prefer ES File Explorer but you can use whatever you like)
Titanium Backup (or you can use the application manager in the Settings app)
Firstly, what you will need to do is use your file browser and create a folder called "Viper4Android" in your /system/priv-app/ folder. Set the permission for this folder to rwxr-xr-x or 0755, then paste your Viper4Android APK into the folder you created and set the permission for the APK to rwxrwxrwx or 0777, with root being owner and group for both folder and APK.
Secondly, what you will need to do is browse to /system/etc/ with your file browser and open the file init.qcom.post_boot.sh and at the very bottom of the file paste this:
Code:
/system/xbin/supolicy --live "allow mediaserver mediaserver_tmpfs:file { read write execute };"
It is imperative that you make sure you are using Unix line endings instead of anything else.
Thirdly, use Titanium Backup or the Application Manager to freeze SoundAlive, as all music apps will attempt to default to it. Also you may want to freeze the Adapt Sound app, as if you enable it will then be used over V4A.
Lastly, reboot your phone and then install the drivers and reboot one last time. I can confirm that it works on Play Music, and that it doesn't work on the stock Music player (however I believe there is a way to get it to work somewhere on the internet).
Problems:
Viper4Android fails at installing!
Click to expand...
Click to collapse
You are to create it as a system app, so follow the first step.
Viper4Android doesn't appear!
Click to expand...
Click to collapse
Make sure you followed the first step correctly and set the proper permissions.
Viper4Android still says Abnormal and Unsupported in the status!
Click to expand...
Click to collapse
Make sure you pasted the command into the init.qcom.post_boot.sh file and that you used Unix line endings, as using DOS or Mac line endings add extra characters that Android will try to parse as actual text.
Viper4Android says that BusyBox isn't installed!
Click to expand...
Click to collapse
This bug happens sometimes, I found the best way to beat it is to open your BusyBox app and just put it in the background and try the driver installation again.
I enabled everything and my music still sounds the same!
Click to expand...
Click to collapse
Make sure you freeze SoundAlive and Adapt Sound, as they will be used before Viper4Android, also you may need to put V4A into Compatibility mode to use with certain music players. Also you can't use the stock Music player (but I think there is a way somewhere on the internet).
My phone broke and won't boot!
Click to expand...
Click to collapse
Then you may want to wait until a recovery flashable zip is made, but at no point are the steps going to brick your phone, you can just boot to Safestrap or flash back.
Notes:
This process can probably be done very easily with a init.d script and a recovery flashable zip, but I currently don't have the time and don't want to risk screwing up someone's phone.
You can use any other Viper4Android mod, as long as it is v2.3.4.0, I prefer this version which looks very nice. You can extract the file from the zip attachment and just follow the steps here.
You do not need to have SELinux set to permissive, as even with using MultiSystem to set it to permissive, it still didn't work until the above command is used.
I haven't tested whether effects like convolver or DDC work, but they should.
Thanks to:
@ihancioglu for the code that allows it to work
@nappent for most of the steps needed to get it running
EXTRA:
Here is an init.d script that will do the bypass for you, however, you must have init.d support. As it stands right now, Walter.White's Lollipop ROM does not have init.d, if you want to enable init.d, you have to add
Code:
/system/etc/init.d/*
to the end of init.qcom.post_boot.sh and create an init.d folder in /system/etc.
Script: https://mega.nz/#!ZpIUCbrb!QONi8bWb1afE47_JnwxgpBcXoKFuPG3mpnyFX4r83G0

What process did you use to be able to write to the root. I can not gain root access even though i have su, busybox, and several other apps with root access. I have tried using ES File explorer with no success. It will not access the root of the device.
---------- Post added at 09:31 PM ---------- Previous post was at 08:35 PM ----------
100% verified and working. Big thanks!!!

Works perfectly. Thanks for this work around OP!
Any thoughts on using NuPlayer vs. AwesomePlayer in dev. options?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
joshuaburnsjr said:
What process did you use to be able to write to the root. I can not gain root access even though i have su, busybox, and several other apps with root access. I have tried using ES File explorer with no success. It will not access the root of the device.
---------- Post added at 09:31 PM ---------- Previous post was at 08:35 PM ----------
100% verified and working. Big thanks!!!
Click to expand...
Click to collapse
Root Browser worked for me.

KTownGT said:
Any thoughts on using NuPlayer vs. AwesomePlayer in dev. options?.
Click to expand...
Click to collapse
I use NuPlayer, but to be honest I haven't seen or heard of any difference. Some guides say that disabling NuPlayer will allow V4A to work, but V4A has worked just perfectly fine with NuPlayer enabled.
Among other things, creating a recovery flashable zip has fallen through. I have come across a problem where I can't modify init.qcom.post_boot.sh from a recovery, be it SafeStrap or FlashFire. I have also discovered something else, init.d support was supposed to be included with Walter.White's Lollipop ROM, but his script encountered the same problem as me, it couldn't append to init.qcom.post_boot.sh. So right now anyone using his ROM does not have init.d setup, luckily, it can be very easily enabled. All you have to do is add
Code:
/system/etc/init.d/*
to the end of init.qcom.post_boot.sh and create an init.d folder in /system/etc and you are good to go. I have attached an init.d script to the main post that can make use of init.d and do the bypass.

Namelesswonder said:
I use NuPlayer, but to be honest I haven't seen or heard of any difference. Some guides say that disabling NuPlayer will allow V4A to work, but V4A has worked just perfectly fine with NuPlayer enabled.
Click to expand...
Click to collapse
Exactly why I asked... lol
Looks like it is only required when setting SELinux to permissive; which doesn't appear to be required. You literally saved me from going back to 4.4.2, just for V4A btw:good:
Namelesswonder said:
Among other things, creating a recovery flashable zip has fallen through. I have come across a problem where I can't modify init.qcom.post_boot.sh from a recovery, be it SafeStrap or FlashFire. I have also discovered something else, init.d support was supposed to be included with Walter.White's Lollipop ROM, but his script encountered the same problem as me, it couldn't append to init.qcom.post_boot.sh. So right now anyone using his ROM does not have init.d setup, luckily, it can be very easily enabled. All you have to do is add
Code:
/system/etc/init.d*
to the end of init.qcom.post_boot.sh and create an init.d folder in /system/etc and you are good to go. I have attached an init.d script to the main post that can make use of init.d and do the bypass.
Click to expand...
Click to collapse
Answers my second question about init.d. :good:
Have been debating whether to stay on Alliance or go back to OTA, seeing as how I don't use the customization settings & need NFC

KTownGT said:
Exactly why I asked... lol
Looks like it is only required when setting SELinux to permissive; which doesn't appear to be required. You literally saved me from going back to 4.4.2, just for V4A btw:good:
Answers my second question about init.d. :good:
Have been debating whether to stay on Alliance or go back to OTA, seeing as how I don't use the customization settings & need NFC
Click to expand...
Click to collapse
I originally stayed off of Lollipop for a month because I couldn't get V4A to work, but I tried to find a solution after people got it working on the Galaxy S6.
I made this guide because using MultiSystem to set SELinux to permissive did not fix the issue. It was like the policies for SELinux were still being enforced. Also, I made a mistake for the init.d code, it should be
Code:
/system/etc/init.d/*
. Currently stock rooted Lollipop is ok, with Xposed now working and Wanam just recently updated you can make stock usable now.

Namelesswonder said:
I originally stayed off of Lollipop for a month because I couldn't get V4A to work, but I tried to find a solution after people got it working on the Galaxy S6.
I made this guide because using MultiSystem to set SELinux to permissive did not fix the issue. It was like the policies for SELinux were still being enforced. Also, I made a mistake for the init.d code, it should be
Code:
/system/etc/init.d/*
. Currently stock rooted Lollipop is ok, with Xposed now working and Wanam just recently updated you can make stock usable now.
Click to expand...
Click to collapse
Same pretty much. It's painful going from using V4A & a USBDAC to straight LP.

working perfectly.. thanks

Works amazing jus one question the download from mediafire has two different apps both the same version which should I have installed

Works for me! Thanks.
Sent from my SAMSUNG-SM-N900A using Tapatalk

Orion.Lamas said:
Works amazing jus one question the download from mediafire has two different apps both the same version which should I have installed
Click to expand...
Click to collapse
On V4A's website?
There should be an APK for before JB, and one for KK/LP. You should use the one that's like"V4A_FX_4.x.apk"
Sent from my iPad using Tapatalk

Thanks OP! Got it all working and the sound quality has definitely improved. Question though, in past versions I loved adjusting the IRSamples. Is that no longer a thing in this latest version?

Viper4android worked again!
Namelesswonder said:
What you will need:
To be on Lollipop WITH root (go here if you need to flash the rooted ROM)
BusyBox to be installed (it should already be installed on the rooted ROM, if not then search the Play Store or use your favorite one)
A copy of Viper4Android v2.3.4.0 (Download from here)
A file browser that can access the /system partition and change permissions (I prefer ES File Explorer but you can use whatever you like)
Titanium Backup (or you can use the application manager in the Settings app)
Firstly, what you will need to do is use your file browser and create a folder called "Viper4Android" in your /system/priv-app/ folder. Set the permission for this folder to rwxr-xr-x or 0755, then paste your Viper4Android APK into the folder you created and set the permission for the APK to rwxrwxrwx or 0777, with root being owner and group for both folder and APK.
Secondly, what you will need to do is browse to /system/etc/ with your file browser and open the file init.qcom.post_boot.sh and at the very bottom of the file paste this:
Code:
/system/xbin/supolicy --live "allow mediaserver mediaserver_tmpfs:file { read write execute };"
It is imperative that you make sure you are using Unix line endings instead of anything else.
Thirdly, use Titanium Backup or the Application Manager to freeze SoundAlive, as all music apps will attempt to default to it. Also you may want to freeze the Adapt Sound app, as if you enable it will then be used over V4A.
Lastly, reboot your phone and then install the drivers and reboot one last time. I can confirm that it works on Play Music, and that it doesn't work on the stock Music player (however I believe there is a way to get it to work somewhere on the internet).
Problems:
You are to create it as a system app, so follow the first step.
Make sure you followed the first step correctly and set the proper permissions.
Make sure you pasted the command into the init.qcom.post_boot.sh file and that you used Unix line endings, as using DOS or Mac line endings add extra characters that Android will try to parse as actual text.
This bug happens sometimes, I found the best way to beat it is to open your BusyBox app and just put it in the background and try the driver installation again.
Make sure you freeze SoundAlive and Adapt Sound, as they will be used before Viper4Android, also you may need to put V4A into Compatibility mode to use with certain music players. Also you can't use the stock Music player (but I think there is a way somewhere on the internet).
Then you may want to wait until a recovery flashable zip is made, but at no point are the steps going to brick your phone, you can just boot to Safestrap or flash back.
Notes:
This process can probably be done very easily with a init.d script and a recovery flashable zip, but I currently don't have the time and don't want to risk screwing up someone's phone.
You can use any other Viper4Android mod, as long as it is v2.3.4.0, I prefer this version which looks very nice. You can extract the file from the zip attachment and just follow the steps here.
You do not need to have SELinux set to permissive, as even with using MultiSystem to set it to permissive, it still didn't work until the above command is used.
I haven't tested whether effects like convolver or DDC work, but they should.
Thanks to:
@ihancioglu for the code that allows it to work
@nappent for most of the steps needed to get it running
EXTRA:
Here is an init.d script that will do the bypass for you, however, you must have init.d support. As it stands right now, Walter.White's Lollipop ROM does not have init.d, if you want to enable init.d, you have to add
Code:
/system/etc/init.d/*
to the end of init.qcom.post_boot.sh and create an init.d folder in /system/etc.
Script: https://mega.nz/#!ZpIUCbrb!QONi8bWb1afE47_JnwxgpBcXoKFuPG3mpnyFX4r83G0
Click to expand...
Click to collapse
I used link2sd to covert music & video players from system to user apps & viper4android worked greatly!

SilverStone641 said:
Thanks OP! Got it all working and the sound quality has definitely improved. Question though, in past versions I loved adjusting the IRSamples. Is that no longer a thing in this latest version?
Click to expand...
Click to collapse
Working here. Did you change the UI setting?
Sent from my SAMSUNG-SM-N900A using Tapatalk

hllah66 said:
I used link2sd to covert music & video players from system to user apps & viper4android worked greatly!
Click to expand...
Click to collapse
Good to know that is what you have to do to get V4A working on stock Music and Video Player. I don't know if that would bring up any issue, but nice find.

Works like a charm on AllianceROM Lollipop v9.1 Extreme Customisation 05.24.2015 :victory:

KTownGT said:
Working here. Did you change the UI setting?
Sent from my SAMSUNG-SM-N900A using Tapatalk
Click to expand...
Click to collapse
Interesting. I don't have that option at all in my interface. I haven't adjusted any UI settings either. Is there another component that needs installing?

SilverStone641 said:
Interesting. I don't have that option at all in my interface. I haven't adjusted any UI settings either. Is there another component that needs installing?
Click to expand...
Click to collapse
Open V4A --> tap settings --> tap "UI Settings" --> Tap "Expert". Should have it after that

KTownGT said:
Open V4A --> tap settings --> tap "UI Settings" --> Tap "Expert". Should have it after that
Click to expand...
Click to collapse
MY HERO!! Thank you so much!! I've got all my favorite settings options back plus it sounds even better! Thank you!!

Namelesswonder said:
Good to know that is what you have to do to get V4A working on stock Music and Video Player. I don't know if that would bring up any issue, but nice find.
Click to expand...
Click to collapse
Hello...
How is that accomplished?
They can be detailed the activities necessary to achieve this?
Thanks!!!

Related

[GUIDE][XT1254]Getting Xposed Working

Guide: Getting Xposed Running​This morning, I finally managed to get Xposed up and running on my Turbo. So I thought I'd write up a guide as to how!
What you'll need:
A paid copy of Mofo (obviously)
Either a modified system image containing Xposed already, or if you like, you can modify one yourself as described in this tutorial. I've already created a modified system image to include Xposed as well as Wifi Tethering and a modified hosts file for ad blocking.
The Xposed Installer apk
Xposed Installer needs to be installed on your phone
Terminal Emulator and ES File Explorer from the play store need to be installed on your phone
A rooted image flashed to your phone
Before flashing anything, this is what you need to do:
On your computer, find your de.robv.android.xposed.installer_v33_36570c.apk and rename it to be a .zip file.
Open this .zip file and extract /assets/XposedBridge.jar and, if you're modifying your own system image, extract /assets/arm/app_process_xposed_sdk16 as well.
Put XposedBridge.jar somewhere on your phone, I like to use the Downloads folder so I don't lose track of it later.
In ES File Explorer, navigate to /data (NOT SDCARD/DATA)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Make sure it doesn't say sdcard > data!
Create a folder called "xposed"
Long press the folder, select properties, and set permissions to 755
Set the owner of the folder to root and the group to shell
Move XposedBridge.jar into the xposed folder we just created.
Make the permissions of XposedBridge.jar 644
As before, make the owner root and the group shell.
Open the Xposed Installer app on your phone.
Open terminal emulator and type
Code:
ps | grep xposed
This will return a pattern like the following. Make a note of the first seven characters, as shown (the first is a lowercase u)
Return to /data/xposed
Create two new files: modules.list and modules.whitelist
Make the permissions on both files 644 as above
Set the owner to the seven characters we noted down earlier and the group to shell on both files
If you're flashing a pre-compiled image with Xposed, you're done here! Go ahead and flash, and enjoy!
If you're modifying your own system image, you've got some more work to do. Take app_process_xposed_sdk16 from the Xposed apk and rename it to app_process.
In your turbo system image, navigate to /bin/ and replace app_process with the one from Xposed Framework. Make sure its permissions are set to 755:
Code:
sudo chmod 755 /path/to/img/bin/app_process
Linux does not allow setting the group of a file to a nonexistent group, so on your pc you'll have to make a shell group:
Code:
sudo groupadd shell
Change the group of app_process to shell:
Code:
sudo chgrp shell /path/to/img/bin/app_process
You're ready to flash!
NOTE: If XposedBridge.jar reports problems, try setting installation mode in the Xposed installer app to recovery (flash manually) and hitting install, then reboot.
You're done! Xposed should show up as installed! Don't use any modules that require system write access, such as replacing system icons, but most modules (ie GravityBox) work fine without it.
Ekkoria said:
This morning, I finally managed to get Xposed up and running on my Turbo. So I thought I'd write up a guide as to how!
Click to expand...
Click to collapse
Gahhh I was working all day on getting Xposed baked in
Thanks for the write up! I'm finding modifying the image file and flashing it to be just as addictive if not more than flashing someones prebuilt roms on other devices. I never got into compiling android so this feels like a way to tinker on my own without jumping into the deep end of code.
ntxct said:
Gahhh I was working all day on getting Xposed baked in
Thanks for the write up! I'm finding modifying the image file and flashing it to be just as addictive if not more than flashing someones prebuilt roms on other devices. I never got into compiling android so this feels like a way to tinker on my own without jumping into the deep end of code.
Click to expand...
Click to collapse
Same here! When I finally opened Xposed Installer and saw it read the framework as installed, I've almost never been so excited about something Android.
i dont need it but its a great guide, easy, short and with pictures!
Does the phone need to be flashed with a rooted image, like that in the tutorial of how to modify system images? I can't write to /data, presumably because I don't have the rooted image flashed yet. Also my /data directory is empty.
I have a copy of mofo, and copies of the rooted system image and your already compiled system image. Is there something I am missing? Thank you in advance.
Thanks so much man, about to flash. Will let you know how it goes.
Ah damn, I actually just did a bit different process of installing Xposed on a image for myself, (which involved baking it into the rom that didn't have it) totally got it working and I've rebooted 3 times so far and everything sticks. Loving having battery percentage now! I can write a quick tutorial writing xposed files into a fresh rooted image via Virtualbox and such... Took me a few hours
It did not work for xposedbridge.jar
aven1357 said:
Does the phone need to be flashed with a rooted image, like that in the tutorial of how to modify system images? I can't write to /data, presumably because I don't have the rooted image flashed yet. Also my /data directory is empty.
I have a copy of mofo, and copies of the rooted system image and your already compiled system image. Is there something I am missing? Thank you in advance.
Click to expand...
Click to collapse
Yes, you will need to be rooted first to perform these actions. Apologies for not originally including this. OP updated
savagebunny said:
Ah damn, I actually just did a bit different process of installing Xposed on a image for myself, (which involved baking it into the rom that didn't have it) totally got it working and I've rebooted 3 times so far and everything sticks. Loving having battery percentage now! I can write a quick tutorial writing xposed files into a fresh rooted image via Virtualbox and such... Took me a few hours
Click to expand...
Click to collapse
Yes please do so. I'd be very interested.
Sent from my XT1254 using XDA Free mobile app
I am having trouble with es file explr it tells me the operation failed when trying to do anything I have root and I enabled root for ES it seemed to work on root browser fine (I reset my device and just installed es so far)
edit checked and the root enhancement options are greyed out?
After following directions for all files and then subsequent flashing of your pre-built image xposed installer still reports framework problem. I've gone back and double checked the user:group and perm masks and everything looks good. Any ideas what else I should check?
I am having same problem as u smokie
smokie75 said:
After following directions for all files and then subsequent flashing of your pre-built image xposed installer still reports framework problem. I've gone back and double checked the user:group and perm masks and everything looks good. Any ideas what else I should check?
Click to expand...
Click to collapse
What's reporting a problem? Is it XposedBridge.jar?
If so, try setting the installation mode to recovery (flash manually) and hitting install, then reboot.
Ekkoria said:
What's reporting a problem? Is it XposedBridge.jar?
If so, try setting the installation mode to recovery (flash manually) and hitting install, then reboot.
Click to expand...
Click to collapse
Thanks! That worked!
Thanks for this , works great , now we just need one with busybox preinstalled
Stuck at this point any help?[/ATTACH]
Ekkoria said:
What's reporting a problem? Is it XposedBridge.jar?
If so, try setting the installation mode to recovery (flash manually) and hitting install, then reboot.
Click to expand...
Click to collapse
so will doing this enable gravitybox to work on the turbo?
hmltnjrmy7 said:
Stuck at this point any help?[/ATTACH]
Click to expand...
Click to collapse
You should be able to foloow the instruction you quoted from that point. You should go back and check your permissions, ownership and group for the 4 files. first
Do the change in install mode to manual. Hit install and go to recovery
recovery should give you the dead droid an then reboot
Also don't worry if the group "shell" shows up as something else in app_proces
rayjr13 said:
You should be able to foloow the instruction you quoted from that point. You should go back and check your permissions, ownership and group for the 4 files. first
Do the change in install mode to manual. Hit install and go to recovery
recovery should give you the dead droid an then reboot
Also don't worry if the group "shell" shows up as something else in app_proces
Click to expand...
Click to collapse
Lol the dead droid freaked me out at first, but I'm so happy xposed finally works!!!

[WORKAROUND] Bootloops due leaking handles with Xposed in Lollipop

Fix found and released:
http://forum.xda-developers.com/showthread.php?p=60454547
Downloads & instructions: http://forum.xda-developers.com/showthread.php?t=3034811
Discussion & Q&A:http://forum.xda-developers.com/xposed/official-xposed-lollipop-t3030118
I asked moderator to close this thread as issue was fixed by releasing new version of Xposed framework. Please send your further questions and post to respective thread.
This thread is about workaround found for bootloops of Xposed in XPERIA family Lollipop. Because of development progress, I have decided to remove historical development, you can see it here:
LATEST VERSION will be always posted at the END of this post
PLEASE READ INSTRUCTIONS .... The attachment IS NOT flashable!!! For flashables see EDIT 5 and bellow...
I hope I can present some good news for users with locked bootloaders who are getting bootloops with Xposed and Lollipop.
This is still continuous WIP. Know what you do, this is a development thread.
For time being, most complete solution by my opinion was made by @mionica, see EDIT 6 and hist post http://forum.xda-developers.com/showpost.php?p=60298690&postcount=123? and for latest development at http://forum.xda-developers.com/showpost.php?p=60333600&postcount=285
As you may already know, we have find out, that some undetected error is causing system to bootloop, if too many applications are installed.
Exact numbers are varying between different ROMs and devices, generally the maximum number of apps is about 320-330.
Debloating (uninstalling unnecessary apps) helps, but remains limiting and for many frustrating. After a research, we have found out,
that there is probably a bug, that is causing many files being left open when booting Lollipop with Xposed.
Users on unlocked bootloader may modify certain kernel parameters to raise number of open files. This can not be done on Locked Bootloader.
After some research and hours of experiments, I found a way, how to change the filelimit for Zygote and subsequent processes. Therefore every child of zygote (hence every app etc.) will inherit raised open files limit from 1024 to 4096.
This change should work on all 5.0 compatible system, not only XPERIAs, however I only tested it on Z3 D6603 fw 690. But the modification
is done on Linux system level, therefore it should teoretically work just everywhere... It should work also on Locked bootloaders as well.
The principle is easy, however implementation was a tricky, because of lack of native linux utils support on Android and fact that we can not
easily modify booting behaviour. But gladly enough we have XZDualRecovery (gret thanks @[NUT])....
XZDualRecovery enables to call init scripts on startup. I have created a startup script that waits for zygote process to come up, and calls
external program that changes open file limits for that process. This external program is compiled by me from source provided by http://lzone.de/cheat-sheet/ulimit
Prerequisities: Functional XZDualRecovery or other form of init.d support.
Installation:
Extract downloaded ZIP file, it contains:
flimit-binary executable for changing open file limits
01_flimit - shell script called by init
flimit.c - source code of binary executable
Enable init.d support in XZDualRecovery by editing XZDR.prop and change dr.initd.active=true
Dont forget to have enabled byeselinux (dr.keep.byeselinux=true)
copy flimit and 01_flimit to /data/local/tmp (or push adb)
remount /system rw (mount -o remount,rw /system)
create directory /data/flimit
copy flimit to /data/flimit and make executable (chmod 777)
create directory /system/etc/init.d with and chmod 777 /system/etc/init.d
copy 01_flimit to /system/etc/init.d and chmod 777 /system/etc/init.d/01_flimit
test run installation:
Code:
su
/data/flimit/flimit $(pgrep zygote)
output should be:
Code:
[email protected]:/data # /data/flimit/flimit $(pgrep zygote)
Previous limits: soft=1024; hard=4096
New limits: soft=4096; hard=4096
If not, check permissions etc.
Check script by running:
Code:
su
sh /system/etc/init.d/01_flimit
it should now give output (if you succesfully ran /data/flimit/flimit....):
Code:
[email protected]:/data # /data/flimit/flimit $(pgrep zygote)
Previous limits: soft=4096; hard=4096
New limits: soft=4096; hard=4096
reboot
Thats all. Now you can install and update lot more applications. Now I have about 455 packages reported by pm list packages and no bootloop.
But as soon as I disable the init.d support, it bootloops. So re-enable by edititng XZDR.prop and it again boots.
EDIT:Please let me know, if you had to modify the script or instructions to work on your device, so I can perhaps make better or more universal version. Thank you guys.
EDIT 2:While this workaround makes it possible to run Xposed on untouched vanilla Stock ROM, you may still consider debloating it, as debloating will make run your device more smoothly and saves battery. Guys who made debloating scripts made significant efforts in identifying which apps can be safely removed without harming any significant functionality.
EDIT 3:The ZIP is NOT flashable, follow instructions ^^^^ --- buddy @McBane87 is developing flashable version.
EDIT 4:Buddy @nurps found a bug causing Opera browser to quit upon starting. @mionica proposed lowering softlimits for open files to 2048 from 4096 in first version of script. Version 1.1 is released.
EDIT 5:Buddy @McBane87 created customized flashable version of this workaround, so you can flash it from recovery if you struggle with bootloops, dont like to wait fro 300apps to optimize after Dalvik wipe and mess with adb/terminal..
http://forum.xda-developers.com/showthread.php?p=60276913
EDIT 6:Buddy @mionica published another flashable zip. It is complete installer for the workaround, so far most sofisticated workaround from system point of view. The uninstaller completely removes Xposed if you are too tired of it and forgot to make backup Files are bellow, for instructions etc. check it out on http://forum.xda-developers.com/showpost.php?p=60298690&postcount=123 and for latest development at http://forum.xda-developers.com/showpost.php?p=60333600&postcount=285
Changelog:
v1: Initial release
v1.1: Changed limits to 2048 from 4096 as high limits caused Opera Webbrowsers to crash
v2.0 Reference script - for production please flash @mionica version of flashable, my script is published for educational purposes. added mionicas mod to detect only changed limits and subsequently remove only those that are child of zygote
***************************************
I would like to thank mainly to @[NUT] and to guys who made significant effort with debloating, made other discoveries or were an inspiration
for me, including but not limited to @serajr @moly82 @AndroPlus (for his work on file limits in kernel) @redincali and of course to @rovo89
for his Xposed framework. My apologies if I forgot someone, PM me, its 2 o'clock in morning
or in this post http://forum.xda-developers.com/showpost.php?p=60349914&postcount=354
While I have developed initial version (see history), other guys (mainly @mionica and @McBane87) greatly enhanced and redeveloped whole thing.
Current development version and downloadable files you can always find in @mionica post http://forum.xda-developers.com/showpost.php?p=60298690&postcount=123
@mionica managed to analyze boot process on both ROMs with and without Xposed and came to conclusion that leaks are caused by Xposed process leaking open file handles, see here http://forum.xda-developers.com/showpost.php?p=60373854&postcount=417
There is a current version of the workaround fix (see above), that seems to be the last possible, before Xposed will be released with patch addressing that issue. Good news is that thanks to @mionica precise analysis, @rovo89 - developer of Xposed is already aware of the problem nad it´s cause.
Recommended installation steps:
by @mionica
Anybody who is still having any kind of issues, for whatever reason, please do the following:
get into TWRP;
install, in this order, without rebooting:
xposed-uninstall-v1.1.zip
If you don't have an sd card, you'll need to reboot once after the uninstall .zip, boot the system normally, then get back in the recovery and install the other 3. This only applies to people who don't use an SD card
xzdr-busybox-enable-v1.0.zip
xposed-sdk21-arm-date.zip
xposed-leakplug-v1.2.zip
copy the logs to the PC, over USB:
uninstall_xposed.log
install_busybox.log
install_leakplug.log
each of the 3 zip's will tell you where it saved the log (it's usually the external sdcard)
reboot to system
Thanks in advance for not asking any questions about whether you have to do any of these steps; yes, you have to.
Click to expand...
Click to collapse
If you follow other instructions than provided by @mionica please get then support from someone else than him.
The basic idea behind is that Xposed bootloops because of it exhausted resources available due to probably internal bug. The workaround basically provides higher limits for open files during boot and restores previous limits after device has booted. The latest flashable installer is very advanced and automates the installation, including necessary checks for proper XZDR configuration, busybox etc.
When you experience bootloops after installing Xposed, or you had Xposed working and it started to bootloop after you have installed new app or upgraded a system app, simply reboot to recovery and flash the zip. No need to wipe anything.
When installing new, I recommend flashing this zip first, then install Xposed usual way (flash, wipe, reboot, install Xposed apk, install modules).
Be aware that while the workaround works for about 80% of cases, there are people who have lots of applications or heavily modified system, experiencing random reboots. Cause is under investiogation, but most probably is in Xposed itself.
Excellent work friend @ondrejvaroscak. Congrats! Awesome
Was waiting a long time for this! Thanks man! working perfectly.
Working perfectly on D6603, thanks
I am gonig to try this asap! Awesome job!
One more thing, if i understand right, now we can install as many apps as we want or the limit is just higher but still there?
Can we now use regular reboot button from power menu withouth getting bootloop?
--Guys lets go ahead and rape the thanks button
Thank you @ondrejvaroscak for this solution!
@rovo89 any chance this could be integrated in the xposed installer?
Thanks Bro , Very Nice !!
Perfect Work !!
Z1, C6903
Thank you for this great solution, works on Z1.
NetSkill said:
I am gonig to try this asap! Awesome job!
One more thing, if i understand right, now we can install as many apps as we want or the limit is just higher but still there?
Can we now use regular reboot button from power menu withouth getting bootloop?
--Guys lets go ahead and rape the thanks button
Click to expand...
Click to collapse
Unless I will be blessed with some debugging skills, I have no clue... I think limit is just much higher. Once you reach limit you can simply edit script and change two numbers...
Yes, now regular reboot works.
Sent from my D6603 using XDA Free mobile app
norti said:
Thank you @ondrejvaroscak for this solution!
@rovo89 any chance this could be integrated in the xposed installer?
Click to expand...
Click to collapse
I think it will take time, because first @rovo89 would probably want to investigate, how much is it a bug, a constellation of coincidences and so on. I am not sure, if the same bootloops appear only on XPERIAs or it is a phenomenon on other brands as well... And given the fact, that big number of Samsungs can not run Xposed at all, maybe he will try to solve that Samsung puzzle as priority. But that is only guess..
Working on fully setup 5.02 on Z2 thanks.
ondrejvaroscak said:
Installation:
Extract downloaded ZIP file, it contains:
flimit - binary executable for changing open file limits
01_flimit - shell script called by init
flimit.c - source code of binary executable
Enable init.d support in XZDualRecovery by editing XZDR.prop and change dr.initd.active=true
Dont forget to have enabled byeselinux (dr.keep.byeselinux=true)
copy flimit and 01_flimit to /data/local/tmp (or push adb)
create directory /data/flimit
copy flimit to /data/flimit and make executable (chmod 777)
create directory /system/etc/init.d with and chmod 777 /system/etc/init.d
copy 01_flimit to /system/etc/init.d and chmod 777 /system/etc/init.d/01_flimit
Click to expand...
Click to collapse
Thank a lot for big news.... just a clarification:
Which xdual recovery we must have ? also the last 2.8.12 ?
The file XZDR.prop i have located on external memoery...it's correct ?
When you said create a directory /data/flimit.. in where ?
In which way i can "..enabled byeselinux (dr.keep.byeselinux=true).."
Thank
Hispa
hispanico957 said:
Thank a lot for big news.... just a clarification:
Which xdual recovery we must have ? also the last 2.8.12 ?
The file XZDR.prop i have located on external memoery...it's correct ?
When you said create a directory /data/flimit.. in where ?
In which way i can "..enabled byeselinux (dr.keep.byeselinux=true).."
Thank
Hispa
Click to expand...
Click to collapse
Any recovery that supports init.d and byeselinux. So if you find this two settings in your XZDR.prop, you just enable them by setting "true".
I tested with 2.8.12,
XZDR.prop is located in /sdcard1 so its External SD card. If no SD card, then its located in /cache.
/data/limit you create absolutely, it means in / is folder data (that already exists) and you create flimit in /data, so:
Code:
adb shell
su
mkdir /data/flimit
byeselinux you enable by setting "dr.keep.byeselinux=true" in XZDR.prop (it may be set to false by default depending on version fo XZDR you have).
Ok fine... for verify all you said:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
dont find ? where i wrong ??? the folder and file are present
Thank
Hispa
P.S.
Whe you said :
But as soon as I disable the init.d support, it bootloops. So re-enable by edititng XZDR.prop and it again boots.
Click to expand...
Click to collapse
i mean to pu dr.initd.active=false ??
and last after all i can install xposed over .726 odexed ?
hispanico957 said:
Ok fine... for verify all you said:
su
/data/flimit/flimit $(pgrep zygote)
this command from ADB ?
Thank
Hispa
Click to expand...
Click to collapse
from adb or directly in terminal app if you have one..
Sent from my D6603 using XDA Free mobile app
Great thanks
ondrejvaroscak said:
from adb or directly in terminal app if you have one..
Sent from my D6603 using XDA Free mobile app
Click to expand...
Click to collapse
Thank solved but see please my post #14
Hispa
In XZDR.prop i dont have: dr.keep.byeselinux so must i add it if so then under which line ?
I have the latest version of recovery.
Sent From MoonWalker Provolution V1.0 [Beta] Based On LP 5.0.2 !
Pandemic said:
In XZDR.prop i dont have: dr.keep.byeselinux so must i add it if so then under which line ?
I have the latest version of recovery.
Sent From MoonWalker Provolution V1.0 [Beta] Based On LP 5.0.2 !
Click to expand...
Click to collapse
+1 i too cannot find thet line
hispanico957 said:
Ok fine... for verify all you said:
dont find ? where i wrong ??? the folder and file are present
Click to expand...
Click to collapse
can you run "ls -l /data/flimit/*" and paste output to reply?
Whe you said :
i mean to pu dr.initd.active=false ??
Click to expand...
Click to collapse
Exactly, when you put dr.initd.active=false and have full stock, it should again bootloop. Then you replace the XZDR.prop file with version with init.d enabled and it should boot normally again.
and last after all i can install xposed over .726 odexed ?
Click to expand...
Click to collapse
I think without any problem. Deodexing has nothing to do with working Xposed, but it is may be necessary for some modules (Gravitybox?)?

LG G2 (D800) IR Remote Control for 5.1.1 (CM12.1)

Hey all, not sure if this is covered somewhere else or not. My searching only seemed to yield results for 5.0. If it isn't, maybe this'll help some, if it is, please let me know of the better option.
In short, I upgraded from CM12 to CM12.1 yesterday. For the remote in CM12, I enabled init.d support and flashed the .zip in this link:
http://forum.xda-developers.com/lg-g3/themes-apps/app-quickremote-port-aosp-t2929146
Hereafter option A, lol.
That worked just great for me, no issues at all. When I upgraded to 12.1 yesterday, that didn't seem to work anymore. All I get is a quickremote force close message when the phone first boots. I tried these as well:
http://forum.xda-developers.com/lg-...app-cyanogenmod-12-nightly-t3048963?nocache=1
Hereafter option B.
Both .zips in option B yielded the same result. I tried the play store not really expecting anything, but found a remote called AnyMote - Smart TV Remote. It says it only works with the G3 and G4. When used with none of the quickremote .zips installed, it doesn't find the IR sender and won't do anything. With the quickremote .zip installed though (either one from option B, didn't try A), it finds the IR sender. I set up that app for my TV's etc, and its working perfectly so far. The only annoyance is I still get that once force close message upon first boot.
So in sum, what I did was set selinux to permissive with universal init.d.
Flash one of the .zips in option B in TWRP.
Install AnyMote from the play store.
All is well so far, I'll update if something changes. Also, feel free to tell me of a better option. I didn't find anything yet and this is what I figured out, but it doesn't mean it's the best.
Hello
Hello, first of all, thanks for pointing me in the right direction, since my first android smartphone (many years ago) i install custom roms on every phone i lay my hands on, stock roms are not enough having so many flavors of roms, personally i like cm more but sometimes it just does not work with some of my devices, in this case i have the ls980 variant of the LG G2, i installed cm12.1 and the system was ok, but i could not get to work the Quick Remote apk and the battery drained really fast, i switched to crDroid with 6.0 and the same 2 problems plus wifi acting weird, i was stuck with modded stock ZVG 5.0.2, with the lame lg garbage software, yesterday i found Resurrection Remix and i flashed it, it works like a charm, so i decided to give quick remote another try, i tried to set Selinux to permissive and toggle init.d but it seems that this is enabled by default in the rom, so i just flashed v2 of option b and boom, its working flawlessly, i also updated the Quick Remote apk with one someone uploaded in the comments of the same post, so it has the latest features, this is the only rom i could make it work in. anyways i just wanted to share my experience with this thingy
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
CM13 MM
Hello, im here again to update the topic more, i now updated my G2 to Resurrection Remix on MM based on CM13, and the files that worked for me on 5.1.1 wont work on 6.0, so after asking some questions here and there, syndre, another user, found the necessary files for QuickRemote to work on MM, so i bring them here, i also want to explain the process because for me, it was not as straight forward as last time.
First and obviously you have to download the zip wich i will attach at the bottom
Second and more obvious, you flash the file on your custom recovery, it doesn't matter wich you have (twrp, cwm, philz)
Remember that your Selinux has to be set to Permissive wich you can maybe do in your rom settings, some of them have it by default set to permissive or you can search for the Selinux mode changer here on Xda, also your rom has to have init.d support enabled, again, some of them have it by default, you can download Universal Init.d from the play store and enable it,
The zip will flash the apk's for QuickRemote and QuicksetSDK and the files needed for them in /system/app, it will also flash a startup init.d script in /system/etc/init.d/ and another script in /system/addon.d/
The apk's (LGQRemote.apk and QuicksetSDK.apk) must have their permission set to rw-r--r-- or chmod644 both of them for the system to detect them, if they dont appear on your app drawer, unzip the file and manually copy them to their respective folders in /system/app/ using aroma file manager or Es File Explorer with root permission, you can chmod644 them on aroma file manager or set the permissions in Es File Explorer
The scripts (80-quickremote.sh and 10QuickRemote.sh) must have their permissions set to rwx rwx rwx or chmod755, this will almost never fail but if they do, you can do the same as with the apk's.
Every time you copy files or set permissions you have to reboot for the changes to take effect.
You should now have QuickRemote working on you AOSP MM build, if not, lets troubleshoot.
I can't see the quick remote app, be sure the apk's are on the right folder inside /system/app/ and that they have the right permissions set, also the app may be in the app drawer but its named com.lge.... and it has the default green android icon.
At boot it gives me a "QuisetSDK stopped working" error, remember to check your Selinux and init.d state, Selinux must be Permissive and if init.d is enabled you should se a file named Qremote.log on the root of your Sdcard, if you open it as text, you will see if the state of Selinux is correct, if you dont see the file, init.d is disabled and if you see it but it does not say that Selinux is permissive you have to set selinux to permissive.
I can open the QuickRemote app but no manufacturers are showing on x device list, this is a Selinux or init.d problem, do the previous 2 steps again.
Those are the only problems I've encountered, amd thats the way i solved them, if you have any more questions, send me a pm remeber to thank @syndre for helping to bring this to MM
Zip file uploaded to Mega
Jc_master said:
Hello, im here again to update the topic more, i now updated my G2 to Resurrection Remix on MM based on CM13, and the files that worked for me on 5.1.1 wont work on 6.0, so after asking some questions here and there, syndre, another user, found the necessary files for QuickRemote to work on MM, so i bring them here, i also want to explain the process because for me, it was not as straight forward as last time.
First and obviously you have to download the zip wich i will attach at the bottom
Second and more obvious, you flash the file on your custom recovery, it doesn't matter wich you have (twrp, cwm, philz)
Remember that your Selinux has to be set to Permissive wich you can maybe do in your rom settings, some of them have it by default set to permissive or you can search for the Selinux mode changer here on Xda, also your rom has to have init.d support enabled, again, some of them have it by default, you can download Universal Init.d from the play store and enable it,
The zip will flash the apk's for QuickRemote and QuicksetSDK and the files needed for them in /system/app, it will also flash a startup init.d script in /system/etc/init.d/ and another script in /system/addon.d/
The apk's (LGQRemote.apk and QuicksetSDK.apk) must have their permission set to rw-r--r-- or chmod644 both of them for the system to detect them, if they dont appear on your app drawer, unzip the file and manually copy them to their respective folders in /system/app/ using aroma file manager or Es File Explorer with root permission, you can chmod644 them on aroma file manager or set the permissions in Es File Explorer
The scripts (80-quickremote.sh and 10QuickRemote.sh) must have their permissions set to rwx rwx rwx or chmod755, this will almost never fail but if they do, you can do the same as with the apk's.
Every time you copy files or set permissions you have to reboot for the changes to take effect.
You should now have QuickRemote working on you AOSP MM build, if not, lets troubleshoot.
I can't see the quick remote app, be sure the apk's are on the right folder inside /system/app/ and that they have the right permissions set, also the app may be in the app drawer but its named com.lge.... and it has the default green android icon.
At boot it gives me a "QuisetSDK stopped working" error, remember to check your Selinux and init.d state, Selinux must be Permissive and if init.d is enabled you should se a file named Qremote.log on the root of your Sdcard, if you open it as text, you will see if the state of Selinux is correct, if you dont see the file, init.d is disabled and if you see it but it does not say that Selinux is permissive you have to set selinux to permissive.
I can open the QuickRemote app but no manufacturers are showing on x device list, this is a Selinux or init.d problem, do the previous 2 steps again.
Those are the only problems I've encountered, amd thats the way i solved them, if you have any more questions, send me a pm remeber to thank @syndre for helping to bring this to MM
Zip file uploaded to Mega
View attachment 3618886
View attachment 3618887
Click to expand...
Click to collapse
hello and thanks for finding a some more answers. I redid the zip I first posted that was broken and not able to be flashed. I took out the odex files too, I dont think that is necessary. I have tested this zip on two different AOSP 6.0 roms on my G3, and in each case all the permissions were correct and needed no manual setting afterwards. And of course, the quickremote app works , both blasting and learning signals!
my post about it is here

[GUIDE] How to get Viper4Android working

Got V4A fully working (Spotify, Google play music etc.)
I've tried the same steps mentioned in the s6 edge forum HERE
Do a full backup first!
These steps worked for me:
(Of course you need root on your device)
1. Install Busybox.
2. Install Viper4Android 2.4.0.1
3. Grant Viper4Android permissions to write (Settings ->Applications -> Applicationmanager -> V4A -> Permissions -> Enabled)
4. Delete SoundAlive with RootExplorer (or disable/freeze it with Titanium Backup)
5. Go to /system/etc/ and rename audio_effect.conf to audio_effect.conf.bak
6. Download the modified audio_effect.conf HERE and copy it to /system/etc/ and /vendor/etc/
7. Set permissions of the new config file to rw-r-r (0644) (important! Otherwise --> Bootloop)
8. Reboot
9. Start V4A and install the drivers
10. Reboot
DONE
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You might want to add that you need "root" access first.
nappent said:
You might want to add that you need "root" access first.
Click to expand...
Click to collapse
I thought it is too obvious.
But Ive added it
@NQNH,
Hey buddy, Been struggling with this for days, My V4A app keeps on asking to install drivers every-time I open the app no matter how I install it. Could you clarify the following -
* Where did you install Busybox to ? (System/xbin or Su/xbin)
* Have you rooted with Cf-Root or TWRP + Systemless SU?
Thanks a ton in advance!
JazonX said:
@NQNH,
Hey buddy, Been struggling with this for days, My V4A app keeps on asking to install drivers every-time I open the app no matter how I install it. Could you clarify the following -
* Where did you install Busybox to ? (System/xbin or Su/xbin)
* Have you rooted with Cf-Root or TWRP + Systemless SU?
Thanks a ton in advance!
Click to expand...
Click to collapse
Hi, good day,
I downloaded busybox from the playstore and installed it with standardsettings (/su/xbin)
Ive rooted it with cf-root
Did you grant permission to v4a to write data?
You can try to move the v4a folder from /data/app/ to /system/priv-app/
which v4a version are you using? I've used the 2.4.0.1 material one
NQNH said:
Got V4A fully working (Spotify, Google play music etc.)
I've tried the same steps mentioned in the s6 edge forum HERE
Do a full backup first!
These steps worked for me:
(Of course you need root on your device)
1. Install Busybox.
2. Install Viper4Android 2.4.0.1
3. Grant Viper4Android permissions to write (Settings ->Applications -> Applicationmanager -> V4A -> Permissions -> Enabled)
4. Delete SoundAlive with RootExplorer (or disable/freeze it with Titanium Backup)
5. Go to /system/etc/ and rename audio_effect.conf to audio_effect.conf.bak
6. Download the modified audio_effect.conf HERE and copy it to /system/etc/ and /vendor/etc/
7. Set permissions of the new config file to rw-r-r (0644) (important! Otherwise --> Bootloop)
8. Reboot
9. Start V4A and install the drivers
10. Reboot
DONE
Click to expand...
Click to collapse
I have done all the steps mentioned above. The driver is installed but not working. The only thing I couldn't - although I'm not sure that this is the problem - is to set selinux enforcing. I couldn't find any method to enforce without disabling the internal encryption
rzvny said:
I have done all the steps mentioned above. The driver is installed but not working. The only thing I couldn't - although I'm not sure that this is the problem - is to set selinux enforcing. I couldn't find any method to enforce without disabling the internal encryption
Click to expand...
Click to collapse
I told you man, flash that file I posted, it does all that stuff and fixed everything.
Please help me, I’ve been going nuts trying to get this to work…
Performed a full clean system install twice now…
Followed your steps 101% the only things that you didn’t include was the following:
1) Busy box to install? By Steriscon?
2) While moving the files and changing permission set to RW and then back to RO?
3) There is no other files in vendor/etc – that dir is empty by default?
Here is my Status:
Driver Version: 2.4.0.1
NEON Enabled: NO (in the past during the install I had the option to choose but not anymore???)
Enabled: NO
Status: Abnormal
Audio Format: Unsupported
Processing: NO
Sampling Rate: 0
PLEASE HELP 
My device is Galaxy S7 Edge SM-G935F
GODSPD said:
Please help me, I’ve been going nuts trying to get this to work…
Performed a full clean system install twice now…
Followed your steps 101% the only things that you didn’t include was the following:
1)Busy box to install? By Steriscon?
2)While moving the files and changing permission set to RW and then back to RO?
3)There is no other files in vendor/etc – that dir is empty by default?
Here is my Status:
Driver Version: 2.4.0.1
NEON Enabled: NO (in the past during the install I had the option to choose but not anymore???)
Enabled: NO
Status: Abnormal
Audio Format: Unsupported
Processing: NO
Sampling Rate: 0
PLEASE HELP 
My device is Galaxy S7 Edge SM-G935F
Click to expand...
Click to collapse
Flash this https://drive.google.com/file/d/0B4PtT1mslzvtRWxtcnJTMUFYams/view?usp=docslist_api
Brava27 said:
Flash this https://drive.google.com/file/d/0B4PtT1mslzvtRWxtcnJTMUFYams/view?usp=docslist_api
Click to expand...
Click to collapse
Thanks, I also found this that worked for me - could be the same file HERE
why wasn't this included in the initial instructions and how did others get it working without that file?
I also looked into other fixes - removing KNOX and installing setlinux mode changer... but couldnt find a way to remove knox yet and selinux apparently wont run with knox installed...
The link in the op doesn't work for me. It opens in a new tab(something with tapatalk in the URL)and then goes back to the app. Oh and btw is this for s7 only?
Sent from my XT1092 using XDA-Developers mobile app
Brava27 said:
Flash this https://drive.google.com/file/d/0B4PtT1mslzvtRWxtcnJTMUFYams/view?usp=docslist_api
Click to expand...
Click to collapse
will flashing this do or is this in addition to the steps in the first post?
EDIT................................................
NQNH said:
Got V4A fully working (Spotify, Google play music etc.)
I've tried the same steps mentioned in the s6 edge forum HERE
Do a full backup first!
These steps worked for me:
(Of course you need root on your device)
1. Install Busybox.
2. Install Viper4Android 2.4.0.1
3. Grant Viper4Android permissions to write (Settings ->Applications -> Applicationmanager -> V4A -> Permissions -> Enabled)
4. Delete SoundAlive with RootExplorer (or disable/freeze it with Titanium Backup)
5. Go to /system/etc/ and rename audio_effect.conf to audio_effect.conf.bak
6. Download the modified audio_effect.conf HERE and copy it to /system/etc/ and /vendor/etc/
7. Set permissions of the new config file to rw-r-r (0644) (important! Otherwise --> Bootloop)
8. Reboot
9. Start V4A and install the drivers
10. Reboot
DONE
Click to expand...
Click to collapse
In driver status , processing status is no, what to do
Sent from my Moto G 2014 using XDA-Developers mobile app
is this a big improvement? S7 Audio quality on headphones aren't really great and was hoping this could improve the quality, if not I might resort on switching to HTC 10...
Thanks!
Many Thanks for the guide
NQNH said:
Got V4A fully working (Spotify, Google play music etc.)
I've tried the same steps mentioned in the s6 edge forum HERE
Do a full backup first!
These steps worked for me:
(Of course you need root on your device)
1. Install Busybox.
2. Install Viper4Android 2.4.0.1
3. Grant Viper4Android permissions to write (Settings ->Applications -> Applicationmanager -> V4A -> Permissions -> Enabled)
4. Delete SoundAlive with RootExplorer (or disable/freeze it with Titanium Backup)
5. Go to /system/etc/ and rename audio_effect.conf to audio_effect.conf.bak
6. Download the modified audio_effect.conf HERE and copy it to /system/etc/ and /vendor/etc/
7. Set permissions of the new config file to rw-r-r (0644) (important! Otherwise --> Bootloop)
8. Reboot
9. Start V4A and install the drivers
10. Reboot
DONE
Click to expand...
Click to collapse
Followed the guide word for word and it worked like a charm on my Verizon gs7e running play store rom. Downloaded the latest V4A from the main thread. Thanks man!
omg what the hell am i waiting for in order to root this dang phone...,cant make a decision between Samsung Pay and Viper...seems like an easy one
GODSPD said:
Thanks, I also found this that worked for me - could be the same file HERE
why wasn't this included in the initial instructions and how did others get it working without that file?
I also looked into other fixes - removing KNOX and installing setlinux mode changer... but couldnt find a way to remove knox yet and selinux apparently wont run with knox installed...
Click to expand...
Click to collapse
I used the smaller file you linked and that worked! I was going nuts trying to figure it out and agree, this should have been included in the original setup.
Tried the guide and it works on Note 5 6.0.1. I used Viper 2.4.0.1. A little issue though: the super audio quality, balanced and power saving menu that normally pops out did not appear.

APTX in stock rom

1. Install arter kernel & Magisk
2. Remove /vendor/overlay/RazerAuraBluetoothRes.apk using your favorite explorer - This overlay disables APTX
3. Open /vendor/build.prop using your favorite explorer and search "persist.vendor.bt.a2dp_offload_cap=sbc" and delete line.
After that, add quote to bottom line. and Save.
#
# Addon
#
persist.vendor.btstack.enable.twsplus=true
# This is not from code.
persist.vendor.btstack.connect.peer_earbud=true
persist.vendor.btstack.enable.splita2dp=true
persist.vendor.service.bt.bca=true
persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
Click to expand...
Click to collapse
4. Install "APTX for Android Ore & Pie" from magisk manager (slide left to right -> Downloads -> Search -> Install) and reboot
5. PROFIT :fingers-crossed:
This also enables APTX-TWS (Qualcomm TWS Plus) but I didn't test it because I have no device.
Holy sh*t, that really works! I've been searching for a solution to that for such a looong time...
Btw, I took the "APTX for Android Ore & Pie"-Module and added your props to the system.prop inside of that module and then I added an empty dummy of RazerAuraBluetoothRes.apk into the (has to be created) folder /vendor/overlay/ inside of the module's /system folder. That way it is systemless and therefore doesn't make any problems regarding AVB, safetynet and whatnotelse
Thank you so much OP and The Brad. Your method and Brad's systemless is the best combo. In android 9 we don't have AAC, anyway to add those libraries as well?
Does this whole process need rooting? (i'm very new to android space and don't know much about its advantages & disadvantages. Staying away for now since it's just a week old phone.)
the_brad said:
Holy sh*t, that really works! I've been searching for a solution to that for such a looong time...
Btw, I took the "APTX for Android Ore & Pie"-Module and added your props to the system.prop inside of that module and then I added an empty dummy of RazerAuraBluetoothRes.apk into the (has to be created) folder /vendor/overlay/ inside of the module's /system folder. That way it is systemless and therefore doesn't make any problems regarding AVB, safetynet and whatnotelse
Click to expand...
Click to collapse
How was the dummy apk created?
On the phone by using solid explorer (every other file explorer should do as well). I create a new file an name it RazerAuraBluetoothRes.apk and that's it. I would attach it here but obviously apk and zip files are not allowed.
Gesendet von meinem Phone 2 mit Tapatalk
the_brad said:
On the phone by using solid explorer (every other file explorer should do as well). I create a new file an name it RazerAuraBluetoothRes.apk and that's it. I would attach it here but obviously apk and zip files are not allowed.
Gesendet von meinem Phone 2 mit Tapatalk
Click to expand...
Click to collapse
Did you delete this line also ?persist.vendor.bt.a2dp_offload_cap=sbc
Nope, because you add it in the system.prop and magisk then overwrites any existing props.
Gesendet von meinem Phone 2 mit Tapatalk
the_brad said:
Holy sh*t, that really works! I've been searching for a solution to that for such a looong time...
Btw, I took the "APTX for Android Ore & Pie"-Module and added your props to the system.prop inside of that module and then I added an empty dummy of RazerAuraBluetoothRes.apk into the (has to be created) folder /vendor/overlay/ inside of the module's /system folder. That way it is systemless and therefore doesn't make any problems regarding AVB, safetynet and whatnotelse
Click to expand...
Click to collapse
Hey Brad! Does this whole process need rooting? (i'm very new to android space and don't know much about its advantages & disadvantages. Staying away for now since it's just a week old phone.)
shahriyarali said:
Hey Brad! Does this whole process need rooting? (i'm very new to android space and don't know much about its advantages & disadvantages. Staying away for now since it's just a week old phone.)
Click to expand...
Click to collapse
Yes, it needs rooting which includes unlocking your bootloader (which deletes all your data on your phone!!!) and installing magisk. If you don't know much about that process, you better read some basic tutorials first
the_brad said:
Yes, it needs rooting which includes unlocking your bootloader (which deletes all your data on your phone!!!) and installing magisk. If you don't know much about that process, you better read some basic tutorials first
Click to expand...
Click to collapse
Cool thanks man! Just another quick question - what are we losing by rooting (warranty aside)? OTA updates maybe; what else?
shahriyarali said:
Cool thanks man! Just another quick question - what are we losing by rooting (warranty aside)? OTA updates maybe; what else?
Click to expand...
Click to collapse
Definitely widevine L1 status. That will prevent netflix and other streaming services, that rely on that drm-thing, won't stream in more than 480p. Besides that, I don't remeber anything else...
AAh oh yes, and there will be this strange warning screen each time you boot your phone, which you can't get rid off.
the_brad said:
Holy sh*t, that really works! I've been searching for a solution to that for such a looong time...
Btw, I took the "APTX for Android Ore & Pie"-Module and added your props to the system.prop inside of that module and then I added an empty dummy of RazerAuraBluetoothRes.apk into the (has to be created) folder /vendor/overlay/ inside of the module's /system folder. That way it is systemless and therefore doesn't make any problems regarding AVB, safetynet and whatnotelse
Click to expand...
Click to collapse
So @the_brad, just to put this all together since I'm currently having issues getting this working.
1. Install arter kernel & Magisk
2. Remove /vendor/overlay/RazerAuraBluetoothRes.apk
3. Download and extract "APTX for Android Ore & Pie"
4. Add the quoted props to system.prop from the extracted module.
5. Create a dummy "RazerAuraBluetoothRes.apk" within a newly created folder of the extracted module at "/system/vendor/overlay/"
6. Recompress/package the module back into a zip for install.
7. Install module and reboot.
Did I miss anything?
unstoppablekhaos said:
So @the_brad, just to put this all together since I'm currently having issues getting this working.
1. Install arter kernel & Magisk
2. Remove /vendor/overlay/RazerAuraBluetoothRes.apk
3. Download and extract "APTX for Android Ore & Pie"
4. Add the quoted props to system.prop from the extracted module.
5. Create a dummy "RazerAuraBluetoothRes.apk" within a newly created folder of the extracted module at "/system/vendor/overlay/"
6. Recompress/package the module back into a zip for install.
7. Install module and reboot.
Did I miss anything?
Click to expand...
Click to collapse
Much easier:
1. Install arter kernel & Magisk
2. Remove /vendor/overlay/RazerAuraBluetoothRes.apk
3. Download and extract install "APTX for Android Ore & Pie"
3.1 reboot
4. Add the quoted props to system.prop from inside the installed the extracted module.
5. Create a dummy "RazerAuraBluetoothRes.apk" within a newly created folder inside the installed of the extracted module at "/system/vendor/overlay/"
6. Recompress/package the module back into a zip for install.
7. Install module and reboot.
the_brad said:
Definitely widevine L1 status. That will prevent netflix and other streaming services, that rely on that drm-thing, won't stream in more than 480p. Besides that, I don't remeber anything else...
AAh oh yes, and there will be this strange warning screen each time you boot your phone, which you can't get rid off.
Click to expand...
Click to collapse
I haven't heard of losing widevine. I mean I think of you root systemless you prevent it.
Okazar said:
I haven't heard of losing widevine. I mean I think of you root systemless you prevent it.
Click to expand...
Click to collapse
No, it's definitely gone. You keep L3, but that's not very usefull for anyhing.
I think, it is that way on all android phones as nobody has developed a hack to preserve these keys before bootloader unlock.
So I have a pair of Sennheiser PXC 550s, they have AptX, and I'm honestly not sure how I enable AptX. Followed the instructions since I already had the stock rom w/ kernel and Magisk installed. I can't change any of the Bluetooth options in the Developers options either.
Edit: So I kinda forgot I had to connect to my headphones first, but when I change the codec to AptX in Developer options it reverts back to SBC.
Craftingmod said:
1. Install arter kernel & Magisk
2. Remove /vendor/overlay/RazerAuraBluetoothRes.apk using your favorite explorer - This overlay disables APTX
3. Open /vendor/build.prop using your favorite explorer and search "persist.vendor.bt.a2dp_offload_cap=sbc" and delete line.
After that, add quote to bottom line. and Save.
4. Install "APTX for Android Ore & Pie" from magisk manager (slide left to right -> Downloads -> Search -> Install) and reboot
5. PROFIT :fingers-crossed:
This also enables APTX-TWS (Qualcomm TWS Plus) but I didn't test it because I have no device.
Click to expand...
Click to collapse
Nice work.
Wow I wish this thread received some more attention.
There are so many threads on this problem with other phones, but I couldn't find a workable solution until this.
I was able to follow your guide and get APTX working.
My sound quality does seem better, but it could be placebo, haha.
Either way, finally seeing APTX as the in-use codec is good enough for me.
Thank you!
rogeriskira said:
Thank you so much OP and The Brad. Your method and Brad's systemless is the best combo. In android 9 we don't have AAC, anyway to add those libraries as well?
Click to expand...
Click to collapse
Aac? I connected the shan ling m0 player, the phone shows aac HD audio, but there is a delay of 0.5s. . Very bad.
Hi All,
I installed this from Magisk and removed the stock APK but I could not find the line in build.prop to remove.
In saying this I have a very nice pair of Sennheiser Bluetooth headphones and I can see the HD codec now in Bluetooth but TBH I don't hear any difference?
I have noticed I no longer get a tiny "crackle" every so often while listening to music so I *guess* its working?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

Categories

Resources