[FIX] Front camera fix on the official CM13 builds - Xiaomi Redmi Note 3 Guides, News, & Discussion

Hello.
I do not know but maybe it will be usefull for someone. I had dead front camera issue on the official CM13 builds.
So i fixed it:
https://drive.google.com/file/d/0B-Fin8UxrD6PTWZ2cjFuaVVaYk0/view
Just flash it via TWRP and you will get working front camera.
I created thist hread because i hope that this way this issue will be fixed faster by TheStrix.
P.S. My original first post with a fix is there:
http://forum.xda-developers.com/showpost.php?p=68183787&postcount=18
P.P.S My fix method is so stupid and simple but it works.
Maybe i will fing better fix later.

Thanks it works great
Do you think this fix could be implemented in a custom kernel?

NTRNSTR said:
Thanks it works great
Do you think this fix could be implemented in a custom kernel?
Click to expand...
Click to collapse
I think that it will work on any custom kernel because it is not fault of it.
It is a fault of missing files in a custom rom.

This is such a wonderful share! One reason for me not flashing official cm13 is this front camera issue.. ( apart from the goodix issue ofcourse ) but seeing a working fix for the camera, now I am thinking twice! I think I can use cm13 now as a daily driver.. I am looking forward for fp fix in the future as well for goodix ones.

tank0412 said:
Hello.
I do not know but maybe it will be usefull for someone. I had dead front camera issue on the official CM13 builds.
So i fixed it:
https://drive.google.com/file/d/0B-Fin8UxrD6PdzItRldIQlh3Z2M/view
Just flash it via TWRP and you will get working front camera.
I created thist hread because i hope that this way this issue will be fixed faster by TheStrix.
P.S. My original first post with a fix is there:
http://forum.xda-developers.com/showpost.php?p=68183787&postcount=18
P.P.S My fix method is so stupid and simple but it works.
Maybe i will fing better fix later.
Click to expand...
Click to collapse
Thx for work,
After flash this patch front camera works fine, but back camera is not detect I tried on cm13 official

geriak said:
Thx for work,
After flash this patch front camera works fine, but back camera is not detect I tried on cm13 official
Click to expand...
Click to collapse
I use CM13 official too. (build of 1st September)
Back camera works fine with this patch.

tank0412 said:
I use CM13 official too. (build of 1st September)
Back camera works fine with this patch.
Click to expand...
Click to collapse
Kernel stock? I installed cm13 last build 05/09 full wipe, my camera crashed with error " can't connect !:crying::crying:" , after your patch front camera works, but I can't switch to back " missing button to switch ",
I do not know what I can do What do you think about it?
Thanks again for your reply

geriak said:
Kernel stock? I installed cm13 last build 05/09 full wipe, my camera crashed with error " can't connect !:crying::crying:" , after your patch front camera works, but I can't switch to back " missing button to switch ",
I do not know what I can do What do you think about it?
Thanks again for your reply
Click to expand...
Click to collapse
It is really strange.
Try to get logcat and publish it there. I will look at it.
I use kernel by CM Team.

