[FYT Android Head Units] bambapin:
Didn't try with a different GApps because without a custom recovery is not easy, but i tried with several Magisk versions, from the oldest to the last canary.

The idea that after applying Magisk with the patched_boot.img method the system is in a "dirty" state in my opinion is confirmed by the fact that, apart from root, virtually nothing of Magisk works, it is impossible to install modules for example.

It could be that the problem behind it all is related to something going wrong when Magisk's /init works on the filesystem to create the links.

Maybe a wrong mount order caused by some peculiarities of the headunit, wrong permissions ... i don't know.

For example i noticed a strange thing in the original fstab, /data is mounted 2 times in a row, the first time with f2fs and the second with ext4

/dev/block/platform/soc/soc:ap-ahb/c0c00000.sdio/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inline_xattr,inline_data wait,encryptable=footer,check
/dev/block/platform/soc/soc:ap-ahb/c0c00000.sdio/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,journal_async_commit,errors=panic wait,encryptable=footer,check

Indeed, the final effect is a crash on the mediaserver when Google tries to speak (it happens also on another non-Google app that used the Music audio channel)

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Native Crash TIME: 84618
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'SPRD/sp9853i_1h10_vmmTos/sp9853i_1h10:8.1.0/OPM2.171019.012/24518:user/release-keys'
Revision: '0'
ABI: 'x86'
pid: 3432, tid: 3432, name: mediaserver >>> /system/bin/mediaserver <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc
Cause: null pointer dereference
eax 00000026 ebx f2cb379c ecx e45a7788 edx 00000000
esi 00000000 edi 00000000
xcs 00000023 xds 0000002b xes 0000002b xfs 00000003 xss 0000002b
eip f2c56bab ebp ff82e818 esp ff82e7f0 flags 00010286

backtrace:
#00 pc 00091bab /system/lib/libc.so (fclose+27)
#01 pc 00055fae /system/lib/libmediaplayerservice.so (android::MediaPlayerService::Client::setAudioAttributes_l(android::Parcel const&)+558)
#02 pc 00052dd9 /system/lib/libmediaplayerservice.so (android::MediaPlayerService::Client::setParameter(int, android::Parcel const&)+105)
#03 pc 00068762 /system/lib/libmedia.so (android::BnMediaPlayer::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+7266)
#04 pc 00068c56 /system/lib/libmedia.so (_ZThn4_N7android13BnMediaPlayer10onTransactEjRKNS_6ParcelEPS1_j+54)
#05 pc 000403a3 /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+115)
#06 pc 0004dace /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+702)
#07 pc 0004d710 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+176)
#08 pc 0004def1 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+81)
#09 pc 00000bf9 /system/bin/mediaserver (main+265)
#10 pc 000c4106 /system/lib/libc.so (__libc_init+102)
#11 pc 00000a51 /system/bin/mediaserver (_start_main+81)
#12 pc 00000a5c /system/bin/mediaserver (_start+10)

stack:
ff82e7b0 f1f1da30 /system/lib/libmediaplayerservice.so
ff82e7b4 f1f4e89c /system/lib/libmediaplayerservice.so
ff82e7b8 ff82e808 [stack]
ff82e7bc e45a7788
ff82e7c0 00000004
ff82e7c4 f2cb379c /system/lib/libc.so