Oreo - Mission impossible? [8.1.0_r46][6Oct2018] OmniROM-8.1

Status
Not open for further replies.
Search This thread

daniel_hk

Inactive Recognized Contributor
Nov 12, 2012
1,634
5,340
0
Hong Kong
20171222 LineageOS 15.0 beta test build

Last week, I started another round on the kernel. There were some progress and I just built another LOS-15.0 test build.

In this build,
1. The latest Lineage have a few features included (eg. double tap status bar to lock)
2. SOD is fixed.
3. DT2W is working now
4. Charging and power management are enhanced.
While other issues are still there... :(

This would be the last 8.0.0 test build and It's about time moving to 8.1. :)

About RIL:
Since there are many queries, I summarize my findings here. I only study the official source briefly so correct me if I'm wrong. ;)
The official document from AOSP mentioned that the old socket approach would parcelled 3 times. That means same set of data are copied 3 times per request/response. Oreo's new approach is to avoid that. A request/response would only parcelled once between the service and Framework.

Official MTK RIL in O-preview
1. They keep using sockets to communicate so there would be minimal changes in librilmtk and vendor RIL.
2. Work around is to introduce the proxy daemon and library to work with Oreo. I would imagine its still copied (at least?) 3 times.
3. Framework patches are required in java level and so as the services. Some of those might be ignored as before. This seems against the spirit of project treble.
Frankly, if all my trials failed, this would be the last method I can think of.
IMHO Mediatek engineers are a bit lazy.

We don't have the full sources for vendor RIL library (mtkril), libril (librilmtk) and the ccci daemon. Therefore the workflow from kernel to HAL can only be the same as before.
My approach is to replace mtkrild and librilmtk. Replacing mtkrild is rather straight forward. There are a few functions inside librilmtk which are required by the vendor RIL. Therefore my libril it's still a wrapper (for librilmtk) now.
I used the AOSP libril as start. I was trying to create the IRadio service for MTK so that framework can be untouched. Everything can hopefully be done inside the libril. During the course, there were a few crashes in the vendor RIL. I had to wrap or replace the crashed functions. To do so, I had to binary edit the blobs to redirect the calls. The workflow of librilmtk is quite tricky and frankly I'm still not fully understand. I just emulated the workflow of librilmtk by supplying the same set of data to vendor RIL and daemons. The rest was patching each request and response so that the correct data would be parcelled to/from Framework.
I don't know how to explain but the source is there. For those interested, you may compare it with the source from AOSP and MTK. It shouldn't be too hard to understand what I was doing.

There would be some spare time in the upcoming holiday. Hoping something might pop up... :D
 
Last edited:

greekfragma

Senior Member
Sep 25, 2007
330
154
73
Athens
@daniel_hk
Bro I must give you a HUGE and final thanks for your efforts. Unfortunately I have moved on to another device (Xiaomi Mi A1) and I can't provide any other feedback. Nevertheless I am not forgetting all the hard work you have put in here to keep the K3 note alive. I am gonna buy you a coffee (wish i could do more) through your donation button and I wish you best of luck in your future efforts here in xda-developers.
Cheers and hope our forum posts come across again. :)
 

Bandage_man

New member
Oct 26, 2017
1
0
0
Last week, I started another round on the kernel. There were some progress and I just built another LOS-15.0 test build.

