Difference between revisions of "Raspberry Pi"

From JogampWiki
Jump to navigation Jump to search
(Raspberry Pi compatibility: GreenYellow for DRM/GBM Fake KMS Support -> Should work ; Default -> Working and adding qualifier WIP Work in Progress)
m (Raspberry Pi compatibility)
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Raspberry Pi compatibility ==
 
== Raspberry Pi compatibility ==
Raspberry Pi contains support for rendering on using six configurations:
+
Raspberry Pi contains support for rendering on using eight configurations:
  
 
# armv6hf Broadcom DispmanX (*)
 
# armv6hf Broadcom DispmanX (*)
Line 33: Line 33:
 
|RAM usage for running TestGearsES2NEWT
 
|RAM usage for running TestGearsES2NEWT
 
|42Mb
 
|42Mb
|
+
|56Mb + 36Mb (xorg)
 
|
 
|
 
|82Mb
 
|82Mb
Line 100: Line 100:
 
# apt install openjdk-11-jre-headless libdrm2 libgbm1 libgles2 libgles1 libegl1 libgl1-mesa-dri libxrandr2 libxcursor1 xinit
 
# apt install openjdk-11-jre-headless libdrm2 libgbm1 libgles2 libgles1 libegl1 libgl1-mesa-dri libxrandr2 libxcursor1 xinit
 
# startx
 
# startx
 
+
== Raspberry Pi pullrequest ==
 +
This pullrequest enable detection and hardware acceleration for
 +
    armv6hf Broadcom DispmanX
 +
    armv6hf Broadcom DispmanX overlay on top of X11
 +
https://github.com/sgothel/jogl/pull/106
 
== Raspberry Pi troubleshooting ==
 
== Raspberry Pi troubleshooting ==
 
=== Enable Mesa DRM/GBM from console or Mesa X11 for: Raspberry Pi 3a 3b 3b+ 2a 2b 2b+ ===
 
=== Enable Mesa DRM/GBM from console or Mesa X11 for: Raspberry Pi 3a 3b 3b+ 2a 2b 2b+ ===

Revision as of 00:50, 4 December 2019

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

armv6hf rasbian Broadcom DispmanX Mesa DRM/GBM Console
Console (*) X11 Overlay (+) True KMS w/o BCM (+) Fake KMS w/ BCM (*) Mesa X11 (*)
RAM usage for running TestGearsES2NEWT 42Mb 56Mb + 36Mb (xorg) 82Mb 82Mb + 43Mb (xorg)
Raspberry Pi 4 NS by BCM driver NS by BCM driver Unstable Driver Working WIP Working, well tested
Raspberry Pi 3a 3b 3b+ Working, well tested Working Unstable Driver Working WIP Available (??)
Raspberry Pi 2a 2b 2b+ Default, well tested Default Unstable Driver Available Available (??)
Raspberry Pi 1 Zero W Default, well tested Default Unstable Driver Available, not recommended,
heavy on CPU
Available, not recommended,
low RAM and heavy on CPU


aarch64 debian Mesa DRM/GBM Console
True KMS w/o BCM (+) Fake KMS w/ BCM (*) Mesa X11 (*)
Raspberry Pi 4 Unstable Driver Working WIP Default, well tested
Raspberry Pi 3b 3b+ Unstable Driver Working WIP Default, 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 pullrequest

This pullrequest enable detection and hardware acceleration for

   armv6hf Broadcom DispmanX
   armv6hf Broadcom DispmanX overlay on top of X11

https://github.com/sgothel/jogl/pull/106

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 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)