tank0412 said:
It is really strange.
Try to get logcat and publish it there. I will look at it.
I use kernel by CM Team.
Click to expand...
Click to collapse
this is my logcat before apply patch, kernel by CM Team.
09-06 16:57:21.228 2285 3731 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.cyanogenmod.snap/com.android.camera.CameraLauncher bnds=[850,1701][1051,1929] (has extras)} from uid 10026 on display 0
09-06 16:57:21.239 2285 2386 W BroadcastQueue: Permission Denial: broadcasting Intent { act=com.android.launcher3.action.LAUNCH flg=0x10 (has extras) } from com.cyanogenmod.trebuchet (pid=7783, uid=10026) requires com.google.android.launcher.permission.RECEIVE_LAUNCH_BROADCASTS due to receiver com.google.android.gms/.icing.proxy.ApplicationLauncherReceiver
09-06 16:57:21.239 2285 2386 W BroadcastQueue: Permission Denial: broadcasting Intent { act=com.android.launcher3.action.LAUNCH flg=0x10 (has extras) } from com.cyanogenmod.trebuchet (pid=7783, uid=10026) requires com.google.android.launcher.permission.RECEIVE_LAUNCH_BROADCASTS due to receiver com.google.android.googlequicksearchbox/com.google.android.apps.gsa.search.core.icingsync.ApplicationLaunchReceiver
09-06 16:57:21.240 2285 2386 W BroadcastQueue: Permission Denial: broadcasting Intent { act=com.android.launcher3.action.LAUNCH flg=0x10 (has extras) } from com.cyanogenmod.trebuchet (pid=7783, uid=10026) requires com.google.android.launcher.permission.RECEIVE_LAUNCH_BROADCASTS due to receiver com.google.android.googlequicksearchbox/com.google.android.apps.gsa.reflection.ReflectionReceiver
09-06 16:57:21.294 8254 8458 V CAM_PhotoModule: Open camera device.
09-06 16:57:21.295 8254 8458 V CameraHolder: open camera 0
09-06 16:57:21.295 8254 8458 E CameraHolder: fail to connect Camera:-1, aborting.
09-06 16:57:21.295 8254 8458 E CAM_PhotoModule: Failed to open camera:0
09-06 16:57:21.304 8254 8461 I OMXClient: Using client-side OMX mux.
09-06 16:57:21.307 8254 8254 V CAM_UI : Using mdp_preview_content (MDP path)
09-06 16:57:21.319 8254 8469 I OMXClient: Using client-side OMX mux.
09-06 16:57:21.322 8254 8254 V CAM_PhotoModule: On resume.
09-06 16:57:21.322 8254 8254 V CAM_PhotoModule: Executing onResumeTasks.
09-06 16:57:21.327 8254 8254 D CAM_Activity: send the turn off Flashlight broadcast
09-06 16:57:21.368 8254 8254 D CAM_PhotoModule: addIdleHandler in first time initialization
09-06 16:57:21.374 8254 8254 D CameraStorage: External storage state=mounted
09-06 16:57:21.377 8254 8472 I OMXClient: Using client-side OMX mux.
09-06 16:57:21.383 8254 8254 D CameraStorage: External storage state=mounted
09-06 16:57:21.397 8254 8254 V CAM_UI : setTransformMatrix: scaledTextureWidth = 1080.0, scaledTextureHeight = 1440.0
09-06 16:57:21.397 8254 8254 D CAM_UI : mSurfaceTextureUncroppedWidth=1080.0mSurfaceTextureUncroppedHeight=1440.0
09-06 16:57:21.406 8254 8254 V CAM_UI : surfaceCreated
09-06 16:57:21.406 8254 8254 V CAM_UI : surfaceChanged: width =1080, height = 1920
09-06 16:57:21.446 8254 8254 I FocusRingView: Computing center via view bounds.
09-06 16:57:21.477 2285 2391 I chatty : uid=1000(system) android.display expire 1 line
09-06 16:57:21.503 8254 8254 V CAM_UI : surfaceChanged: width =1080, height = 1440
09-06 16:57:21.984 603 603 I MSM-irqbalance: Decided to move IRQ240 from CPU3 to CPU1
09-06 16:57:22.204 4641 5215 I ClearcutLoggerApiImpl: disconnect managed GoogleApiClient
09-06 16:57:23.136 4647 4664 E ANDR-PERF-RESOURCEQS: Failed to apply optimization [4, 1]
09-06 16:57:23.297 8254 8274 D OpenGLRenderer: endAllStagingAnimators on 0x5591c40d90 (RippleDrawable) with handle 0x5591ea5490
09-06 16:57:23.309 8254 8254 V CAM_UI : surfaceDestroyed
09-06 16:57:23.314 8254 8254 D CAM_PhotoModule: remove idle handleer in onPause
09-06 16:57:23.314 8254 8254 V CAM_PhotoModule: On pause.
09-06 16:57:23.314 8254 8254 V CAM_PhotoModule: Close camera device.
09-06 16:57:23.358 8254 8254 I art : Starting a blocking GC Explicit
09-06 16:57:23.362 2285 3648 W InputMethodManagerService: Window already focused, ignoring focus gain of: [email protected] attribute=null, token = [email protected]
09-06 16:57:23.384 8254 8254 I art : Explicit concurrent mark sweep GC freed 6385(787KB) AllocSpace objects, 2(124KB) LOS objects, 24% free, 16MB/22MB, paused 507us total 22.191ms
09-06 16:57:23.427 8254 8254 I art : Starting a blocking GC Explicit
09-06 16:57:23.446 8254 8254 I art : Explicit concurrent mark sweep GC freed 3659(241KB) AllocSpace objects, 2(256KB) LOS objects, 25% free, 16MB/21MB, paused 456us total 18.390ms
09-06 16:57:23.446 8254 8254 I art : Starting a blocking GC Explicit
09-06 16:57:23.464 8254 8254 I art : Explicit concurrent mark sweep GC freed 36(1664B) AllocSpace objects, 0(0B) LOS objects, 24% free, 16MB/21MB, paused 366us total 17.785ms
09-06 16:57:23.488 8254 8254 E WindowManager:
09-06 16:57:23.488 8254 8254 E WindowManager: android.view.WindowLeaked: Activity com.android.camera.CameraActivity has leaked window com.android.internal.policy.PhoneWindow$DecorView{70ef881 V.E...... R....... 0,0-1026,590} that was originally added here
09-06 16:57:23.488 8254 8254 E WindowManager: at android.view.ViewRootImpl.<init>(ViewRootImpl.java:372)
09-06 16:57:23.488 8254 8254 E WindowManager: at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:299)
09-06 16:57:23.488 8254 8254 E WindowManager: at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:86)
09-06 16:57:23.488 8254 8254 E WindowManager: at android.app.Dialog.show(Dialog.java:319)
09-06 16:57:23.488 8254 8254 E WindowManager: at android.app.AlertDialog$Builder.show(AlertDialog.java:1112)
09-06 16:57:23.488 8254 8254 E WindowManager: at com.android.camera.util.CameraUtil.showErrorAndFinish(CameraUtil.java:403)
09-06 16:57:23.488 8254 8254 E WindowManager: at com.android.camera.CameraActivity$2.onDeviceOpenFailure(CameraActivity.java:318)
09-06 16:57:23.488 8254 8254 E WindowManager: at com.android.camera.AndroidCameraManagerImpl$CameraOpenErrorCallbackForward$2.run(AndroidCameraManagerImpl.java:990)
09-06 16:57:23.488 8254 8254 E WindowManager: at android.os.Handler.handleCallback(Handler.java:739)
09-06 16:57:23.488 8254 8254 E WindowManager: at android.os.Handler.dispatchMessage(Handler.java:95)
09-06 16:57:23.488 8254 8254 E WindowManager: at android.os.Looper.loop(Looper.java:148)
09-06 16:57:23.488 8254 8254 E WindowManager: at android.app.ActivityThread.main(ActivityThread.java:5461)
09-06 16:57:23.488 8254 8254 E WindowManager: at java.lang.reflect.Method.invoke(Native Method)
09-06 16:57:23.488 8254 8254 E WindowManager: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
09-06 16:57:23.488 8254 8254 E WindowManager: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Thx for the fix. but...
I flashed with Alka TWRP but it didn't work on my current ROM (cm13 Resurrection remix 20160829) after flashed the phone just do optimized apps and there's still no front camera switch button in camera app. :crying::crying:

Guys, new version of front camera fix is released.
Changelog:
Use blobs from latets Miui MM build
Optimised for changes in proprietary files by CM Team
Download:
https://drive.google.com/open?id=0B-Fin8UxrD6PTWZ2cjFuaVVaYk0
@Alvarnar and @geriak pls check this version. Thanks.
I tested it on the CM13 build of 9th September. It works fine.

tank0412 said:
Guys, new version of front camera fix is released.
Changelog:
Use blobs from latets Miui MM build
Optimised for changes in proprietary files by CM Team
Download:
https://drive.google.com/open?id=0B-Fin8UxrD6PTWZ2cjFuaVVaYk0
@Alvarnar and @geriak pls check this version. Thanks.
I tested it on the CM13 build of 9th September. It works fine.
Click to expand...
Click to collapse
Thanks! Trying it out now!

