No Analog inputs on Logic 8

TLDR:

The fix:
rm -r ~/.config/Logic/GPUCache

Thanks everyone for the debugging help, and sorry for the trouble with this!

I think we might have found the root cause, but unfortunately we can’t easily test it.

If anyone else runs into this problem, please let us know! Updated instructions to fix the issue are at the bottom of this post.

Our software runs in Electron, which is a framework that uses Chromium to render our application.

For analog channels specifically, we use WebGL2, and render the analog data using a shader. The rest of the application, for the most part, is rendered as a typical web application.

After a recent sudo apt upgrade on my Ubuntu 22.04 machine, I reproduced the same problem - blank analog channels.

Under the hood, we saw the following errors. (Note, this output is not normally displayed in the console output.)

THREE.WebGLProgram: shader error:  0 35715 false gl.getProgramInfoLog Program binary could not be loaded. Binary is not compatible with current driver/hardware combination. Driver build date May 12 2024. Please check build information of source that generated the binary.
  
(anonymous) @ instrument.js:123
171WebGL: INVALID_OPERATION: useProgram: program not valid
85WebGL: INVALID_OPERATION: drawArrays: no valid shader program in use
instrument.js:123 THREE.WebGLProgram: shader error:  1282 35715 false gl.getProgramInfoLog Program binary could not be loaded. Binary is not compatible with current driver/hardware combination. Driver build date May 12 2024. Please check build information of source that generated the binary.
  
(anonymous) @ instrument.js:123
three.module.js:20442 WebGL: too many errors, no more errors will be reported to the console for this context.

Basically, Chromium was caching our compiled shaders, and after some package update, Chromium could no longer load the cache.

The Fix

The short term fix is to delete the shader cache, then re-open the software.

rm -r ~/.config/Logic/GPUCache