[Google Pixel 2 XL Guides, News, & Discussion] Quinny899:
Finally had a chance to try and work out why Viper doesn't work on 8.1:

11-23 13:23:36.576 776 776 E linker : library "/system/lib/soundfx/libv4a_fx_ics.so" ("/system/lib/soundfx/libv4a_fx_ics.so") needed or dlopened by "/vendor/lib/libeffects.so" is not accessible for the namespace: [name="(default)", ld_library_paths="", default_library_paths="/vendor/lib/hw:/vendor/lib/egl:/vendor/lib:/system/lib/vndk:/system/lib/vndk-sp", permitted_paths="/vendor:/system/lib/vndk:/system/lib/vndk-sp"]
11-23 13:23:36.576 776 776 E EffectsFactoryConfigLoader: Could not dlopen library /system/lib/soundfx/libv4a_fx_ics.so: dlopen failed: library "/system/lib/soundfx/libv4a_fx_ics.so" needed or dlopened by "/vendor/lib/libeffects.so" is not accessible for the namespace "(default)"

Seems some tightening of security has happened on 8.1. I'm currently experimenting with moving the lib around, will update if I get it working

---------- Post added at 01:56 PM ---------- Previous post was at 01:33 PM ----------

Managed to get the driver to be "installed" (moved the magisk /system/lib/soundfx folder to /vendor/lib/soundfx, and then copied libstdc++.so to /vendor/lib so it can actually load), but now it errors out like so:

ViPER4Android_Utils I libV4AJniUtils.so loaded
ViPER4Android I Jni library status = true
NetworkSecurityConfig D No Network Security Config specified, using platform default
ViPER4Android I Starting service, reason = ViPER4Android::onCreate
I Init environment
I Now checking for external storage writable, file = /storage/emulated/0/v4a_test_file
I External storage path = /storage/emulated/0/
I ViPER4Android root path = /storage/emulated/0/ViPER4Android/
I ViPER4Android kernel path = /storage/emulated/0/ViPER4Android/Kernel/
I ViPER4Android custom DDC path = /storage/emulated/0/ViPER4Android/DDC/
I ViPER4Android profile path = /storage/emulated/0/ViPER4Android/Profile/
I Check driver
I Found 19 effects
I [1], ViPER4Android [2.5.0.4], ViPER.WYF
I Perfect, found ViPER4Android engine at 1
I [2], Volume listener for notification, Qualcomm Technologies Inc
I [3], Volume listener for voice call, Qualcomm Technologies Inc
I [4], Volume listener for alarm, Qualcomm Technologies Inc
I [5], Volume listener for ring, Qualcomm Technologies Inc
I [6], Volume listener for Music, Qualcomm Technologies Inc.
I [7], Noise Suppression, Qualcomm Fluence for Taimen
I [8], Acoustic Echo Canceler, Qualcomm Fluence for Taimen
I [9], Visualizer, The Android Open Source Project
I [10], Insert Preset Reverb, NXP Software Ltd.
I [11], Auxiliary Preset Reverb, NXP Software Ltd.
I [12], Insert Environmental Reverb, NXP Software Ltd.
I [13], Auxiliary Environmental Reverb, NXP Software Ltd.
I [14], Equalizer, NXP Software Ltd.
I [15], Loudness Enhancer, The Android Open Source Project
I [16], Downmixer, Fraunhofer IIS
I [17], Virtualizer, Fraunhofer IIS
I [18], Volume, NXP Software Ltd.
I [19], Dynamic Bass Boost, NXP Software Ltd.
I The version of ViPER4Android engine is 2.5.0.4
OpenGLRenderer D HWUI GL Pipeline
ViPER4Android I onResume(), Binding service ...
I Main activity onResume()
I Query ViPER4Android engine ...
I Found 19 effects
I [1], ViPER4Android [2.5.0.4], ViPER.WYF
I Perfect, found ViPER4Android engine at 1
I [2], Volume listener for notification, Qualcomm Technologies Inc
I [3], Volume listener for voice call, Qualcomm Technologies Inc
I [4], Volume listener for alarm, Qualcomm Technologies Inc
I [5], Volume listener for ring, Qualcomm Technologies Inc
I [6], Volume listener for Music, Qualcomm Technologies Inc.
I [7], Noise Suppression, Qualcomm Fluence for Taimen
I [8], Acoustic Echo Canceler, Qualcomm Fluence for Taimen
I [9], Visualizer, The Android Open Source Project
I [10], Insert Preset Reverb, NXP Software Ltd.
I [11], Auxiliary Preset Reverb, NXP Software Ltd.
I [12], Insert Environmental Reverb, NXP Software Ltd.
I [13], Auxiliary Environmental Reverb, NXP Software Ltd.
I [14], Equalizer, NXP Software Ltd.
I [15], Loudness Enhancer, The Android Open Source Project
I [16], Downmixer, Fraunhofer IIS
I [17], Virtualizer, Fraunhofer IIS
I [18], Volume, NXP Software Ltd.
I [19], Dynamic Bass Boost, NXP Software Ltd.
I The version of ViPER4Android engine is 2.5.0.4
I Current is a2dp mode [bluetooth]
I Get current mode from system [bluetooth]
I Creating global V4ADSPModule ...
I Creating viper4android module, 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
AudioEffect E set(): AudioFlinger could not create effect ec7178ec-e5e1-4432-a3f4-4657e6795210 / 41d3c987-e6cf-11e3-a88a-11aba5d5c51b, status: -2147483646
AudioEffects-JNI E AudioEffect initCheck failed -3
AudioEffect-JAVA E Error code -3 when initializing AudioEffect.
ViPER4Android E Can not create audio effect instance,V4A driver not installed or not supported by this rom
E Found v4a driver, but failed to load.
I Free viper4android module.
I Service launched.
I Begin system update(bluetooth)
I showNotification(): show_notify = false
I <+++++++++++++++ Update global effect +++++++++++++++>
I updateSystem(): Effects is invalid!
I <++++++++++++++++++++++++++++++++++++++++++++++++++++>
I <+++++++++++++++ Update local effect +++++++++++++++>
I <+++++++++++++++++++++++++++++++++++++++++++++++++++>
I Service::onStartCommand [Begin check driver]
I Service::onStartCommand [Creating global V4ADSPModule ...]
I Creating viper4android module, 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
AudioEffect E set(): AudioFlinger could not create effect ec7178ec-e5e1-4432-a3f4-4657e6795210 / 41d3c987-e6cf-11e3-a88a-11aba5d5c51b, status: -2147483646
AudioEffects-JNI E AudioEffect initCheck failed -3
AudioEffect-JAVA E Error code -3 when initializing AudioEffect.
ViPER4Android E Can not create audio effect instance,V4A driver not installed or not supported by this rom
E Service::onStartCommand [Found v4a driver, but failed to load]
I Free viper4android module.
DEBUG F #00 pc 0001a772 /system/lib/libc.so (abort+63)
F #01 pc 0000655d /system/lib/liblog.so (__android_log_assert+156)
F #02 pc 00013b7b /system/lib/libaudiohal.so (android::HalDeathHandler::serviceDied(unsigned long long, android::wp<android::hidl::base::V1_0::IBase> const&)+42)
F #03 pc 00020ca9 /system/lib/libhidltransport.so (android::hardware::hidl_binder_death_recipient::binderDied(android::wp<android::hardware::IBinder> const&)+68)
F #04 pc 0000e8e9 /system/lib/libhwbinder.so (android::hardware::BpHwBinder::reportOneDeath(android::hardware::BpHwBinder::eek:bituary const&)+80)
F #05 pc 0000e86b /system/lib/libhwbinder.so (android::hardware::BpHwBinder::sendObituary()+100)
F #06 pc 0001060d /system/lib/libhwbinder.so (android::hardware::IPCThreadState::executeCommand(int)+656)
F #07 pc 0001027d /system/lib/libhwbinder.so (android::hardware::IPCThreadState::getAndExecuteCommand()+116)
F #08 pc 00010817 /system/lib/libhwbinder.so (android::hardware::IPCThreadState::joinThreadPool(bool)+38)
F #09 pc 000175ed /system/lib/libhwbinder.so (android::hardware::PoolThread::threadLoop()+12)
F #10 pc 0000d131 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+144)
F #11 pc 0004785b /system/lib/libc.so (__pthread_start(void*)+22)
F #12 pc 0001b341 /system/lib/libc.so (__start_thread+32)
Adreno I QUALCOMM build : ba94e00, I3754e4701b
I Build Date : 08/30/17
I OpenGL ES Shader Compiler Version: EV031.21.00.00
I Local Branch :
I Remote Branch :
I Remote Branch :
I Reconstruct Branch :
I PFP: 0x005ff087, ME: 0x005ff063
zygote I android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
OpenGLRenderer I Initialized EGL, version 1.4
D Swap behavior 2
StaticLayout W maxLineHeight should not be -1. maxLines:2 lineCount:2
ViPER4Android D onCreate
AudioSystem W AudioFlinger server died!
W AudioPolicyService server died!
ViPER4Android D onCreate
zygote I Do partial code cache collection, code=30KB, data=27KB
I After code cache collection, code=30KB, data=27KB
I Increasing code cache capacity to 128KB
ViPER4Android I ViPER4Android service connected
D onCreate
D onCreate
zygote I Deoptimizing void android.view.ViewGroup$ChildListForAccessibility.init(android.view.ViewGroup, boolean) due to JIT inline cache
ViPER4Android I Unbinding service ...
zygote I Deoptimizing void android.support.v7.widget.LinearLayoutCompat.b(int, int) due to JIT inline cache
I Do partial code cache collection, code=62KB, data=54KB
I After code cache collection, code=53KB, data=49KB
I Increasing code cache capacity to 256KB
I Deoptimizing android.view.View android.support.v7.widget.df.b(int) due to JIT inline cache
I Deoptimizing int android.support.v7.widget.dr.z() due to JIT inline cache
ViPER4Android I Media mounted, now updating parameters
I Begin system update(bluetooth)
I <+++++++++++++++ Update global effect +++++++++++++++>
I updateSystem(): Effects is invalid!
I <++++++++++++++++++++++++++++++++++++++++++++++++++++>
I <+++++++++++++++ Update local effect +++++++++++++++>
I <+++++++++++++++++++++++++++++++++++++++++++++++++++>

---------- Post added at 02:01 PM ---------- Previous post was at 01:56 PM ----------

Works if I disable selinux and run it in compatibility mode. Not perfect (I don't like compatibility mode, it doesn't work very well) but it's something!