Workstation ARM x64 Support

On an x64 ARM system, I can get the Workstation application picker to come up when I specify my local version of Java instead of the system Java (similar to the legacy launcher for Vision), but when my Workstation app tries to launch, it fails because it can’t initialize the browser.

I’m assuming that Workstation is still built on Java v11, so I think what what’s going on here is that Workstation still runs on JxBrowser 6.x which doesn’t have ARM support yet, right?

No, workstation is running JxBrowser 7, same as 8.1 throughout. If you launch via a command line, do you get any useful output about what’s going wrong? Are there any launch_error logs in .ignition/?

Well I’m not entirely sure that there is nothing wrong on my side, but Workstation doesn’t seem to want to run at all on Java 11, however it will launch on v14. This is the error message I get out of workstation.log when launching w/ Java 14.

INFO  [GatewayConnect                ] [2020/10/02 12:25:00]: Attempting to connect to gateway http://192.168.0.1:8088...
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/0
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:451)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/1
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/2
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/3
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/4
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/5
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/6
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/7
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/8
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/9
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Failed to start Browser Engine with options
 com.teamdev.jxbrowser.engine.EngineOptions:
  autoplayEnabled: true
  chromiumDir: /home/pi/.ignition/cache/resources/jxbrowser/7.10
  chromiumSwitches: []
  diskCacheSize: <unknown>
  fileAccessFromFilesAllowed: false
  isGpuDisabled: false
  isIncognitoEnabled:false
  language:en-us
  passwordStore: <unknown>
  remoteDebugginPort: 9224
  renderingMode: OFF_SCREEN
  isSandboxDisabled: false
  secureOriginWhitelist: []
  isTouchMenuEnabled: true
  userAgent: <unknown user agent value>
  userDataDir:/home/pi/.ignition/clientlauncher-data/workstationUserData/10
  webSecurityDisabled: false
.
com.teamdev.jxbrowser.engine.ChromiumBinariesExtractionException: Failed to extract Chromium binaries into /home/pi/.ignition/cache/resources/jxbrowser/7.10
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:49)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.lambda$extractChromiumBinariesIfNecessary$20(EngineImpl.java:495)
	at java.base/java.util.Optional.orElseGet(Optional.java:362)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.extractChromiumBinariesIfNecessary(EngineImpl.java:493)
	at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:183)
	at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:106)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:415)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.getOrCreateEngine(BrowserUtils.java:454)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.io.FileNotFoundException: chromium-linux64-arm.7z
	at com.teamdev.jxbrowser.internal.ChromiumExtractor.extract(ChromiumExtractor.java:47)
	... 17 more
ERROR [BrowserUtils                  ] [2020/10/02 12:25:02]: Browser Creation Failed
java.util.NoSuchElementException: No value present
	at java.base/java.util.Optional.orElseThrow(Optional.java:375)
	at com.inductiveautomation.ignition.launcher.workstation.utils.BrowserUtils.lambda$open$7(BrowserUtils.java:219)
	at com.inductiveautomation.ignition.launcher.common.utils.SimpleService$1.call(SimpleService.java:23)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)

I don’t think we’re including the Linux ARM 64 binaries right now, anywhere, not just in Workstation.

1 Like

Ok, makes sense. In a vision session, the Web Browser component actually loads on ARM64, but doesn’t work properly. You can see the address back, back, forward, and refresh buttons, but it doesn’t load a webpage.

Is there a reason why I can launch the workstation app picker on Java 14 and not 11?

I don’t know, we’re not really testing on unsupported platforms right now.

Hi Kevin,

Any idea when Workstation will be tested and supported on ARM64?

Thanks,
Lenny

@jcoffman do you know the status of this?

We don’t currently have anything in flight for this. I created a ticket though to get the ball rolling. There are some things that we will have to work out before we can support this, but should be doable.