UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 65094

2015.2 - SDK - XSCT requires a GUI support

Description

If I try to use the XSCT without an X-Terminal, I see an error similar to the following:

 

eclipse.buildId=2015.2
java.version=1.8.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -application com.xilinx.sdk.cmdline.service 45122
Command-line arguments: -os linux -ws gtk -arch x86_64 -application com.xilinx.sdk.cmdline.service
!ENTRY org.eclipse.osgi 4 0 2015-07-28 14:22:37.631
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4423)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:925)
at org.eclipse.swt.widgets.Display.create(Display.java:909)
at org.eclipse.swt.graphics.Device.<init>(Device.java:156)
at org.eclipse.swt.widgets.Display.<init>(Display.java:507)
at org.eclipse.swt.widgets.Display.<init>(Display.java:498)
at org.eclipse.swt.widgets.Display.getDefault(Display.java:1704)
at com.xilinx.sdk.targetmanager.XSDBCommandManager.initialize(XSDBCommandManager.java:88)
at com.xilinx.sdk.targetmanager.XSDBCommandManager.<init>(XSDBCommandManager.java:56)
at com.xilinx.sdk.targetmanager.XSDBCommandManager.getInstance(XSDBCommandManager.java:61)
at com.xilinx.sdk.cmdline.application.Service.start(Service.java:36)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
 
How can I address this?
 
 

Solution

This is a known limitation, where the XSCT requires GUI support and it is not recommended to use the XSCT without an X-Terminal.

If you want to do this then you will need to set DISPLAY variable for XSCT.

There are two work-arounds:

  • Create a VNC session, for example vncsession:33.
    Set the DISPLAY variable to "vncsession:33.0"

  • Create a dummy display using the xvfb utility (this is an open source utility).
    Refer to the following link for more details:
    https://en.wikipedia.org/wiki/Xvfb

The command to set the DISPLAY are shown below:

csh:

setenv DISPLAY <valid x session>

bash:

export DISPLAY=<valid x session>

 

AR# 65094
Date Created 07/29/2015
Last Updated 07/31/2015
Status Active
Type General Article
Tools
  • Vivado Design Suite - 2015.3
  • Vivado Design Suite - 2015.2
  • Vivado Design Suite - 2015.1