Buster OpenJDK11 shaders RPi3B+ & RPi4

Gottfreid Haider did some mods to light shaders to get Processing running on the PI. I don’t think they are working with the Buster distro, in particular I find I need to run with either FakeKMS (RPi3 & RPi4) or FullKMS (RPI3) to get P2D and P3D sketches to work. It also seems that in particular for RPI4 the mods are not needed for the FakeKMS driver. I am developing PiCrate a ruby implementation of processing for the RaspberryPI and I can run the Advanced Shader “Blue Marble” example on RPI4 really well:-


Without modifying the light shaders, but the RPi3 struggles and perhaps needs the modified light shaders. Unfortunately both RPi3 and RPi4 shaders get detected by JOGL as V3D drivers (previously I believe the RPI3 driver was picked up as VC4 on Stretch). See also my blogpost.

I have created an auto-install script for my latest version of PiCrate see this gist should work on Buster on RaspberryPI3B+ and RaspberryPI4.
The script does the following:-

  1. Check for java (jdk8 or jdk11 acceptable)
  2. Installs JRuby-9.2.11.0
  3. Makes sure JAVA_HOME is set up (this is only really needed for jdk11 for JRuby to suppress reflective access warnings).
  4. Checks for GEM_HOME if not creates local GEM store and configures
  5. Installs picrate gem (and dependencies) from rubygems
    Once all done reboot, and setup picrate as follows:-
picrate --install

This installs examples and sets up Geany to use as your ide, you might wish to add rubocop and reek gems for static code analysis. You can call these from geany make. The examples are in ~/projects/examples folder…