[EXPERIMENTAL][AOSP][O] Homemade Oreo for OnePlus 5

Search This thread

updateing

Senior Member
Aug 25, 2012
489
1,141
Wuhan
Google Pixel C
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 atyou.
 */

Hi everyone, here is my port of Oreo on OnePlus 5. Source is based on AOSP android-8.0.0_r3 (r9 since 20170916, r15 for 20171008), as it's for Pixel. Device repo, kernel and vendor etc are available at the end of the post.

And the same note as before: this ROM is highly experimental, and only meant for the brave ones. I may not update this work regularly.

Hardware features:
Things went more smoothly than before.Majority of hardware features are working, including mobile network, WiFi, Bluetooth (file transfer, network, audio etc), GPS, camera / camcorder, fingerprint, sensors, HW-based encryption etc.

There are some minor issues regarding HW:

1. Virtual keys and hardware keys are enabled altogether. You can disable hardware keys at /proc/touchpanel/key_disable and /sys/module/fpc1020_tee/parameters/ignor_home_for_ESD . If you do want the virtual keys to hide, read first several pages of replies and there are some solutions.
2. Slider is not working, but it produces key event. There are lots of tools that can be used to customize actions for key events, and examples can be found in the first several pages of replies as well.
3. No offscreen gestures.
4. No option for color profile switching (default, sRGB, DCI-P3). You can switch that manually at /sys/class/graphics/fb0/color_profile

Known bugs:
1. Permissive SELinux, and init allows services without a SELinux domain to start
2. Behavior of camera is not consistent - it works on my phone, but it may crash yours. If your phone reboots into EDL/9008 mode after flashing this ROM, use recovery or fastboot to flash back to other ROMs IMMEDIATELY!
3. Sometimes the system does not show charging status (no flash sign in battery icon, but LED lights up as usual), while the battery is being charged just fine.
4. No UI shown when alarm clock goes off. This is an AOSP bug (missing NotificationChannel parameters). Use Google Clock from Play Store instead.
5. VoLTE is broken. Maybe we need to wait for an official release for updated blobs.

And as you may have already known, AOSP does not include a fully functional browser nor a file manager. An `adb install` may be needed after flashing.

Screenshots:
241woyo.png

ip9qus.png

124d3x1.png

21e9bnc.png


Download:
Make backups! Make backups! Make backups!
20171008: https://drive.google.com/open?id=0BwkmhbR5VHpARHYwUE1BSGkxbTQ
20170924: https://drive.google.com/open?id=0BwkmhbR5VHpAU2lUVEVQcDRuaDQ
20170916: https://drive.google.com/open?id=0BwkmhbR5VHpAbkpMWFU1R1VLNDA
20170910: https://drive.google.com/open?id=0BwkmhbR5VHpAcGsyZ3hYWkZZcFU
20170907: https://drive.google.com/open?id=0BwkmhbR5VHpAMEVQX3h0UG1pUHM

You will lose Magisk and GAPPS after upgrading since boot and system partitions are overwritte. Better flash GAPPS right after the firmware, otherwise apps depend on GAPPS will FC even if GAPPS are re-installed.

This is NOT a flashable zip. Use fastboot to flash:
Code:
fastboot erase boot
fastboot flash boot boot.img
fastboot flash system system.img

And wipe data before usage.

NOTE: This ROM requires encrypted data partition. If your data partition is not encrypted, format it. Moreover, OxygenOS 4.5.10 4.5.12 firmwares are required.

Changelog:
20171008
Since proper development on Oreo has started, this ROM has served its purpose as an experimental (or first-taste-only) ROM, and thus will not receive any updates anymore.
Updated blobs to OxygenOS 4.5.12 (baseband version was not changed, but better use the new firmware bundled with 4.5.12)
Updated to android-8.0.0_r15
Switched to new kernel source used by MoKee (may solve some WiFi issue, and possibly some others)
Some minor cosmetic changes
No new patches applied, the 0924 archive would be fine.

20170924
Fixed voice translation in Google Translate (maybe other apps as well)
Add a power HAL and double tap to wake is available in settings now (wondering if it actually works)
Use RenderScript driver from OnePlus 3 Oreo beta. Stock one is too old for Oreo, thus it was not loading at all.
Included navigation bar fix from this post
(Also tried new kernel used in MoKee and Lineage OS, but it still causes stalls when remounting so I switched back to the old kernel)

20170916
Bluetooth address should be correct
Fixed broken compress_offload feature (some music player (or ringtones) rely on this)
Make DASH chargers recognized as standard AC charger with fast charging support
Update to android-8.0.0_r9

20170910
Fixed Bluetooth audio. Now LDAC, AAC and SBC all work. If you want aptX / HD, find libaptX{,HD}_encoder.so elsewhere and push them to the phone.
Fixed AOSP keyboard crash when switching to symbol / numbers panel: https://android-review.googlesource.com/#/c/platform/packages/inputmethods/LatinIME/+/469478/

20170910
Initial build

Sources:
Kernel: https://github.com/updateing/android_kernel_oneplus_msm8998 (aosp-o-new branch)
Device: https://github.com/updateing/android_device_oneplus_cheeseburger (aosp-o branch)
Vendor: https://github.com/updateing/android_vendor_oneplus_cheeseburger (aosp-o branch)

In order to build kernel with AOSP, you need build/core/tasks/{kernel,dt}.mk from other ROMs build system. And external/{libnfnetlink,libnetfilter_conntrack} needs to be forwarded to AOSP master.

Source patches are attached to this post.

Credits:
MoKee/@XiNGRZ for this awesome kernel
Qualcomm for the great SoC
And Google for the OS

Thank you all!
 

Attachments

  • cheeseburger_build_patches_20170907.zip
    16.1 KB · Views: 615
  • cheeseburger_build_patches_20170910.zip
    19.1 KB · Views: 325
  • cheeseburger_build_patches_20170916.zip
    33.9 KB · Views: 144
  • cheeseburger_build_patches_20170924.zip
    34.9 KB · Views: 162
Last edited:

updateing

Senior Member
Aug 25, 2012
489
1,141
Wuhan
Google Pixel C
Nice, will give it a go later, I presume there shouldn't be a problem with TWRP and going back to our present rom?

You also didn't post any gapps link, would these work ok?

http://www.cyanogenmods.org/forums/topic/gapps-lineageos-15-android-oreo-roms/

TWRP should work fine. Personally I'm using TWRP 3.1.1, official build, and haven't noticed any issue.

There should not be any issue when going back to 7.x ROMs (though I have not tried myself), but as wiping data is always involved when changing ROMs, do make a backup of everything including internal storage!

I have not tried any unoffical build of Gapps, and the only official build available now is DeltaGapps. It doesn't work OOB however, I need to extract some libs from APKs to get it to work.
 
  • Like
Reactions: wrshazhuzhu

Top Liked Posts

  • There are no posts matching your filters.
  • 50
    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 atyou.
     */

    Hi everyone, here is my port of Oreo on OnePlus 5. Source is based on AOSP android-8.0.0_r3 (r9 since 20170916, r15 for 20171008), as it's for Pixel. Device repo, kernel and vendor etc are available at the end of the post.

    And the same note as before: this ROM is highly experimental, and only meant for the brave ones. I may not update this work regularly.

    Hardware features:
    Things went more smoothly than before.Majority of hardware features are working, including mobile network, WiFi, Bluetooth (file transfer, network, audio etc), GPS, camera / camcorder, fingerprint, sensors, HW-based encryption etc.

    There are some minor issues regarding HW:

    1. Virtual keys and hardware keys are enabled altogether. You can disable hardware keys at /proc/touchpanel/key_disable and /sys/module/fpc1020_tee/parameters/ignor_home_for_ESD . If you do want the virtual keys to hide, read first several pages of replies and there are some solutions.
    2. Slider is not working, but it produces key event. There are lots of tools that can be used to customize actions for key events, and examples can be found in the first several pages of replies as well.
    3. No offscreen gestures.
    4. No option for color profile switching (default, sRGB, DCI-P3). You can switch that manually at /sys/class/graphics/fb0/color_profile

    Known bugs:
    1. Permissive SELinux, and init allows services without a SELinux domain to start
    2. Behavior of camera is not consistent - it works on my phone, but it may crash yours. If your phone reboots into EDL/9008 mode after flashing this ROM, use recovery or fastboot to flash back to other ROMs IMMEDIATELY!
    3. Sometimes the system does not show charging status (no flash sign in battery icon, but LED lights up as usual), while the battery is being charged just fine.
    4. No UI shown when alarm clock goes off. This is an AOSP bug (missing NotificationChannel parameters). Use Google Clock from Play Store instead.
    5. VoLTE is broken. Maybe we need to wait for an official release for updated blobs.

    And as you may have already known, AOSP does not include a fully functional browser nor a file manager. An `adb install` may be needed after flashing.

    Screenshots:
    241woyo.png

    ip9qus.png

    124d3x1.png

    21e9bnc.png


    Download:
    Make backups! Make backups! Make backups!
    20171008: https://drive.google.com/open?id=0BwkmhbR5VHpARHYwUE1BSGkxbTQ
    20170924: https://drive.google.com/open?id=0BwkmhbR5VHpAU2lUVEVQcDRuaDQ
    20170916: https://drive.google.com/open?id=0BwkmhbR5VHpAbkpMWFU1R1VLNDA
    20170910: https://drive.google.com/open?id=0BwkmhbR5VHpAcGsyZ3hYWkZZcFU
    20170907: https://drive.google.com/open?id=0BwkmhbR5VHpAMEVQX3h0UG1pUHM

    You will lose Magisk and GAPPS after upgrading since boot and system partitions are overwritte. Better flash GAPPS right after the firmware, otherwise apps depend on GAPPS will FC even if GAPPS are re-installed.

    This is NOT a flashable zip. Use fastboot to flash:
    Code:
    fastboot erase boot
    fastboot flash boot boot.img
    fastboot flash system system.img

    And wipe data before usage.

    NOTE: This ROM requires encrypted data partition. If your data partition is not encrypted, format it. Moreover, OxygenOS 4.5.10 4.5.12 firmwares are required.

    Changelog:
    20171008
    Since proper development on Oreo has started, this ROM has served its purpose as an experimental (or first-taste-only) ROM, and thus will not receive any updates anymore.
    Updated blobs to OxygenOS 4.5.12 (baseband version was not changed, but better use the new firmware bundled with 4.5.12)
    Updated to android-8.0.0_r15
    Switched to new kernel source used by MoKee (may solve some WiFi issue, and possibly some others)
    Some minor cosmetic changes
    No new patches applied, the 0924 archive would be fine.

    20170924
    Fixed voice translation in Google Translate (maybe other apps as well)
    Add a power HAL and double tap to wake is available in settings now (wondering if it actually works)
    Use RenderScript driver from OnePlus 3 Oreo beta. Stock one is too old for Oreo, thus it was not loading at all.
    Included navigation bar fix from this post
    (Also tried new kernel used in MoKee and Lineage OS, but it still causes stalls when remounting so I switched back to the old kernel)

    20170916
    Bluetooth address should be correct
    Fixed broken compress_offload feature (some music player (or ringtones) rely on this)
    Make DASH chargers recognized as standard AC charger with fast charging support
    Update to android-8.0.0_r9

    20170910
    Fixed Bluetooth audio. Now LDAC, AAC and SBC all work. If you want aptX / HD, find libaptX{,HD}_encoder.so elsewhere and push them to the phone.
    Fixed AOSP keyboard crash when switching to symbol / numbers panel: https://android-review.googlesource.com/#/c/platform/packages/inputmethods/LatinIME/+/469478/

    20170910
    Initial build

    Sources:
    Kernel: https://github.com/updateing/android_kernel_oneplus_msm8998 (aosp-o-new branch)
    Device: https://github.com/updateing/android_device_oneplus_cheeseburger (aosp-o branch)
    Vendor: https://github.com/updateing/android_vendor_oneplus_cheeseburger (aosp-o branch)

    In order to build kernel with AOSP, you need build/core/tasks/{kernel,dt}.mk from other ROMs build system. And external/{libnfnetlink,libnetfilter_conntrack} needs to be forwarded to AOSP master.

    Source patches are attached to this post.

    Credits:
    MoKee/@XiNGRZ for this awesome kernel
    Qualcomm for the great SoC
    And Google for the OS

    Thank you all!
    9
    Yeah it's a YouTube hug. Google intentionally disabled unless you have YouTube red or play music

    You can't beat a YouTube hug...

    giphy.gif
    8
    @updateing Just curious if there's a new build incoming soon (not asking ETA, just trying to figure out if I need to build up a compiling box).

    New build uploaded. I was busy during weekdays...

    [*] Added WebView provider signatures so Chrome can be set as the system WebView. Maybe @updateing could add this to the build?

    Thanks. All three patches applied cleanly, but Chrome still does not show up in WebView provider list. I'll check later.
    8
    Hiding the on-screen NavBar

    Just to chime in once again, the safest and easiest way to hide the NavBar as of the 20170916 build is to run this command with adb.

    To hide on-screen NavBar:
    Code:
    adb shell settings put global policy_control immersive.navigation=*

    To show on-screen NavBar
    Code:
    adb shell settings put global policy_control immersive.navigation=0
    7
    Everybody who wants a perfekt OOS stock camera:

    https://www.androidfilehost.com/?fid=745425885120764891

    I built this from this source:
    https://github.com/MSF-Jarvis/op5cam
    So thank him. Just flash the ZIP from androidfilehost via recovery.

    Also for snapchat users, go here:

    https://xdaforums.com/oneplus-5/themes/magisk-oneplus-5-snapchat-camera-switch-t3668727

    And flash the edited blob Version via magisk.

    For me everything works perfect, even the oos selfie cam still works.