[Amazfit] Quinny899:
Right now I'm at home and not on a phone, here's a dump of everything I know and have got working on the Pace in terms of custom ROMs. I have a second device I use for testing, and it's currently got something I hacked together from this on it. I used that ROM's system image as base, and copied across the following files from Pacefied (that I can remember, it was a few weeks ago now):

/system/bin/logcatd

/system/lib/sdcard

I also used a compare program to copy across drivers and device specific files, and went about reading the logcat and copying missing things, getting it further and further into the boot. The graphics drivers (libEGL_VIVANTE) aren't compiled for Oreo, so they have namespace issues. After copying way too many files to /system/vendor/lib/egl (this alone is a massive red flag, they should not be there at all), it complains something being missing:

05-05 17:43:17.572 7503 7503 E vndksupport: Could not load /vendor/lib/egl/libEGL_VIVANTE.so from sphal namespace: dlopen failed: /system/vendor/lib/egl/libcutils.so: cannot locate "_memset16"....
05-05 17:43:17.572 7503 7503 E libEGL : load_driver(/vendor/lib/egl/libEGL_VIVANTE.so): unknown
05-05 17:43:17.573 7503 7503 F libEGL : couldn't find an OpenGL ES implementation
05-05 17:43:17.573 7503 7503 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 7503 (surfaceflinger), pid 7503 (surfaceflinger)
05-05 17:43:17.671 7560 7560 I crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
05-05 17:43:17.671 7560 7560 E libc : failed to connect to tombstoned: No such file or directory
05-05 17:43:17.671 7560 7560 I crash_dump32: performing dump of process 7503 (target tid = 7503)
05-05 17:43:17.672 7560 7560 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-05 17:43:17.672 7560 7560 F DEBUG : Build fingerprint: 'Android/aosp_ci20/ci20:8.1.0/OPM1.171019.011/mousew03081157:userdebug/test-keys'
05-05 17:43:17.672 7560 7560 F DEBUG : Revision: '00000001'
05-05 17:43:17.672 7560 7560 F DEBUG : ABI: 'mips'
05-05 17:43:17.672 7560 7560 F DEBUG : pid: 7503, tid: 7503, name: surfaceflinger >>> /system/bin/surfaceflinger <<<
05-05 17:43:17.672 7560 7560 F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
05-05 17:43:17.679 7560 7560 F DEBUG : Abort message: 'couldn't find an OpenGL ES implementation'
05-05 17:43:17.679 7560 7560 F DEBUG : zr 00000000 at 00000001 v0 00000000 v1 bd35f1fe
05-05 17:43:17.679 7560 7560 F DEBUG : a0 00001d4f a1 00001d4f a2 00000006 a3 00000000
05-05 17:43:17.679 7560 7560 F DEBUG : t0 00000000 t1 00000001 t2 fffffffc t3 00000000
05-05 17:43:17.679 7560 7560 F DEBUG : t4 fffffffc t5 77eeb000 t6 00000000 t7 65704f20
05-05 17:43:17.680 7560 7560 F DEBUG : s0 7719c7e0 s1 00001d4f s2 00001d4f s3 7fa964c0
05-05 17:43:17.680 7560 7560 F DEBUG : s4 00000004 s5 00000001 s6 77825304 s7 77825048
05-05 17:43:17.680 7560 7560 F DEBUG : t8 00000000 t9 7709a380 k0 773a1e0b k1 00000000
05-05 17:43:17.680 7560 7560 F DEBUG : gp 7719c7e0 sp 7fa96488 s8 773a0000 ra 7709a6d0
05-05 17:43:17.680 7560 7560 F DEBUG : hi 00000000 lo 00000000 bva 77c77fe0 epc 7709a3c0
05-05 17:43:17.686 7560 7560 F DEBUG :
05-05 17:43:17.686 7560 7560 F DEBUG : backtrace:
05-05 17:43:17.686 7560 7560 F DEBUG : #00 pc 000193c0 /system/lib/libc.so (syscall+64)
05-05 17:43:17.686 7560 7560 F DEBUG : #01 pc 000196d0 /system/lib/libc.so (abort+164)
05-05 17:43:17.686 7560 7560 F DEBUG : #02 pc 00021e0b /system/lib/libEGL.so

So this driver isn't compatible, clearly. At this point I went and researched the GPU of the watch. It has a Vivante GC 1000, which has been used in a couple of Android devices before but they're ARM and ancient so are not helpful. However, the etnaviv project has created some support for it, I'm not sure how helpful it is though: https://github.com/etnaviv/etna_viv, it's also been merged into the mesa driver. Android x86 uses Mesa, so it's definitely compatible with Android, but we need a tree set up first as far as I know

That's where my experience ends. I've never built Android from source before, nor do I have the space for it at the moment. I'd be willing to assist in setting up a tree, though. The earlier linked CI20 code is here: https://github.com/MIPS/CI20_android