Difference between revisions of "Raspberry Pi"

From JogampWiki
Jump to navigation Jump to search
(Created page with "== Raspberry Pi compatibility == JogAmp 2.4.0 contains support for rendering on Raspberry Pi using six configurations: # armv6hf Broadcom DispmanX # armv6hf Broadcom DispmanX...")
 
(18 intermediate revisions by the same user not shown)
Line 16: Line 16:
 
|Mesa DRM/GBM from console
 
|Mesa DRM/GBM from console
 
|Mesa X11
 
|Mesa X11
 +
|-
 +
|RAM usage for running TestGearsES2NEWT
 +
|
 +
|
 +
|82Mb
 +
|89Mb + 47Mb (xorg)
 
|-
 
|-
 
|Raspberry Pi 4
 
|Raspberry Pi 4
Line 23: Line 29:
 
|style="background: green" |default on Raspbian, well tested
 
|style="background: green" |default on Raspbian, well tested
 
|-
 
|-
|Raspberry Pi 3a 3b 3b+
+
|Raspberry Pi 3a 3b 3b+ 2a 2b 2b+
|style="background: green" |default on Raspbian
 
|style="background: green" |default on Raspbian
 
|style="background: orange" |can be enabled
 
|style="background: orange" |can be enabled
 
|-
 
|Raspberry Pi 2a 2b 2b+
 
 
|style="background: green" |default on Raspbian
 
|style="background: green" |default on Raspbian
 
|style="background: green" |default on Raspbian
 
|style="background: green" |default on Raspbian
Line 38: Line 38:
 
|style="background: green" |default on Raspbian
 
|style="background: green" |default on Raspbian
 
|style="background: green" |default on Raspbian
 
|style="background: green" |default on Raspbian
|style="background: red" |can be enabled but not recommended, low RAM
+
|style="background: orange" |can be enabled but not recommended, heavy on CPU
|style="background: red" |can be enabled but not recommended, low RAM
+
|style="background: red" |can be enabled but not recommended, low RAM and heavy on CPU
 
|}
 
|}
  
Line 60: Line 60:
 
# Raspbian Buster Lite
 
# Raspbian Buster Lite
 
#* https://www.raspberrypi.org/downloads/raspbian/
 
#* https://www.raspberrypi.org/downloads/raspbian/
#* apt install openjdk-11-jre-headless libdrm2 libgbm1 libgles2 libgles1 libegl1 libgl1-mesa-dri libxrandr2 libxcursor1
+
# apt install openjdk-11-jre-headless libdrm2 libgbm1 libgles2 libgles1 libegl1 libgl1-mesa-dri libxrandr2 libxcursor1
 +
 
 +
== Raspberry Pi armv6hf Mesa X11 test setup: ==
 +
Minimal system setup:
 +
# Raspbian Buster Lite
 +
#* https://www.raspberrypi.org/downloads/raspbian/
 +
# apt install openjdk-11-jre-headless libdrm2 libgbm1 libgles2 libgles1 libegl1 libgl1-mesa-dri libxrandr2 libxcursor1 xinit
 +
# startx
 +
 
 +
== Raspberry Pi troubleshooting ==
 +
=== Enable Mesa DRM/GBM from console or Mesa X11 for: Raspberry Pi 3a 3b 3b+ 2a 2b 2b+ ===
 +
* Edit /boot/config.txt . At the end of the file uncomment the dtoverlay=vc4-fkms-v3d line, to look like this:
 +
<pre>
 +
[all]
 +
dtoverlay=vc4-fkms-v3d
 +
</pre>
 +
=== Enable Mesa DRM/GBM from console or Mesa X11 for: Raspberry Pi 1 Zero W ===
 +
* Edit /boot/config.txt . At the end of the file add dtoverlay=vc4-kms-v3d,cma-128 line, to look like this:
 +
<pre>
 +
[all]
 +
dtoverlay=vc4-kms-v3d,cma-128
 +
</pre>
 +
=== 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
 +
<pre>
 +
# Tunes the bcm2835-sdhost SD/MMC driver
 +
dtoverlay=sdtweak,force_pio=1
 +
dtparam=sd_force_pio=on
 +
</pre>
 +
=== Raspberry Pi 1 Zero W: Server VM is only supported on ARMv7+ VFP ===
 +
Raspbian OpenJDK 11 only support Raspberry Pi 2 and later CPU's, however you can still use openjdk-8 that support the Pi 1 Zero W CPU:
 +
<pre>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)</pre>

Revision as of 15:37, 2 December 2019

Raspberry Pi compatibility

JogAmp 2.4.0 contains support for rendering on Raspberry Pi using six configurations:

  1. armv6hf Broadcom DispmanX
  2. armv6hf Broadcom DispmanX overlay on top of X11
  3. armv6hf Mesa DRM/GBM
  4. armv6hf Mesa X11
  5. aarch64 Mesa DRM/GBM
  6. aarch64 Mesa X11


armv6hf Broadcom DispmanX from console Broadcom DispmanX overlay on top of X11 Mesa DRM/GBM from console Mesa X11
RAM usage for running TestGearsES2NEWT 82Mb 89Mb + 47Mb (xorg)
Raspberry Pi 4 not supported by broadcom driver not supported by broadcom driver default on Raspbian default on Raspbian, well tested
Raspberry Pi 3a 3b 3b+ 2a 2b 2b+ default on Raspbian default on Raspbian can be enabled can be enabled
Raspberry Pi 1 Zero W default on Raspbian default on Raspbian can be enabled but not recommended, heavy on CPU can be enabled but not recommended, low RAM and heavy on CPU
aarch64 Mesa DRM/GBM from console Mesa X11
Raspberry Pi 4 default on Debian default on Debian, well tested
Raspberry Pi 3b 3b+ default on Debian default on Debian, well tested

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

Minimal system setup:

  1. Raspbian Buster Lite
  2. apt install openjdk-11-jre-headless libdrm2 libgbm1 libgles2 libgles1 libegl1 libgl1-mesa-dri libxrandr2 libxcursor1

Raspberry Pi armv6hf Mesa X11 test setup:

Minimal system setup:

  1. Raspbian Buster Lite
  2. apt install openjdk-11-jre-headless libdrm2 libgbm1 libgles2 libgles1 libegl1 libgl1-mesa-dri libxrandr2 libxcursor1 xinit
  3. startx

Raspberry Pi troubleshooting

Enable Mesa DRM/GBM from console or Mesa X11 for: Raspberry Pi 3a 3b 3b+ 2a 2b 2b+

  • Edit /boot/config.txt . At the end of the file uncomment the dtoverlay=vc4-fkms-v3d line, to look like this:
[all]
dtoverlay=vc4-fkms-v3d

Enable Mesa DRM/GBM from console or Mesa X11 for: Raspberry Pi 1 Zero W

  • Edit /boot/config.txt . At the end of the file add dtoverlay=vc4-kms-v3d,cma-128 line, to look like this:
[all]
dtoverlay=vc4-kms-v3d,cma-128

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

# Tunes the bcm2835-sdhost SD/MMC driver
dtoverlay=sdtweak,force_pio=1
dtparam=sd_force_pio=on

Raspberry Pi 1 Zero W: Server VM is only supported on ARMv7+ VFP

Raspbian OpenJDK 11 only support Raspberry Pi 2 and later CPU's, however you can still use openjdk-8 that support 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)