praxis-live / support

Documentation and issue tracking
9 stars 2 forks source link

Video output failure on second display (macOS 12.3.1, sidecar). #125

Closed yojeek closed 1 day ago

yojeek commented 1 year ago

I'm trying to render video output on my iPad connected as a second display via Sidecar (or, how it's called now, "Screen mirroring").

When I choose output device which corresponds to my iPad display, it failes to start and shows following error in output :

The sketch has been automatically resized to fit the screen resolution
OpenGL error 1280 at bot beginDraw(): invalid enumerant
OpenGL error 1286 at bot beginDraw(): invalid framebuffer operation
OpenGL error 1286 at bot endDraw(): invalid framebuffer operation
OpenGL error 1286 at top endDraw(): invalid framebuffer operation
Dec 16, 2022 9:33:09 PM processing.lwjgl.PSurfaceLWJGL handleRun
SEVERE: Uncaught exception in rendering thread
java.lang.RuntimeException: Cannot validate shader program:
Validation Failed: Current draw framebuffer is invalid.

    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.core.PGraphics.showException(PGraphics.java:8316)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.opengl.PShader.validate(PShader.java:945)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.opengl.PShader.init(PShader.java:902)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.opengl.PShader.getAttributeLoc(PShader.java:595)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.opengl.PShader.loadAttributes(PShader.java:1123)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.opengl.PGraphicsOpenGL.getPolyShader(PGraphicsOpenGL.java:7108)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.opengl.PGraphicsOpenGL.flushPolys(PGraphicsOpenGL.java:2378)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.opengl.PGraphicsOpenGL.flush(PGraphicsOpenGL.java:2315)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.opengl.PGraphicsOpenGL.endDraw(PGraphicsOpenGL.java:1480)
    at org.praxislive.video.pgl@5.4.0/org.praxislive.video.pgl.PGLGraphics.endDraw(PGLGraphics.java:182)
    at org.praxislive.libp5x.core@0.353.0-beta-3/processing.core.PApplet.handleDraw(PApplet.java:2499)
    at org.praxislive.libp5x.lwjgl@0.353.0-beta-3/processing.lwjgl.PSurfaceLWJGL.handleDraw(PSurfaceLWJGL.java:1236)
    at org.praxislive.libp5x.lwjgl@0.353.0-beta-3/processing.lwjgl.PSurfaceLWJGL.handleRun(PSurfaceLWJGL.java:1193)
    at java.base/java.lang.Thread.run(Thread.java:833)

This only affects Sidecar, on screen connected normally everything is just fine.

neilcsmith-net commented 1 year ago

I'm not sure if there's anything we can do about this. Searching OpenGL and Sidecar brings up a whole bunch of issues.

I have no way of testing any of this. Only thing you might try is changing the renderer to GL2 or GLES on the video root and see if that changes anything.