Raspberry Pi

Raspberry Pi compatibility
Raspberry Pi contains support for rendering on using eight configurations:


 * 1) armv6hf Broadcom DispmanX (*)
 * 2) armv6hf Broadcom DispmanX overlay on top of X11 (+)
 * 3) armv6hf Mesa DRM/GBM using full KMS (+) Unstable Driver
 * 4) armv6hf Mesa DRM/GBM using fake KMS (*)
 * 5) armv6hf Mesa X11 (*)
 * 6) aarch64 Mesa DRM/GBM using full KMS (+) Unstable Driver
 * 7) aarch64 Mesa DRM/GBM using fake KMS (*)
 * 8) aarch64 Mesa X11 (*)

(*) full support by JogAmp WIP

(+) code available by JogAmp w/o full support

NS = Not Supported

WIP = Work in Progress

Raspberry Pi armv6hf setup:
Minimal system setup:
 * 1) Raspbian Buster Lite
 * 2) * 2019-09-26-raspbian-buster-lite.img from https://www.raspberrypi.org/downloads/raspbian/
 * 3) Updating Raspbian
 * 4) * apt update
 * 5) * apt dist-upgrade
 * 6) * apt autoremove
 * 7) Installing OpenJDK, OpenGL libraries etc
 * 8) * apt install openjdk-11-jre-headless openjdk-11-jdk-headless ant libdrm2 libgbm1 libgles2 libgles1 libegl1 libgl1-mesa-dri libxrandr2 libxcursor1 mesa-utils-extra

Then enable ssh, rsync or any other means to transfer the JogAmp cross-build to the target platform.

Raspberry Pi armv6hf Mesa DRM/GBM from console test setup:
Ready

DRM/GBM Console tests must be launched from the physical console, otherwise the software OpenGL driver will be used. We have to investigate what (environment variable) causes this.

Raspberry Pi armv6hf Mesa X11 test setup:
Additional packages:
 * 1) apt install xinit
 * 2) startx

Ready

Enable Mesa DRM/GBM from console or Mesa X11 for: Raspberry Pi 3a 3b 3b+ 2a 2b 2b+
[all] dtoverlay=vc4-fkms-v3d
 * Edit /boot/config.txt . At the end of the file uncomment the dtoverlay=vc4-fkms-v3d line, to look like this:

Enable Mesa DRM/GBM from console or Mesa X11 for: Raspberry Pi 1 Zero W
[all] dtoverlay=vc4-kms-v3d,cma-128
 * Edit /boot/config.txt . At the end of the file add dtoverlay=vc4-kms-v3d,cma-128 line, to look like this:

System freeze during bootup
JogAmp have noticed that some microsd cards can cause the Raspberry Pi system to suddenly stop, especially during bootup, when the Pi is switching the sdcard transfer mode from PIO to DMA. An effective workaround for stability is to instruct the Raspberry Pi system to stay in PIO mode by adding the following lines to /boot/config.txt dtoverlay=sdtweak,force_pio=1 dtparam=sd_force_pio=on
 * 1) Tunes the bcm2835-sdhost SD/MMC driver

Raspberry Pi 1 Zero W: Server VM is only supported on ARMv7+ VFP
Raspbian OpenJDK 11 only supports Raspberry Pi 2 and later CPUs. However, you can still use openjdk-8 that supports the Pi 1 Zero W CPU: apt install openjdk-8-jre-headless /usr/lib/jvm/java-8-openjdk-armhf/bin/java -version openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1+rpi1-b01) OpenJDK Client VM (build 25.212-b01, mixed mode)