For the record, the problem with Unity comes from Ubuntu's packaging of gtk3-nocsd which is installed as a dependency of the unity package.
The LD_PRELOAD trick it uses to do its job ends up injecting GTK3 library symbols into GTK2 processes, causing all sorts of problems. More gory details here: https://xpra.org/trac/ticket/1981#comment:5 Cheers, Antoine On 07/10/18 20:00, Iwan Vosloo via shifter-users wrote: > Thanks Antoine, > > On 05/10/2018 18:54, Antoine Martin via shifter-users wrote: >> On 05/10/2018 14:00, Iwan Vosloo via shifter-users wrote: >>> When run from a normal, "Ubuntu" session (meaning the new Gnome shipped >>> with Ubuntu 18.04), all is well. >>> >>> However, if we log into a unity session (which is what we'd like to do), >>> xpra cannot attach, giving: >>> >>> 2018-10-05 08:35:15,622 Xpra gtk2 client version 2.3.4-r20509 64-bit >>> 2018-10-05 08:35:15,623 running on Linux Ubuntu 18.04 bionic >>> 2018-10-05 08:35:17,212 GStreamer version 1.14.1 for Python 2.7.15 >>> 64-bit >>> 2018-10-05 08:35:17,376 No OpenGL_accelerate module loaded: No module >>> named OpenGL_accelerate >>> /usr/lib/python2.7/dist-packages/xpra/client/gl/gtk_base/gtkgl_check.py:152: >>> >>> Warning: cannot register existing type 'GdkScreen' >>> glarea.realize() >>> /usr/lib/python2.7/dist-packages/xpra/client/gl/gtk_base/gtkgl_check.py:152: >>> >>> Warning: g_once_init_leave: assertion 'result != 0' failed >>> glarea.realize() >>> /usr/lib/python2.7/dist-packages/xpra/client/gl/gtk_base/gtkgl_check.py:152: >>> >>> GtkWarning: gdk_screen_is_composited: assertion 'GDK_IS_SCREEN (screen)' >>> failed >>> glarea.realize() >>> Segmentation fault (core dumped) >> That's an OpenGL crash. >> We have sanity checks to verify that the OpenGL drivers work properly >> before we enable them, but it is those checks that are causing the crash >> here. If the drivers can't create a simple test window, something is >> fundamentally wrong. >> >> Looks like the opengl bindings don't run properly under Unity. >> This would be a bug for Unity or gtkgl. >> >> >> You may have more luck with the alternative opengl backend: >> xpra attach --opengl=native >> >> The only thing we could do better here would be to proactively disable >> OpenGL under Unity. > > I realise something besides xpra must be causing the issue - something > that changed between ubuntu 16.04 (where Unity works fine) and 18.04. > Not sure how to get more info to poinpoint the issue though. > >> Let us know how you get on so that I can blacklist Unity if necessary. > > with --opengl=native things still dont work and I get output: > > 2018-10-07 14:31:18,390 Xpra gtk2 client version 2.3.4-r20509 64-bit > 2018-10-07 14:31:18,391 running on Linux Ubuntu 18.04 bionic > 2018-10-07 14:31:20,113 GStreamer version 1.14.1 for Python 2.7.15 64-bit > 2018-10-07 14:31:20,275 No OpenGL_accelerate module loaded: No module > named OpenGL_accelerate > /usr/lib/python2.7/dist-packages/xpra/client/gtk_base/gtk_client_base.py:1020: > Warning: cannot register existing type 'GdkScreen' > window.realize() > /usr/lib/python2.7/dist-packages/xpra/client/gtk_base/gtk_client_base.py:1020: > Warning: g_once_init_leave: assertion 'result != 0' failed > window.realize() > /usr/lib/python2.7/dist-packages/xpra/client/gtk_base/gtk_client_base.py:1020: > GtkWarning: gdk_screen_is_composited: assertion 'GDK_IS_SCREEN (screen)' > failed > window.realize() > 2018-10-07 14:31:20,529 OpenGL enabled with Mesa DRI Intel(R) HD > Graphics 520 (Skylake GT2) > > However that process seems to hang and never reports being attached. I > have to kill -9 to get rid of it. > >> It wouldn't hurt to have the output of the command: >> xpra opengl > > No OpenGL_accelerate module loaded: No module named OpenGL_accelerate > GLU.extensions=GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess > GLU.version=1.3 > accum-blue-size=0 > accum-green-size=0 > accum-red-size=0 > alpha-size=0 > aux-buffers=0 > blue-size=8 > depth=24 > depth-size=0 > display_mode=DOUBLE > double-buffered=True > gdkgl={'version': (1, 4)} > gdkglext={'version': (1, 2, 0)} > green-size=8 > gtkglext={'version': (1, 2, 0)} > has-depth-buffer=False > has-stencil-buffer=False > has_alpha=False > max-viewport-dims=(32768, 32768) > opengl=3.0 > pygdkglext={'version': (1, 1, 0)} > pyopengl=3.1.1a1 > red-size=8 > renderer=Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2) > rgba=True > safe=True > sample-buffers=0 > samples=0 > shading-language-version=1.30 > stencil-size=0 > stereo=False > texture-size-limit=16384 > transparency=True > vendor=Intel Open Source Technology Center > zerocopy=False > > >> >>> If we run it under unity with: >>> xpra attach --sharing=yes --opengl=no ssh:[email protected]:100 >>> >>> ...then it attaches fine (also according to the server log file), but >>> running a program on :100 does not open a window on the attached client. >> This looks like a separate issue. >> It's very difficult to tell you anything useful as there just isn't >> enough information there. FWIW, I've just tried it and encountered no >> problems. >> Try filing a ticket and make sure to include "xpra info". >> > > Ok, thanks I did so and included output of xpra opengl and xpra info. > > > Regards > Iwan > _______________________________________________ shifter-users mailing list [email protected] http://lists.devloop.org.uk/mailman/listinfo/shifter-users
