FORUMS
Remove All Ads from XDA

[PORT] [8.0+] Dolby Atmos™ for Oreo 20180220 [Standard/Unity]

7,635 posts
Thanks Meter: 23,808
 
By guitardedhero, Senior Member on 25th January 2018, 05:45 PM
Post Reply Email Thread
YouTube™ Link!
"Listen to the Dolby Atmos™ Difference!"




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 @Zackptg5 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.

    • @Zackptg5 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 @docnok63's solution ) 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:
        Code:
        su
        dumpsys media.audio_flinger
        or
        Code:
        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 , 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:

Changelog:
  • Code:
    Standard 20180219 -
    
    - 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.
    
    
    
    
    Unity 20180220 -
    
    - Added the debloated apk.

    Code:
    Standard 20180218 -
    
    - 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.
    
    
    
    Unity 20180218 -
    
    - Reworked bootmode support for devices
    with separate vendor partitions, added
    dolby surround app.
    
    
    
    Standard 20180216 -
    
    - Fixed a critical error in libswvlldp.so's
    effect configuration in the XML
    configuration.
    
    - Several adjustments to boot scripts.
    
    
    
    Unity 20180216 -
    
    - Fix issues users with devices that use
    audio_effect.xml were having. Thanks to
    @manhong2112 for the patience
    and troubleshooting.
    
    
    
    Standard 20180215 -
    
    - Added new CustDolbySettings.apk
    from the latest Nokia 6 official Oreo
    firmware (untested/experimental).
    
    - Slight change in post-fs-data.sh
    boot script.
    
    
    
    Standard 20180214 -
    
    - Correction to Pixel 2/2 XL detection.
    
    
    
    Unity 20180214 -
    
    - Adjustments to unique audio effects
    configuration preparation.
    
    
    
    20180214 -
    
    - Minor corrections and enhancements.
    
    
    
    20180213-2 -
    
    - Adjustment to SuperSU /su
    module installation.
    
    
    
    20180213-1 -
    
    - Completed the incomplete service.sh
    script mistakenly thought as completed.
    
    
    
    20180213 -
    
    - Extensive reworking of boot scripts
    aimed at device boot success and
    debloat.
    
    
    
    20180212-1 -
    
    - Samsung compatibility attempt
    via the disabling of the SoundAlive
    music output_session_processing
    effect.
    
    
    
    20180212 -
    
    - Corrected library_migration function.
    
    
    
    20180211-1 -
    
    - Testing new library migration
    function.
    
    
    
    20180211 -
    
    - Accommodation for audio_effects.xml
    configurations lacking
    <postprocess></postprocess> section.
    
    - Adjustments to boot scripts focused
    on device boot success.
    
    
    
    20180210 -
    
    - Resolved accidental omission of
    libstagefright_soft_ddpdec.so.
    
    
    
    20180209-3 -
    
    - Don't be helpful, be harmless.
    
    
    
    20180209-2 -
    
    - Corrections and adjustments to
    /system installations.
    
    - Automatic audioserver restoration
    during all system-less installations.
    
    
    
    20180209-1 -
    
    - Correction to audio_effects.xml
    manipulation.
    
    
    
    20180209 -
    
    - Correction to typo preventing
    audio_effects.xml manipulation.
    
    
    
    20180208-4 -
    
    - Minor adjustments and improvements.
    
    
    
    20180208-3 -
    
    - ...
    
    
    
    20180208-2 -
    
    - meh.
    
    
    
    20180208-1 -
    
    - More than enough changes to
    likely introduce new errors.
    
    
    
    20180208 -
    
    - Script corrections and enhancements.
    
    
    
    20180207-2 -
    
    - Does it even matter at this.point??
    
    
    
    20180207-1 -
    
    - Like it even makes a difference...
    
    
    
    20180207 -
    
    - Various corrections and adjustments.
    
    
    
    20180206-2 -
    
    - Redundant changelog is redundant.
    
    
    
    20180206-1 -
    
    - Further error corrections.
    
    
    
    20180206 -
    
    - Various error corrections.
    
    
    
    20180205-1 -
    
    - Various error corrections.
    
    
    
    20180205 -
    
    - Initial release integrating Unity
    installation and scripts courtesy
    of @ahrion and @Zackptg5.
    
    
    
    20180202 -
    
    - 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.
    
    
    
    20180201 -
    
    - 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.
    
    
    
    20180131-1 -
    
    - Minor adjustments.
    
    
    
    20180131 -
    
    - Numerous corrections and refinements.
    
    - Enforcing SELinux Mode fully supported.
    
    - No longer affects SELinux mode in any way.
    
    
    
    20180129-1 -
    
    - Minor corrections.
    
    
    
    20180129 -
    
    - Numerous changes/improvements
    to all scripts.
    
    
    
    20180127 -
    
    - Numerous changes/improvements
    across the entire archive.
    
    
    
    20180126-6 -
    
    - Slight adjustment to scripts.
    
    
    
    20180126-5 -
    
    - Boot scripts restructuring and
    enhancements targeting successful
    device boot and additional
    functionality.[
    
    
    
    20180126-4 -
    
    - Does it even matter at this point??
    
    
    
    20180126-3 -
    
    - Reverted the recent option
    introducing unsuccessful results.
    
    
    
    20180126-2 -
    
    - Redundant changelog is
    redundant...
    
    
    
    20180126-1 -
    
    - Corrected, yet another, error
    introduced with the latest
    /sdcard/arise_parameters.prop
    option that would only affect those
    installations utilizing this option.
    
    
    
    20180126 -
    
    - Various corrections of errors
    introduced with the changes to
    accommodate the recently added
    /sdcard/arise_parameters.prop
    option.
    
    
    
    20180125-3 -
    
    - Corrected duplicate
    output_session_processing entry
    for module installations.
    
    
    
    20180125-2 -
    
    - 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.
    
    
    
    20180125-1 -
    
    - Updated apk internal filesystem
    and information (Does NOT affect
    installation success-rate).
    
    
    
    20180125 -
    
    - Adjustment to Xposed detection.
    
    
    
    20180124-1 -
    
    - Unique atmos library and effect
    UUID to accommodate native Dolby
    effects.
    
    
    
    20180124 -
    
    - Adjustment to Magisk variables with
    existing audio effects configurations.
    
    
    
    20180122-2 -
    
    - Mount magisk.img with Magisk's
    util_functions.sh if initial mount
    attempt was unsuccessful.
    
    
    
    20180122-1 -
    
    - Correction to audio effects
    configuration manipulation.
    
    
    
    20180122 -
    
    - Correction of introduced errors.
    
    
    
    20180121 -
    
    - 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.
    
    
    
    20180120-1 -
    
    - Conservative shift of boot scripts.
    
    
    
    20180120 -
    
    - Various and discriminate installation
    and boot script adjustments.
    
    
    
    20180119-3 -
    
    - Third time's the charm??
    
    
    
    20180119-2 -
    
    - Yet another correction to boot script.
    
    
    
    20180119-1 -
    
    - Correction to boot script.
    
    
    
    20180119 -
    
    - Extensive adjustments to systemless
    module creation and boot script.
    
    - Removed build properties.
    
    - Default installations intended to
    accommodate HTC devices.
    
    
    
    20180117-1 -
    
    - Correction to
    /odm/etc/audio_policy_configuration.xml
    symlink.
    
    
    
    20180117 -
    
    - 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.
    
    
    
    20180114-4 -
    
    - More script corrections.
    
    
    
    20180114-3 -
    
    - Script error correction.
    
    
    
    20180114-2 -
    
    - Further script changes.
    
    
    
    20180114-1 -
    
    - Adjustment to supported .prop detection.
    
    - Removed experimental /*_contexts patches.
    
    - Various script changes.
    
    
    
    20180114 -
    
    - 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.
    
    
    
    20180112-2 -
    
    - Added missing setprop section
    to script in /system installations.
    
    
    
    20180112-1 -
    
    - 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:
    
    
    
    20180112 -
    
    - Updated Magisk module.prop to 1530
    
    
    
    Initial Release -
    -


Credits:
Attached Thumbnails
Click image for larger version

Name:	Screenshot_20180112-005423.jpg
Views:	65994
Size:	208.7 KB
ID:	4399758   Click image for larger version

Name:	Screenshot_20180112-005445.jpg
Views:	64486
Size:	193.0 KB
ID:	4399759   Click image for larger version

Name:	Screenshot_20180112-005504.jpg
Views:	64002
Size:	124.7 KB
ID:	4399760   Click image for larger version

Name:	Screenshot_20180112-005508.jpg
Views:	59152
Size:	111.0 KB
ID:	4399761   Click image for larger version

Name:	Screenshot_20180112-005513.jpg
Views:	57800
Size:	117.3 KB
ID:	4399762   Click image for larger version

Name:	Screenshot_20180112-005530.jpg
Views:	56742
Size:	118.2 KB
ID:	4399763  
Attached Files
File Type: zip Magisk+SuperSU_RecoveryManagement.zip - [Click for QR Code] (1.2 KB, 37294 views)
The Following 185 Users Say Thank You to guitardedhero For This Useful Post: [ View ] Gift guitardedhero Ad-Free
 
 
25th January 2018, 05:55 PM |#2  
guitardedhero's Avatar
OP Senior Member
Flag Little Rock
Thanks Meter: 23,808
 
Donate to Me
More
Original thread with the initial two weeks of information and progress: Link
The Following 32 Users Say Thank You to guitardedhero For This Useful Post: [ View ] Gift guitardedhero Ad-Free
25th January 2018, 05:58 PM |#3  
guitardedhero's Avatar
OP Senior Member
Flag Little Rock
Thanks Meter: 23,808
 
Donate to Me
More
Android Oreo Database

/system/bin/audioserver <-- Drive link

  • Purpose and Contribution:

    • Introduced with Android Nougat, audioserver appears as its own binary after years of being a component of /system/bin/mediaserver in all Android firmware.
    • Introduced with Android Nougat, vendor provided Dolby Atmos™ software audio solutions appear with a new media.dolby_memoryservice that is compiled into /system/bin/audioserver as well as a unique system library typically appearing as /system/vendor/lib/libdlbmemoryservice.so.
    • These new components are crucial to a functional Dolby Atmos software solution and there is currently no known way of achieving any amount of success without them.
    • While porting the very first Nougat Dolby Atmos system available, courtesy of ZTE™ Axon 7’s initial Nougat firmware image, I discovered this implementation and a functional port was finally available.
    • However, using a Nexus 6 at the time, I was able to evade nearly all bootloop scenarios with much of what would cause a bootloop scenario for others.
    • It took no time to determine that this new media.dolby_memoryservice component was going to be a challenge in achieving a viable Dolby Atmos Nougat port.
    • To begin, results were determined: Successful device boot or Unsuccessful device boot.
    • Stock firmware seemed to fare much better than custom firmware, even for just a single device.
    • A pattern began to emerge for me when focusing only on the audioserver binary: Stock firmware had an audioserver file size range (21.50KB-21.53KB) and Custom firmware had an audioserver file size range of its own (21.58KB-21.60KB).
    • Not a significant difference, unless you were looking for a difference.
    • This assessment presented an effective predictibility of an installation scenario's success and failure with nearly 100% accuracy (nearly only because every possible scenario is not documented).
    • This audioserver database is intended for those that have determined a single scenario as successful or as unsuccessful due to the native audioserver binary in their device’s rom being overwritten or symlinked over with the audioserver native to the ZTE™ Axon 7 Oreo firmware AND NOT A RESULT OF ANY OTHER FILE OR SCRIPT OPERATION!!
    • Simply, those with success have the easier path requiring nearly no effort other than uploading the native audioserver from their firmware along with the firmware build.prop to the WIN audioserver folder.
    • Those contributing to the FAIL audioserver folder with the native audioserver along with the firmware build.prop will only be able to do so after some personal testing to ensure the audioserver switching is the exclusive cause of an unsuccessful device boot after flashing the Dolby Atmos installation archive in recovery.

The Following 29 Users Say Thank You to guitardedhero For This Useful Post: [ View ] Gift guitardedhero Ad-Free
25th January 2018, 07:08 PM |#5  
yyz71's Avatar
Senior Member
Flag Somewhere in Canada ;)
Thanks Meter: 662
 
More
I'm jealous of my girlfriend's Pixel XL I'm desperately trying to get this going on Pixel 2. It Installs after 5 minutes of bootlooping but it freezes up my phone and becomes unresponsive 😞

Sent from my Google Pixel 2 using XDA Labs
The Following 2 Users Say Thank You to yyz71 For This Useful Post: [ View ] Gift yyz71 Ad-Free
25th January 2018, 07:08 PM |#6  
Senior Member
Thanks Meter: 35
 
More
xpose not allowing to install
magisk showing its not magisk module
The Following User Says Thank You to ayaj007 For This Useful Post: [ View ] Gift ayaj007 Ad-Free
25th January 2018, 08:00 PM |#7  
guitardedhero's Avatar
OP Senior Member
Flag Little Rock
Thanks Meter: 23,808
 
Donate to Me
More
Quote:
Originally Posted by yyz71

I'm jealous of my girlfriend's Pixel XL I'm desperately trying to get this going on Pixel 2. It Installs after 5 minutes of bootlooping but it freezes up my phone and becomes unresponsive

Sent from my Google Pixel 2 using XDA Labs

Me too, still trying lol.

Quote:
Originally Posted by ayaj007

xpose not allowing to install
magisk showing its not magisk module

The detection of Xposed does not prevent installation, only alerting the user to a possible conflict. The installation is not inhibited in any way with the detection of Xposed.
The Following 6 Users Say Thank You to guitardedhero For This Useful Post: [ View ] Gift guitardedhero Ad-Free
25th January 2018, 08:11 PM |#8  
yyz71's Avatar
Senior Member
Flag Somewhere in Canada ;)
Thanks Meter: 662
 
More
Quote:
Originally Posted by guitardedhero

Me too, still trying lol.



The detection of Xposed does not prevent installation, only alerting the user to a possible conflict. The installation is not inhibited in any way with the detection of Xposed.

Thank you I won't give up on this 😉

Sent from my Google Pixel 2 using XDA Labs
The Following 3 Users Say Thank You to yyz71 For This Useful Post: [ View ] Gift yyz71 Ad-Free
25th January 2018, 09:11 PM |#9  
guitardedhero's Avatar
OP Senior Member
Flag Little Rock
Thanks Meter: 23,808
 
Donate to Me
More
Changelog:
  • Code:
    20180125-1 -
    
    - Updated apk internal filesystem
    and information (Does NOT affect
    installation success-rate).
The Following 4 Users Say Thank You to guitardedhero For This Useful Post: [ View ] Gift guitardedhero Ad-Free
25th January 2018, 09:30 PM |#10  
Miustone's Avatar
Senior Member
Flag Bad Oeynhausen
Thanks Meter: 4,628
 
Donate to Me
More
Nice to see You with something new again Mate! Looking really good to Me, will try it on My Axon 7 running 8.1 AOSP 🤘
The Following User Says Thank You to Miustone For This Useful Post: [ View ] Gift Miustone Ad-Free
25th January 2018, 09:54 PM |#11  
guitardedhero's Avatar
OP Senior Member
Flag Little Rock
Thanks Meter: 23,808
 
Donate to Me
More
Quote:
Originally Posted by Miustone

Nice to see You with something new again Mate! Looking really good to Me, will try it on My Axon 7 running 8.1 AOSP 🤘

Thanks for stopping by, "old" friend! I've noticed you've been staying busy as well!
Post Reply Subscribe to Thread

Tags
atmos, audio, dolby, mod, oreo

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes