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

Search This thread

updateing

Senior Member
Aug 25, 2012
489
1,140
0
Wuhan
Hello everybody, I'm glad to share these days' work of bringing Marshmallow to the OnePlus One.

Code:
#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
Thanks!

Q&A:
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 2.8.7.0 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
Code:
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
Code:
wm density 440 # if you want 440
wm density reset # self-explanatory
Above will lead to corrupted pics.
Change
Code:
ro.sf.lcd_density=480
to
Code:
ro.sf.lcd_density=VALUE_YOU_WANT
(Note: I did this before installing GApps, not sure if this is related to Google Now Launcher FCs)

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


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

11. Fixing random freezes
http://forum.xda-developers.com/showpost.php?p=63378883&postcount=682
Thanks @The Dork Knight Rises

Now screenshot spoiler (with Google Now Launcher):

2uik64k.png

25zkvir.png

2wp1nc0.png

122zpef.jpg

mqo5.jpg

33bio7o.jpg

2iways1.jpg


Discussion Thread:
http://forum.xda-developers.com/oneplus-one/general/discussion-homemade-android-6-0-t3227234

Download:
20151027
https://drive.google.com/file/d/0BwkmhbR5VHpAdWRxQ0ZraVgyT00/view?usp=sharing
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!


MAKE A BACKUP FIRST!
(I'm using TWRP 2.8.7.0 and it works well with this package.)

Sources:
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:

KforHorizon

Senior Member
Feb 23, 2014
188
124
63
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! :)
 

Killer.shubham

Senior Member
Mar 14, 2013
254
185
0
Mumbai
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
 

NOSTALGIA

Retired Forum Moderator
Jan 11, 2012
3,708
1,632
253
Cebu
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

  • There are no posts matching your filters.
  • 192
    Hello everybody, I'm glad to share these days' work of bringing Marshmallow to the OnePlus One.

    Code:
    #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
    Thanks!

    Q&A:
    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 2.8.7.0 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
    Code:
    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
    Code:
    wm density 440 # if you want 440
    wm density reset # self-explanatory
    Above will lead to corrupted pics.
    Change
    Code:
    ro.sf.lcd_density=480
    to
    Code:
    ro.sf.lcd_density=VALUE_YOU_WANT
    (Note: I did this before installing GApps, not sure if this is related to Google Now Launcher FCs)

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


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

    11. Fixing random freezes
    http://forum.xda-developers.com/showpost.php?p=63378883&postcount=682
    Thanks @The Dork Knight Rises

    Now screenshot spoiler (with Google Now Launcher):

    2uik64k.png

    25zkvir.png

    2wp1nc0.png

    122zpef.jpg

    mqo5.jpg

    33bio7o.jpg

    2iways1.jpg


    Discussion Thread:
    http://forum.xda-developers.com/oneplus-one/general/discussion-homemade-android-6-0-t3227234

    Download:
    20151027
    https://drive.google.com/file/d/0BwkmhbR5VHpAdWRxQ0ZraVgyT00/view?usp=sharing
    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!


    MAKE A BACKUP FIRST!
    (I'm using TWRP 2.8.7.0 and it works well with this package.)

    Sources:
    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!
    34
    Here is a consolidated post with all the issues and fixes because nobody reads the op and the same question gets asked again and again. Just thank this post so that this post get noticed and less of the same questions get asked.

    Q. WHICH GAPPS DO I GET???????????
    A. Download the ones from here: http://downloadmirror.co/android/ss
    Update (recommended to me by The Dork Knight Rises):http://files.oceighty.co/gapps/
    These gapps have everything working out of the box.

    Q. Dialer icon is ugly.
    A. http://forum.xda-developers.com/showpost.php?p=63334062&postcount=381

    Q. I want marshmallow boot animation.
    A. http://forum.xda-developers.com/android/themes/bootanimation-android-marshmallow-t3180984

    Q. I get binary error when flashing.
    A. Update twrp to 2.8.7.0, heres the one I used (latest one 0803 version) https://www.androidfilehost.com/?w=files&flid=27804
    If you are already on 2.8.7.0, update your firmware here: http://www.mediafire.com/download/qolmvatmgvc33p1/Full-CM12.1-15.05.2015_modem-flashable.zip

    Q. Google app is crashing when I search.
    A. Either update it from the play store, or download the latest google app from an apk mirror website and install it. Should remove the fcs.

    Q. How do I get now on tap working? How do I get recents working?
    A. You need softkeys. Follow question below.

    Q. How do I get softkeys?
    A. With your favorite root explorer go to /system/build.prop , and at the end add:
    qemu.hw.mainkeys=0
    Reboot. Note your hardware keys will still be activated, so go to /system/usr/keylayout/Generic.kl and write a '#' in front of key 127, key 139, and key 158.

    An alternative method to get softkeys is to flash this: http://forum.xda-developers.com/showpost.php?p=63329384&postcount=360

    Q. BUT I DONT LIKE SOFTKEYS...
    A. http://forum.xda-developers.com/showpost.php?p=63313126&postcount=115
    Now on tap will not work using hardware keys for now, however recents will.
    You can also use an app that uses gestures to perform key functions.

    Q. Marshmallow is not working as secondary.
    A. http://forum.xda-developers.com/showpost.php?p=63366309&postcount=623

    Q. Does viper4android work?
    A. Yes, viper 2.3.4.0 is working perfectly. If your profiles and impulse responses do not show up, go to Viper4Android permissions (in settings app) and toggle the permission for storage and toggle it again.

    Q. I have a wifi scanning issue.
    A. http://forum.xda-developers.com/showpost.php?p=63328871&postcount=353

    Q. Does layers work?
    A. Yes, download busybox installer from the playstore, install busybox, then download Layers Manager from the play store and install the layers you like.

    Q. Titanium backup fc.
    A. Find an a alternate backup option. There's one posted on xda that works really well. http://forum.xda-developers.com/android/apps-games/app-backup-app-backup-restore-t2898674
    Edit: Titanium Backup working well in new build.

    Q. Phone shows no files when plugged in.
    A. Open settings, go to developer settings, Select USB Configuration and set it to MTP.

    Q. Getting SOD, random freezes etc.
    A. http://forum.xda-developers.com/showpost.php?p=63378883&postcount=682

    Q. Which kernels work?
    A. So far, latest non-caf ak kernel is working (v310), resurrected kernel 2.0 also working well.

    If theres anything you want me to add, just tell me and I'll add it. Right now I have a perfectly working marshmallow on my phone with a caf lollipop rom and kitkat on secondary.
    33
    Alright, so here you go guys:
    -Modified ROM zip (flashable as secondary and on any firmware)
    [IMPORTANT NOTE: SEE THIS]
    Dev-Host Mirror by @Killer.shubham (recommended to have an Adblock active)
    -FLASHABLE Marshmallow Bootanimation (Preview)
    -FLASHABLE Navbar zip
    -[Untested Extra: report if it works on MM] CameraNext Flashable (I made this a couple months back, dunno if it works on Marshmallow, especially on our build)

    Other helpful links:
    -SuperSU Beta
    -Benzo GApps (Recommended by me; have no issues whatsoever with the 20151012 package. Google Search, Now on Tap, everything works fine out of the box)

    Somehow adding all those extra mods to updater-script causes errors (I was also trying to auto place the Marshmallow bootanimation :p) so I made separate flashables. Still easier than manually doing it, can be done in one recovery session. Flash ROM first, then other two in any order.

    I am in the process of testing a modified zip. Mods include:
    -All assert type lines removed from updater-script. Hence you can flash on any firmware (OR EVEN ON ANY DEVICE. MAKE SURE YOU FLASH ON ONEPLUS ONE ONLY)
    -Removed verification AFTER flashing hence the zip is directly flashable as secondary in MultiROM
    -Enables software Navigation Bar automatically. (If you don't want it, delete 'qemu.hw.mainkeys=0' line in /system/build.prop or set value to 1)

    If it flashes successfully (should take a while, ama wipe caches and all), it should be up within half an hour. :good:

    EDIT: Modified zip without build.prop hack worked, but second version failed. Probably cuz edited on phone. Will try on PC.
    (Sad news: I still have freezes :crying:)

    NOTE: All credits to respective owners, @updateing for ROM, Marshamallow bootanimation flashable zip modified from Bhoot.co.uk, etc etc. I have just modified the stuff.
    15
    Hey guys if you want to use the menu button/recents button as you normally would, aka long press and short press. Download this app: https://goo.gl/tgOiie and set the buttons accordingly under hard keys and it will allow complete customization of your hardware buttons. Hope this helps some people!

    Sent from my A0001 using Tapatalk
    15
    You guys are crazy. This is a pre alpha build so quit complaining. Try it out for awhile and go back to your home Rom until we start getting more stable 6.0 builds. There's no reason to report the same stuff post after post. They know it isn't stable or daily driver ready. We don't even have a 6.0 kernel yet. So just enjoy it and chill with the pages of complaints this is probably the most stable first build of a new OS version I've ever seen on a non nexus device. So give the dev some encouragement not negativity. He's done what most still haven't.

    Thanks @updateing

    Sent from my A0001 using Tapatalk
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone