[Interest] Qt5/PyQt5 app remote display recommendations

charlie hemlock charliehemlock at gmail.com
Thu Jul 26 01:58:58 CEST 2018


Hello,

Since there are issues using SSH/X11 for Qt5/PyQt5 applications using
"standard" SSH +X11 forwarding practices, does anyone have any
recommendations for alternatives?

I'm referring to the sorts of qt5/opengl issues originally posted here:
http://lists.qt-project.org/pipermail/interest/2018-July/030460.html

The PuTTY + Xming or VcXsrv combination is very convenient, but doesn't
appear to a workable solution anymore with Qt5 apps that use opengl.
At this point performance is a separate question.  I at least expect the
app to display.

Can anyone explain the regression too? (Or if Qt devs have plans to address)

Is some combination of these tools recommended to display Linux Qt5 apps on
a server from a windows client:

   - https://xpra.org/
   - https://wiki.x2go.org/doku.php
   - https://virtualgl.org/
   - http://www.freerdp.com/
   - http://www.xrdp.org/
   - the various VNC variants, ex.  tigervnc <http://tigervnc.org/>


Thank you!


On Wed, Jul 18, 2018 at 8:22 PM, charlie hemlock <charliehemlock at gmail.com>
wrote:

> Hello,
> Thank you for replying Thiago.
>
> Yes, I can display glxgears over ssh/x11 - not optimal, but at least
> displays. (gears turn really slow, and framerate reported is high (~1000
> FPS)
>
> > Can you switch back to Mesa from the Nvidia drivers and try that?
> I'm not exactly sure how to do that w/o uninstall of Nvidia drivers, or
> are there some run-time setting changes just for the app?
>
> setting LIBGL_ALWAYS_SOFTWARE=1.
> didn't help.  (but believe expected since Nvidia drivers used)
>
> However:
> I have tried spyder and the other pyqt5/examples/opengl/ on another server
> (CentOS 7, w/o Nvidia drivers)  and also have problems.
> Though the app **doesn't display at all** in most cases . But some cases
> it does appear but is so slow it is unusable.
> (glxgears will display).    More details below.
>
> For example, VcXsrv has a default setting called "Native opengl"
> "Use the native windows opengl library (wgl). Make sure to export the
> LIBGL_ALWAYS_INDIRECT environment variable".  This defaults setting seems
> to work fine for several apps, and I believe is preferred.
>
> Its these newer qt5 apps with opengl that appear to be problematic.
> Between qt 5.6 and 5.9 something changed.
>
> Previously spyder used qt4, and I had improved responsiveness when I set
> QT_GRAPHICSSYTEM=native
> Though I believe that environment variable is deprecated in qt5.  (see
> links in original message)
>
>
> Results below:
>
> VcXsrv Native openGL = on (default, checked)
> #Result#: Fails. Does not appear. Have to kill processes.
> libGL error: No matching fbConfigs or visuals found
> libGL error: failed to load driver: swrast
> QQuickWidget: Failed to make context current
> QQuickWidget::resizeEvent() no OpenGL context
>
> VcXsrv Native openGL = on
> LIBGL_ALWAYS_SOFTWARE=1
> LIBGL_ALWAYS_INDIRECT=1
> #Result#: Fails. Does not appear. Have to kill processes.
> QQuickWidget: Failed to make context current
> QQuickWidget::resizeEvent() no OpenGL context
>
> VcXsrv Native openGL = on
> LIBGL_ALWAYS_SOFTWARE=1
> #Result#: Fails. Does not appear. Have to kill processes.
> libGL error: No matching fbConfigs or visuals found
> libGL error: failed to load driver: swrast
> QQuickWidget: Failed to make context current
> QQuickWidget::resizeEvent() no OpenGL context
>
>
> VcXsrv Native openGL = on
> LIBGL_ALWAYS_INDIRECT=1
> #Result#: Fails. Does not appear. Have to kill processes.
> QQuickWidget: Failed to make context current
> QQuickWidget::resizeEvent() no OpenGL context
>
> VcXsrv Native openGL = off
> LIBGL_ALWAYS_SOFTWARE=1
> #Result#: appears ok. responsive = very slow, unusable
>
> VcXsrv Native openGL = off
> LIBGL_ALWAYS_INDIRECT=1
> #Result#: SegFault  (expected issues w/this)
>
> VcXsrv Native openGL = off
> #Result#: appears ok. responsive = very slow, unusable
>
>
> Thanks!
>
>
> On Mon, Jul 16, 2018 at 9:09 PM, Thiago Macieira <
> thiago.macieira at intel.com> wrote:
>
>> On Monday, 16 July 2018 16:47:55 PDT charlie hemlock wrote:
>> > % spyder
>> > QQuickWidget: Failed to make context current
>> > QQuickWidget::resizeEvent() no OpenGL context
>> > QQuickWidget: Failed to make context current
>> > QQuickWidget: Failed to make context current
>> > QQuickWidget::resizeEvent() no OpenGL context
>> > QQuickWidget: Failed to make context current
>> > QQuickWidget: Attempted to render scene with no context
>> > QQuickWidget: Attempted to render scene with no context
>> > composeAndFlush: makeCurrent() failed
>>
>> Yep, definitely OpenGL issues.
>>
>> Please make sure glxgears works before trying a Qt application.
>>
>> Can you switch back to Mesa from the NVidia drivers and try that? If that
>> isn't enough, try setting LIBGL_ALWAYS_SOFTWARE=1.
>>
>> > Using Windows 10, PuTTY, VcXsrv, and the PyQt apps are on a Linux
>> OpenSUSE
>> > 42.3 host (nVidia drivers).
>>
>> On OpenSUSE, the GL libraries are indirected through libglvnd. I don't
>> know
>> how to tell it to load the Mesa raster instead of the NVidia drivers.
>>
>> --
>> Thiago Macieira - thiago.macieira (AT) intel.com
>>   Software Architect - Intel Open Source Technology Center
>>
>>
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20180725/fd2a4e53/attachment.html>


More information about the Interest mailing list