1

I am tinkering with the idea of using a Raspberry Pi CM4 (for the IO) running Android (for the apps/app ecosystem) using a transparent LCD display (link at the bottom). The CM4 is on a Raspberry IO board. Initially, I connected the display to the Pi while it was still running Raspberry Pi OS, and it worked as a display monitor. One note: Even though the display is advertised as running 640x400, it only displayed correctly when the output resolution was 640x480.

I've installed a custom AOSP build on the CM4, and the transparent display no longer works with it. A desktop display (1080p) functions properly. If I have the display plugged in at boot, the Android apparently refuses to start, since I get no mirror in Android Studio. I've yet to find any hints using LogCat, though there are so many errors during a successful boot I suspect I may miss it in the flood. I have tried filtering different packages and log levels.

If I plug in the display as a second display, I get the offer to mirror the first display, though nothing useful appears on the transparent/second display, though it does display the same static lines as when I tried it at 640x400 on Pi OS.

To start, here's my config.txt as it stands now. I can't say everything I tried, but it should give an idea where my logic is. I have tried disabling EDID and running it with both 640x480 mode and 640x400 mode with 80 pixels of vertical overscan, which is a shot in the dark attempt at a fix. I'd assume the config does nothing given Android would overwrite anything, though it seems pertinent as far as the camera goes, in my experience.

Edit: I've tried again with dt_overlay=vc4-fkms-v3d, and though it didn't before (that I can recall), it did allow me this time to see the "android" splash screen in my transparent display. It also prevents Android from booting, regardless of what is plugged-in ("can't find /dev/cec0").

# Kernel
arm_64bit=1
kernel=Image

# Ramdisk
initramfs ramdisk.img followkernel

# Audio
dtparam=audio=on

# Camera
#camera_auto_detect=1
start_x=1
dtoverlay=imx708,cam1

# CPU
arm_boost=1

# Display
hdmi_ignore_edid=0xa5000080
#disable_overscan=1

# Display panel
#dtoverlay=vc4-kms-dsi-7inch
#dtoverlay=rpi-backlight

# Graphics acceleration
disable_fw_kms_setup=1
dtoverlay=vc4-kms-v3d,noaudio

# Display
hdmi_force_hotplug=1

## DVI mode/no sound
hdmi_drive=1

hdmi_group=2
hdmi_mode=4

overscan_top=40
overscan_bottom=40

# I2C
#dtparam=i2c_arm=on

# I2S
#dtparam=i2s=on

# Serial console
enable_uart=1

# SPI
#dtparam=spi=on

# USB
dtoverlay=dwc2,dr_mode=peripheral
[cm4]
dtoverlay=dwc2,dr_mode=otg
[all]

Given this is the Raspberry exchange, I guess I should hope the problem is there or something else explicitely Pi-related. I get that I'd probably have better luck on an Android forum for the following:

The other big thing I've tried is poring over the system files hoping there's a display- or EDID-related configuration file I can edit. I've yet to find anything.

I haven't checked out the AOSP source code or drivers, since I haven't found a convenient way to browse. I don't want to download it since I'd have to get more disk space. I use AWS to build the image.

Transparent display: https://www.alibaba.com/product-detail/0-23-inch-micro-oled-high_1600888134741.html?spm=a2700.details.buy_together.2.7b821f2eib7Bq3

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.