[HUGE NEWS] APT-X Bluetooth Codec zip for qualified AOSP ROM's [$455 so far] 3/21/17

Search This thread

LazerL0rd

Senior Member
Nov 2, 2016
1,363
1,157
Aberdeen, United Kingdom
www.thezest.dev
Ooooooo!!!

I extracted your zip and manually copied the files to the system folders, then set the right permissions. And IT WORKED.

My XB650BTs connect using AptX codec instead of AAC now. Thanks man, you're a hero.
@dh.harald and @CZ Eddie

Does this mean.. the end? aptX for all Android O AOSP...?

See.. it seems Google only "bought" aptX for the Pixel but didn't want to use QC stack. Their stubbornness helped us though.
 

CZ Eddie

Senior Member
Sep 27, 2011
6,397
2,442
Austin, TX
Google Pixel XL had 7.1.2 drop through official channels a couple days ago.
It hasn't hit the OTA's yet but it's a non-preview.
And it did NOT have any aptX files in it. :(

how can i formally revoke my promised contribution, made many years ago?

You just did.

Does this mean.. the end? aptX for all Android O AOSP...?

See.. it seems Google only "bought" aptX for the Pixel but didn't want to use QC stack. Their stubbornness helped us though.

Too early to tell?
 

CZ Eddie

Senior Member
Sep 27, 2011
6,397
2,442
Austin, TX
I just flashed Screw'd AOSP ROM 7.1.2 on my Google Pixel XL.
Then copied over the 7.1.2 aptX files (they weren't already there) into both lib and lib64.
Changed permissions, rebooted and connected to my aptX headphones.
It is NOT using aptX. Still just using A2DP. :(

Even tried the older aptX files everyone has been using on LineageOS ROM's.
No dice.

Not even a single mention of aptX in the logs.

I did notice though that aptX was not mentioned in Developer Settings, which was how it was turned on in stock 7.1.2 preview.

Bummer.
I thought for sure stock Pixel ROM 7.1.2's earlier aptX success would translate to AOSP ROM's. :(

EDIT: I don't know why I keep confusing 7.1.2 for "O" when it's not, so nevermind on this whole post. ugh
 
Last edited:

LazerL0rd

Senior Member
Nov 2, 2016
1,363
1,157
Aberdeen, United Kingdom
www.thezest.dev
@LazerL0rd, @CZ Eddie
I have added the aosp as well as Qualcomm/ Lineage libraries to today's release of my kernel and have ordered an aptx BT receiver. :fingers-crossed:

The Android O ones...?

---------- Post added at 02:25 PM ---------- Previous post was at 02:24 PM ----------

I just flashed Screw'd AOSP ROM 7.1.2 on my Google Pixel XL.
Then copied over the 7.1.2 aptX files (they weren't already there) into both lib and lib64.
Changed permissions, rebooted and connected to my aptX headphones.
It is NOT using aptX. Still just using A2DP. :(

Even tried the older aptX files everyone has been using on LineageOS ROM's.
No dice.

Not even a single mention of aptX in the logs.

I did notice though that aptX was not mentioned in Developer Settings, which was how it was turned on in stock 7.1.2 preview.

Bummer.
I thought for sure stock Pixel ROM 7.1.2's earlier aptX success would translate to AOSP ROM's. :(

EDIT: I don't know why I keep confusing 7.1.2 for "O" when it's not, so nevermind on this whole post. ugh

That's what I tried to say. It's something hidden in... Might not be universal.
 

pachi24igger

Member
Aug 2, 2012
14
7
Confirmed.

I just flashed the Android "O" preview on my Google Pixel XL and aptX is supported & working right out of the box. :good:

No mods necessary. All I did was log into my Google account, install Pandora to test with and bam, aptX works. Even my aptX headphones recognizes it's using an aptX connection.

See pics below for proof. :)
3rd parties are welcome to snag my pics in this post for use with publications if needed.






How about Miracast on the "Android O", is it supported again? As in casting to a non-chromecast device via Miracast? For example a Samsung TV or Microsoft Display Adapter which both use pure Wireless Direct Miracast?
It would be much appreciated if you could try it out please
 
  • Like
Reactions: LazerL0rd

pachi24igger

Member
Aug 2, 2012
14
7
Miracast

Could you kindly check if Miracast is working again? Apparently they had deactivated pure Miracast Wireless Display functionality to TV's and Miracast enabled devices and only allowed casting to Chromecast, allegedly in order to favour the Chromecast sales.

I am very curious whether seeing as they have finally added aptX support out of the box on the Android O operating system after years of request by users, maybe they have also given in to the atrocious elimination of Miracast on Nougat and added it back on on Android O.

Thanks

Confirmed.

I just flashed the Android "O" preview on my Google Pixel XL and aptX is supported & working right out of the box. :good:

No mods necessary. All I did was log into my Google account, install Pandora to test with and bam, aptX works. Even my aptX headphones recognizes it's using an aptX connection.

See pics below for proof. :)
3rd parties are welcome to snag my pics in this post for use with publications if needed.





 

rachanta

Senior Member
Jun 28, 2009
3,251
4,048
@CZ Eddie thank you for your work. I included the libraries in my kernel and have also made a flashable that works with Nexus 5X.
I included both cm as well as aosp libraries, but haven't tested on a cm rom:
https://www.androidfilehost.com/?fid=745425885120733727
Thanks to your work I am enjoying music from my old device through an aptx bt receiver. There is a marked difference.
 
Last edited:

LazerL0rd

Senior Member
Nov 2, 2016
1,363
1,157
Aberdeen, United Kingdom
www.thezest.dev
Sorry, I don't know what Miracast is and I don't plan to install "O" again for any testing until a newer update is released to public.

Gonna try yet? It's now a public beta and MUCH more stable.

---------- Post added at 05:50 PM ---------- Previous post was at 05:50 PM ----------

Could you kindly check if Miracast is working again? Apparently they had deactivated pure Miracast Wireless Display functionality to TV's and Miracast enabled devices and only allowed casting to Chromecast, allegedly in order to favour the Chromecast sales.

I am very curious whether seeing as they have finally added aptX support out of the box on the Android O operating system after years of request by users, maybe they have also given in to the atrocious elimination of Miracast on Nougat and added it back on on Android O.

Thanks

Didn't work on DP1 though I'm currently unable to test on DP2 as there currently isn't a root solution.

---------- Post added at 05:51 PM ---------- Previous post was at 05:50 PM ----------

@CZ Eddie thank you for your work. I included the libraries in my kernel and have also made a flashable that works with Nexus 5X.
I included both cm as well as aosp libraries, but haven't tested on a cm rom:
https://www.androidfilehost.com/?fid=745425885120733727
Thanks to your work I am enjoying music from my old device through a aptx bt receiver. There is a marked difference.

That's great to see it's working. Thanks for testing it, man.
 

rachanta

Senior Member
Jun 28, 2009
3,251
4,048
Gonna try yet? It's now a public beta and MUCH more stable.

---------- Post added at 05:50 PM ---------- Previous post was at 05:50 PM ----------



Didn't work on DP1 though I'm currently unable to test on DP2 as there currently isn't a root solution.

---------- Post added at 05:51 PM ---------- Previous post was at 05:50 PM ----------



That's great to see it's working. Thanks for testing it, man.
@LazerL0rd
Are you on Nexus 5x? I am on N5x, rooted with 2.79 SR4 extra delay on O Preview 2 with Racer 0524F with aptx codec being used.TWRP 3.1.1 from Drees Troy. No complications, no verified boot zip flashing... Flashing SR4 after level takes care of boot verification. No root is a problem with Pixel, not Nexus 5x. In Pixel the aptx codec is native.
 
Last edited:

LazerL0rd

Senior Member
Nov 2, 2016
1,363
1,157
Aberdeen, United Kingdom
www.thezest.dev
@LazerL0rd
Are you on Nexus 5x? I am on N5x, rooted with 2.79 SR4 extra delay on O Preview 2 with Racer 0524F with aptx codec being used.TWRP 3.1.1 from Drees Troy. No complications, no verified boot zip flashing... Flashing SR4 after level takes care of boot verification. No root is a problem with Pixel, not Nexus 5x. In Pixel the aptx codec is native.

Yes, I'm on the 5X but I'm waiting for Magisk root as I need it, and also I'm on FBE which sadly isn't supported by any recoveries yet for our device. Yes, ik it's native on the pixel as that's where it was taken from ?!
 

Humpie

Recognized Developer
Yes, I'm on the 5X but I'm waiting for Magisk root as I need it, and also I'm on FBE which sadly isn't supported by any recoveries yet for our device. Yes, ik it's native on the pixel as that's where it was taken from ?!
I'm currently on the 6p running O beta and magisk (unofficial) v13 with magiskSU (and passing the safetynet). Soo... Is there a magisk module for the android o aptx files I can try?
Edit: I just threw the files in a random other module and it worked!
 
Last edited:
  • Like
Reactions: LazerL0rd

LazerL0rd

Senior Member
Nov 2, 2016
1,363
1,157
Aberdeen, United Kingdom
www.thezest.dev
I'm currently on the 6p running O beta and magisk (unofficial) v13 with magiskSU (and passing the safetynet). Soo... Is there a magisk module for the android o aptx files I can try?
Edit: I just threw the files in a random other module and it worked!

I'll make an official module and credit the people involved, as my zip was recently lost in action ?
 

speedingcheetah

Senior Member
Feb 25, 2011
1,225
138
Equestria
what app or method are u all using to detect what codec a BT device is using during playback? I need a way to detect this with no root.

I have used wireshark to via the "Bluetooth HCI log" that my Moto X Pure does produce when u enable it via Dev options...so that works.
My V10 and Pixel do not make a log file anywhere even when that option is enabled.
 

euphore

Senior Member
Jun 16, 2017
83
19
hey there, just to unterstand what i could expect maybe. will be aptx possible for cyanogen 11, means Kitkat?

thanks!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    EDIT: 3/21/17
    aptX and aptX (and possibly other flavors) are all supported "right out of the box" in Android "O".

    https://xdaforums.com/showpost.php?p=71533614&postcount=286

    I revoke my personal bounty as it's now just a matter of time before AOSP ROM's show up for my device at least, which work with aptX.
    -------------------------------------------------------------------------------------------------------------------------
    EDIT: 2/18/17

    It seems that most or all Lineage OS (LOS) 14.X based ROM's are working with aptX. Multiple people with various different Qualcomm cellphones are reporting aptX working after installing the .so files.
    Is there any device out there it's NOT working for?
    Bounty still available if you can figure out how to make it work in AOSP ROM's.
    -------------------------------------------------------------------------------------------------------------------------



    EDIT: 1/15/17
    @dh.harold has aptX working on a few LineageOS 14.1 devices running Qualcomm Bluetooth stacks.
    Please go to his thread and give him some thanks and to read about how to install the mod.
    https://xdaforums.com/oneplus-3/themes/mod-aptx-codec-t3521228
    -------------------------------------------------------------------------------------------------------------------------

    EDIT: 8/17/15 This thread is going nowhere fast. As of todays date there are no perfect working hacks to get APT-X working in AOSP ROM's.
    -------------------------------------------------------------------------------------------------------------------------


    EDIT: AFTER MORE TESTING, THE RESULTS SEEM TO BE FLAKEY.
    DO NOT FLASH JUST YET (UNLESS YOU REALLY WANT TO). IT MAY REQUIRE RE-FLASHING YOUR ROM IF IT DOESN'T WORK.

    -------------------------------------------------------------------------------------------------------------------------

    Thanks to some helpful folks such as SPLESH & werty100 & glycolysis & others, we now have APT-X working in 4.4 AOSP ROM's for phones that originally shipped with the APT-X codec.
    You'll find a list of those phones in the list further below.

    To download a flashable zip that makes your phone use the APT-X high-def Bluetooth codec, then skip to post # 33below.
    http://xdaforums.com/showpost.php?p=48188145&postcount=33

    Thanks to:


    MORAL SUPPORT:
    th4r
    fedevd
    Topfar
    withmenilu
    cx5
    Oli28
    mojonba
    stephendt0
    DeKey0
    wooki

    CONTRIBUTORS:
    farfrommovin
    emprize
    BenG7
    CZ Eddie

    DEVELOPMENTAL ADVICE:
    WERTY100
    glycolysis
    dh.harald

    DEVELOPMENTAL BREAKTHROUGH:
    SPLESH







    PREVIOUS/OLD THREAD DETAILS:
    =============================================

    What is APT-X?
    It's Bluetooth for "Audiophiles".
    Basically, it's the next step beyond A2DP and it delivers a "high definition", "CD" type sound. It's Bluetooth without all the compression that A2DP suffers from.

    APT-X Lossless supports high-definition audio up to 96 kHz sampling rates and sample resolutions up to 24 bits.

    Platforms
    The aptX Lossless technology is implemented as C and C++ code and has been verified on
    the following processors:
    •  x86
       ARM 9E
       ARM Cortex M3
       Texas Instruments C64xxother processor cores and DSPs to be verified and announced

    • Key Features
    • Compression ratio: 4:1
    • Audio Format: 16-bit, 44.1kHz (CD-Quality)
    • Data Rates: 352kbps
    • Frequency Response: 10Hz to 22kHz
    • Algorithmic Delay: <1.89ms @ Fs 48KHz
    • Dynamic Range: 16-bit: >92dB
    • THD+N: -68.8dB

    If I had to guess, normal A2DP Bluetooth might sound as good as a 96kbps music file. While APT-X Bluetooth sounds as good as a 320kpbs music file. Essentially, to the trained ears it is a HUGE difference in sound quality.

    The problem is, it's not a widespread codec yet. AFAIK, only the HTC One, One X, and Samsung Galaxy lineup (S3 and newer) and proably some of the other superphones that are one year or newer, will have this Codec. It's a proprietary codec. So you're only "allowed" to have it on your phone if you bought a phone that came with it.

    Because of this, it's not found in any AOSP ROM's. Just like you won't find any Google Apps in AOSP, you won't find APT-X codecs. So as with Google Apps, we just simply offer a flashable zip so the end user can add those items if he/she wishes.
    So, the aim for this thread is to have the same option for APT-X codec. Because I for one am tired of running stock ROM's just because I want to use the APT-X codec that I paid for when I bought my phone.

    I personally am putting up $100 to any developer who can provide a flashable zip, or similar method, of getting an AOSP ROM to use the APT-X codec.
    If anyone else reading this thread wishes to add money to the pledge, just PM me or make a notation in this thread. I'll add your pledge to my own.

    Pledgers so far:
    1. CZ Eddie - $100 (I paid off on my last pledge of $50 for USB audio on Galaxy S3)
    2. farfrommovin - $20
    3. emprize - $20
    4. BenG7 - $30
    5. Bom Simmons - $55
    6. tr2ride - $50
    7. DanBUK - $100
    8. davidcie - $30
    9. Bill Gates - $50

    So, why can't we just copy & paste the codec into our existing AOSP ROM? Well, you can do that. But you still need to tell the ROM to actually use the codec. As of now, there is nothing that points to the codec so it gets used.

    Attached to this thread are the four files that I assume are necessary. These were pulled from my AT&T Galaxy S4 running 4.3 Google Play Edition ROM.
    I've also attached a logcat from my ROM using this codec. And am pasting below the logcat of an S3 ROM that is using the codec.

    So, please dev community. Help us figure out how to get the APT-X Bluetooth codec integrated into any ROM we choose to run on the phone we bought that came with APT-X.

    Thanks!


    APT-X codec files:
    - libbt-aptx-4.0.3.so
    - libbt-codec-aptx.so

    Possibly related codecs?
    - libbluetooth_jni.so
    - libbt-codec.so


    Galaxy S3 logcat:
    V/18:43:16.142 BluetoothEventLoop.cpp( 3477)
    event_filter: Received signal org.bluez.AudioSink:propertyChanged from

    /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95
    V/18:43:16.142 BluetoothEventLoop.cpp( 3477)
    event_filter: Received signal org.bluez.AudioSink:propertyChanged from

    /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95
    V/18:43:16.142 BluetoothA2dpService.cpp( 3477)
    ... ignored
    V/18:43:16.142 BluetoothEventLoop.cpp( 3477)
    event_filter: Received signal org.bluez.AudioSink:playing from

    /org/bluez/10835/hci0/dev_00_16_94_0C_7D_95
    D/18:43:16.142 A2DP ( 2084)
    Received BT_RESPONSE - BT_NEW_STREAM
    D/18:43:16.142 A2DP ( 2084)
    Received BT_RESPONSE - BT_START_STREAM
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_start
    D/18:43:16.077 A2DP ( 2084)
    end of bluetooth_a2dp_aptx_hw_btaptx_params()
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_a2dp_aptx_hw_params called bluetooth_a2dp_aptx_setup(data)
    D/18:43:16.077 A2DP ( 2084)
    MTU: 895
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_a2dp_aptx_hw_params called audioservice_expect()
    D/18:43:16.077 A2DP ( 2084)
    Received BT_RESPONSE - BT_SET_CONFIGURATION
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_a2dp_aptx_hw_params called audioservice_send() from
    D/18:43:16.077 A2DP ( 2084)
    frequency: 44100
    D/18:43:16.077 A2DP ( 2084)
    channel_mode: STEREO
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_a2dp_aptx_hw_params sending configuration:
    D/18:43:16.077 A2DP ( 2084)
    Received BT_RESPONSE - BT_OPEN
    D/18:43:16.077 A2DP ( 2084)
    We are in bluetooth_a2dp_aptx_hw_params()
    D/18:43:16.077 A2DP ( 2084)
    aptx frequency = 3
    D/18:43:16.077 A2DP ( 2084)
    aptx channel mode = 15
    D/18:43:16.077 A2DP ( 2084)
    aptx Vendor ID3 = 0
    D/18:43:16.077 A2DP ( 2084)
    aptx Vendor ID2 = 0
    D/18:43:16.077 A2DP ( 2084)
    aptx Vendor ID1 = 0
    D/18:43:16.077 A2DP ( 2084)
    aptx Vendor ID0 = 4f
    D/18:43:16.077 A2DP ( 2084)
    aptx codec ID1 = 0
    D/18:43:16.077 A2DP ( 2084)
    aptx codec ID0 = 1
    D/18:43:16.077 A2DP ( 2084)
    paptxcodec->length=14
    D/18:43:16.077 A2DP ( 2084)
    ~~~~~~~~~~~~~ codec type set to aptx
    E/18:43:16.077 A2DP ( 2084)
    bluetooth_parse_capabilities() invalid codec capabilities length
    D/18:43:16.077 A2DP ( 2084)
    bluetooth_parse_capabilities:: detect APTX
    D/18:43:16.077 A2DP ( 2084)
    Received BT_RESPONSE - BT_GET_CAPABILITIES


    And here is a list of currently supported smartphones:
    • Apple iPhone iOS 7
      Fujitsu ARROWS NX F-06E
      Fujitsu ARROWS X F-10D
      Fujitsu REGZA-T02D
      HTC Butterfly
      HTC Butterfly S
      HTC Desire 300
      HTC Desire 500
      HTC Desire 600 dual sim
      HTC Desire 601
      HTC Desire SV
      HTC Desire U
      HTC Desire X
      HTC Droid DNA
      HTC J
      HTC One
      HTC One S
      HTC One SV
      HTC One V
      HTC One X
      HTC One X Plus (X+)
      HTC One XL
      HTC One XT
      HTC One Max
      HTC One Mini
      HTC One M8
      LG G3
      Motorola DROID RAZR HD
      Motorola DROID RAZR M
      Motorola DROID RAZR MAXX HD
      Motorola RAZR
      Motorola RAZR MAXX
      Nokia none
      Panasonic Eluga P-03 Smartphone
      Samsung Galaxy Mega
      Samsung Galaxy Note II
      Samsung Galaxy S III (S3)
      Samsung Galaxy S III (S3) Mini
      Samsung Galaxy S IV (S4)
      Samsung Galaxy S IV (S4) Active
      Samsung Galaxy S IV (S4) Mini
      Samsung Galaxy Note III
      Samsung Galaxy S5
      Sharp 102SH
      Sharp 102SHII
      Sharp 106SH
      Sharp 107SH
      Sharp 203SH
      Sharp IS15SH
      Sharp IS17SH
      Sharp ISW16SH
      Sharp Pantone 200SH
      Sharp SH01D
      Sharp SH-05E
      Sharp SH07D
      Sharp SH09D
      Sharp SHL21
      Sharp SHL22
      Sony Xperia Z Ultra
      Vertu Constellation
    13
    Okay guys,

    Ax2A is here! APTXtoAOSP flashable zip is attached to this post.

    This is a recovery flashable zip that will let your phone use APT-X in 4.4 AOSP.
    At least, I've tested it so far on Galaxy S4 i337 for 4.3 CM10.2 ROM and 4.4 Omni ROM. The 4.3 ROM doesn't work but 4.4 does.

    The upside?
    APT-X codec is now being used by AOSP for the first time ever and it sounds great.

    The downside?
    Well, I only tested it one time, but when I used the normal bluetooth connection in my car stereo, I heard some static that wasn't there before. This was with the NORMAL bluetooth connection. Not the APTX.
    Hopefully that was just a one-time issue, but who really cares. Once you go APT-X you won't go back to normal Bluetooth.

    So, flash away (at your own risk) ONLY if your phone originally supported APT-X as shipped from the factory. And please post back to let me know of any problems or success stories.
    6
    Hi,

    Read thread earlier, and I'd like let you know, that I solved apt-x on OP3... (needs qualcomm bt stack -- cm14.1 has already merge it) and two libraries from Moto Z...
    Here's the thread about it:
    http://xdaforums.com/oneplus-3/themes/mod-aptx-codec-t3521228

    You could try it in your device...
    5
    I'm considering restarting this project (and thank you to all the developers and people who have gotten it this far). I'm currently using a Galaxy S5 (g900f). I'd be compiling this for use on CyanogenMod roms (12.1). Is anybody around that can kind of give me the rundown on what they know about how this was being implemented? I read most of the thread but it seemed to me they were basically trying to add lib files and hope for the best... I'm interesting in taking this all the way down to the kernel level. So anyone that has any in depth information let me know =). Thank you!
    5
    I think Android has supported AAC for so long it may as well be forever. But it's just a container file type so it's the type of AAC that matters. And of course, it's still limited to non-APTX transmission rates.

    You should be doing lossless AACs or FLACs.
    AAC is supported for playback, but it's not being used as codec for A2DP in AOSP ROMs or even the stock Nexus ROMs. Two very different things. I wish there was a way to at least enable AAC for A2DP without too much effort.

    There's also no such thing as lossless AAC, you probably mean Apple Lossless (ALAC).

    I just recently got into this whole topic with apt-x and stuff, since I discovered that headsets like the Samsung HS3000 or the new "audiophile" Noble BTS (it's not so audiophile at all and not worth the money, I wish I had looked it up on HeadFi or similar before I bought one). The chip in the BTS is from CSR and also supports MP3 and AAC over A2DP. I'm on stock 5.1.1 with my Nexus 4 and it's just using SBC, unfortunately. But at least at the highest quality setting (the bitpool 53 thing, which equals 328 kbps). I'd still prefer AAC, which should be possible - doesn't Android always include an AAC encoder, for video recording and stuff?

    By the way, it took me a while to find this when I was asking myself how to find out, which codec my devices were actually using when paired. I found a very convenient (even for noobs) solution, so in case it's not already known to most interested people here, I'll just leave this here for reference as well: It's the answer at the bottom on that page https://android.stackexchange.com/q...p-codecs-my-phone-supports-is-currently-using
    It's really simple: All you need is debug mode and the Bluetooth HCI-snooping setting enabled. Then you pair your bluetooth device, play a bit of audio, then pull the /sdcard/btsnoop_hci.log and open it in Wireshark. Then you can search for "codec" and you'll find various packets, showing which codec and settings are being used.