[Android Software Development] guitardedhero:
Release Candidates for 9.0+ begin on page 458 and on Telegram.

The troubleshooting guide for Release Candidates is in this post.

updated 20200206

YouTube™

Link!

"Listen to the Dolby Atmos™ Difference!"

[YOUTUBE]https://youtu.be/kW-Ll4Ii3h4[/YOUTUBE]​

Dolby Atmos™

for

Android Oreo​

​

​

Description

:

Dolby Atmos™ Digital Signal Processer with effects and Graphic User Interface ported from the latest ZTE™ Axon 7 Android Oreo firmware intended for all Android devices on Android Oreo.

Dolby Atmos™ sound effects applied to media audio output supporting various media players.

Flexible custom recovery installation archive supporting Magisk and SuperSU installations as well as existing audio mod installations - fully supporting Enforcing SELinux Mode:

Multiple installation scenarios available using the included arise_parameters.prop that is automatically copied to /sdcard if not already there. When edited by the user in this /sdcard location, arise_parameters.prop can:

Instruct an installation directly to /system if a Magisk user prefers a /system installation over the Magisk module installation.

Instruct a system-less module installation using /su if a SuperSU user with the system-less SuperSU installation prefers a module installation for a variety of reasons such as insufficient /system space to accommodate a /system installation or the convenience of a persistent installation unaffected by rom updates.

An independent build maintained by [MENTION=6037748]Zackptg5[/MENTION] fully integrated with Unity:

Active accommodation of existing and future Magisk modules relevant to audio modification.

Flashing the installation archive over a current installation results with an uninstallation of the Dolby Atmos™ Magisk module.

[MENTION=6037748]Zackptg5[/MENTION] explains the nuances a bit further here.

Details

:

A minimum of SDK 26 (Android 8.0) is required for installation to begin, else Exit 1 will abort the recovery installation activity.

A root solution or a capable kernel is required in order to automate the execution of scripts during boot to allow the appropriate sepolicy rules necessary for Dolby Atmos™ functionality while in Enforcing SELinux mode.

Third party audio effects and DSP's such as ViPER4Android (<--

link to [MENTION=4967345]docnok63[/MENTION]'s solution :highfive:) may require some extra effort to allow processing due to Dolby Atmos' dependency on its output_session_processing music effect.

Instructions

:

Performing a backup of the /system partition in recovery is encouraged for users receiving a /system installation:

TWRP > Backup > Check System > Edit name, if desired > Swipe to perform backup operation

Confirm

device requirements are met

and installation results are acceptable.

Confirm

an escape route is available

in the event of unsuccessful device boot or unsatisfactory experience.

Confirm successful download and location of downloaded archive(s).

Boot to recovery > Install > *.zip > Swipe to perform installation operation > Advanced > Copy Log > Reboot

Updating procedure is no different unless specified otherwise.

Additional Information

:

Unsuccessful device boot

:

If experiencing a bootloop...

! !

DO

NOT

GIVE

UP

! !​

Wait until at least 60 seconds have passed, hold down the device's Power button until a reboot is initiated... and then give up if a successful boot fails to occur.

Escape routes for unsuccessful/unsatisfactory installations

:

Magisk Module Installation:

If booted, navigate to /magisk using a capable file manager application and delete /dolbyatmos before rebooting the device. If experiencing an unsuccessful device boot, boot to recovery using the appropriate hardware button combination for the device, install the Magisk Recovery Management archive attached below, and follow the given instructions to delete the Magisk module (/magisk/dolbyatmos).

SuperSU /system installations:

Restore Backup in recovery if available: TWRP > Restore > appropriate backup folder > Check System > Swipe to perform Restore operation

Install the currently installed rom zip in recovery without any partition wipes or install a different rom zip according to the rom developer's installation instructions.

Reporting bugs/failures

:

An acceptable report will include the /sdcard/recovery.log received after the installation session before booting from recovery even if the recovery session appeared to be free from any error. An acceptable report will include relevant information/details to equip me to efficiently address the report.

Auditing

:

Assessing the installation is encouraged for all users and is especially helpful when the collected information is included in reports of less than perfect experiences.

Dumpsys:

The dumpsys utility in Android can be a very valuable troubleshooting tool, especially audio output processing related issues, when targeting the audioflinger service. Recommended terminal applications include Terminal Emulator for Android and Termux.

In Android Terminal:

su
dumpsys media.audio_flinger

or

su -c dumpsys media.audio_flinger

The output generated upon tapping the Enter key is the information of interest and can be copied from the Terminal and pasted with a report, if necessary.

This output includes the list of successfully configured audio sound effect libraries and any successfully created effect-chains from one or more of those libraries when combined with the successful installation of an appropriate apk, Dolby Atmos being one of many examples.

Logging:

The log utility in Android is another valuable tool for many various purposes, including troubleshooting. This utility is most convenient when used with a logging application such as Matlog in order to utilize features such as word filtering and syntax highlighting among others.

Using the logging application's search feature, the user can filter the displayed log output using words or characters relevant to this Dolby Atmos™ port such as: dolby, dax, dlb, dseffect and include that relevant log output with reports, if necessary.

Testing

:

The possibility of my experience being different from others' experiences is always present!

Those meeting the installation requirements may certainly test against various aspects stated as facts within this OP such as incompatibility with other audio effects, requirement of Permissive SELinux Mode :highfive:, etc.

Vulnerabilities

:

The installation, as with any device content, is not immune to impact from existing and future installations of custom content. This custom content may remove or modify necessary content, or introduce conflicting content preventing Dolby Atmos™ from functioning as intended by this mod's installation. Security measures can block these scenarios from occuring but will typically be implemented only after the discovery of such cases of "breaking" Dolby Atmos™ functionality, in which case, the relevant vulnerability will be omitted from this particular section.

Vulnerability: --

Scenario: --

Downloads

:

Android File Host (gh)

Standard:

Latest: 20180219[*]MD5: eb56b15a2f35bd87e7627652620a98ac

Android File Host (Zackptg5)

Unity:

Latest: 20180220[*]MD5: 16d3397c43bc8ac20fb12f1b637a16cb

Changelog

:

[B]Standard 20180219 -[/B]

- Expiration met for the Dolby Atmos
Demo Video component after confirmation
of its lack for volume support indicated a
native "bug" and not a porting shortcoming.

- A reduction of 67MB, uncompressed, now
totaling 15.49MB uncompressed, without
the Dolby Atmos Demo Video component.

- Abandonment of the recently introduced
libsurround_proc.so library (suspect of recent
audio unpleasantness) from the Nokia
6 Official Oreo build that was paired with
that same firmware's Dolby Surround Sound
Settings' menu as an additional apk that is
currently still included and still in its trial
period.

- SUBSTANTIAL adjustments, additions, and
improvements to every script - installation
and boot scripts, the most comprehensive
update for this shell component thus far.

[B]Unity 20180220 -[/B]

- Added the debloated apk.

[B]Standard 20180218 -[/B]

- Updated installation script and
functions with Magisk (1540).

- Adjustments to boot scripts.

- Added surround processing library
from the native CustDolbySettings.apk
firmware (Nokia 6 Official Oreo).

- Temporary icon change for
CustDolbySettings.apk.

[B]Unity 20180218 -[/B]

- Reworked bootmode support for devices
with separate vendor partitions, added
dolby surround app.

[B]Standard 20180216 -[/B]

- Fixed a critical error in libswvlldp.so's
effect configuration in the XML
configuration.

- Several adjustments to boot scripts.

[B]Unity 20180216 -[/B]

- Fix issues users with devices that use
audio_effect.xml were having. Thanks to
[MENTION=7073442]manhong2112[/MENTION] for the patience
and troubleshooting.

[B]Standard 20180215 -[/B]

- Added new CustDolbySettings.apk
from the latest Nokia 6 official Oreo
firmware (untested/experimental).

