[Moto G4 Play ROMs, Kernels, Recoveries, & Other De] xMotoDA:
It's awesome that my device can now run Android 9!

What works

Camera, including video recording

Phone calls

Mobile data (LTE), after adding my carrier's APN

SafetyNet passes out of the box

Bugs/issues I've faced (device-specific)

Updater crashes with

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.updates.models.Update.getDownload()' on a null object reference
at com.updates.fragments.OTAFragment$2.onResponse(OTAFragment.java:105)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:71)

Google's Sounds app crashes so I can't change ringtone or message tone (If you install Gapps don't install this!). It seems to be a graphics issue:

Relevant (think so) logcat output:

03-04 18:26:40.466 5081 5105 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
03-04 17:57:45.158 31215 32483 D vndksupport: Loading /vendor/lib/hw/gralloc.msm8916.so from current namespace instead of sphal namespace.
03-04 18:26:40.486 5081 5114 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
03-04 18:26:40.492 5081 5114 I chatty : uid=10080(com.google.android.soundpicker) GLThread 1090 identical 44 lines
03-04 18:26:40.492 5081 5114 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
03-04 18:26:40.492 5081 5114 W GL2JNIView: creating OpenGL ES 2.0 context
03-04 18:26:40.492 5081 5114 E GL2JNIView: Before eglCreateContext 2: EGL error: 0x3004
03-04 18:26:40.501 5081 5114 W GL2JNIView: Returning a GLES 2 context
03-04 18:26:40.502 5081 5114 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
03-04 18:26:40.505 5081 5114 D vndksupport: Loading /vendor/lib/hw/gralloc.msm8916.so from current namespace instead of sphal namespace.
03-04 18:26:40.517 5081 5114 I GL2 : all initialized 2
03-04 18:26:40.518 5081 5114 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
03-04 18:26:40.518 5081 5114 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
03-04 18:26:40.534 5081 5114 E Adreno-SC: <CPPErrorToInfoLog:852>: GLSL line 1: Error: #version number unsupported
03-04 18:26:40.538 5081 5114 E Adreno-SC: <CPPErrorToInfoLog:852>: GLSL line 1: Error: #version is followed by spurious tokens
03-04 18:26:40.542 5081 5114 E Adreno-SC: <CPPErrorToInfoLog:852>: GLSL line 1: Error: #version number unsupported
03-04 18:26:40.542 5081 5114 E Adreno-SC: <CPPErrorToInfoLog:852>: GLSL line 1: Error: #version is followed by spurious tokens
03-04 18:26:40.560 5081 5114 E AndroidRuntime: FATAL EXCEPTION: GLThread 1090
03-04 17:57:45.231 31215 32483 E AndroidRuntime: Process: com.google.android.soundpicker, PID: 31215
03-04 17:57:45.231 31215 32483 E AndroidRuntime: java.lang.RuntimeException: Vertex shader
03-04 17:57:45.231 31215 32483 E AndroidRuntime: OpenGL ES #version <number> is not supported.
03-04 17:57:45.231 31215 32483 E AndroidRuntime: ERROR: 0:1: '' : GLSL compile error: #version number unsupported
03-04 17:57:45.231 31215 32483 E AndroidRuntime: ERROR: 0:1: '' : GLSL compile error: #version is followed by spurious tokens
03-04 17:57:45.231 31215 32483 E AndroidRuntime: ERROR: 0:3: 'in' : Syntax error: syntax error
03-04 17:57:45.231 31215 32483 E AndroidRuntime: ERROR: 3 compilation errors. No code generated.
// ...
03-04 17:57:45.231 31215 32483 E AndroidRuntime: at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1555)
03-04 17:57:45.231 31215 32483 E AndroidRuntime: at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)

Sometimes my screen turns black (I'll update this when I'm able to reproduce it again when logging)

More bugs and feature requests (ROM-specific)

Icons on the notification shade are gray, they have no colors

There's no option to make the phone rotate too when it's upside down (this is included in LineageOS, not sure if the Pie one includes it)

There are no shortcuts in the lock screen to access Phone and Camera (this could be a device or Gapps bug)

Volume buttons adjust media volume all the time (Pie issue, an option to change this would be nice)