In this build,
1. The latest Lineage have a few features included (eg. double tap status bar to lock)
2. SOD is fixed.
3. DT2W is working now
4. Charging and power management are enhanced.
While other issues are still there... :(

This would be the last 8.0.0 test build and It's about time moving to 8.1. :)

About RIL:
Since there are many queries, I summarize my findings here. I only study the official source briefly so correct me if I'm wrong. ;)
The official document from AOSP mentioned that the old socket approach would parcelled 3 times. That means same set of data are copied 3 times per request/response. Oreo's new approach is to avoid that. A request/response would only parcelled once between the service and Framework.

Official MTK RIL in O-preview
1. They keep using sockets to communicate so there would be minimal changes in librilmtk and vendor RIL.
2. Work around is to introduce the proxy daemon and library to work with Oreo. I would imagine its still copied (at least?) 3 times.
3. Framework patches are required in java level and so as the services. Some of those might be ignored as before. This seems against the spirit of project treble.
Frankly, if all my trials failed, this would be the last method I can think of.
IMHO Mediatek engineers are a bit lazy.

We don't have the full sources for vendor RIL library (mtkril), libril (librilmtk) and the ccci daemon. Therefore the workflow from kernel to HAL can only be the same as before.
My approach is to replace mtkrild and librilmtk. Replacing mtkrild is rather straight forward. There are a few functions inside librilmtk which are required by the vendor RIL. Therefore my libril it's still a wrapper (for librilmtk) now.
I used the AOSP libril as start. I was trying to create the IRadio service for MTK so that framework can be untouched. Everything can hopefully be done inside the libril. During the course, there were a few crashes in the vendor RIL. I had to wrap or replace the crashed functions. To do so, I had to binary edit the blobs to redirect the calls. The workflow of librilmtk is quite tricky and frankly I'm still not fully understand. I just emulated the workflow of librilmtk by supplying the same set of data to vendor RIL and daemons. The rest was patching each request and response so that the correct data would be parcelled to/from Framework.
I don't know how to explain but the source is there. For those interested, you may compare it with the source from AOSP and MTK. It shouldn't be too hard to understand what I was doing.

There would be some spare time in the upcoming holiday. Hoping something might pop up... :D

can't Donwload this Rom,link error:“503 Service Unavailable”
 

hamedsadry3000

New member
Dec 23, 2017
1
0
0
hang and slow and reboot on run multi app
Bluetooth driver not loading error
search Unicode in app list theme not work
on sleep display on 10 min reboot
 
Last edited:
G

GuestK00324

Guest
@daniel_hk
Bro I must give you a HUGE and final thanks for your efforts. Unfortunately I have moved on to another device (Xiaomi Mi A1) and I can't provide any other feedback. Nevertheless I am not forgetting all the hard work you have put in here to keep the K3 note alive. I am gonna buy you a coffee (wish i could do more) through your donation button and I wish you best of luck in your future efforts here in xda-developers.
Cheers and hope our forum posts come across again. :)
bye we will miss you
 

daniel_hk

Inactive Recognized Contributor
Nov 12, 2012
1,634
5,340
0
Hong Kong
Patch for LOS-15.0 20171222

@greekfragma Thanks for the coffee. :D
All the best!

It was quite embarrass last night. :eek: When I tried to take a photo, I found that I broke the camera in the last LOS-15.0 build...
I had messed up the AOSP source while sync to 8.1.0 earlier.
Anyway, here is the patch to fix that... View attachment los-15.0-patch-20171225.zip
Flash it in recovery would fix the camera and video playback.
Sorry for the trouble caused... ;)
Merry X'mas!
 
Last edited:

aishik212

Senior Member
Dec 23, 2015
228
68
28
@greekfragma Thanks for the coffee. :D
All the best!

It was quite embarrass last night. :eek: When I tried to take a photo, I found that I broke the camera in the last LOS-15.0 build...
I had messed up the AOSP source while sync to 8.1.0 earlier.
Anyway, here is the patch to fix that...
Flash it in recovery would fix the camera and video playback.
Sorry for the trouble caused... ;)
Merry X'mas!


merry Christmas. I'm gonna try the build soon. and get ready for list of bugs xD(in a funny way of course)
 

mugik04

Senior Member
Apr 27, 2013
67
60
38
Moscow
@greekfragma Thanks for the coffee. :D
All the best!

It was quite embarrass last night. :eek: When I tried to take a photo, I found that I broke the camera in the last LOS-15.0 build...
I had messed up the AOSP source while sync to 8.1.0 earlier.
Anyway, here is the patch to fix that... View attachment 4369317
Flash it in recovery would fix the camera and video playback.
Sorry for the trouble caused... ;)
Merry X'mas!
спасибо
I have already given the proximity sensor fix
я уже давал фикс датчика приближения
 

Attachments

  • fix_proximity.zip
    754.5 KB · Views: 66
G

GuestK00324

Guest
im install this rom 3 times with formating internal also but im face same problem setup wizard has stopped please help me
I was facing the same problem dont flash gapps just the ROM than boot into system than reboot into recovery and than flash the gapps it will skip the wizard
 

daniel_hk

Inactive Recognized Contributor
Nov 12, 2012
1,634
5,340
0
Hong Kong
20171230 CarbonROM CR-6.1

