Visualizations not working in 19.3?

Hi, can any one else confirm if their visualizations are working on latest 19.3 build?

I’m assuming it could be a Pi 3 related issue, as I have a Pi 4 and Vero 4K+ both fully up to date which aren’t showing this issue.

I’ve flashed a brand new Pi 3 SD this morning and confirmed that on my system at least that the problem is not due to previous config.

When playing music with Matrix visualization enabled it doesn’t show any reactions to the audio, e.g. rainfall will still occur but there will be no waveform. If the default Kodi preset is selected there will be no logo, etc, etc.

EDIT: I can get some logs up later today if required.

Bump. Anyone else getting this? Just so I know whether or not to keep looking for a fix. Thanks!

Hello,
I’ve a Pi3B+ and I confirm your issue.

With which visualisation?

Not all of them will work.

Matrix and Shadertoy

In Matrix, I see the code but not Logo animated with sound like @JonnyG
In Shadertoy, with 2D Spectrum, I see only background, the volumes bars are not animated

Thanks for confirming this, I noticed a similar post on the forum today but fix seemed to be via 3rd party skin settings whereas I’m using Estuary.

I use Estuary too

Anything further on this? Never had to do anything other than enable the relevant visualisation to get it working.

Not all visualisations are expected to work.

Thanks Sam, The only ones I’m really bothered about are the inbuilt Matrix ones and at a push Shadertoy.

I’ve checked on a brand new Pi 3 install and neither work after enabling them. Are you saying this is the situation with them for now?

You could try LibreELEC or Pi OS and see if the issue is present there.

I’ve already try on LibreElec with same issue

Then this isn’t an OSMC specific issue.

Cheers

Sam

Have you opened any support request for LibreElec already on their forums?

Checked my Vero again yesterday and still completely free of this issue.

I’ve opened an issue on XBMC Shadertoy Git repository : No bars in OSMC with kodi 19 · Issue #91 · xbmc/visualization.shadertoy · GitHub
But I think post an issue on Kodi’s repository toi.

Hi,
I’ve solved the issue myself. Thanks to this post : Where did ShaderToy go? - #12 by Panisher
I’ve compiled addon myself from source with changes.
The issue is due to the GL_RED and GL_LUMINANCE detection.

This is my procedure with OSMC :

sudo apt install git zip libgles2-mesa-dev build-essential
git clone --branch Matrix https://github.com/xbmc/visualization.shadertoy.git
git clone --branch Matrix https://github.com/xbmc/xbmc.git

Change to GLES :

nano /home/osmc/visualization.shadertoy CMakeLists.txt

Modify line 12 to

if(1 == 0)

Force GL_LUMINANCE

nano /home/osmc/visualization.shadertoy/src/main.cpp

Comment lines 24 and 26 like this :

//#ifndef GL_RED
#define GL_RED GL_LUMINANCE
//#endif

Rename plugin to Shadertoy 2 to disable conflict :

nano /home/osmc/visualization.shadertoy/visualization.shadertoy/addon.xml.in

Modify lines 3 and 5 like this :

  id="visualization.shadertoy2"
  version="19.1.2"
  name="Shadertoy 2"

Compile addon :

cd visualization.shadertoy && mkdir build && cd build
cmake -DADDONS_TO_BUILD=visualization.shadertoy -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../xbmc/kodi-build/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons
make

Link the addon folder to osmc :

ln -s ln -s /home/osmc/xbmc/kodi-build/addons/visualization.shadertoy /home/osmc/.kodi/addons/visualisation.shadertoy2

Restart raspberry and activate Shadertoy 2 module

You don’t need to rename the addon, you can just create the zip and install it. It will replace the built-in addon. If removed, the original addon gets restored. I would also recommend to build release and not debug version as the addon is quite resource heavy. Modifying the cmakelists.txt can be avoided by specifying -DAPP_RENDER_SYSTEM=gles hopping that it is still using the same defines to control that.

Thanks for your informations !
I update the procedure :

sudo apt install git zip libgles2-mesa-dev build-essential
git clone --branch Matrix https://github.com/xbmc/visualization.shadertoy.git
git clone --branch Matrix https://github.com/xbmc/xbmc.git

Force GL_LUMINANCE

nano /home/osmc/visualization.shadertoy/src/main.cpp

Comment lines 24 and 26 like this :

//#ifndef GL_RED
#define GL_RED GL_LUMINANCE
//#endif

Compile addon :

cd visualization.shadertoy && mkdir build && cd build
cmake -DADDONS_TO_BUILD=visualization.shadertoy -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../xbmc/kodi-build/addons -DPACKAGE_ZIP=1 -DAPP_RENDER_SYSTEM=gles ../../xbmc/cmake/addons
make

Create zip :

cd ../../xbmc/kodi-build/addons
zip -r --symlinks visualization.shadertoy.zip visualization.shadertoy/

Update Shadertoy module in OSMC :
Modules > Install from .zip > Home folder/xbmc/kodi-build/addons/visualization.shadertoy.zip

I don’t understand why xbmc community don’t add a solution on her git code to fix this issue…

I don’t know if this is a specific issue with Raspi HW or the OSMC system but according to the comments in the code the original change was introduced to support Android. It appears that on Raspi/OSMC, GL_RED is already defined but not working with shadertoy as intended so it needs to remain using GL_LUMINANCE. Why there was a change from GL_LUMIANCE to GL_RED at all I don’t know exactly. Afaik, using GL_LUMINANCE is supposed to broadcast to R, G and B channels while GL_RED is just the single R channel.