Important: Please read the Qt Code of Conduct -

QXcbConnection: Could not connect to display

  • Hi all!

    I am developing my QtQuick2 application on Ubuntu 16.04.
    Now I am trying to remote debug my QtQuick2 application on an Ubuntu 15.04.
    But this does not work.
    I always get following message and then the application aborts:

    QXcbConnection: Could not connect to display 
    Process killed by signal

    Does anyone have an idea what could be the reason for this problem and how it can be solved?

  • Hi @MHermann

    Please beware that you may need a connection that is able to forward OpenGL.


  • @m.sue :
    Oh. I forgot to mention.
    I am using the QtCreator and therefore I am connecting via ssh.
    The connection it self can be established. But then my application crashes with the message: "QXcbConnection: Could not connect to display. Process killed by signal."

  • Hi @MHermann

    Does your program start if you call it on the Ubuntu 16 machine directly from the command line?


  • @m.sue :
    Yes. If I copy my application to the system, then I can start it on the Ubuntu via command line and it is running without problems.

  • Hi @MHermann

    Did you connect via ssh -X or such from the Ubuntu 15 machine for this start test or did you try it directly on the Ubuntu 16 machine?


  • @m.sue :
    I tried it directly on the Ubuntu 16 machine.
    Is it possible to use QtCreator with ssh -X?

  • Hi @MHermann

    I would assume that QtCreator does this on its own for remote debugging?

    Please try also with ssh -X from the Ubuntu 16 command line. If this works the problem lies within QtCreator's connection to the remote machine.


  • @m.sue :
    I tried it with ssh -X from the Ubuntu 16 command line.
    This is also not working.
    It gives me the following error messages:

    Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile)) 

    Any idea about this?

  • Hi @MHermann

    You will have to solve this OpenGL forwarding problem to make QtCreator remote debugging of a QML program possible.

    You will have to wait for someone else to take over here.


  • @m.sue :
    I am not sure if I understand you right here.
    For summerize:

    • I can compile and debug the app directly on my Ubuntu 16.

    • I can also compile remote debug the app on and Raspberry Pi.

    • I have only problems with remote debugging on Ubuntu 15.

    So the QtCreator is able to remote debug QML programs.

  • Hi @MHermann

    Yes but I think you have a problem to run a QML program on Ubuntu 15 remotely on Ubuntu 16. That is independent of QtCreator. The problem is to realize OpenGL commands generated in the program running on Ubuntu 15 on the graphics card of your Ubuntu 16 machine. This can be a configuration issue, a general problem, who knows.


  • Has somebody else an idea how I can resolve this problem???

  • I found the solution.
    Maybe someone is interested in it...

    In QtCreator > Run Settings > Run Environment it is necessary to set two environment variables:


    After that the debugging works without problems.

  • Hi @MHermann ,
    I have the same problem. i tried to fix it by setting these evironment variables (DISPLAY, XAUTHORITY) but I still get this error:
    qt.qpa.screen: QXcbConnection: Could not connect to display <VALUE>
    Could not connect to any X display.
    I did not set the values of the environment variables. How did you set the values?

  • Hi,
    Maybe that can help.

    Cross-compiling Qt-5.10 on Raspberry Pi 3 running Raspbian Stretch
    In Qt Creator, the Run parameters for the device are:
    Use System Environment and
    Set DISPLAY to :0
    Set XAUTHORITY to /home/pi/.Xauthority

    Note that I have also set the run argument as -platform xcb

  • Just as normal user authorize root, to connect to your display :)
    xhost +SI:localuser:root

  • Banned

    This post is deleted!

Log in to reply