This is the first Android 8.1.0 build for our device.
Android is growing bigger and bigger and my 500G is barely catch up now. May be it's about time to upgrade my hardware now.
I choose Carbon for the first 8.1 build again but it's not ready yet. It required quite some patches to make it work. Android-8.1 also required extra time to make to boot and presentable. Anyway, the latest the CarbonROM-CR-6.1 is out. There are not much changes since the last LOS-15.0 but its 8.1.0 now. Cheers! ;)
Check the Experimental area for download.

It's been a while, almost forgot where I was. See if anything pop up in the upcoming holiday.
Happy Year! Wish it would be another productive one, Cheers! :D

P.S.
@mugik04, The UI of TWRP-3.2 is not yet finished. All my Oreo are compatible with my current 3.1.1 so it's better waiting for a while.

AGAIN, for those who ask for help of any kind, however obvious you think, you have to provide the basic detail. At least, you have to provide your procedure and what file(s) you had flashed... :eek: Otherwise, I have no choice but ignore you, sorry. :(
 
Last edited:
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 75
    Oreo - Mission impossible?
    I started studying "O" in early August. All I got were the O-preview3 factory images for qcom and tegra devices which I don't have. Built it out and made it boot wouldn't be too hard but everything seemed different. It took me some time to figure out the flow of the new frameworks. At that time, only the RIL and Graphics sources were really "O". The most devastated situation would be the RIL. Seemed dead end at that time. That was the first time I feel impossible. The source from MTK's RIL made things even worse. All the .c functions are buried inside prebuilt static libraries. Frankly, up to this moment, I'm still not fully understand the workflow of MTK's RIL... :eek:
    While I was struggling with the RIL, "O" - Oreo was launched. The most helpful info. were also released in source.android.com. Sadly, I can't access this website no more... Never take it for granted for anything. You can loose anything/anyone for no reason. :( The sources were then completed and took me some times to made it boot "again".
    Eventually, I can make the RIL almost fully working recently. Yes!:victory: All I can say is, we are lucky. Our RIL blobs only experience a few crashes which I can managed. I had tried five or six sets of blobs for different MTK chips. Each had different crashes so there is no guarantee that all MTK devices might work...
    Last week, I finally figure out how to made the camera work. Seems not "impossible" now so I start this new thread.
    I can't start a DevDB now. The response from XDA official is "They can't think of obvious reason". Anyway, I pay for ad-free and still the status shows connection to axx.amazon-adsystem.com. It just hang there for minutes (until timeout I suppose). However, I can start a normal thread (after minutes of delay) and that's not a problem to me. I already learnt to live with so many obstructions now. :cyclops:

    There were just too many distractions and ridiculous people out there. I don't want to waste time arguing so I would make it short this time. I rather spend time on something I'm good at. ;)

    For those who want help, no matter its ROM related or about development, please don't use PM. There are many limitations with PM. Do it formally. Start a thread in Q/A or post with all the details you can get (log, kmsg, screenshot, etc.). It's no harm for more opinions. Hiding in the dark doesn't help.

    Current Status :confused:
    KERNEL
    Patch: Binder and sdcardfs update are required and essential for Oreo.
    See commits in my github for detail

    AUDIO
    Recording: Working
    Playback: Working
    Patch: Load a copy of the struct instead of the pointer to address.

    BLUETOOTH
    Working
    Issue: Workflow issue in BTIF driver.
    Patch: New driver and HAL build from source.

    CAMERA
    Flash/Torch: Working
    Capture: Working
    Issue: User handle is required in GetMemory. MTK blobs return null.
    Patch: Save a copy of the user handle. Don't know if other devices might work or not. It's better to rebuild a few blobs but I don't have the source for my device...
    Issue: Oreo use a ring buffer of native_handles and no more ANativeWindowBuffer.
    Patch: A wrapper is required for the libcam.client. (The better way would be rebuild it but again no source...)
    HDR: Working with Snap in LOS-15.1
    Video recording: Working
    Issue: Oreo doesn't support GRALLOC (or I don't know how). The old HAL1 implementation doesn't work too.
    In short, need to find a way for the metadata that our old blobs can handled.
    Patch:
    1. Add libcamera_parameters_mtk for the MTK extra parameters
    2. Add another mode to handle Gralloc in stragefright.
    3. Patch the OMXNode to handle Gralloc mode.
    4. patch the OMXClient to use mediaserver
    5. Patch the hardware interface to handle Gralloc Metadata and work with the new OMX interface.

    DISPLAY/TOUCH SCREEN
    DT2W: Working

    FM RADIO
    Working

    GPS
    AGPS: Working
    GPS & BEIDOU: Working
    GLONASS: Enabled by default

    GRAPHIS
    HWC: Working
    Issue: Android platform changed
    Patch: A simple patch in libgui_ext (might use shim if timestamp proved no use)
    OpenGL: Working

    LED
    Notifications: Working
    Charging: Working
    Low power: Not Working
    See Post #806 for detail. Haven't study why --pending

    MEDIA
    Video Playback: Working
    Hardware decoder: Working
    Issue: crashed
    Patch: A small patch in minijail use Asan.

    POWER
    Power off charging: Working

    RIL
    Phone calls: Working
    Mobile Data: Working
    SMS: Working
    Dual SIM: Working
    Issue: Completely new approach in Oreo with interface/services. No more sockets. AND all .c libraries are proprietaries.
    Patches:
    1. Replace the MTK RIL daemon with AOSP patching for MTK
    2. Wrap (eventually replaced) the libril from MTK with AOSP patching for MTK
    3. Patch the RIL interface/service to work with the MTK vendor library.
    Some more detail can be found in post #65 and post #806

    SENSORS
    All sensors are Working
    Patch: Lower the requirement from 1.3 to 1.0

    WIFI
    ap,p2p: Working
    Miracast: Working
    Noted: only work on 2.4G as before
    Hotspot: Working
    Hidden SSID: Not support
    No idea why yet. --pending

    Sources :cowboy:
    Github

    Download :highfive:
    Experimental: AndroidFileHost
    OmniROM: AndroidFileHost, 百度网盘
    LineageOS-15.1: AndroidFileHost, 百度网盘

    Install :fingers-crossed:
    Flash with the latest TWRP
    1. Factory reset
    2. Flash ROM
    3. Flash SuperSU (tested ver.2.82)
    4. Reboot and setup wifi
    5. Flash Gapps (tested opengapps 8.1)

    Change Log :)
    Code:
    [B][COLOR="Blue"]2018/10/6[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r46 (OPM4.171019.030.K1)
    - New build enviornment
    - Security patch Sep. 5, 2018[/INDENT]
    [B][COLOR="Blue"]2018/8/11[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r42 (OPM4.171019.021.Y1)
    - OmniLib is updated
    - Security patch Aug. 5, 2018[/INDENT]
    [B][COLOR="Blue"]2018/7/13[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR] 15.1[/B]
    [INDENT]- The latest LineageOS 15.1 source, Android-8.1.0_r36 (OPM2.171026.006.H1)
    - SELinux Enforcing
    - Security patch July 5, 2018[/INDENT]
    [B][COLOR="Blue"]2018/6/26[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR] 15.1[/B]
    [INDENT]- The latest LineageOS 15.1 source, Android-8.1.0_r30 (OPM2.171026.006.C1)
    - SELinux Enforcing
    - Add/Fix SEPolicy rules for GPS, camera, Video, etc.
    - Security patch June 5, 2018[/INDENT]
    [B][COLOR="Blue"]2018/6/16[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r32 (OPM4.171019.021.E1)
    - OmniLib is updated
    - A few bug fix in Omni Apps
    - Security patch June 5, 2018[/INDENT]
    [B][COLOR="Blue"]2018/5/18[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r28 (OPM4.171019.029.B1)
    - Security patch May 5, 2018
    - chromium-webview update[/INDENT]
    [B][COLOR="Blue"]2018/5/11[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR] 15.1[/B]
    [INDENT]- The latest LineageOS 15.1 source, Android-8.1.0_r26 (OPM2.171019.029.B1)
    - Security patch May 5, 2018[/INDENT]
    [B][COLOR="Blue"]2018/4/21[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR] 15.1[/B]
    [INDENT]- The latest LineageOS 15.1 source, Android-8.1.0_r20 (OPM2.171019.029)
    - fix vendor image mismatch warning
    - fix a few security issues in reading NVRam
    - chromium-webview update[/INDENT]
    [B][COLOR="Blue"]2018/4/13[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR] 15.1[/B]
    [INDENT]- The latest LineageOS 15.1 source, Android-8.1.0_r20 (OPM2.171019.029)
    - Security patch Apr. 5, 2018
    - adjust some memory defaults
    - handle the build flags for MTK devices (to live with other devices in the same source)[/INDENT]
    [B][COLOR="Blue"]2018/4/6[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r20 (OPM2.171019.029)
    - Security patch Apr. 5, 2018
    - HDR broken in this build. Check [URL="https://forum.xda-developers.com/showpost.php?p=76174760&postcount=612"]post #612[/URL] for the fix patch[/INDENT]
    [B][COLOR="Blue"]2018/3/16[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r15 (OPM1.171019.021)
    - Add Device Features support in OmniGears
    - Device Features: Display Color Adjustment is added[/INDENT]
    [B][COLOR="Blue"]2018/3/9[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR] 15.1[/B]
    [INDENT]- The latest LineageOS 15.1 source, Android-8.1.0_r15 (OPM1.171019.021)
    - Workaround for Proximity sensor in InCall screen
    - Settings: LiveDisplay is supported now[/INDENT]
    [B][COLOR="Blue"]2018/3/2[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r11 (OPM1.171019.018)
    - The patch for codec and power off charging animation included
    - Workaround for Proximity sensor in InCall screen
    - HDR support with Snap porting to OmniROM[/INDENT]
    [B][COLOR="Blue"]2018/2/21[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR] 15.1[/B]
    [INDENT]- The latest LineageOS 15.1 source, Android-8.1.0_r11 (OPM1.171019.018)
    - All previous fixes in Omni-8.1
    - HDR support with Snap port 
    - Patch for MTK soft codec[/INDENT]
    [B][COLOR="Blue"]2018/2/16[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r11 (OPM1.171019.018)
    - Fix Lockscreen settings
    - Minor patch in video recording to make it more stable
    - update codec conifg
    - check [URL="https://forum.xda-developers.com/showpost.php?p=75609953&postcount=338"]post 338[/URL] for the codec and power off charging animation patch[/INDENT]
    [B][COLOR="Blue"]2018/2/6[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r7 (OPM3.171019.013)
    - Source is sync to the latest Omni-8.1
    - userdebug build.
    - Native Video recording is fixed. [COLOR="Red"][B]Edit[/B][/COLOR]: check [URL="https://forum.xda-developers.com/showpost.php?p=75488295&postcount=273"]post #273[/URL] for the camera patch
    - Phonograph and equalizer are also fixed.
    - MP3 and FLAC can be played now.
    - GPS: Enable GLONASS by default [/INDENT]
    [B][COLOR="Blue"]2018/1/21[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r7 (OPM3.171019.013)
    - Security patch Jan. 5, 2018
    - Add Messaging apk
    - Add FM radio apk
    - Add the forgotten vibration support 
    - RIL: Fix a bug in carrier info. 
    - Clean up the internal log I added. [/INDENT]
    [B][COLOR="Blue"]2018/1/7[/COLOR] - [COLOR="YellowGreen"]OmniROM[/COLOR] 8.1[/B]
    [INDENT]- The latest OmniROM 8.1 source, Android-8.1.0_r7 (OPM3.171019.013)
    - Initial release 
    - Security patch Jan. 5, 2018
    - New Bluetooth driver and HAL.
    - Kerenl: a few minor patches[/INDENT]
    [B][COLOR="Blue"]2017/12/30[/COLOR] - [COLOR="Black"]CarbonROM[/COLOR] CR-6.1[/B]
    [INDENT]- The latest Carbon CR-6.1 source, Android-8.1.0_r1 (OPM1.171019.011)
    - Cumulated patches from LOS-15.0
    - Security patch Dec. 5, 2017[/INDENT]
    [B][COLOR="Blue"]2017/12/22[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR]-15.0[/B]
    [INDENT]- The latest LOS-15.0 source, Android-8.0.0_r30 (OPR3.170623.013)
    - libsuspend: add earlysuspend support
    - Kernel: tidy up lenovo features source
    - DT2W: working now[/INDENT]
    [B][COLOR="Blue"]2017/11/20[/COLOR] - [COLOR="Teal"]LineageOS[/COLOR]-15.0[/B]
    [INDENT]- The latest LOS-15.0 source, Android-8.0.0_r30 (OPR3.170623.013)
    - Kernel: remove obsolete Lenovo features
    - Mediaplayer: fix video playback
    - Camera: Add mode to handle MetaDataGralloc in video recording. (only audio working now...) WIP[/INDENT]
    [B][COLOR="Blue"]2017/10/23[/COLOR] - [COLOR="Black"]CarbonROM[/COLOR] CR-6.0[/B]
    [INDENT]- The latest Carbon CR-6.0 source, Android-8.0.0_r15 (OPR3.170623.008)
    - Alpha test build[/INDENT]
    Known Issues :(
    - May be a few...​

    Donations :angel:


    show.htm
    27
    20180811 OmniROM-8.1

    As Pie is out, this would probably be the last OmniROM-8.1 update. :)
    - The latest OmniROM 8.1 source, Android-8.1.0_r42 (OPM4.171019.021.Y1)
    - OmniLib is updated
    - Security patch Aug. 5, 2018
    20
    20171222 LineageOS 15.0 beta test build

    Last week, I started another round on the kernel. There were some progress and I just built another LOS-15.0 test build.

    In this build,
    1. The latest Lineage have a few features included (eg. double tap status bar to lock)
    2. SOD is fixed.
    3. DT2W is working now
    4. Charging and power management are enhanced.
    While other issues are still there... :(

    This would be the last 8.0.0 test build and It's about time moving to 8.1. :)

    About RIL:
    Since there are many queries, I summarize my findings here. I only study the official source briefly so correct me if I'm wrong. ;)
    The official document from AOSP mentioned that the old socket approach would parcelled 3 times. That means same set of data are copied 3 times per request/response. Oreo's new approach is to avoid that. A request/response would only parcelled once between the service and Framework.

    Official MTK RIL in O-preview
    1. They keep using sockets to communicate so there would be minimal changes in librilmtk and vendor RIL.
    2. Work around is to introduce the proxy daemon and library to work with Oreo. I would imagine its still copied (at least?) 3 times.
    3. Framework patches are required in java level and so as the services. Some of those might be ignored as before. This seems against the spirit of project treble.
    Frankly, if all my trials failed, this would be the last method I can think of.
    IMHO Mediatek engineers are a bit lazy.

    We don't have the full sources for vendor RIL library (mtkril), libril (librilmtk) and the ccci daemon. Therefore the workflow from kernel to HAL can only be the same as before.
    My approach is to replace mtkrild and librilmtk. Replacing mtkrild is rather straight forward. There are a few functions inside librilmtk which are required by the vendor RIL. Therefore my libril it's still a wrapper (for librilmtk) now.
    I used the AOSP libril as start. I was trying to create the IRadio service for MTK so that framework can be untouched. Everything can hopefully be done inside the libril. During the course, there were a few crashes in the vendor RIL. I had to wrap or replace the crashed functions. To do so, I had to binary edit the blobs to redirect the calls. The workflow of librilmtk is quite tricky and frankly I'm still not fully understand. I just emulated the workflow of librilmtk by supplying the same set of data to vendor RIL and daemons. The rest was patching each request and response so that the correct data would be parcelled to/from Framework.
    I don't know how to explain but the source is there. For those interested, you may compare it with the source from AOSP and MTK. It shouldn't be too hard to understand what I was doing.

    There would be some spare time in the upcoming holiday. Hoping something might pop up... :D
    20
    20180206 OmniROM 8.1

    @santoimam, Frankly, MTK just has too much to hide. It doesn't help much but having the source would definitely be better.

    I just make a clean build before dinner. It's out now.
    This is the latest Omni-8.1 Android-8.1.0_r7 (OPM3.171019.013).
    The previous test builds are eng builds which were better for debug but has minimum security. From now on, it would return to userdebug.
    In this build:
    1. Source is sync to the latest Omni-8.1
    2. Video recording is fixed.
    3. Phonograph and equalizer are also fixed.
    4. When studying the video codec, I found out how to enable FLAC. MP3 and FLAC can be played now.
    APE and ALAC require some platform changes so I don't want to waste time. I think FLAC would be good enough already.

    All the major issues are more or less fixed. I'll tidy up the loose ends and hoping it can be my daily driver soon. Cheers! :D
    Edit: check post #273 for the camera patch for video recording. ;)

    P.S. As I mentioned many many times, dropping a few words or a link won't help anyone. It's just annoying and I have no choice but ignore it.
    If you don't want to provide detail and/or logs, etc. Please don't post on my threads. ;)
    20
    20181006 OmniROM-8.1

    Just update to Ubuntu 18.04 and the want to test the new setup. Omni has another update earlier so I build this one.
    - The latest OmniROM 8.1 source, Android-8.1.0_r46 (OPM4.171019.030.K1)
    - Security patch Sep. 5, 2018
    Cheers! ;)
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