- Slight change in post-fs-data.sh
boot script.

[B]Standard 20180214 -[/B]

- Correction to Pixel 2/2 XL detection.

[B]Unity 20180214 -[/B]

- Adjustments to unique audio effects
configuration preparation.

[B]20180214 -[/B]

- Minor corrections and enhancements.

[B]20180213-2 -[/B]

- Adjustment to SuperSU /su
module installation.

[B]20180213-1 -[/B]

- Completed the incomplete service.sh
script mistakenly thought as completed.

[B]20180213 -[/B]

- Extensive reworking of boot scripts
aimed at device boot success and
debloat.

[B]20180212-1 -[/B]

- Samsung compatibility attempt
via the disabling of the SoundAlive
music output_session_processing
effect.

[B]20180212 -[/B]

- Corrected library_migration function.

[B]20180211-1 -[/B]

- Testing new library migration
function.

[B]20180211 -[/B]

- Accommodation for audio_effects.xml
configurations lacking
<postprocess></postprocess> section.

- Adjustments to boot scripts focused
on device boot success.

[B]20180210 -[/B]

- Resolved accidental omission of
libstagefright_soft_ddpdec.so.

[B]20180209-3 -[/B]

- Don't be helpful, be harmless.

[B]20180209-2 -[/B]

- Corrections and adjustments to
/system installations.

- Automatic audioserver restoration
during all system-less installations.

[B]20180209-1 -[/B]

- Correction to audio_effects.xml
manipulation.

[B]20180209 -[/B]

- Correction to typo preventing
audio_effects.xml manipulation.

[B]20180208-4 -[/B]

- Minor adjustments and improvements.

[B]20180208-3 -[/B]

- ...

[B]20180208-2 -[/B]

- meh.

[B]20180208-1 -[/B]

- More than enough changes to
likely introduce new errors.

[B]20180208 -[/B]

- Script corrections and enhancements.

[B]20180207-2 -[/B]

- Does it even matter at this.point??

[B]20180207-1 -[/B]

- Like it even makes a difference...

[B]20180207 -[/B]

- Various corrections and adjustments.

[B]20180206-2 -[/B]

- Redundant changelog is redundant.

[B]20180206-1 -[/B]

- Further error corrections.

[B]20180206 -[/B]

- Various error corrections.

[B]20180205-1 -[/B]

- Various error corrections.

[B]20180205 -[/B]

- Initial release integrating Unity
installation and scripts courtesy
of @ahrion and @Zackptg5.

[B]20180202 -[/B]

- Corrected a critical error recently
introduced by "reckless thumbing"
to the audio effects configuration
operation for /system installations.

- The Magisk binary's --mountimg
function is once again used for
mounting the Magisk image volume
if the standard mount attempt is
unsuccessful.

- Various enhancements.

[B]20180201 -[/B]

- Boot scripts completely
rewritten.

- Bundled Magisk's 1531 binary in
an attempt to access its functions
during the recovery session instead
of the existing binary for certain
Magisk-specific operations.

- Various corrections and refinements.

[B]20180131-1 -[/B]

- Minor adjustments.

[B]20180131 -[/B]

- Numerous corrections and refinements.

- Enforcing SELinux Mode fully supported.

- No longer affects SELinux mode in any way.

[B]20180129-1 -[/B]

- Minor corrections.

[B]20180129 -[/B]

- Numerous changes/improvements
to all scripts.

[B]20180127 -[/B]

- Numerous changes/improvements
across the entire archive.

[B]20180126-6 -[/B]

- Slight adjustment to scripts.

[B]20180126-5 -[/B]

