I looked at a dmesg dump from my Cosmo while plugging in the hdmi adapter:
[Thu Jan 16 15:19:08 2020] (0)[24744:kworker/0:1]====fusb300_eint_work:zhaolong debug x600 USB1=====
[Thu Jan 16 15:19:08 2020] (0)[24744:kworker/0:1]===USB1 is plug in===
[Thu Jan 16 15:19:08 2020] (0)[24744:kworker/0:1]===hdmi plug in===
[Thu Jan 16 15:19:08 2020] (0)[24744:kworker/0:1]=======CC2=======
[Thu Jan 16 15:19:09 2020] (0)[162:hdmi_timer_kthr]i2c i2c-3: addr: 39, transfer ACK error
[Thu Jan 16 15:19:09 2020] (0)[162:hdmi_timer_kthr]i2c_dump_info ++++++++++++++++++++++++++++++++++++++++++
[Thu Jan 16 15:19:09 2020] (0)[162:hdmi_timer_kthr]I2C structure:
[Thu Jan 16 15:19:09 2020] [I2C]Clk=15600,Id=3,Op=1,Irq_stat=2,Total_len=2
[Thu Jan 16 15:19:09 2020] [I2C]Trans_len=2,Trans_num=1,Trans_auxlen=0,speed=400000
[Thu Jan 16 15:19:09 2020] [I2C]Trans_stop=1
[Thu Jan 16 15:19:09 2020] (0)[162:hdmi_timer_kthr]base address 0xffffff8004e26000
[Thu Jan 16 15:19:09 2020] (0)[162:hdmi_timer_kthr]I2C register:
[Thu Jan 16 15:19:09 2020] [I2C]SLAVE_ADDR=72,INTR_MASK=f8,INTR_STAT=1,CONTROL=28,TRANSFER_LEN=2
[Thu Jan 16 15:19:09 2020] [I2C]TRANSAC_LEN=1,DELAY_LEN=2,TIMING=13,START=2,FIFO_STAT=2201
[Thu Jan 16 15:19:09 2020] [I2C]IO_CONFIG=3,HS=0,DCM_EN=0,DEBUGSTAT=40,EXT_CONF=1800,TRANSFER_LEN_AUX=1
[Thu Jan 16 15:19:09 2020] (0)[162:hdmi_timer_kthr]before enable DMA register(0x0):
[Thu Jan 16 15:19:09 2020] [I2C]INT_FLAG=0,INT_EN=0,EN=0,RST=0,
[Thu Jan 16 15:19:09 2020] [I2C]STOP=0,FLUSH=0,CON=0,TX_MEM_ADDR=0, RX_MEM_ADDR=0
[Thu Jan 16 15:19:09 2020] [I2C]TX_LEN=0,RX_LEN=0,INT_BUF_SIZE=0,DEBUG_STATUS=0
[Thu Jan 16 15:19:09 2020] [I2C]TX_MEM_ADDR2=0, RX_MEM_ADDR2=0
[Thu Jan 16 15:19:09 2020] (0)[162:hdmi_timer_kthr]DMA register(0xffffff8004e28480):
When plugging into my astro, I get no such messages. So unless they quieted them (doubtful--the rest of dmesg is as noisy as ever), I suspect that HDMI output on astro may require kernel work that is not yet included in the released builds.
Edit to add: there's also this part in logcat:
10-07 20:40:11.444 1073 1283 I HdmiObserver: HdmiObserver: onUEvent: {SUBSYSTEM=switch, SEQNUM=5460, ACTION=change, SWITCH_NAME=otg_state, DEVPATH=/devices/virtual/switch/otg_state, SWITCH_STATE=1}
10-07 20:40:11.444 1073 1283 I HdmiObserver: HdmiObserver.onUEvent(), name=otg_state, state=1
10-07 20:40:11.444 1073 1283 I HdmiObserver: HDMIObserver.updateOtgState(), otgState=1
10-07 20:40:11.444 1073 1333 I HdmiObserver: HDMIObserver.handleOtgStateChanged(), otgState=1
10-07 20:40:11.445 1073 1333 E hdmi : =====hdmi===== [HDMI] [hdmi_ioctl] open hdmitx. fd=207 cmd_code=-1073461215
10-07 20:40:11.445 1073 1333 I HdmiObserver: notifyOtgState: true
10-07 20:40:11.458 1073 1424 I UsbDescriptorParser: Unknown Descriptor len: 6 type:0x30
So, if it is indeed the same cable, the missing software could be kernel-side or userspace-side.
Another observation: if I run "getevent" on the cosmo, when I plug the HDMI adapter in, I see the following from "mtk-kpd":
/dev/input/event1: 0001 00b8 00000001
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0001 00b8 00000000
/dev/input/event1: 0000 0000 00000000
meanwhile I get nothing at all while plugging into the astro.
Astro's kernel tree has in drivers/misc/mediatek/typec/fusb302 some hdmi-plugging code that seems similar to what the cosmo had in drivers/misc/mediatek/usb_c/fusb302 , and the device shows up similarly in /sys/devices/platform/fusb301a...