# Buster OpenJDK11 shaders RPi3B+ & RPi4

**URL:** <https://discourse.processing.org/t/buster-openjdk11-shaders-rpi3b-rpi4/18852>\
**Category:** Processing for Pi\
**Created:** [March 20, 2020, 9:17pm UTC](https://discourse.processing.org/t/buster-openjdk11-shaders-rpi3b-rpi4/18852 "2020-03-20T21:17:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [March 20, 2020, 9:17pm UTC](https://discourse.processing.org/t/buster-openjdk11-shaders-rpi3b-rpi4/18852/1 "2020-03-20T21:17:24Z")

</div>

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

 ![blue_marble](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/a/a434eeb49f9530f339124d5444fe54069c257cda.jpeg)  
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](https://monkstone.github.io/jruby_art/update/2020/03/21/V3D_Drivers_RaspberryPI.html).

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [March 25, 2020, 9:35am UTC](https://discourse.processing.org/t/buster-openjdk11-shaders-rpi3b-rpi4/18852/2 "2020-03-25T09:35:31Z")

</div>

I have created an auto-install script for my latest version of [PiCrate](https://ruby-processing.github.io/PiCrate/) see this [gist](https://gist.github.com/monkstone/e691abd48777e261652ac8107728fb00) 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:-

```bash
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…
