It’s been a long time in the making, and looked like it wouldn’t happen for a long time (due to the tricky new bluetooth stack), but I’m happy to say that Marshmallow support is just around the corner for Sixaxis Controller.

There is still extensive testing to be done as well as some other minor bug fixes, but all things going well, you can expect Marshmallow support later this week!

Thank you all for your patience – I know there has been an excesively long delay since Marshmallow was released. It means a lot to have such supportive fans and users.

Update 1:
Quite a few additional bugs have come out during testing, and as a result, the release has been dalayed until early next week.

Update 2:
The release is out on Google Play now!

120 comments on “Marshmallow”

  1. Sillik Reply

    Oh wow good news!
    Just in time as well, I was about to order another gamepad, but kinda didn’t want to… :-)

    Thanks for the hard work!

  2. MezaCorleehone Reply

    Thank you.
    I can finally move from Android 5.1.1 to 6.0.1

    It is what I was waiting for months.

  3. DutchKevv Reply

    Would you mind sharing a technical detail.. ? :)

    I wonder if you injected & used the Bluez stack or only the new Bluedroid, as I’m diving into C/Java on Marshmallow to get some other controllers working.. But it’s a true pain in the ass

    Thanks! Love your app

    • Dancing Pixel Studios Reply

      I found it would be too difficult to use a separate Bluetooth stack such as bluez, because there are too many vendor specific commands and patch files, and countless different Bluetooth chips out there. It would just be impractical to configure and support all these chips myself.

      Also, it would have been much easier if the PlayStation controllers supported the l2cap protocol correctly, but they don’t, and as a result, I have had to implement the drivers using the HCI protocol directly.

      As a result there are a lot of low level hooks that need to be installed after bringing up the stack to intercept the HCI messages before they get passed up to higher layers.

      This is all done by dynamically loading the Bluetooth libraries, then calling and hooking various functions in the library.

  4. Andrew Reply

    Amazing news. Thanks for keeping up support for newer devices and OSes. I’ve been using this app for years now and recommend it to all my friends. Can’t wait for MM support.

    Do you have a beta program?

    • Haid Reply

      ” you can expect Marshmallow support later this week! ” – read the post.

      Good job ! I hope soon to enjoy sixaxis controller !

      • Sillik Reply

        His question was not about the official release of the app, but about a beta program, which is entirely different.
        Read the post too! :-)

  5. Will Castro Reply

    Hey, it probably doesn’t matter in the long run, but would it be possible to update the compatibility checker before the main app, so people could report if things work sooner?

    • Dancing Pixel Studios Reply

      I prefer not to release the compatibility checker first, because then people will buy the main app when it is on an older version that still doesn’t work.

      Often I will post test versions of the checker app, usually over at, but that won’t happen until I finish fixing all the bugs I know about.

    • Dancing Pixel Studios Reply

      It will hopefully support all versions of Marshmallow – I’m testing it with 6.0.1. Usually support varies more with phone models rather than OS minor versions though, so it’s impossible to make statements like “all versions up to 6.x.x are supported”.

      Also, based on the most recently published Android source code from Android N, not much has changed in the Bluetooth stack, so it may support N out of the box. That could change before the release though.

      • Harsh Reply

        awesome !! only reason i am still stuck on 5.1.1 on my oneplus one is because of sixaxis.. hurry up and release the update already XOXOXO

      • meldroc Reply

        Cool, that was my next question: Now that it’s working on M, I was wondering about N. Looks like it’s not going to be especially difficult to get working!

  6. hard2earn Reply

    How much of a work around is this? Can i expect similar performance like when i plug my wired 360 gamepad to my phone? Will i be able to tell android that there’s an 360 pad connected? Last time I tried real racing 3 with sixaxis i could not get analog steering to work. I bought the app but haven’t even used it since. But like most of you i figured it does not work on 6.0.1 so haven’t tried anything since. Good news you are still working on it tho. Running omnirom 6.0.1 on my oneplus one.

    • Dancing Pixel Studios Reply

      If it works on a device, it should run faster than it could if connected via the standard bluetooth stack. This is because it bypasses a lot of higher level layers (such as the whole Java VM).

      Currently the controller is registered as a PS3 gamepad (once you enable the native gamepad setting). All the button mappings can be changed though, so this should work with most games that support a native gamepad. Otherwise you will need to set up a touch profile for your game.

  7. jose Reply

    hi all, if you want not wait to take out the new version of sixaxis controller, you have the sixaxis enabler app, works perfectly with android 6.0.1 it is necessary calbe OTG.

    a greeting and make haste to update

    • Dancing Pixel Studios Reply

      I’m still not convinced the Sixaxis Enabler app actually does anything… OTG has always worked for me without that app…

  8. Kallamamran Reply

    Oh my oh my… I guess the comments here is explanation why I have spent 2 days on trying to get this to work on my S6 with 6.0.1 *Aaaaaaaargh*
    Glad to learn it might be working soon though. Really hope so. No use for my GearVR without a controller 😉

    Keep up the good work Harsh! You rock :)

    • kailil kendrick Reply

      I have the S6 (marshmallow 6.0.1) as well running sixaxis 8.3
      Im getting the error: only position independen executables (pie) are supported.

      • kailil kendrick Reply

        Yaaaaaayyyyy! Issue was resolved! I repurchased the app on this user and it works flawlessly!

  9. Ben Reply

    Do you have a beta program?

    I have 3 devices I would be willing to test on for you.

    Republic Wireless MOTO X 1st Gen
    Asus tf700 with KatKiss 6.0.1 MM
    Nexus 6p with Android N Beta (preview 3)

  10. Erik Hughes Reply

    Will it still support the Playstation 3 controllers? Cant wait to try it out with my VR “headset” ^^


    you already have forecast that day will come out the update. . . and the bike g 3 xt 1544 will work, already have root on the device, Android 6.0 (which even gave a super job more finally got) I’m the checker and the main app ready just waiting for the update. Thank you and congratulations for the good work hope news

  12. Sean Reply

    I understand there was a delay, but do we have a new eta of when there will be a release? The top of this stated “early next week”, which has come and gone. Not at all being inpatient, just looking for status update. Thanks for all your hard work.

    P.S. – Trying to get this to get going with the gear vr. No point ordering a controller if this will be out soon. Thanks again!!!!!!!!!!

    • Dancing Pixel Studios Reply

      I need to learn to stop posting ETA’s! It’s taken the whole week to iron out all the bugs on all my test devices, and I’ve been trying to future proof it for Android N too (which I’ve noticed has made some minor changes to the stack).

      That said, unless something major comes up, the release will still be this week!

  13. Erik Hughes Reply

    Thank you for the update! Pitty I don’t have my controller with me at work xD

  14. N1nj4R4bb1D Reply

    Just tested it on my Nexus 7 2013 LTE… Android 6.0.1… when Sixaxis Controller is running my wireless is not working!

    • Dancing Pixel Studios Reply

      Often this can be resolved by changing the channel your wireless router is broadcasting on (you will need admin access to your router).

  15. Cesionaut Reply

    Works on my Z2, with (near) stock marshmallow! They actually had native support for the controller, but removed it, so Marshmallow was a double kick in the pants in that regard.


    congratulations for the work, the app get very good and worked perfectly …

  17. Queen Fiona Reply

    I’ve been looking forward to this for a while! I’ve been saving a DS3 phone clip for just this release, and as far as I can tell it works flawlessly. I bought an Ipega in the meantime, and it has a nice feel in a Game Boy-ish sort of way, but a real controller like this is much better in a lot of situations…unless I don’t have room in my purse.

    One thing I should note is, the mapping for the native gamepad support doesn’t match up properly – some of the buttons are shifted around compared to the Xbox 360 button layout stock Android drivers seem to assume. This made using RetroArch, the main reason I bought this app and waited so long to get it working, a real hassle. It’s also interacting weirdly with the autodetect on that app, if you end up wanting to squash more bugs in the release.

    If it matters, my device is an HTC One M8. Thank you so much for your hard work and dedication!

    • Dancing Pixel Studios Reply

      The controller registers itself as a PS3 controller, so there will be some differences, however you can change the button mappings under ‘Gamepad Settings->Edit Mappings”.

    • Alastair Parker Reply

      Forget my previous comment. After re-pairing a couple of time it works flawlessly. Thanks for the update!

  18. Tomasz Reply

    Works fine on Mate 8 accept disconection, it stops on “trying to close server” nothing happens, controller is switched off, BT stays off.
    Any idea?

    • Dancing Pixel Studios Reply

      Do you get an error message in the output of the app when you press start?

    • Dancing Pixel Studios Reply

      Well I have some bad news and some good news… Bad news is some lovely person at Google finally added -fvisibility=hidden to the bluetooth build scripts used in Android N, which means all access to the HCI layer is gone (thanks Ian, you really made my day!).

      The good news is that I’ve been digging around, and I think I can bypass the stack altogether and talk directly to the bluetooth vendor library, but it’s going to be a lot more tricky to implement, so it will be a while before I even know if it will be viable, let alone have a working implementation. Previously I did not pursue this avenue, because I thought there would be too much vendor specific code compiled in to the HCI layer, but I don’t think it’s as bad as I first thought.

  19. Александр Reply

    Hello, Dualshock 4 connects and then disconnects. After four attempts in a row, the app says that the maximum number of connected controllers.
    P. S. Sorry for my English, I from Russia.

    • Dancing Pixel Studios Reply

      Has the controller been charged for at least several minutes?

      • RibShark Reply

        I have the same bug. The lightbar on the DS4 flashes for a few seconds before stopping, and after 4 attempts the app says that the maximum number of controllers were connected. This bug was also occurring before the update. I am using a Marshmallow Cyanogenmod-based ROM on the HTC One M7 (which according to your FAQ, is compatible if not using the stock ROM). I haven’t tested on my Nexus 10 after the update, but this was also happening on that before it.

        • RibShark Reply

          Confirming that resetting the controller via the hole at the back, then pairing with SixaxisPairTool fixed the problem.

      • Александр Reply

        Yes, it is charged at least half. I have a Samsung Galaxy S3 on CyanogenMod 13 (Marshmallow)

        • Dancing Pixel Studios Reply

          That’s strange – the Galaxy S3 on CM13 is one of my test devices, and I did not experience this issue in testing.

          Does the controller disconnect immediately, or does it work for a while first?

          Also, is the controller genuine? (Fake PS3 controllers can cause all kinds of trouble, but I’m not sure about DS4, or even whether there are fakes yet!)

          • Александр

            It’s weird, but I hope you will correct this? I have all the controllers only the original DS3 and DS4. I do not buy fakes in principle, only Sony))

          • Александр

            Yes and DS4 turned off at the same moment, as if not connected at all =(

          • Александр

            I’m sorry!)) it worked! I threw all the settings in the app and reset it in the DS4 via the small button behind the controller, then using Sixaxis Pair Tool 0.3.0 again wrote the mac address of the smartphone and all)) thanks a lot for your program! Use for several years, all happy!))

  20. Miguel Reply

    Thank you for the update! But I can’t make it work on my Oneplus One. It tries to make a connection several times (type 1, 2, 3 and 4, but it says “could not load bluetooth library”, “error: failed to configure bluetooth”, “could not load HCI library”, ” can’t connect to pipe for device”.
    And during the synchronisation I get a prompt to type the code to pair the controller. It does not work with either 0000 or 1234 and/or giving access. Please help!

    • Dancing Pixel Studios Reply

      Can you let me know if /system/lib/hw/ exists?

  21. Miguel Reply

    Thank you for the quick answer.
    Yes, I have the system/lib/hw/ archive.

  22. Sillik Reply

    Works great on Note 4 with Marshmallow, thanks!
    I just have a strange behaviour in one game: Evoland. The left stick seems to be off 45 degrees clockwise or something, which makes it completely unplayable.
    It was already the case with Lolipop though so it is not related to the new update.
    Any idea why and how to solve?

    • Dancing Pixel Studios Reply

      You mean 90 degrees? Can you try changing the ‘Touch Emulation->Orientation Offset’ setting, then trying the game again.

    • Dancing Pixel Studios Reply

      Actually, if it’s just that one game, you could try swapping the axes under the button properties. Some games don’t report the correct orientation,which is often why this occurs.

      The orientation offset setting is a global setting, so it might break other game profiles.

      • Sillik Reply

        It is not using the touch emulation, so that’s what makes it strange. It is with gamepad enabled. And I looked it up, nobody seems to complain about it with other gamepads.
        I will try touch emulation though, maybe that will work.

        • Dancing Pixel Studios Reply

          Check under ‘Gamepad Settings->Input Mappings’. Maybe the axes have been changed?

          • Sillik


            I checked and tested and here are my findings.
            The input mapping was correct.
            All axes are actually OK, except “up”. When going up, it goes also right at the same time, so diagonally right.
            I tried changing things in the input mapping but never managed to get a correct behaviour. I also tried using the right stick instead of the left one but it doesn’t work either.
            Using touch emulation actually works correctly.

            So I don’t know if the game is reading the “right” input from an incorrect place or something, but this is really weird. But as I said it is only in that one game, which I can play with touch emulation so I guess it is not a big issue.

            Thanks anyway!

  23. Long Reply

    Thank you for Marshmallow updating. but it is not works on my Nvidia Shield TV. I can start the server and update the MAC address successful for my PS4 controllers, then I try to pair PS4 controller to the server. Nothing is showing up and it is still listening for controller. No errors message.

    Can you look at it ,please ?


    • Long Reply

      Nevermind, it is working now. Awesome app. By the way, can you make this app compatible with Android TV, please ?

      • Dancing Pixel Studios Reply

        Yes, I’ll look at official Android TV support soon.

        • Long Reply

          Another bug I found in this version for Marshmallow is whenever you disconnect the controllers by manually or timeout, you can’t reconnect controllers back. I have to stop and restart the server to make it work. This is so annoying bug. Can you look at it, please ?

      • Anon Reply

        How did you get it to work? I’m thinking about picking this up for my shield tv. I read that root is required.


        • Long Reply

          You have to root your device first before using this app. The first time I cannot make it work , the bluetooth on my Shield TV is somehow broken. Then I have to reset my device to factory setting. And root again, this time it is working.

  24. meldroc Reply

    Got it working on my Nexus 7 (2013) for the first time since I put Marshmallow on it. Thanks for all the hard work!

  25. Ruud Reply

    Super!! Going to test the app soon!! Thank you so much for all your work!

  26. J Reply

    My ps3 controller works when “Enable Gamepad” is checked in the Gamepad Settings but the moment I try to uncheck it I can longer press any buttons. I usually uncheck that to check the “Bypass IME” box in the Keyboard Emulation settings. That setting is the only thing I’ve found that allows me to map multiple ps3 controllers on Mame4Droid by assigning actual keyboard keys to each buttons instead of the stock general android gamepad buttons. Maybe this is another bug that needs to be ironed out or maybe I need to do something new to get things up and running properly. Also I’m using this app on my Nvidia Shield Tablet original but want to get this for my Shield TV, I see a poster up above seems to have it for the TV. It’s not available to dl in the play store even though I purchased it on the tablet, do I have to sideload it for the Shield TV and if so how?

  27. m Reply

    I already updated the sixaxis controller but it still doesn’t work on my rooted samsung galaxy j7 with android version of 5.1.1. Still can’t show the bluetooth address of my phone and it keeps saying that “could not find stack manager interface in library”. What should I do? I want your app badly sir. Please help me as soon as possible. Thanks

  28. Jadog Reply

    I side loaded on my Nvidia Shield TV (since it’s not natively supported yet), but when I select ‘Start’, I am getting the message “error: only position independent executables (PIE) are supported.” How do I get around this?

    • Dancing Pixel Studios Reply

      Strange… Can you email me the file /system/build.prop from the device and I’ll take a look. Cheers.

      • Jadog Reply

        I never heard back. Did you ever figure out why this is happening or a fix for this?

      • Jadog Reply

        It is working now. The entire issue was the fact that the app wasn’t purchased with the account I was using on my shield tv. So I re-purchased using my google account registered on my Shield and it worked. Hopefully this will be available in the future for Android set-top boxes so we don’t have to sideload.

  29. Destiny Reply

    Please fix issue on galaxy grand duos i9082 marshmallow in 0.9.0, got stuck on listening controller or sometime fake devices detected, Attempting workaround and led Light dualshock 3 turned off, on previous android version called Jb,Kk, and lolipop working as well, sory for bad english

  30. MezaCorleehone Reply

    Everything is going very well in my XT912
    Marshmallow 6.0.1

  31. Moggie Sidious Reply

    Not working with rooted Remix OS or Phoenix OS / Android-x86-64,
    both are showing it trying to connect about six times throwing up some hci / missing libaries error.
    Onboard T420 laptop bluetooth chipset: Broadcom BCM92070MD_Leno

    • Dancing Pixel Studios Reply

      Can you email me a screenshot of the errors in the output on the main app? Thanks!

  32. Long Reply

    I don’t know that you have read it or not:
    Another bug I found in this version for Marshmallow is whenever you disconnect the controllers by manually or timeout, you can’t reconnect controllers back. I have to stop and restart the server to make it work. This is so annoying bug. Can you look at it, please ?

  33. ZuliuZ Reply

    The new controller the comes with the S Type Xbox One supports BLUETOOTH, “For ease of use access for PC” they said, but all I heard is I can finally use an Xbox One Controller on android wirelessly. (without OTG dongle/win10 stick).

    Get ready to code an Xbox One Bluetooth Address changing app.

  34. Kallamamran Reply

    Damned! I’m sooooo close…
    Have managed to pair my DualShock 3 with my phone and it works over BlueTooth, but… Trying the demo of Dreadhalls the headtracking works fine, but the analogue stick works the same way the digital Up-Down-Left-Right works. The smallest movement to the sides moves the “body” roughly 30-45 degrees at once = Unplayable.
    I can’t find any way to change this :'(
    Moving up and down works fine though. Really strange!!

  35. Cedric Reply

    Hello !

    I’m stuck to “listening for controllers…” step.
    Bluetooth MAC address changed with Sixaxis Pair Tool 0.3.0. Doesn’t works, i keep getting an error :

    Getting bluetooth address…
    Attempting connection type 1…
    Driver starting…
    Could not find stack manager interface in library
    Touchscreen device created successfully
    Error: Failed to configure bluetooth
    Attempting connection type 2…
    Driver starting…
    Touchscreen device created successfully
    Successfully configured bluetooth
    Listening for controllers…

    And that’s all. I’m using a Lenovo Yoga Tablet 2 Pro 1380F with android 5.0.1 rooted. Do you have any idea ?

    Thanks you :)

    • Dancing Pixel Studios Reply

      Can you check under your device’s Settings -> About Device -> Status and check to see if the bluetooth address shown there matches the address shown in the app. If it’s different, try pairing the controller with the different address and try again.

      If this is the issue, the beta version in my most recent post should have addressed this issue, so it will be fixed in the next release. It would be helpful if you could try the beta version and let me know. Thanks!

    • Dancing Pixel Studios Reply

      The other thing to try is resetting the controller via the button on the back.

  36. Cedric Reply

    The bluetooth address in settings was the same as the app, but i didn’t even know there was a reset button on the back of the controller lol :)

    Anyway, this solve my problem, thanks a lot for your advice and keep up the good work ! Cheers !

  37. strike Reply

    Can you help me…..error from sixasis controler..bit sixasis checker is fix…
    Can not load bluetooth library and can not load HCI library

    • Dancing Pixel Studios Reply

      Please let me know which device and firmware you’re running, as well as which versions of the main app and compatibility checker are installed.

      • strike Reply

        my device is chuwi hi8 pro..compatibility chekers fix…
        but sixasis controller
        can not load bloetooth library and load HCI library

        • Dancing Pixel Studios Reply

          Your device should be supported in the next official release.

          • strike

            Sixasis compatibility checker beta v 0.6.0c working..but sixasis controller v 0.9.0 not working.thanks for all……i am waiting next official release

  38. AKRX Reply

    I tried the beta but everytime I download it it says can’t open file please help!!

  39. Paragone Reply

    Not working on my Huawei P9 Lite (Android 6.0). I tried with the latest version of Sixaxis controller and Sixaxis compatibility checker, but the message in the two of them is the same:
    Getting bluetooth adress…
    Attempting connection type 1…
    Driver starting…
    Failed to configure firmware
    Error:Failed to configure bluetooth
    Attempting connection type 2
    Driver starting…
    Error: Failed to configure bluetooth
    Could not load bluetooth library
    Attempting connection type 3
    Driver starting…
    Could not load HCI library
    Error: Failed to configure bluetooth
    Attempting connection type 4…
    Driver starting…
    Could not set HCI raw mode
    Error: Failed to configure bluetooth

    It also does not show local bluetooth address… And before you ask I do have system/lib/hw/ I also tried opening that file in note editor, and it’s all in chinese, so could it be that?

    • Leown Reply

      P9 Lite User here, exactly the same here.
      Dancing Pixel Studios please fix or answer!
      Thanks for your work until now mate

  40. Nicks_911 Reply

    Compatibility checker worked but sixaxis app doesn’t shows the Bluetooth address although my device is rooted Nexus 6p on Android 7.0 using ds4. Please fix it have been waiting for years…it used to work on my moto x on KitKat back in years.

  41. Mattia Reply

    thank you for your app. Now I can play some game on my new beelink gt1. The sixaxis seems to work well but I have a problem. When I use it as a gamepad and I press up on the dpad, a file browser opens… It seems that the up command is mapped to some command opening the browser. If I look at the mapping in the sixaxis app it seems that it is mapped correctly… Do you have any idea if this is something it is possible to solve?

    Thank you

  42. NewUser Reply

    The app was working with my DS4 controller in Marshmallow Resurrection Remix for the Oneplus 3. But I turned off the app and turned on the phone BT and paired it with the phone through the normal android’s interface and it got connected. But after disconnecting it, the SixAxis app doesn’t connect to it anymore. The app turns on properly, the drivers gets loads correctly, it listens for a controller, but when I turn on the controller, it blinks for a few seconds, then it turns off. Could you know what’s the problem? Any way of assisting to fix it, or resetting any BT configuration files that got changed after pairing the controller to the phone?

    • Dancing Pixel Studios Reply

      The DS4 controller uses a private encryption key which is not known by the Sixaxis app if you pair via system bluetooth. To solve this problem, simply pair the controller via USB using the SixaxisPairTool, or via OTG cable on your device. This will reset the private key, even if the master address was the same as before.

Leave a Reply

Your email address will not be published. Required fields are marked *