Deploy the Vision Client on Docker for a balena device

Hello everyone,

i'm trying to deploy the Ignition Vision Client on Docker as I would like to run the client on a balena device.

I tried but i get different errors. Is there any example on how to run in on Docker?


I'm trying to launch manually launcher-vision-client-linux.jar and this is what we get:

INFO  [CompositeClassRejectListFilter] [2024/05/13 12:43:36]: Initialization performed successfully
INFO  [CompositeClassRejectListFilter] [2024/05/13 12:43:36]: JVM-wide ObjectInputFilter set up successfully
INFO  [CompositeClassRejectListFilter] [2024/05/13 12:43:36]: Platform serialFilter has 88 pattern(s)
INFO  [ClientLauncher                ] [2024/05/13 12:43:37]: Set initial logging level to INFO
May 13, 2024 12:43:37 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @6c50245e'
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /root/.openjfx/cache/17.0.2-ea/ cannot open shared object file: No such file or directory
java.lang.UnsatisfiedLinkError: /root/.openjfx/cache/17.0.2-ea/ cannot open shared object file: No such file or directory
        at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
        at java.base/jdk.internal.loader.NativeLibraries$
        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(
        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(
        at java.base/java.lang.ClassLoader.loadLibrary(
        at java.base/java.lang.Runtime.load0(
        at java.base/java.lang.System.load(
        at com.sun.prism.es2.ES2Pipeline.lambda$static$0(
        at java.base/
        at com.sun.prism.es2.ES2Pipeline.<clinit>(
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(
        at com.sun.prism.GraphicsPipeline.createPipeline(
        at java.base/
ERROR [RuntimeException              ] [2024/05/13 12:43:37]: Uncaught exception in thread: main
java.lang.UnsupportedOperationException: Unable to open DISPLAY
        at java.base/
        at com.sun.javafx.application.PlatformImpl.startup(
        at com.sun.javafx.application.PlatformImpl.startup(
        at com.sun.javafx.application.LauncherImpl.startToolkit(
        at com.sun.javafx.application.LauncherImpl.launchApplication1(
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(
        at java.base/

You can't launch a Vision Client on Docker or in any headless environment. There's no GUI.

Hello Kevin i was thinking on running xserver on another container and use it as a UI for the Vision Client container.

Looks experimental and no longer maintained...

You're in uncharted territory here, I think. Keep chasing down the errors if it's something you really want to pursue.

Start here? It looks like you may be missing some additional system libraries.

1 Like

Thanks for your message Kevin!

I will keep you posted!

Kevin i just had the Ignition Client running here GitHub - mpous/ignition-visionclient-launcher-balena

Not sure if this is correct as i haven't tested this with Ignition but this is a first step!