• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[EXPERIMENTAL][CAF][MRA58K] Homemade Android 6.0 Marshmallow build

Search This thread


Senior Member
Aug 25, 2012
Google Pixel C
Hello everybody, I'm glad to share these days' work of bringing Marshmallow to the OnePlus One.

#include <std_disclaimer.h>
* Your warranty is now void.
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.

This ROM is based on CAF release LA.BF.1.1.3-00110-8x74.0, with some little modification to some components to make it build. The kernel is based on CM12.1. You can check the kernel source on my GitHub. Links will be posted later.

Nearly all basic feature should be working: 4G data, 4G->3G fallback on calls, SMS, camera/camcorder, BT, WiFi, MTP, 4K recording, HW decoding etc.

kexec hardboot is supported.

Known issues:
1. Stock camera doesn't work well. Here is a list of comparison:
Feature - Working on Stock camera - OppoCamera port - CameraNextMod?
Switching front/back cam - No - Yes - Yes
Camcorder <=1080p - No - Yes - Yes
4K Recording - No - No - Yes
(maybe I should get a monospace font in Firefox)
2. Battery drains... a little faster? (Just a little)
3. The ROM comes with ancient Launcher2. Launcher3 is not included. I will post this as an attachment. Launcher3 has been added since 20151018
4. Picture in apps are sometimes automatically zoomed out (and distorted) and can not be zoomed in. Is this a common problem among AOSP-based Marshmallow ROMs? I tried AOSP and CAF sources, and they both have the same issue. Need to change DPI via build.prop
5. Security related: SELinux is disabledpermissive in 20151018. HW Crypto is not working. Software-based credentials storage.
6. No gestures (DT2W etc) Workaround available in Q&A
7. Kernel panics/reboots on switching adb on & off.
8. WiFi AP still runs on 2.4G even when 5G is selected.

If you find more issues, feel free to post here. However, I may not be able to solve them since schoolwork is so heavy... And this ROM may not be updated regularly.

Video Tutorials by @udimars30:
https://www.youtube.com/watch?v=XxjnTae2nCM - How to install ROM and Gapps
https://www.youtube.com/watch?v=kWZcxVs992c - How to get root
https://www.youtube.com/watch?v=vZ7qW4j3Kso - How to enable softkeys, Now on Tap

1. Kernel Compatibility
The kernel of this ROM is based on CM12.1, but not exactly the same. You can not use kernels built for CM12.1 with this ROM. Marshmallow requires new features like updated SELinux, uid_cputime, etc, but CM12.1 source does not contain these features. You can take a look at commits and it will be clear.

2. Recovery Compatibility
I am using TWRP with MultiROM support (TWRP_multirom_bacon_20150803-00.img from MultiROM thread). If you can not get the ROM installed properly, please try updating your recovery.

3. Rooting
Since this is a experimental build, I have turned off SELinux completely. SELinux is permissive. Just flash SuperSU 2.50 zip in the recovery and it will be fine.

4. F2FS Support
The kernel has F2FS driver builtin and corresponding entries in fstab file (as CM does). Vold has F2FS files as well, so you can give it a try. But I can not guarantee that it will work flawlessly.
EDIT: Some people tested and reported it not working. Make a backup before you try.

5. GApps
I'm using DeltaGapps with SetupWizard removed (yes it is the one that keeps force closing. you can disable that via adb as well). I think the lack of permissions(appops_whitelist.xml I guess) caused this failure. After allowing every permission required by Google apps and adding the account manually, Sync and Store works as expected. Now on Tap seems broken. Maps is working, and gets a lock in secs..
There are some other GApps package links in the first few pages. Some people say Now on Tap works with them, you can have a try.

6. Disabling HW Keys and Enabling Softkeys - The Easy Way
echo qemu.hw.mainkeys=0 >> /system/build.prop
reboot # enables soft keys
echo 0 > /proc/touchpanel/keypad_enable # disables hw keys, need to do this on every boot

7. Where Is The App Switcher?
If you are comfortable with softkeys, goto 6.
If you are not, goto 3 and take a look at http://forum.xda-developers.com/showpost.php?p=63313126&postcount=115double tap the home key.

8. LCD Density
wm density 440 # if you want 440
wm density reset # self-explanatory
Above will lead to corrupted pics.
(Note: I did this before installing GApps, not sure if this is related to Google Now Launcher FCs)

9. DT2W Workaround
echo 1 > /proc/touchpanel/double_tap_enable # do this on every boot
Then add this line to /system/usr/keylayout/Generic.kl:
key 255 POWER
DT2W has been added into settings since 20151027.

10. Apps Not Working
Settings -> Apps -> YOUR_APP -> Permissions -> Turn on everything

Now screenshot spoiler (with Google Now Launcher):








Discussion Thread:

Marshmallow's native DT2W setting (thanks CM)
USB MIDI support (What for?)
Fixed some crashes by removing SeempLog (try TiBu and network settings)
Double tap on Home key now brings up Recent View
Added a reboot option in power key menu/global actions menu
Note: if you have drain when NFC is on (or NFC setting is grayed out), please attach a logcat of booting process. I can not reproduce this on my phone... Thanks!

(I'm using TWRP and it works well with this package.)

Kernel: https://github.com/updateing/android_kernel_oneplus_msm8974 (marshmallow branch)
Device tree: https://github.com/updateing/android_device_oneplus_bacon
Blobs: https://github.com/updateing/proprietary_vendor_oneplus
local_manifest: http://www.hastebin.com/netamapate.xml
Hope you can enjoy the new feel of Marshmallow!
Last edited:


Senior Member
Dec 15, 2014
Battery drains faster?

Guess I'll wait a little bit longer, as it's the main reason I wanna switch to M.


Senior Member
Feb 23, 2014
Kernel dilemma

If the kernel on it is based on cm 12.1 .. Can we flash any other kernels that work with CM 12.1? It should work or atleast i hope so! But yeah I'll try and get back!
Cheers! Keep up the good work! :)


Senior Member
Mar 14, 2013
will it work with F2FS ? separate build would be helpful, if its not tested i will test it

---------- Post added at 11:06 AM ---------- Previous post was at 11:05 AM ----------

If the kernel on it is based on cm 12.1 .. Can we flash any other kernels that work with CM 12.1? It should work or atleast i hope so! But yeah I'll try and get back!
Cheers! Keep up the good work! :)
i guess it would be tweaked for more compatibility to android 6.0


Retired Forum Moderator
Jan 11, 2012
as a reminder to everyone.. .NO ETA's pls. lets respect the dev.. compiling is already a good thing, and making it boot is a great achievement..

Top Liked Posts