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.

    -Michael.



  • @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?

    -Michael.



  • @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?

    -Michael.



  • @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.

    -Michael.



  • @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.

    -Michael.



  • @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.

    -Michael.



  • 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:

    • DISPLAY
    • XAUTHORITY

    After that the debugging works without problems.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.