hi,
thanks for your work
but for me it does not work yet.
problem is diversity of hardware
my front cam s5k5e8 mod (z5e8yab) work fine !! bat back cam s5k3p3 mod gt24c64?* or f3p3man (I'm not sure which) missing libraries and crash (error can’t connect)
you could add libraries for both gt24c64, f3p3man
thx

Looks like the fix was added to cm
http://review.cyanogenmod.org/#/c/162083/

NTRNSTR said:
Looks like the fix was added to cm
I think it was added to CM14 branch not CM13 branch.
Click to expand...
Click to collapse

juantamad38 said:
I think it was added to CM14 branch not CM13 branch.
Click to expand...
Click to collapse
welp, seems they will abandon CM13 and continuing project for CM14. I hope some custom kernels can implement this new patch on CM13 until CM14 stable/nightly builds coming.

SepdrianPutra said:
welp, seems they will abandon CM13 and continuing project for CM14. I hope some custom kernels can implement this new patch on CM13 until CM14 stable/nightly builds coming.
Click to expand...
Click to collapse
Looks like it... I guess I just have to wait for the Official CM14 or the MIUI 8 Marsmallow edition.

My rear camera works fine on every ROM, but front only in MIUI. On AOSP/CM based phone doesn't see a front camera, even after I installed these blobs.

kubapl66 said:
My rear camera works fine on every ROM, but front only in MIUI. On AOSP/CM based phone doesn't see a front camera, even after I installed these blobs.
Click to expand...
Click to collapse
Can you share what program did you use to check your camera, I mean this screenshot showing software version?
BTW: I applied blobs from 1408 over official CM and it works like a charm.

rudix78 said:
Can you share what program did you use to check your camera, I mean this screenshot showing software version?
BTW: I applied blobs from 1408 over official CM and it works like a charm.
Click to expand...
Click to collapse
tap on MIUI build number and it will enter CIT mode. I believe that is in software version.

Related

Need help by Camera Porting...

Hi!
I have port this ROM ►►[AOSP] 4.2.2 - S4 Google Edition - Final-v1 - Feel the Experience of Nexus◄◄ (from S4 (GT-I9505) to my S4 Active.
Here is my port: [AOSP][Port]★I9295★ Official 4.2.2 - S4 Google Edition - Feel the Experience of Nexus
All is running but i get the Camera not to work.....
S4 have a 13MP Camera and the S4Active have only a 8MP.
The AOSP Camera from the S4 ROM open and get then the Error "no connection to camera"
I have try a few files from LIB folder .... not work
I have try Android 4.2 Camera .... not work
I have try CM10.1 Camera from N7100 .... not work
I have no more ideas .... it is my first ROM Port ... i hope any one can help me!!
Logcat first!!
You can try these from an AOSP rom for your device
camera.msm8960.so
liboemcamera
All libchromatix
libsecnativefeature
libcsd-client
libvdis.so
There is no AOSP ROM at the moment....
I will make an Logcat and post it here!
Ok then, just pull those from stock tw
CNexus said:
camera.msm8960.so
liboemcamera
All libchromatix
libsecnativefeature
libcsd-client
libvdis.so
Click to expand...
Click to collapse
So i copy this files from my stock TW deodexed ROM (Camera Works) to the GoogleEdition (Port) ... the file libvdis.so can i not found
In attachment i make a logcat..... There are a few Errors about the camera.
Code:
F/libc ( 3127): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 3143 (Binder_4)
E/mm-camera( 317): config_proc_native_ctrl_cmd: CAMERA_SET_PARM_DIMENSION called
F/libc ( 317): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 2794 (mm-qcamera-daem)
Error = Galerie stoppt
Error = no connection to camera
the camera and galerie App is from the Original GoogleEdition ROM. With the TW Cam App and Galerie App the same
Any one more have an Idea?? :crying:
Try adding/overwriting these from the stock rom. At least they made the camera work with cm 10.1. You probably want to add the rest of the libchromatix_s5k3h5xa... files.
# Probably don't need to change these
lib/libmmjpeg.so
lib/libgemini.so
lib/libmercury.so
lib/libmmcamera_statsproc31.so
lib/libmmcamera_frameproc.so
lib/libmmcamera_wavelet_lib.so
lib/libmmcamera_hdr_lib.so
lib/libmmcamera_plugin.so
lib/libmmcamera_interface.so
lib/libmmjpeg_interface.so
lib/libmmstillomx.so
# Probably need to add/change these
lib/liboemcamera.so
lib/libchromatix_s5k3h5xa_zsl.so
lib/libchromatix_s5k3h5xa_default_video.so
lib/libTsAwb.so
lib/libTsAccm.so

Build-in VPN broken in Nougat 7.0/7.1/7.1.1 - Jiayu S3 Jiayu S3 [MT6752]

Hello,
I'm opening this thread to provide some info about a bug introduced in the nougat releases.
Since 7.0 first release build-in VPN client is broken, any connection end with an error under the menu entry, without any traffic goingout of the device.
Logcat shows a link error un the racoon binary (responsible of ipsec connections):
Code:
12-11 10:16:19.669 3496 3496 F libc : CANNOT LINK EXECUTABLE "/system/bin/racoon": cannot locate symbol "DES_is_weak_key" referenced by "/system/bin/racoon"...
12-11 10:16:19.669 3496 3496 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 3496 (racoon)
12-11 10:16:19.725 3497 3497 F DEBUG : pid: 3496, tid: 3496, name: racoon >>> /system/bin/racoon <<<
This feature was working in LP/MM, but is broken since first N release. Digging a bit into the MM libs looks like the symbol "DES_is_weak_key" was in the dynamic table of libWVStreamControlAPI_L3.so library (which is missing in N):
Code:
$ ./aarch64-linux-android-objdump -T /mnt/vendor/lib/libWVStreamControlAPI_L3.so | grep DES_is_weak_key
0019b9ac g DF .text 00000028 Base DES_is_weak_key
Hope this helps to develop a fix in next updates.
Best regards,
Hello magamo79,
thank you for providing these infos. That is probably the best bug report, we have ever got .
We are using an older racoon binary in vendor which is wrong. I already made a bigger cleanup on s3 plus (which also removes this binary from vendor so that it gets build from source). This change is missing in s3 repos. We will work on merging them in the next days. Then this error will also be fixed.
Short correction: DES_is_weak_key isn't defined by libWVStreamControlAPI_L3. It is only used in libWVStreamControlAPI_L3 and racoon. This symbol got defined by openssl which isn't used in android anymore.
Cheers
Hi again,
The VPN error is fixed in that last build (Build [7.1.1] 20170105 - Stable 6). Great Job @fire855 & Team :good:
Best regards,

Port Note7 Rom For N900

Hi Dev's... I'm trying to port MM rom From S5 Exynos... So i took rom from their and kernel from Tab S (Because it have the same Exynos 5420) and got this main errors in boot
03-26 07:58:51.900 2299 2337 I sdp.engine_list: Socket created with fd:-1
03-26 07:58:51.900 2299 2337 E sdp.engine_list: Exiting
03-26 07:58:51.940 2597 2726 E SamsungPowerSound: earphone state reading is fa
iled
Sent from my SM-N900 using Tapatalk
Yahia Angelo said:
Hi Dev's... I'm trying to port MM rom From S5 Exynos... So i took rom from their and kernel from Tab S (Because it have the same Exynos 5420) and got this main errors in boot
03-26 07:58:51.900 2299 2337 I sdp.engine_list: Socket created with fd:-1
03-26 07:58:51.900 2299 2337 E sdp.engine_list: Exiting
03-26 07:58:51.940 2597 2726 E SamsungPowerSound: earphone state reading is fa
iled
Click to expand...
Click to collapse
@tincho5588 can you help me with this
Yahia Angelo said:
Hi Dev's... I'm trying to port MM rom From S5 Exynos... So i took rom from their and kernel from Tab S (Because it have the same Exynos 5420) and got this main errors in boot
03-26 07:58:51.900 2299 2337 I sdp.engine_list: Socket created with fd:-1
03-26 07:58:51.900 2299 2337 E sdp.engine_list: Exiting
03-26 07:58:51.940 2597 2726 E SamsungPowerSound: earphone state reading is fa
iled
Sent from my SM-N900 using Tapatalk
Click to expand...
Click to collapse
Hi Hope help you. ( sorry i don't know about Create and edit android kernel and rom )
http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source
and one thing are you sure you have all SDK and JDK and anything need for Android developer . i suggest to use Builduntu
http://forum.xda-developers.com/showthread.php?t=2585828
@Dilshad Younes
@henrylife could you please help ?
@Yahia Angelo Hi ,check this out stock marshmallow kernel for N900. It is ported from Tab S
android_kernel_samsung_universal5420/build.sh at stock-6.0 · jcadduono/android_kernel_samsung_universal5420 · GitHub
https://github.com/jcadduono/android_kernel_samsung_universal5420/blob/stock-6.0/build.sh
We have kernel, we have developers, i think finally its time to taste Marshmallow.

Anyone having pandora, or other media pausing after a period of time w/ screen off?

I logged the events leading up to and after and this is what I see:
After the pause:
09-21 17:51:22.101 2109 2190 D vol.MediaSessions: onPlaybackStateChanged com.pandora.android STATE_PAUSED PlaybackState {state=2, position=154000, buffered position=0, speed=0.0, updated=286644238, actions=6, custom actions=[Action:mName='Thumb Down, mIcon=2130838088, mExtras=Bundle[mParcelledData.dataSize=144], Action:mName='Thumb Up, mIcon=2130838091, mExtras=Bundle[mParcelledData.dataSize=144], Action:mName='Skip Track, mIcon=2130838043, mExtras=Bundle[mParcelledData.dataSize=144], Action:mName='Bookmark, mIcon=2130837765, mExtras=Bundle[mParcelledData.dataSize=144]], active item id=-1, error=null}
Click to expand...
Click to collapse
and immediately before the pause:
09-21 17:51:22.069 1407 4449 D PowerManagerService: [api] release WakeLock SCREEN_BRIGHT_WAKE_LOCK 'p.ft.d' (uid=10201, pid=9027, ws=null) (uid=10201, pid=9027, ws=null, pkg=com.pandora.android, elapsedTime=1811656) (0x0) .09-21 17:51:22.092 1407 1407 D EdgeLightingManager: showForNotification : isInteractive=false, isHeadUp=false, color=0, sbn = StatusBarNotification(pkg=com.pandora.android user=UserHandle{0} id=1 tag=null key=0|com.pandora.android|1|null|10201: Notification(pri=0 contentView=com.pandora.android/0x7f0400c2 vibrate=null sound=null defaults=0x0 flags=0x62 color=0x00000000 category=transport vis=PUBLIC semFlags=0x0 semPriority=0))werManagerService: [api] release WakeLock SCREEN_BRIGHT_WAKE_LOCK 'p.ft.d' (uid=10201, pid=9027, ws=null) (uid=10201, pid=9027, ws=null, pkg=com.pandora.android, elapsedTime=1811656) (0x0)
Click to expand...
Click to collapse
09-21 17:51:22.097 1407 5688 D MediaSessionRecord: setPlaybackState oldState:3, newState:2, packageName:com.pandora.android
Click to expand...
Click to collapse
09-21 17:51:22.092 1407 1407 D EdgeLightingManager: showForNotification : isInteractive=false, isHeadUp=false, color=0, sbn = StatusBarNotification(pkg=com.pandora.android user=UserHandle{0} id=1 tag=null key=0|com.pandora.android|1|null|10201: Notification(pri=0 contentView=com.pandora.android/0x7f0400c2 vibrate=null sound=null defaults=0x0 flags=0x62 color=0x00000000 category=transport vis=PUBLIC semFlags=0x0 semPriority=0))
Click to expand...
Click to collapse
Any input would be appreciated.
Thanks
Dave

[Request][Discussion]MIUI 10 Treble

Hi. As the title says i'm requesting for MIUI 10 Treble. Thanks!
*Please move if wrong forum*
no possible create GSI Miui 10 ??
I'm working on MIUI 9 one atm but it's based on 6x which isn't MIUI 10 yet. Maybe I will change to one of the other ones, if they're Treble. But only when xiaomi.eu builds come out.
I can't even get the device past init yet, because I have a seamless device perhaps and it just kicks me into fastboot (we encountered the same issue when porting Treble to the Mi A1). Not sure what the problem is.
I also have an annoying issue on my Ubuntu machine where I can't umount the system image because it's apparently busy, which could be causing issues.
CosmicDan said:
I'm working on MIUI 9 one atm but it's based on 6x which isn't MIUI 10 yet. Maybe I will change to one of the other ones, if they're Treble. But only when xiaomi.eu builds come out.
I can't even get the device past init yet, because I have a seamless device perhaps and it just kicks me into fastboot (we encountered the same issue when porting Treble to the Mi A1). Not sure what the problem is.
I also have an annoying issue on my Ubuntu machine where I can't umount the system image because it's apparently busy, which could be causing issues.
Click to expand...
Click to collapse
what miui9 your working??
Yes,we need some different ui like miui,flyme to taste something else other than aosp
CosmicDan said:
I'm working on MIUI 9 one atm but it's based on 6x which isn't MIUI 10 yet. Maybe I will change to one of the other ones, if they're Treble. But only when xiaomi.eu builds come out.
I can't even get the device past init yet, because I have a seamless device perhaps and it just kicks me into fastboot (we encountered the same issue when porting Treble to the Mi A1). Not sure what the problem is.
I also have an annoying issue on my Ubuntu machine where I can't umount the system image because it's apparently busy, which could be causing issues.
Click to expand...
Click to collapse
Are you sure it's possible? Someone said DSSI can't be modified into a GSI.
fxsheep said:
Are you sure it's possible? Someone said DSSI can't be modified into a GSI.
Click to expand...
Click to collapse
Why not? Source please?
CosmicDan said:
Why not? Source please?
Click to expand...
Click to collapse
I may have said something to the effect of it being difficult to do because of greater integration between system and vendor, since the DSSI can expect private vendor implementations to be available in /vendor that a GSI can't.
I do recall saying it was a bad idea to flash a DSSI on something other than the device it was made for (except maybe very similar devices), but I'd imagine that should be obvious.
irony_delerium said:
I may have said something to the effect of it being difficult to do because of greater integration between system and vendor, since the DSSI can expect private vendor implementations to be available in /vendor that a GSI can't.
I do recall saying it was a bad idea to flash a DSSI on something other than the device it was made for (except maybe very similar devices), but I'd imagine that should be obvious.
Click to expand...
Click to collapse
Fair enough.
Well I am hoping it's possible. Basically all I've tried so far is whacking the /system folder into a GSI, but I have a seamless device and it's not even getting past init so I can't see logcat. I'm not sure why. I've been diff'ing MIUI /system with GSI /system and nothing really stands out.
CosmicDan said:
Fair enough.
Well I am hoping it's possible. Basically all I've tried so far is whacking the /system folder into a GSI, but I have a seamless device and it's not even getting past init so I can't see logcat. I'm not sure why. I've been diff'ing MIUI /system with GSI /system and nothing really stands out.
Click to expand...
Click to collapse
On one hand, I've got 2 (technically 3, if you count my HiKey960 dev board) A-only devices. On the other, Xiaomi devices tend to run MTK or Qualcomm chipsets if I'm not mistaken, which none of mine have - both Mate 9's. (And the dev board, I have yet to get a working Treble implementation on it, and it would likely be API 27/P since it's only supported by AOSP master right now.)
Otherwise, I'd offer assistance - if I were going to do it, I'd start with hardware that's similar to what the DSSI expects, get it running there, and then start moving to dissimilar hardware.
I would imagine it _should_ be possible - someone managed to get somewhere with the Pixel P preview images, as I recall. I think I read that it was booting but still broken all over the place.
irony_delerium said:
On one hand, I've got 2 (technically 3, if you count my HiKey960 dev board) A-only devices. On the other, Xiaomi devices tend to run MTK or Qualcomm chipsets if I'm not mistaken, which none of mine have - both Mate 9's. (And the dev board, I have yet to get a working Treble implementation on it, and it would likely be API 27/P since it's only supported by AOSP master right now.)
Otherwise, I'd offer assistance - if I were going to do it, I'd start with hardware that's similar to what the DSSI expects, get it running there, and then start moving to dissimilar hardware.
I would imagine it _should_ be possible - someone managed to get somewhere with the Pixel P preview images, as I recall. I think I read that it was booting but still broken all over the place.
Click to expand...
Click to collapse
Fair idea. The Redmi S2 has same SoC as my A1 and is Treble, but there's no xiaomi.eu builds for it yet (and I need theirs because they remove some of the original device protections). So I'm working with 6x atm, next closest hardware.
CosmicDan said:
Why not? Source please?
Click to expand...
Click to collapse
This is from a P DSSI port
erfanoabdi said:
if you understand what is CLT it's nothing but a copy paste script
and we don't have GSI P at all
i used marlin system and vendor images to make this rom from lineage with many patches, hex edits and hacks
i'll make a guide for all i did on griffin later
Click to expand...
Click to collapse
---------- Post added at 01:37 PM ---------- Previous post was at 01:09 PM ----------
CosmicDan said:
I'm working on MIUI 9 one atm but it's based on 6x which isn't MIUI 10 yet. Maybe I will change to one of the other ones, if they're Treble. But only when xiaomi.eu builds come out.
I can't even get the device past init yet, because I have a seamless device perhaps and it just kicks me into fastboot (we encountered the same issue when porting Treble to the Mi A1). Not sure what the problem is.
I also have an annoying issue on my Ubuntu machine where I can't umount the system image because it's apparently busy, which could be causing issues.
Click to expand...
Click to collapse
irony_delerium said:
On one hand, I've got 2 (technically 3, if you count my HiKey960 dev board) A-only devices. On the other, Xiaomi devices tend to run MTK or Qualcomm chipsets if I'm not mistaken, which none of mine have - both Mate 9's. (And the dev board, I have yet to get a working Treble implementation on it, and it would likely be API 27/P since it's only supported by AOSP master right now.)
Otherwise, I'd offer assistance - if I were going to do it, I'd start with hardware that's similar to what the DSSI expects, get it running there, and then start moving to dissimilar hardware.
I would imagine it _should_ be possible - someone managed to get somewhere with the Pixel P preview images, as I recall. I think I read that it was booting but still broken all over the place.
Click to expand...
Click to collapse
P preview can be possible, the two phones have the same processor,so itis just like a ported ROM that don't related to treble.
I just *guess* that the DSSI is similar to a Non-Treble phone's ROM. I flashed a bootable AOSP GSI on a trebled phone and it boots fine,but since I just replace the /system/bin with one in MIUI DSSI, the phone will directly drop to fastboot mode.
So the DSSI maybe just like all the nougat roms,that they use the vendor directly,don't go through treble.
If GSI-ify a DSSI image is possible, then I have some ideas.
Before trying to make a MIUI GSI,we could first get a DSSI Lineage ROM,e.g. Xiaomi MI 6 Lineage OS 15.1 treble. This is a device with unofficial treble,and the lineage rom uses a DSSI image .This situation is just like the Redmi S2 or whyred, but this DSSI image contains the least private vendor stuff.It's nearly a GSI image.
So if we first get it boot on a phone with different processor,then we could prove that crossing processors is possible.Then we may use a similar way to make MIUI DSSI go past fastboot.
fxsheep said:
This is from a P DSSI port
---------- Post added at 01:37 PM ---------- Previous post was at 01:09 PM ----------
P preview can be possible, the two phones have the same processor,so itis just like a ported ROM that don't related to treble.
I just *guess* that the DSSI is similar to a Non-Treble phone's ROM. I flashed a bootable AOSP GSI on a trebled phone and it boots fine,but since I just replace the /system/bin with one in MIUI DSSI, the phone will directly drop to fastboot mode.
So the DSSI maybe just like all the nougat roms,that they use the vendor directly,don't go through treble.
If GSI-ify a DSSI image is possible, then I have some ideas.
Before trying to make a MIUI GSI,we could first get a DSSI Lineage ROM,e.g. Xiaomi MI 6 Lineage OS 15.1 treble. This is a device with unofficial treble,and the lineage rom uses a DSSI image .This situation is just like the Redmi S2 or whyred, but this DSSI image contains the least private vendor stuff.It's nearly a GSI image.
So if we first get it boot on a phone with different processor,then we could prove that crossing processors is possible.Then we may use a similar way to make MIUI DSSI go past fastboot.
Click to expand...
Click to collapse
GSI is something Phh created. It's basically the same as other Treble ROM's - it talks to vendor through VNDK. He uses a dummy device tree though to ensure that there are no broken contracts outside of the Treble architecture pattern.
It is likely that DSSI's use stuff on their own system or vendor that are outside of the VNDK interface, though - that's true. But those are specific to the ROM overlay, not the core Android experience.
Indeed, the goal in porting a DSSI is to identify these things.
We (I) already have a device with unofficial Treble, BTW - I and another guy developed it ourselves. So Mi 6 Treble (a device I don't even have) won't help.
When we compile RR for our device under Treble, the Vendor is 100% GSI compatible as a result. The RR ROM itself needed no changes - we basically just added some build flags and moved some blobs to vendor from system. This was needed to even get *our* Treble ROM booting, though. The GSI's just happened to work automatically after that (minus some issues like camera blobs having hardcoded paths to /system).
In other words, we effectively compiled a DSSI with GSI-compatible Vendor with only VNDK-related build flags (and some vendor-located scripts to inject hardware blobs onto system).
Reversing that process is the key to port a DSSI to GSI.
I have diff'ed our classic non-Treble RR with Treble RR build, but I didn't find any leads. It's something specific to MIUI.
Maybe instead of replacing the whole system, I'll just replace the GSI framework and app packages with MIUI ones and see what happens. At least then it should get past init. There will of course be missing services in initfs that MIUI depends on, at the least. But hopefully no kind of DRM-like protections that block it from init.
I've a hunch that MIUI vendor has things that aren't actually from the vendor but for MIUI, which would be technically incorrect but a simple and effective way to prevent direct kanging.
With all that said, I do have a source of anxiety here - I need to be able to record and then script all this porting process so the GSI-ported ROM can actually be updated as the base DSSI gets new builds. That's going to be a headache. I don't want to be spending the rest of my days updating and editing a build script for MIUI GSI :\
Alright, small progress update (in the spirit of openness).
Turns out my boot issues were because I needed to recreate the ext4 image with file_contexts, which I had to stick together from GSI and my vendor partition with a bit of extras.
If I replace the whole system/ with MIUI system, I just get a kick into fastboot with no console-ramoops so the sledgehammer approach is out.
Instead I've replaced app, priv-app and framework with MIUI versions so I can at least get to the zygote bring up stage and go from there.
Ofc it doesn't boot, I will need to modify my rootfs at least and probably add some MIUI specific init rc's and services and the like. Thankfully I have an AB device so I don't need to modify my boot.img at all for this.
Stay tuned.
CosmicDan said:
Alright, small progress update (in the spirit of openness).
Turns out my boot issues were because I needed to recreate the ext4 image with file_contexts, which I had to stick together from GSI and my vendor partition with a bit of extras.
If I replace the whole system/ with MIUI system, I just get a kick into fastboot with no console-ramoops so the sledgehammer approach is out.
Instead I've replaced app, priv-app and framework with MIUI versions so I can at least get to the zygote bring up stage and go from there.
Ofc it doesn't boot, I will need to modify my rootfs at least and probably add some MIUI specific init rc's and services and the like. Thankfully I have an AB device so I don't need to modify my boot.img at all for this.
Stay tuned.
Click to expand...
Click to collapse
Little noob doubt;... devs ported miui10 for oneplus5 and 5T . Then why can't we! And yea oneplus 5 is not A/B . But that we can discuss or try to rectify our A/B partition problem,then it should be slightly easy to port know. _just my little thoughts and yea im really confused
balavignesh s said:
Little noob doubt;... devs ported miui10 for oneplus5 and 5T . Then why can't we! And yea oneplus 5 is not A/B . But that we can discuss or try to rectify our A/B partition problem,then it should be slightly easy to port know. _just my little thoughts and yea im really confused
Click to expand...
Click to collapse
Porting to AB makes things easier actually. I don't need to repack boot.img.
But that's beside the point. I can port a normal MIUI easily, in fact I have got it working basically on Mi A1 with minor issues (no I will not release it). But I want to port it on a Treble GSI base so it's more universal and easier to maintain - that's the challenge.
EDIT: Another update. I'm now up to the stage of resolving lib mismatches (i.e. native methods that MIUI adds). This is the hard part.
CosmicDan said:
Porting to AB makes things easier actually. I don't need to repack boot.img.
But that's beside the point. I can port a normal MIUI easily, in fact I have got it working basically on Mi A1 with minor issues (no I will not release it). But I want to port it on a Treble GSI base so it's more universal and easier to maintain - that's the challenge.
EDIT: Another update. I'm now up to the stage of resolving lib mismatches (i.e. native methods that MIUI adds). This is the hard part.
Click to expand...
Click to collapse
I have seen that some huawei devices with sd625 are running emui. Is it possible to port it to our device? I had huawei phone before and it seems to be a bit more complicated than miui.
Btw. Good luck with miui port, you are great Dev
Wysłane z mojego Mi A1 przy użyciu Tapatalka
Mirdeusz said:
I have seen that some huawei devices with sd625 are running emui. Is it possible to port it to our device? I had huawei phone before and it seems to be a bit more complicated than miui.
Btw. Good luck with miui port, you are great Dev
Wysłane z mojego Mi A1 przy użyciu Tapatalka
Click to expand...
Click to collapse
Of course it's possible. Just a matter of someone skilled and interested enough to do it.
Off topic, though. I'm not doing EMUI. I might do Flyme because I've never used it, but probably not because I am not experienced with it (I have been porting MIUI since 2012).
Once I get MIUI up it will include build scripts though, so maybe it can help someone else work on porting other ROMs.
Another small update: In order to maintain as much GSI compatibility as possible, some hardware-related MIUI features will very likely be broken. I had to strip their custom camera stuff out already, for example - so that means using your own device's or AOSP compatible camera.
OK, here's a technical rundown of where I'm at now (which is also a bit of a blocker).
Trying to get the extra MIUI resources (framework and platform APK's) seems to be impossible without replacing a large chunk of libs. That's a bummer. But I'll post the info here for posterity reasons, if not to catch the attention of someone clever and interested enough to know more.
First of all, we need to inject the new framework/platform APK's to the zygote whitelist. I do this by hooking the start of ZygoteInit.smali#preloadClasses()V:
Code:
# CosmicDan - inject miui platform APK's to whitelist
const-string/jumbo v0, "/system/app/miui/miui.apk"
invoke-static {v0}, Lcom/android/internal/os/Zygote;->nativeAllowFileAcrossFork(Ljava/lang/String;)V
const-string/jumbo v0, "/system/app/miuisystem/miuisystem.apk"
invoke-static {v0}, Lcom/android/internal/os/Zygote;->nativeAllowFileAcrossFork(Ljava/lang/String;)V
const-string/jumbo v0, "/system/framework/framework-ext-res/framework-ext-res.apk"
invoke-static {v0}, Lcom/android/internal/os/Zygote;->nativeAllowFileAcrossFork(Ljava/lang/String;)V
...this worked. Well, at least it got rid of the "not whitelisted:" errors on logcat. Still, even with this here, I get errors like this in logcat:
Code:
06-09 02:40:10.374 599 599 I Zygote : Preloading resources...
06-09 02:40:10.446 599 599 I Zygote : ...preloaded 86 resources in 71ms.
06-09 02:40:10.448 599 599 W ReflectionUtils:
06-09 02:40:10.448 599 599 W ReflectionUtils: java.lang.reflect.InvocationTargetException
06-09 02:40:10.448 599 599 W ReflectionUtils: at java.lang.reflect.Method.invoke(Native Method)
06-09 02:40:10.448 599 599 W ReflectionUtils: at miui.util.ReflectionUtils.callStaticMethod(Unknown Source:5)
06-09 02:40:10.448 599 599 W ReflectionUtils: at miui.util.ReflectionUtils.tryCallStaticMethod(Unknown Source:3)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInitInjector.preloadMiuiResources(Unknown Source:44)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInit.preloadResources(Unknown Source:95)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInit.preload(Unknown Source:41)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInit.main(Unknown Source:252)
06-09 02:40:10.448 599 599 W ReflectionUtils: Caused by: android.content.res.Resources$NotFoundException: Drawable miui:drawable/action_bar_back_normal_dark with resource ID #0x10020080
06-09 02:40:10.448 599 599 W ReflectionUtils: Caused by: android.content.res.Resources$NotFoundException: File res/drawable-xxhdpi-v4/action_bar_back_normal_dark.png from drawable resource ID #0x10020080
06-09 02:40:10.448 599 599 W ReflectionUtils: at android.content.res.ResourcesImpl.loadDrawableForCookie(Unknown Source:177)
06-09 02:40:10.448 599 599 W ReflectionUtils: at android.content.res.ResourcesImpl.loadDrawable(Unknown Source:338)
06-09 02:40:10.448 599 599 W ReflectionUtils: at android.content.res.MiuiResourcesImpl.loadDrawable(Unknown Source:25)
06-09 02:40:10.448 599 599 W ReflectionUtils: at android.content.res.Resources.getDrawableForDensity(Unknown Source:14)
06-09 02:40:10.448 599 599 W ReflectionUtils: at android.content.res.Resources.getDrawable(Unknown Source:1)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInit.preloadDrawables(Unknown Source:17)
06-09 02:40:10.448 599 599 W ReflectionUtils: at java.lang.reflect.Method.invoke(Native Method)
06-09 02:40:10.448 599 599 W ReflectionUtils: at miui.util.ReflectionUtils.callStaticMethod(Unknown Source:5)
06-09 02:40:10.448 599 599 W ReflectionUtils: at miui.util.ReflectionUtils.tryCallStaticMethod(Unknown Source:3)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInitInjector.preloadMiuiResources(Unknown Source:44)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInit.preloadResources(Unknown Source:95)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInit.preload(Unknown Source:41)
06-09 02:40:10.448 599 599 W ReflectionUtils: at com.android.internal.os.ZygoteInit.main(Unknown Source:252)
06-09 02:40:10.448 599 599 W ReflectionUtils: Caused by: java.io.FileNotFoundException: res/drawable-xxhdpi-v4/action_bar_back_normal_dark.png
06-09 02:40:10.448 599 599 W ReflectionUtils: at android.content.res.AssetManager.openNonAssetNative(Native Method)
06-09 02:40:10.448 599 599 W ReflectionUtils: at android.content.res.AssetManager.openNonAsset(Unknown Source:17)
06-09 02:40:10.448 599 599 W ReflectionUtils: at android.content.res.ResourcesImpl.loadDrawableForCookie(Unknown Source:429)
06-09 02:40:10.448 599 599 W ReflectionUtils: ... 12 more
06-09 02:40:10.448 599 599 I ZygoteInitInjector: ...preloaded 0 miui sdk resources in 2ms.
...that resource exists in miuisystem.apk (IIRC, might be miui.apk), which is whitelisted now and indeed on the classpath (I see it in all the dex2oat related calls elsewhere). But for some reason it still can't seem to find it - it's resources aren't "included" for some reason.
Back in the day we had to add framework apk's to framework smali (AssetManager or some such class) when porting to get resources included, but we're already using 100% MIUI framework anyway so that should already be done.....
Now this is only a preload error - system should still boot after that. But what's worse is this error later on:
Code:
06-09 02:40:21.360 1632 1632 W ResourceType: DynamicRefTable(0x10): No mapping for build-time package ID 0x10.
06-09 02:40:21.361 1632 1632 W ResourceType: e[0x01] -> 0x01
06-09 02:40:21.361 1632 1632 W ResourceType: e[0x7f] -> 0x7f
06-09 02:40:21.361 1632 1632 E ResourceType: Failed resolving bag parent id 0x100d0100
06-09 02:40:21.373 1632 1684 D SystemServerInitThreadPool: Finished executing ReadingSystemConfig
06-09 02:40:21.377 1632 1632 I libthemeutils: Theme´╝Ü libthemeutil.so load success
06-09 02:40:21.383 1632 1632 E System : ******************************************
06-09 02:40:21.383 1632 1632 E System : ************ Failure starting system services
06-09 02:40:21.383 1632 1632 E System : java.lang.RuntimeException: Failed to create service com.android.server.am.ActivityManagerService$Lifecycle: service constructor threw an exception
06-09 02:40:21.383 1632 1632 E System : at com.android.server.SystemServiceManager.startService(Unknown Source:178)
06-09 02:40:21.383 1632 1632 E System : at com.android.server.SystemServer.startBootstrapServices(Unknown Source:81)
06-09 02:40:21.383 1632 1632 E System : at com.android.server.SystemServer.run(Unknown Source:266)
06-09 02:40:21.383 1632 1632 E System : at com.android.server.SystemServer.main(Unknown Source:10)
06-09 02:40:21.383 1632 1632 E System : at java.lang.reflect.Method.invoke(Native Method)
06-09 02:40:21.383 1632 1632 E System : at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
06-09 02:40:21.383 1632 1632 E System : at com.android.internal.os.ZygoteInit.main(Unknown Source:306)
06-09 02:40:21.383 1632 1632 E System : Caused by: java.lang.reflect.InvocationTargetException
06-09 02:40:21.383 1632 1632 E System : at java.lang.reflect.Constructor.newInstance0(Native Method)
06-09 02:40:21.383 1632 1632 E System : at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
06-09 02:40:21.383 1632 1632 E System : at com.android.server.SystemServiceManager.startService(Unknown Source:135)
06-09 02:40:21.383 1632 1632 E System : ... 6 more
06-09 02:40:21.383 1632 1632 E System : Caused by: android.content.res.Resources$NotFoundException: File res/xml/power_profile.xml from xml type xml resource ID #0x1170010
06-09 02:40:21.383 1632 1632 E System : at android.content.res.ResourcesImpl.loadXmlResourceParser(Unknown Source:190)
06-09 02:40:21.383 1632 1632 E System : at android.content.res.Resources.loadXmlResourceParser(Unknown Source:23)
06-09 02:40:21.383 1632 1632 E System : at android.content.res.Resources.getXml(Unknown Source:3)
06-09 02:40:21.383 1632 1632 E System : at com.android.internal.os.PowerProfile.readPowerValuesFromXml(Unknown Source:9)
06-09 02:40:21.383 1632 1632 E System : at com.android.internal.os.PowerProfile.<init>(Unknown Source:14)
06-09 02:40:21.383 1632 1632 E System : at com.android.server.am.BatteryStatsService.<init>(Unknown Source:104)
06-09 02:40:21.383 1632 1632 E System : at com.android.server.am.ActivityManagerService.<init>(Unknown Source:900)
06-09 02:40:21.383 1632 1632 E System : at com.android.server.am.ActivityManagerService$Lifecycle.<init>(Unknown Source:5)
06-09 02:40:21.383 1632 1632 E System : ... 9 more
06-09 02:40:21.383 1632 1632 E System : Caused by: java.io.FileNotFoundException: res/xml/power_profile.xml
06-09 02:40:21.383 1632 1632 E System : at android.content.res.AssetManager.openXmlAssetNative(Native Method)
06-09 02:40:21.383 1632 1632 E System : at android.content.res.AssetManager.openXmlBlockAsset(Unknown Source:17)
06-09 02:40:21.383 1632 1632 E System : at android.content.res.ResourcesImpl.loadXmlResourceParser(Unknown Source:48)
06-09 02:40:21.383 1632 1632 E System : ... 16 more
That's a resource that exists in the base framework-res.apk - but it's not being loaded for some reason.
I think the ResourceType errors just before it are a clue. The 0x10 might be a special ResourceType that MIUI adds. But ResourceTypes.cpp is part of androidfw (libandroidfw.so) - so it looks like it will need to be replaced.
This means that a true GSI MIUI may be impossible libandroidfw.so will definitely be linked against many other objects that MIUI has modified, and who knows how many of them are hardware-dependent.
I will make that attempt in replacing the required libs after libandroidfw.so (a tedious process of elimination) to at least see if it solves the resources problem. But if anybody knowledgeable enough comes a cross this and can help, please do.
CosmicDan said:
Of course it's possible. Just a matter of someone skilled and interested enough to do it.
Off topic, though. I'm not doing EMUI. I might do Flyme because I've never used it, but probably not because I am not experienced with it (I have been porting MIUI since 2012).
Once I get MIUI up it will include build scripts though, so maybe it can help someone else work on porting other ROMs.
Another small update: In order to maintain as much GSI compatibility as possible, some hardware-related MIUI features will very likely be broken. I had to strip their custom camera stuff out already, for example - so that means using your own device's or AOSP compatible camera.
Click to expand...
Click to collapse
Well we don't need to worry about flyme coz it has a patchrom project and it's still in maintenance.And since flyme updated to oreo ,we can patch an aosp gsi into flyme gsi.

Categories

Resources