skiko: Mali-400 OpenGL ES2.0 Linux arm64

Hello,

Is skiko compatible with Mali-400 OpenGL ES 2.0 - Linux arm64?

I’m running into the following errors:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Failed Surface.makeFromBackendRenderTarget
	at org.jetbrains.skia.Surface$Companion.makeFromBackendRenderTarget(Surface.kt:287)
	at org.jetbrains.skia.Surface$Companion.makeFromBackendRenderTarget$default(Surface.kt:269)
	at org.jetbrains.skiko.context.OpenGLContextHandler.initCanvas(OpenGLContextHandler.kt:57)
	at org.jetbrains.skiko.context.ContextHandler.draw(ContextHandler.kt:49)
	at org.jetbrains.skiko.redrawer.LinuxOpenGLRedrawer.draw(LinuxOpenGLRedrawer.kt:90)
	at org.jetbrains.skiko.redrawer.LinuxOpenGLRedrawer.redrawImmediately(LinuxOpenGLRedrawer.kt:78)
	at org.jetbrains.skiko.SkiaLayer.paint(SkiaLayer.jvm.kt:324)
	at androidx.compose.ui.awt.ComposeLayer$ComponentImpl.paint(ComposeLayer.desktop.kt:144)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:952)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128)
	at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:952)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311)
	at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246)
	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337)
	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259)
	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Failed Surface.makeFromBackendRenderTarget
	at org.jetbrains.skia.Surface$Companion.makeFromBackendRenderTarget(Surface.kt:287)
	at org.jetbrains.skia.Surface$Companion.makeFromBackendRenderTarget$default(Surface.kt:269)
	at org.jetbrains.skiko.context.OpenGLContextHandler.initCanvas(OpenGLContextHandler.kt:57)
	at org.jetbrains.skiko.context.ContextHandler.draw(ContextHandler.kt:49)
	at org.jetbrains.skiko.redrawer.LinuxOpenGLRedrawer.draw(LinuxOpenGLRedrawer.kt:90)
	at org.jetbrains.skiko.redrawer.LinuxOpenGLRedrawer.access$draw(LinuxOpenGLRedrawer.kt:9)
	at org.jetbrains.skiko.redrawer.LinuxOpenGLRedrawer$Companion$frameDispatcher$1.invokeSuspend(LinuxOpenGLRedrawer.kt:122)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Comments: 19 (11 by maintainers)

Most upvoted comments

Force using GLES on Linux/arm64 builds, will be available with next milestone build of skia-pack https://github.com/JetBrains/skia-pack/commit/453c3e736079abc47a89f9ac6c6bdb24dc6823e6 and also implemented better fallback routine in https://github.com/JetBrains/skiko/pull/487

Which version of Skiko is it? Could you try to extract more logs?