- Boot scripts restructuring and
enhancements targeting successful
device boot and additional
functionality.[

[B]20180126-4 -[/B]

- Does it even matter at this point??

[B]20180126-3 -[/B]

- Reverted the recent option
introducing unsuccessful results.

[B]20180126-2 -[/B]

- Redundant changelog is
redundant...

[B]20180126-1 -[/B]

- Corrected, yet another, error
introduced with the latest
/sdcard/arise_parameters.prop
option that would only affect those
installations utilizing this option.

[B]20180126 -[/B]

- Various corrections of errors
introduced with the changes to
accommodate the recently added
/sdcard/arise_parameters.prop
option.

[B]20180125-3 -[/B]

- Corrected duplicate
output_session_processing entry
for module installations.

[B]20180125-2 -[/B]

- Added option to install custom
dolbyserver instead of native
audioserver for those unable to
successfully boot with the native Axon 7
Oreo /bin/audioserver. (Refer to
arise_parameters.prop for full details)

- Updated arise_parameters.prop.

[B]20180125-1 -[/B]

- Updated apk internal filesystem
and information (Does NOT affect
installation success-rate).

[B]20180125 -[/B]

- Adjustment to Xposed detection.

[B]20180124-1 -[/B]

- Unique atmos library and effect
UUID to accommodate native Dolby
effects.

[B]20180124 -[/B]

- Adjustment to Magisk variables with
existing audio effects configurations.

[B]20180122-2 -[/B]

- Mount magisk.img with Magisk's
util_functions.sh if initial mount
attempt was unsuccessful.

[B]20180122-1 -[/B]

- Correction to audio effects
configuration manipulation.

[B]20180122 -[/B]

- Correction of introduced errors.

[B]20180121 -[/B]

- Extensive adjustments to installation script.

- Addressed Pixel, Samsung, /su module, and
general installations.

- Removed previously bundled music player.

- Beginning of DolbyAtmos.apk customization
and experimentation.

[B]20180120-1 -[/B]

- Conservative shift of boot scripts.

[B]20180120 -[/B]

- Various and discriminate installation
and boot script adjustments.

[B]20180119-3 -[/B]

- Third time's the charm??

[B]20180119-2 -[/B]

- Yet another correction to boot script.

[B]20180119-1 -[/B]

- Correction to boot script.

[B]20180119 -[/B]

- Extensive adjustments to systemless
module creation and boot script.

- Removed build properties.

- Default installations intended to
accommodate HTC devices.

[B]20180117-1 -[/B]

- Correction to
/odm/etc/audio_policy_configuration.xml
symlink.

[B]20180117 -[/B]

- Various script corrections.

- Recovery Management zip now supports
SuperSU's /data/su.img and is now included
in the Dolby Atmos zip for convenient access.

[B]20180114-4 -[/B]

- More script corrections.

[B]20180114-3 -[/B]

- Script error correction.

[B]20180114-2 -[/B]

- Further script changes.

[B]20180114-1 -[/B]

- Adjustment to supported .prop detection.

- Removed experimental /*_contexts patches.

- Various script changes.

[B]20180114 -[/B]

- Corrected Magisk module installation.

- Added systemless installation option
for SuperSU users (/su/dolbyatmos).

- Updated /sdcard/arise_parameters.prop
(will overwrite the no longer supported .prop).

- Various script changes.

[B]20180112-2 -[/B]

- Added missing setprop section
to script in /system installations.

[B]20180112-1 -[/B]

- Added two library dependencies
to accommodate devices without
either library. (@Zackptg5)

- Adjustment to vendor partition
audio effects configuration
detection. (@Zackptg5)

- Added Xposed alert describing
potential conflict and potential resolution
of Dolby Atmos functionality. (@MMWolverine)

- Added /system free space detection,
resolution methods, and installation exit
for /system installations destined to fail due
to insufficient space to accommodate the
Dolby Atmos system.

Massive shout out to the many users
responsible for the current success rate
enjoyed by this Dolby Atmos Oreo solution!

:highfive:

[B]20180112 -[/B]

- Updated Magisk module.prop to 1530

[B]Initial Release -[/B]
-

Credits

:

[MENTION=5357245]ahrion[/MENTION] & [MENTION=6037748]Zackptg5[/MENTION] for Unity