小伙伴们的智能之旅

RPI: Android 9 Pie on Raspberry Pi 3B & 3B+

Raspberry Pi 3B+ can also run Android Pie now!

Any one can download image from github.com: https://github.com/brobwind/pie-device-brobwind-rpi3-binary

A video about how to flash and extend userdata partition also included.

Download link: 2019_03_02_rpi3_13fa200.bin.gz

The u-boot, kernel, OpenGL driver has been upload to github.com, you can download code by executing following command:

$ pushd device/brobwind/rpi3 && git pull && popd
$ repo sync -c

Antutu benchmark on Raspberry Pi 3 Model B+:

And Geekbench 4 on Raspbery Pi 3 Model B+:

Today, I try to run Antutu benchmark app to check the RPi 3B & 3B+ performance, then discover the sores are almost the same. There must be something wrong, then I decided to check the CPU frequency from /sys/devices/system/cpu/, but there is not cpufreq related items. The next step is rebuild the bcm2835 cpufreq module and figure out the actual running frequency. Finally it turns out  both RPi 3B & 3B+ CPU frequency at 600MHz x 4。

GUI: OpenGL based on mesa3d and hardware composer based on drm

Audio: support a2dp and on-board audio jack

Knowing issue:

1. Enable `Debug GPU overdraw’ in system settings will make app crash

2. Enable `Debug non-retangular clip operations’ in system settings will make app crash

3. Do not disable `Disable HW overlays’ in system settings

4. Audio over HDMI not support

5. Can not play video

Download link:  2019_01_25_rpi3_a586f2b.bin.gz

1. Bootloader: u-boot as AndroidThings on RPi 3B v.1.0.4, run on 64-bit mode

2. Kernel: v.4.14.71 run on 64-bit mode

3. Display: 720p(1280×720) @ 60Hz through on board HDMI port

4. Audio:  analog, 2 channel through on board audio jack

5. WiFi: 2.4G (RPi 3B & 3B+), 5G (RPi 3B+)

6. Bluetooth: HCI over UART(ttyAMA0), RPi 3B: 921600bps no flow control; RPi 3B+: 3000000bps with flow control

7. Ethernet: both work, and IP from DHCP

8. OpenGL render:  Skia GL, swiftshader

1. External storage (sdcard) no function due to not kernel sdcardfs driver support

2. Bluetooth: Can bind device, ble gatt profile works, pan profile do not work due to not permission to create bt-pan device

3. Network: RPi 3B+: while Ethernet online, WiFi network can not connect; The eth0 device can not auto down while eject the cable

4. Bitmap: The hardware bitmap will miss draw both on Skia GL and OpenGL

5. The device can not go to sleep mode or the Wifi driver will run with error

Disk rpi3b.bin: 8388608 sectors, 4.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9884F86F-891D-4DD9-B2C8-6277BC24DC26
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 8388574
Partitions will be aligned on 8-sector boundaries
Total free space is 1504957 sectors (734.8 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              40          131111   64.0 MiB    FFFF  rpiboot
   2          131112          133159   1024.0 KiB  FFFF  uboot_a
   3          133160          135207   1024.0 KiB  FFFF  uboot_b
   4          135208          200743   32.0 MiB    FFFF  boot_a
   5          200744          266279   32.0 MiB    FFFF  boot_b
   6          266280         1597479   650.0 MiB   FFFF  system_a
   7         1597480         2928679   650.0 MiB   FFFF  system_b
   8         2928680         2928807   64.0 KiB    FFFF  vbmeta_a
   9         2928808         2928935   64.0 KiB    FFFF  vbmeta_b
  10         2928936         2930983   1024.0 KiB  FFFF  misc
  11         2930984         3455271   256.0 MiB   FFFF  vendor_a
  12         3455272         3979559   256.0 MiB   FFFF  vendor_b
  13         3979560         3987751   4.0 MiB     FFFF  oem_bootloader_a
  14         3987752         3995943   4.0 MiB     FFFF  oem_bootloader_b
  15         3995944         4000039   2.0 MiB     FFFF  frp
  16         4000040         4786471   384.0 MiB   FFFF  swap
  17         4786472         6883623   1024.0 MiB  FFFF  userdata

Source(partial) has been uploaded to github: https://github.com/brobwind/pie-device-brobwind-rpi3

You can build your own OS now.

1. 2018_12_02_rpi3b_4117784.zip

2. 2019_01_25_rpi3_a586f2b.bin.gz (With hardware acceleration)

3. 2019_03_02_rpi3_13fa200.bin.gz (With hardware acceleration CPU @ 1.4GHz for Raspbery Pi 3 Model B+)

$ sudo dd if=rpi3b_4117784.img of=/dev/to/flash bs=4MiB