Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems with 4k screen #4167

Closed
thorstenwagner opened this issue Mar 19, 2024 · 29 comments
Closed

Problems with 4k screen #4167

thorstenwagner opened this issue Mar 19, 2024 · 29 comments
Labels
bug Something isn't working client display macos

Comments

@thorstenwagner
Copy link

Thank you so much for xpra, its super nice! :-)

When I use xpra to attach on a 4k screen, we are ending up with a tiny image in a big red area:
image

I tried using --desktop-scaling=2, but that did not help at all. Any recommendations what to do?

Best,
Thorsten

@thorstenwagner thorstenwagner added the bug Something isn't working label Mar 19, 2024
@totaam
Copy link
Collaborator

totaam commented Mar 19, 2024

That's probably something to do with macos lying to us about the actual pixel density.
You may want to try to toggle opengl on or off --opengl=force / --opengl=off and see which backend has this problem.
I don't have access to the hardware required to fix this - though it should not be too difficult.
This commit was meant to fix the problem with opengl enabled: c91d48a

@thorstenwagner
Copy link
Author

Thank you for the fast response.

We also had the same problem with xpra on a 4k window surface machine. So it seems to be not macos specific. I will let the user test --opengl=off

@thorstenwagner
Copy link
Author

thorstenwagner commented Mar 19, 2024

--opengl==off solves the problem on macos. We need to try it on windows. Does that mean, no opengl on 4k screens?

@totaam
Copy link
Collaborator

totaam commented Mar 19, 2024

Yes, that means rendering will be much slower - which is a shame because the fix is likely quite trivial.
This is not directly tied to the size of the screen, only to the pixel density advertised via Apple's OpenGL API.
(though 4k screens tend to have a higher DPI - and therefore macos is more likely to lie and pretend to have a lower one)

@thorstenwagner
Copy link
Author

As I said, we also had this on windows. Is there anything we can do to help you to workaround this issue? Couldnt we set the DPI manually somehow? :-)

@totaam
Copy link
Collaborator

totaam commented Mar 19, 2024

MS Windows, I should be able to fix if I can reproduce it.
No, there is currently no way to override the scaling factor.

@psobolewskiPhD
Copy link

psobolewskiPhD commented Mar 20, 2024

Maybe you've tried this, but I have something similar happen on my MBPro (Sonoma Xpra 5.0.7) with external monitor (not 4k though). It's sufficient to resize the window to get a redraw filling the window.

@ardavank
Copy link

+1 on this issue, I'm experiencing this on macOS (Unfortunately I don't have windows machine to test this on)
turning off the opengl fixes the issue, however, the performance becomes much worse.

xpra v5.0.2 on the server
xpra v5.0.7-r0 on the macOS 14.4.1 (23E224)

Screenshot 2024-03-29 at 11 24 12 AM
(Xpra:8703): Gtk-CRITICAL **: 11:16:21.400: gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed

2024-03-29 11:16:21,748 Xpra GTK3 client version 5.0.7-r0
2024-03-29 11:16:21,819  running on Mac OS X 14.4.1
2024-03-29 11:16:23,814 Warning: cannot enable SSH socket upgrades
2024-03-29 11:16:23,814  No module named 'nacl'
2024-03-29 11:16:23,854 created unix domain socket '/Users/ardavan/.xpra/clients/ardavan-mac-8703'
2024-03-29 11:16:24,641 Unable to import OpenGL.arrays.numpymodule.NumpyHandler: No numpy module present: No module named 'numpy'

(Xpra:8703): Gdk-WARNING **: 11:16:24.644: losing last reference to undestroyed window
2024-03-29 11:16:24,644 OpenGL enabled on 'Apple M2 Ultra'

(Xpra:8703): Gtk-CRITICAL **: 11:16:24.678: gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed
2024-03-29 11:16:24,814  keyboard settings: layout=us
2024-03-29 11:16:24,820  desktop size is 3008x1692:
2024-03-29 11:16:24,820   ardavan-mac.local (796x448 mm - DPI: 96x96) workarea: 3008x1598 at    0x25
2024-03-29 11:16:24,820     monitor 1        (700x390 mm - DPI: 109x110)

@ardavank
Copy link

ardavank commented Apr 2, 2024

@totaam whats the best way to debug this issue?

@ardavank
Copy link

ardavank commented Apr 2, 2024

I noticed that a similar issue was reported 5 years ago, #1933

@totaam
Copy link
Collaborator

totaam commented Apr 3, 2024

@ardavank I actually have done a lot of testing on MS Windows lately, with various GPUs, and I haven't seen this bug at all.
Perhaps @thorstenwagner can provide more detailed instructions for reproducing this issue on this platform?

I don't have the hardware required for testing or fixing MacOS.
Perhaps a log sample running with --opengl=force -d opengl would help identify the issue.

@ardavank
Copy link

ardavank commented Apr 4, 2024

@totaam

I upgraded the client to use version 6 and in this version, I'm seeing a blank window:
Here is the log:

ardavan@ardavan-mac / % CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 xpra attach --dpi=96 --opengl=force -d opengl --encoding=stream --speaker=disabled --microphone=disabled --pulseaudio=no --audio=no --microphone=disabled --printing=no ssh:<SERVER_ADDRESS>

grep: /usr/share/locale/locale.alias: No such file or directory
grep: /usr/share/locale/locale.alias: No such file or directory
2024-04-03 18:01:42,340 debug enabled for ['xpra.client.gtk3.client_base', 'gtk', 'opengl']

2024-04-03 18:01:42,400 Xpra GTK3 client version 6.0-r35418 (g08ce2221bf) beta
2024-04-03 18:01:42,425  running on Mac OS X 14.4.1
2024-04-03 18:01:42,425  cpython 3.11
2024-04-03 18:01:42,562 created unix domain sockets:
2024-04-03 18:01:42,562  '/Users/ardavan/.xpra/clients/ardavan-mac-71353'
2024-04-03 18:01:42,765 init_opengl(force)
2024-04-03 18:01:42,765 init_opengl: enable_option=force
2024-04-03 18:01:42,765 init_opengl: going to import xpra.client.gl
2024-04-03 18:01:42,773 debug enabled for ['xpra.client.gl.window', 'opengl', 'paint']
2024-04-03 18:01:42,775 opengl_module=<module 'OpenGL' from '/Applications/Xpra.app/Contents/Resources/lib/python/site-packages.zip/OpenGL/__init__.py'>
2024-04-03 18:01:42,775 get_opengl_module_names(force)
2024-04-03 18:01:42,775 get_gl_client_window_module(force) module names=('glarea', 'native')
2024-04-03 18:01:42,783 debug enabled for ['xpra.client.gl.gtk3.client_window', 'opengl', 'window']
2024-04-03 18:01:43,033 debug enabled for ['xpra.client.gl.check', 'opengl']
2024-04-03 18:01:43,036 debug enabled for ['xpra.client.gl.debug', 'opengl']
2024-04-03 18:01:43,036 OpenGL debugging settings:
2024-04-03 18:01:43,037  GREMEDY_DEBUG=False
2024-04-03 18:01:43,037  GL_DEBUG_OUTPUT=0, 0
2024-04-03 18:01:43,037  gl_debug_callback=<function noop at 0x1031b71a0>
2024-04-03 18:01:43,037  glInitStringMarkerGREMEDY=<function noop at 0x1031b71a0>, glStringMarkerGREMEDY=<function noop at 0x1031b71a0>
2024-04-03 18:01:43,037  glInitFrameTerminatorGREMEDY=<function noop at 0x1031b71a0>, glFrameTerminatorGREMEDY=<function noop at 0x1031b71a0>
2024-04-03 18:01:43,040 debug enabled for ['xpra.client.gl.util', 'opengl', 'paint']
2024-04-03 18:01:43,045 debug enabled for ['xpra.client.gl.backing', 'opengl', 'paint']
2024-04-03 18:01:43,045 debug enabled for ['xpra.client.gl.backing', 'opengl', 'fps']
2024-04-03 18:01:43,045 debug enabled for ['xpra.client.gl.gtk3.glarea_window', 'opengl', 'paint']
2024-04-03 18:01:43,046 gl client window module 'glarea'=<module 'xpra.client.gl.gtk3.glarea_window' from '/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/glarea_window.py'>
2024-04-03 18:01:43,101 GL_VERSION=4.1 Metal - 88
2024-04-03 18:01:43,101 found valid OpenGL version: 4.1
2024-04-03 18:01:43,101 OpenGL_accelerate version 3.1.7
2024-04-03 18:01:43,101 vendor: Apple
2024-04-03 18:01:43,101 renderer: Apple M2 Ultra
2024-04-03 18:01:43,101 shading-language-version: 4.10
2024-04-03 18:01:43,124 GLU: 1.3 MacOSX
2024-04-03 18:01:43,124 GLU.extensions:
2024-04-03 18:01:43,128 OpenGL extensions found: GL_ARB_blend_func_extended, GL_ARB_draw_buffers_blend, GL_ARB_draw_indirect, GL_ARB_ES2_compatibility, GL_ARB_explicit_attrib_location, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader5, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_occlusion_query2, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_separate_shader_objects, GL_ARB_shader_bit_encoding, GL_ARB_shader_subroutine, GL_ARB_shading_language_include, GL_ARB_tessellation_shader, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_cube_map_array, GL_ARB_texture_gather, GL_ARB_texture_query_lod, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_sRGB_decode, GL_APPLE_client_storage, GL_APPLE_container_object_shareable, GL_APPLE_flush_render, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_texture_range, GL_NV_texture_barrier
2024-04-03 18:01:43,128 OpenGL extensions found: GL_ARB_blend_func_extended, GL_ARB_draw_buffers_blend, GL_ARB_draw_indirect, GL_ARB_ES2_compatibility, GL_ARB_explicit_attrib_location, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader5, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_occlusion_query2, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_separate_shader_objects, GL_ARB_shader_bit_encoding, GL_ARB_shader_subroutine, GL_ARB_shading_language_include, GL_ARB_tessellation_shader, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_cube_map_array, GL_ARB_texture_gather, GL_ARB_texture_query_lod, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_sRGB_decode, GL_APPLE_client_storage, GL_APPLE_container_object_shareable, GL_APPLE_flush_render, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_texture_range, GL_NV_texture_barrier
2024-04-03 18:01:43,128 GL_MAX_TEXTURE_SIZE=16384
2024-04-03 18:01:43,128 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-03 18:01:43,128 GL_MAX_VIEWPORT_DIMS=(16384, 16384)
2024-04-03 18:01:43,130 All the required OpenGL functions are available: glActiveTexture, glTexSubImage2D, glTexCoord2i, glViewport, glMatrixMode, glLoadIdentity, glOrtho, glEnableClientState, glGenTextures, glDisable, glBindTexture, glPixelStorei, glEnable, glBegin, glFlush, glTexParameteri, glTexEnvi, glHint, glBlendFunc, glLineStipple, glTexImage2D, glMultiTexCoord2i, glVertex2i, glEnd
2024-04-03 18:01:43,131 All the required OpenGL functions are available: GL_FRAMEBUFFER (GL_FRAMEBUFFER), GL_DRAW_FRAMEBUFFER (GL_DRAW_FRAMEBUFFER), GL_READ_FRAMEBUFFER (GL_READ_FRAMEBUFFER), GL_COLOR_ATTACHMENT0 (GL_COLOR_ATTACHMENT0), GL_COLOR_ATTACHMENT1 (GL_COLOR_ATTACHMENT1), glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
2024-04-03 18:01:43,132 All the required OpenGL functions are available: glInitTextureRectangleARB
2024-04-03 18:01:43,132 All the required OpenGL functions are available: glCreateShader, glDeleteShader, glShaderSource, glCompileShader, glGetShaderiv, glGetShaderInfoLog, glDeleteProgram, GL_FRAGMENT_SHADER (GL_FRAGMENT_SHADER), GL_COMPILE_STATUS (GL_COMPILE_STATUS)
2024-04-03 18:01:43,173 renderer 'Apple M2 Ultra' not found in blacklist: ('SVGA3D', 'Software Rasterizer')
2024-04-03 18:01:43,173 vendor 'Apple' not found in blacklist: ()
2024-04-03 18:01:43,173 platform 'darwin' not found in blacklist: ()
2024-04-03 18:01:43,173 plugins msg=Unable to import OpenGL.arrays.numpymodule.NumpyHandler: No numpy module present: No module named 'numpy'
2024-04-03 18:01:43,180 <module 'xpra.client.gl.gtk3.glarea_window' from '/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/glarea_window.py'>.check_support(True)={'platform': 'darwin', 'backend': 'darwin', 'pyopengl': '3.1.7', 'opengl': (4, 1), 'accelerate': '3.1.7', 'zerocopy': True, 'vendor': 'Apple', 'renderer': 'Apple M2 Ultra', 'shading-language-version': '4.10', 'GLU': '1.3 MacOSX', 'extensions': ['GL_ARB_blend_func_extended', 'GL_ARB_draw_buffers_blend', 'GL_ARB_draw_indirect', 'GL_ARB_ES2_compatibility', 'GL_ARB_explicit_attrib_location', 'GL_ARB_gpu_shader_fp64', 'GL_ARB_gpu_shader5', 'GL_ARB_instanced_arrays', 'GL_ARB_internalformat_query', 'GL_ARB_occlusion_query2', 'GL_ARB_sample_shading', 'GL_ARB_sampler_objects', 'GL_ARB_separate_shader_objects', 'GL_ARB_shader_bit_encoding', 'GL_ARB_shader_subroutine', 'GL_ARB_shading_language_include', 'GL_ARB_tessellation_shader', 'GL_ARB_texture_buffer_object_rgb32', 'GL_ARB_texture_cube_map_array', 'GL_ARB_texture_gather', 'GL_ARB_texture_query_lod', 'GL_ARB_texture_rgb10_a2ui', 'GL_ARB_texture_storage', 'GL_ARB_texture_swizzle', 'GL_ARB_timer_query', 'GL_ARB_transform_feedback2', 'GL_ARB_transform_feedback3', 'GL_ARB_vertex_attrib_64bit', 'GL_ARB_vertex_type_2_10_10_10_rev', 'GL_ARB_viewport_array', 'GL_EXT_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_framebuffer_multisample_blit_scaled', 'GL_EXT_texture_compression_s3tc', 'GL_EXT_texture_filter_anisotropic', 'GL_EXT_texture_sRGB_decode', 'GL_APPLE_client_storage', 'GL_APPLE_container_object_shareable', 'GL_APPLE_flush_render', 'GL_APPLE_rgb_422', 'GL_APPLE_row_bytes', 'GL_APPLE_texture_range', 'GL_NV_texture_barrier'], 'array-handlers': (), 'texture-size-limit': 16384, 'max-viewport-dims': (16384, 16384), 'safe': True}
2024-04-03 18:01:43,219 init_opengl: found props {'platform': 'darwin', 'backend': 'darwin', 'pyopengl': '3.1.7', 'opengl': (4, 1), 'accelerate': '3.1.7', 'zerocopy': True, 'vendor': 'Apple', 'renderer': 'Apple M2 Ultra', 'shading-language-version': '4.10', 'GLU': '1.3 MacOSX', 'extensions': ['GL_ARB_blend_func_extended', 'GL_ARB_draw_buffers_blend', 'GL_ARB_draw_indirect', 'GL_ARB_ES2_compatibility', 'GL_ARB_explicit_attrib_location', 'GL_ARB_gpu_shader_fp64', 'GL_ARB_gpu_shader5', 'GL_ARB_instanced_arrays', 'GL_ARB_internalformat_query', 'GL_ARB_occlusion_query2', 'GL_ARB_sample_shading', 'GL_ARB_sampler_objects', 'GL_ARB_separate_shader_objects', 'GL_ARB_shader_bit_encoding', 'GL_ARB_shader_subroutine', 'GL_ARB_shading_language_include', 'GL_ARB_tessellation_shader', 'GL_ARB_texture_buffer_object_rgb32', 'GL_ARB_texture_cube_map_array', 'GL_ARB_texture_gather', 'GL_ARB_texture_query_lod', 'GL_ARB_texture_rgb10_a2ui', 'GL_ARB_texture_storage', 'GL_ARB_texture_swizzle', 'GL_ARB_timer_query', 'GL_ARB_transform_feedback2', 'GL_ARB_transform_feedback3', 'GL_ARB_vertex_attrib_64bit', 'GL_ARB_vertex_type_2_10_10_10_rev', 'GL_ARB_viewport_array', 'GL_EXT_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_framebuffer_multisample_blit_scaled', 'GL_EXT_texture_compression_s3tc', 'GL_EXT_texture_filter_anisotropic', 'GL_EXT_texture_sRGB_decode', 'GL_APPLE_client_storage', 'GL_APPLE_container_object_shareable', 'GL_APPLE_flush_render', 'GL_APPLE_rgb_422', 'GL_APPLE_row_bytes', 'GL_APPLE_texture_range', 'GL_NV_texture_barrier'], 'array-handlers': (), 'texture-size-limit': 16384, 'max-viewport-dims': (16384, 16384), 'safe': True}
2024-04-03 18:01:43,219 OpenGL: enabled=True, texture-size-limit=16384, max-window-size=(32767, 32767)
2024-04-03 18:01:43,219 OpenGL enabled on 'Apple M2 Ultra'
2024-04-03 18:01:43.468 Xpra[71353:484207] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.

(Xpra:71353): Gtk-CRITICAL **: 18:01:43.480: gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed
2024-04-03 18:01:43,535  keyboard settings: layout=us
2024-04-03 18:01:43,538  desktop size is 3008x1692:
2024-04-03 18:01:43,539   ardavan-mac.local (796x448 mm - DPI: 96x96) workarea: 3008x1598 at    0x25
2024-04-03 18:01:43,539     monitor 1        (700x390 mm - DPI: 109x110)



Success. Logging you in...
2024-04-03 18:01:49,233 debug enabled for ['xpra.client.mixins.display', 'screen', 'opengl']
2024-04-03 18:01:49,233 server opengl={'GLU.version': (1, 3), 'GLX': (1, 4), 'accelerate': (3, 1, 6), 'accum-alpha-size': '0', 'accum-blue-size': '0', 'accum-green-size': '0', 'accum-red-size': '0', 'alpha-size': '0', 'aux-buffers': '0', 'blue-size': '8', 'buffer-size': '24', 'depth': '24', 'depth-size': '0', 'direct': 'True', 'display_mode': 'ALPHA, DOUBLE', 'double-buffered': 'True', 'green-size': '8', 'level': '0', 'max-viewport-dims': '16384, 16384', 'opengl': (4, 5), 'platform': 'linux', 'pyopengl': (3, 1, 6), 'red-size': '8', 'renderer': 'llvmpipe (LLVM 17.0.6, 256 bits)', 'rgba': 'True', 'safe': 'True', 'shading-language-version': (4, 50), 'stencil-size': '0', 'stereo': 'False', 'success': 'True', 'texture-size-limit': '16384', 'transparency': 'True', 'vendor': 'Mesa', 'zerocopy': 'True'}
2024-04-03 18:01:49,248 enabled remote logging
2024-04-03 18:01:49,249 Xpra X11 seamless server version 5.0
2024-04-03 18:01:49,284 Attached to xpra server at <SERVER_ADDRESS>:22
2024-04-03 18:01:49,284  (press Control-C to detach)

2024-04-03 18:01:49,296 can_use_opengl self.GLClientWindowClass=<class 'xpra.client.gl.gtk3.glarea_window.GLClientWindow'>, self.opengl_enabled=True, self.opengl_force=True
2024-04-03 18:01:49,297 init_formats() internal format=RGB8, rgb modes=('YUV420P', 'YUV422P', 'YUV444P', 'NV12', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR')
2024-04-03 18:01:49,298 GLAreaBacking.with_gl_context delayed: <bound method GLWindowBackingBase.resize_fbo of GLAreaBacking(0x2, (1400, 972))>(0, 0, 1400, 972)
2024-04-03 18:01:49,354 GL_MAX_TEXTURE_SIZE=16384
2024-04-03 18:01:49,354 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-03 18:01:49,354 Initializing GL context for window size (1400, 972), backing size (1400, 972), max texture size=16384
2024-04-03 18:01:49,354 gl_init_textures()
2024-04-03 18:01:49,355 GLAreaBacking(0x2, (1400, 972)).gl_init_textures() textures: <OpenGL.arrays.ctypesarrays.c_uint_Array_8 object at 0x16918f550>, offscreen fbo: 1, tmp fbo: 2
2024-04-03 18:01:49,372 vertex shader initialized: OK
2024-04-03 18:01:49,372 NV12_to_RGB shader initialized: OK
2024-04-03 18:01:49,373 NV12_to_RGB program linked: OK
2024-04-03 18:01:49,373 NV12_to_RGB program validated: b'Validation Failed: No vertex array object bound.\n'
2024-04-03 18:01:49,374 YUV420P_to_RGB shader initialized: OK
2024-04-03 18:01:49,374 YUV420P_to_RGB program linked: OK
2024-04-03 18:01:49,374 YUV420P_to_RGB program validated: b'Validation Failed: No vertex array object bound.\n'
2024-04-03 18:01:49,374 YUV420P_to_RGB_FULL shader initialized: OK
2024-04-03 18:01:49,375 YUV420P_to_RGB_FULL program linked: OK
2024-04-03 18:01:49,375 YUV420P_to_RGB_FULL program validated: b'Validation Failed: No vertex array object bound.\n'
2024-04-03 18:01:49,375 YUV422P_to_RGB shader initialized: OK
2024-04-03 18:01:49,375 YUV422P_to_RGB program linked: OK
2024-04-03 18:01:49,375 YUV422P_to_RGB program validated: b'Validation Failed: No vertex array object bound.\n'
2024-04-03 18:01:49,376 YUV422P_to_RGB_FULL shader initialized: OK
2024-04-03 18:01:49,376 YUV422P_to_RGB_FULL program linked: OK
2024-04-03 18:01:49,376 YUV422P_to_RGB_FULL program validated: b'Validation Failed: No vertex array object bound.\n'
2024-04-03 18:01:49,376 YUV444P_to_RGB shader initialized: OK
2024-04-03 18:01:49,377 YUV444P_to_RGB program linked: OK
2024-04-03 18:01:49,377 YUV444P_to_RGB program validated: b'Validation Failed: No vertex array object bound.\n'
2024-04-03 18:01:49,377 YUV444P_to_RGB_FULL shader initialized: OK
2024-04-03 18:01:49,377 YUV444P_to_RGB_FULL program linked: OK
2024-04-03 18:01:49,377 YUV444P_to_RGB_FULL program validated: b'Validation Failed: No vertex array object bound.\n'
2024-04-03 18:01:49,377 overlay shader initialized: OK
2024-04-03 18:01:49,378 overlay program linked: OK
2024-04-03 18:01:49,378 overlay program validated: b'Validation Failed: No vertex array object bound.\n'
2024-04-03 18:01:49,378 gl_init(<__gi__.GdkQuartzGLContext object at 0x1694fc4c0 (GdkQuartzGLContext at 0x6000001eb300)>, False) done
2024-04-03 18:01:49,378 GLAreaBacking.on_realize((<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>,)) callbacks=((<bound method GLWindowBackingBase.resize_fbo of .. eaBacking(0x2, (1400, 972))>, (0, 0, 1400, 972)),)
2024-04-03 18:01:49,378 resize_fbo(<__gi__.GdkQuartzGLContext object at 0x1694fc4c0 (GdkQuartzGLContext at 0x6000001eb300)>, 0, 0, 1400, 972) offscreen_fbo=1
2024-04-03 18:01:49,378 copy_fbo(0, 0, 0, 0, 0, 972)
2024-04-03 18:01:49,379 swap_fbos()
2024-04-03 18:01:49,398 running, 1 windows
2024-04-03 18:01:49,435 GL do_configure_event(<Gdk.EventConfigure object at 0x1694e94f0 (void at 0x600001bf0d20)>)
2024-04-03 18:01:49,436 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:49,449 GL do_configure_event(<Gdk.EventConfigure object at 0x1694e94f0 (void at 0x600001bf0e60)>)
2024-04-03 18:01:49,450 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:49,462 upload_rgba_texture 32x32 uploaded 4096 bytes of RGBA pixel data using zerocopy:bytes-as-memoryview
2024-04-03 18:01:49,598 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:49,598 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:49,622 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:49,763 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:49,763 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:49,765 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:49,857 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:49,857 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:49,859 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:49,952 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:49,952 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:49,954 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:50,049 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:50,049 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:50,051 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:50,144 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:50,144 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:50,147 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:50,376 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:50,376 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:50,378 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:51,397 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:51,397 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:51,400 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:51,490 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:51,491 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:51,493 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:52,192 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:52,192 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:52,194 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:52,615 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 100800 bytes, x=0, y=519, width=1400, height=18, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:52,616 RGB update at (0,519) size 1400x18 (100800 bytes) to 1400x18, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:52,617 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:53,113 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 100800 bytes, x=0, y=519, width=1400, height=18, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:53,113 RGB update at (0,519) size 1400x18 (100800 bytes) to 1400x18, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:53,115 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:53,616 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 100800 bytes, x=0, y=519, width=1400, height=18, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:53,616 RGB update at (0,519) size 1400x18 (100800 bytes) to 1400x18, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:53,617 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:54,117 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 100800 bytes, x=0, y=519, width=1400, height=18, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:54,118 RGB update at (0,519) size 1400x18 (100800 bytes) to 1400x18, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:54,119 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:54,617 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 100800 bytes, x=0, y=519, width=1400, height=18, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:54,617 RGB update at (0,519) size 1400x18 (100800 bytes) to 1400x18, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:54,619 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:55,118 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 100800 bytes, x=0, y=519, width=1400, height=18, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:55,118 RGB update at (0,519) size 1400x18 (100800 bytes) to 1400x18, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:55,119 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:55,474 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 100800 bytes, x=0, y=519, width=1400, height=18, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:55,474 RGB update at (0,519) size 1400x18 (100800 bytes) to 1400x18, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:55,475 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:01:55,521 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 16800 bytes, x=0, y=74, width=1400, height=3, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-03 18:01:55,521 RGB update at (0,74) size 1400x3 (16800 bytes) to 1400x3, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-03 18:01:55,522 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x1690dea00 (GtkGLArea at 0x12670a100)>
2024-04-03 18:02:04,991 upload_rgba_texture 24x24 uploaded 2304 bytes of RGBA pixel data using zerocopy:bytes-as-memoryview

@ardavank
Copy link

ardavank commented Apr 4, 2024

Screenshot 2024-04-03 at 6 10 09 PM Screenshot 2024-04-03 at 6 10 16 PM Screenshot 2024-04-03 at 6 10 22 PM

@totaam
Copy link
Collaborator

totaam commented Apr 4, 2024

Thanks @ardavank

CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 xpra attach --dpi=96 --opengl=force -d opengl --encoding=stream --speaker=disabled --microphone=disabled --pulseaudio=no --audio=no --microphone=disabled --printing=no ssh:<SERVER_ADDRESS>

  • CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 should not be needed
  • speaker=disabled --microphone=disabled --pulseaudio=no --audio=no --microphone=disabled
    Just --audio=no is enough
  • ssh:<SERVER_ADDRESS> - this has been deprecated for years, use this syntax: ssh://HOST/

2024-04-03 18:01:42,775 get_gl_client_window_module(force) module names=('glarea', 'native')

Perhaps this will work better (worth a try): --opengl=force:native

2024-04-03 18:01:49,373 NV12_to_RGB program validated: b'Validation Failed: No vertex array object bound.\n'

That is a problem. Looks like OpenGL 3.3 (mac) Error validating program: Validation Failed: No vertex array object bound
But I'm not sure if this is fatal or not, it seems to continue OK after that.
I've posted a Xpra-arm64-6.0-r35454.pkg / dmg build to the beta repo with a fix for this: 081ca56

Can you screenshot the blank window? What color is it? Transparent?

@ardavank
Copy link

ardavank commented Apr 4, 2024

@totaam thanks for the tips

I tried it again with --opnegl=force:native and it gets into a crash loop and no window becomes visible:

ardavan@ardavan-mac / % xpra attach --dpi=96 --opengl=force:native -d opengl --encoding=stream --audio=no --printing=no ssh://<SERVER_ADDRESS>
grep: /usr/share/locale/locale.alias: No such file or directory
grep: /usr/share/locale/locale.alias: No such file or directory
2024-04-04 02:03:14,431 debug enabled for ['xpra.client.gtk3.client_base', 'gtk', 'opengl']

2024-04-04 02:03:14,469 Xpra GTK3 client version 6.0-r35418 (g08ce2221bf) beta
2024-04-04 02:03:14,491  running on Mac OS X 14.4.1
2024-04-04 02:03:14,491  cpython 3.11
2024-04-04 02:03:14,544 created unix domain sockets:
2024-04-04 02:03:14,544  '/Users/ardavan/.xpra/clients/ardavan-mac-86375'
2024-04-04 02:03:14,631 init_opengl(force:native)
2024-04-04 02:03:14,631 init_opengl: enable_option=force
2024-04-04 02:03:14,631 init_opengl: going to import xpra.client.gl
2024-04-04 02:03:14,634 debug enabled for ['xpra.client.gl.window', 'opengl', 'paint']
2024-04-04 02:03:14,637 opengl_module=<module 'OpenGL' from '/Applications/Xpra.app/Contents/Resources/lib/python/site-packages.zip/OpenGL/__init__.py'>
2024-04-04 02:03:14,637 get_opengl_module_names(force:native)
2024-04-04 02:03:14,637 get_gl_client_window_module(force:native) module names=('native',)
2024-04-04 02:03:14,639 debug enabled for ['xpra.client.gl.gtk3.client_window', 'opengl', 'window']
2024-04-04 02:03:14,852 debug enabled for ['xpra.client.gl.check', 'opengl']
2024-04-04 02:03:14,853 debug enabled for ['xpra.client.gl.debug', 'opengl']
2024-04-04 02:03:14,854 OpenGL debugging settings:
2024-04-04 02:03:14,854  GREMEDY_DEBUG=False
2024-04-04 02:03:14,854  GL_DEBUG_OUTPUT=0, 0
2024-04-04 02:03:14,854  gl_debug_callback=<function noop at 0x10296b100>
2024-04-04 02:03:14,854  glInitStringMarkerGREMEDY=<function noop at 0x10296b100>, glStringMarkerGREMEDY=<function noop at 0x10296b100>
2024-04-04 02:03:14,854  glInitFrameTerminatorGREMEDY=<function noop at 0x10296b100>, glFrameTerminatorGREMEDY=<function noop at 0x10296b100>
2024-04-04 02:03:14,855 debug enabled for ['xpra.client.gl.util', 'opengl', 'paint']
2024-04-04 02:03:14,856 debug enabled for ['xpra.client.gl.backing', 'opengl', 'paint']
2024-04-04 02:03:14,856 debug enabled for ['xpra.client.gl.backing', 'opengl', 'fps']
2024-04-04 02:03:14,866 debug enabled for ['xpra.platform.darwin.gl_context', 'opengl']
2024-04-04 02:03:14,867 debug enabled for ['xpra.client.gl.gtk3.drawing_area', 'opengl', 'paint']
2024-04-04 02:03:14,868 gl client window module 'native'=<module 'xpra.client.gl.gtk3.native_window' from '/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/native_window.py'>
2024-04-04 02:03:14,890 NSOpenGLGetVersion()=1,2
2024-04-04 02:03:14,898 get_paint_context(<__gi__.GdkQuartzWindow object at 0x119144140 (GdkQuartzWindow at 0x119283920)>) nsview(0x10c43bc90)=<GdkQuartzView: 0x10c43bc90>
2024-04-04 02:03:14,898 AGLWindowContext(<NSOpenGLContext: 0x6000019f56c0>, <GdkQuartzView: 0x10c43bc90>)
2024-04-04 02:03:14,900 GL_VERSION=2.1 Metal - 88
2024-04-04 02:03:14,900 found valid OpenGL version: 2.1
2024-04-04 02:03:14,900 OpenGL_accelerate version 3.1.7
2024-04-04 02:03:14,900 vendor: Apple
2024-04-04 02:03:14,900 renderer: Apple M2 Ultra
2024-04-04 02:03:14,900 shading-language-version: 1.20
2024-04-04 02:03:14,921 GLU: 1.3 MacOSX
2024-04-04 02:03:14,921 GLU.extensions:
2024-04-04 02:03:14,924 error querying extensions using GL_NUM_EXTENSIONS / GL_EXTENSIONS: GLError(
	err = 1280,
	description = b'invalid enumerant',
	baseOperation = glGetIntegerv,
	pyArgs = (
		GL_NUM_EXTENSIONS,
		<object object at 0x108cc8280>,
	),
	cArgs = (
		GL_NUM_EXTENSIONS,
		<OpenGL.arrays.ctypesarrays.c_int_Array_1 object at 0x1191a1350>,
	),
	cArguments = (
		GL_NUM_EXTENSIONS,
		<OpenGL.arrays.ctypesarrays.c_int_Array_1 object at 0x1191a1350>,
	)
)
2024-04-04 02:03:14,924 OpenGL extensions found: GL_ARB_color_buffer_float, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_instanced_arrays, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_seamless_cube_map, GL_ARB_shader_objects, GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_transpose_matrix, GL_ARB_vertex_array_bgra, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_draw_buffers2, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_s3tc, GL_EXT_texture_env_add, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_rectangle, GL_EXT_texture_shared_exponent, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_flush_render, GL_APPLE_packed_pixels, GL_APPLE_pixel_buffer, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, GL_APPLE_vertex_array_object, GL_APPLE_vertex_point_size, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_IBM_rasterpos_clip, GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_fog_distance, GL_NV_fragment_program_option, GL_NV_fragment_program2, GL_NV_light_max_exponent, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_SGI_color_matrix, GL_SGIS_generate_mipmap, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod,
2024-04-04 02:03:14,925 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:03:14,925 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:03:14,925 GL_MAX_VIEWPORT_DIMS=(16384, 16384)
2024-04-04 02:03:14,927 All the required OpenGL functions are available: glActiveTexture, glTexSubImage2D, glTexCoord2i, glViewport, glMatrixMode, glLoadIdentity, glOrtho, glEnableClientState, glGenTextures, glDisable, glBindTexture, glPixelStorei, glEnable, glBegin, glFlush, glTexParameteri, glTexEnvi, glHint, glBlendFunc, glLineStipple, glTexImage2D, glMultiTexCoord2i, glVertex2i, glEnd
2024-04-04 02:03:14,927 All the required OpenGL functions are available: GL_FRAMEBUFFER (GL_FRAMEBUFFER), GL_DRAW_FRAMEBUFFER (GL_DRAW_FRAMEBUFFER), GL_READ_FRAMEBUFFER (GL_READ_FRAMEBUFFER), GL_COLOR_ATTACHMENT0 (GL_COLOR_ATTACHMENT0), GL_COLOR_ATTACHMENT1 (GL_COLOR_ATTACHMENT1), glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
2024-04-04 02:03:14,928 All the required OpenGL functions are available: glInitTextureRectangleARB
2024-04-04 02:03:14,928 All the required OpenGL functions are available: glCreateShader, glDeleteShader, glShaderSource, glCompileShader, glGetShaderiv, glGetShaderInfoLog, glDeleteProgram, GL_FRAGMENT_SHADER (GL_FRAGMENT_SHADER), GL_COMPILE_STATUS (GL_COMPILE_STATUS)
2024-04-04 02:03:14,928 renderer 'Apple M2 Ultra' not found in blacklist: ('SVGA3D', 'Software Rasterizer')
2024-04-04 02:03:14,928 vendor 'Apple' not found in blacklist: ()
2024-04-04 02:03:14,928 platform 'darwin' not found in blacklist: ()
2024-04-04 02:03:14,928 plugins msg=Unable to import OpenGL.arrays.numpymodule.NumpyHandler: No numpy module present: No module named 'numpy'
2024-04-04 02:03:14,930 AGLContext.destroy() window_context=AGLWindowContext(<NSOpenGLContext: 0x6000019f56c0>, <GdkQuartzView: 0x10c43bc90>)

(Xpra:86375): Gdk-WARNING **: 02:03:14.932: losing last reference to undestroyed window
2024-04-04 02:03:14,932 <module 'xpra.client.gl.gtk3.native_window' from '/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/native_window.py'>.check_support(True)={'virtual-screens': 2, 'rgba': True, 'depth': 32, 'alpha-size': 8, 'accum-size': 0, 'depth-size': 32, 'stencil-size': 0, 'aux-buffers': 0, 'double-buffered': 1, 'screen-0': {'rgba': True, 'depth': 32, 'alpha-size': 8, 'accum-size': 0, 'depth-size': 32, 'stencil-size': 0, 'aux-buffers': 0, 'double-buffered': 1}, 'screen-1': {'rgba': True, 'depth': 32, 'alpha-size': 8, 'accum-size': 0, 'depth-size': 32, 'stencil-size': 0, 'aux-buffers': 0, 'double-buffered': 1}, 'platform': 'darwin', 'backend': 'darwin', 'pyopengl': '3.1.7', 'opengl': (2, 1), 'accelerate': '3.1.7', 'zerocopy': True, 'vendor': 'Apple', 'renderer': 'Apple M2 Ultra', 'shading-language-version': '1.20', 'GLU': '1.3 MacOSX', 'extensions': ['GL_ARB_color_buffer_float', 'GL_ARB_depth_buffer_float', 'GL_ARB_depth_clamp', 'GL_ARB_depth_texture', 'GL_ARB_draw_buffers', 'GL_ARB_draw_elements_base_vertex', 'GL_ARB_draw_instanced', 'GL_ARB_fragment_program', 'GL_ARB_fragment_program_shadow', 'GL_ARB_fragment_shader', 'GL_ARB_framebuffer_object', 'GL_ARB_framebuffer_sRGB', 'GL_ARB_half_float_pixel', 'GL_ARB_half_float_vertex', 'GL_ARB_imaging', 'GL_ARB_instanced_arrays', 'GL_ARB_multisample', 'GL_ARB_multitexture', 'GL_ARB_occlusion_query', 'GL_ARB_pixel_buffer_object', 'GL_ARB_point_parameters', 'GL_ARB_point_sprite', 'GL_ARB_provoking_vertex', 'GL_ARB_seamless_cube_map', 'GL_ARB_shader_objects', 'GL_ARB_shader_texture_lod', 'GL_ARB_shading_language_100', 'GL_ARB_shadow', 'GL_ARB_shadow_ambient', 'GL_ARB_sync', 'GL_ARB_texture_border_clamp', 'GL_ARB_texture_compression', 'GL_ARB_texture_compression_rgtc', 'GL_ARB_texture_cube_map', 'GL_ARB_texture_env_add', 'GL_ARB_texture_env_combine', 'GL_ARB_texture_env_crossbar', 'GL_ARB_texture_env_dot3', 'GL_ARB_texture_float', 'GL_ARB_texture_mirrored_repeat', 'GL_ARB_texture_non_power_of_two', 'GL_ARB_texture_rectangle', 'GL_ARB_texture_rg', 'GL_ARB_transpose_matrix', 'GL_ARB_vertex_array_bgra', 'GL_ARB_vertex_blend', 'GL_ARB_vertex_buffer_object', 'GL_ARB_vertex_program', 'GL_ARB_vertex_shader', 'GL_ARB_window_pos', 'GL_EXT_abgr', 'GL_EXT_bgra', 'GL_EXT_bindable_uniform', 'GL_EXT_blend_color', 'GL_EXT_blend_equation_separate', 'GL_EXT_blend_func_separate', 'GL_EXT_blend_minmax', 'GL_EXT_blend_subtract', 'GL_EXT_clip_volume_hint', 'GL_EXT_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_draw_buffers2', 'GL_EXT_draw_range_elements', 'GL_EXT_fog_coord', 'GL_EXT_framebuffer_blit', 'GL_EXT_framebuffer_multisample', 'GL_EXT_framebuffer_multisample_blit_scaled', 'GL_EXT_framebuffer_object', 'GL_EXT_framebuffer_sRGB', 'GL_EXT_geometry_shader4', 'GL_EXT_gpu_program_parameters', 'GL_EXT_gpu_shader4', 'GL_EXT_multi_draw_arrays', 'GL_EXT_packed_depth_stencil', 'GL_EXT_packed_float', 'GL_EXT_provoking_vertex', 'GL_EXT_rescale_normal', 'GL_EXT_secondary_color', 'GL_EXT_separate_specular_color', 'GL_EXT_shadow_funcs', 'GL_EXT_stencil_two_side', 'GL_EXT_stencil_wrap', 'GL_EXT_texture_array', 'GL_EXT_texture_compression_dxt1', 'GL_EXT_texture_compression_s3tc', 'GL_EXT_texture_env_add', 'GL_EXT_texture_filter_anisotropic', 'GL_EXT_texture_integer', 'GL_EXT_texture_lod_bias', 'GL_EXT_texture_rectangle', 'GL_EXT_texture_shared_exponent', 'GL_EXT_texture_sRGB', 'GL_EXT_texture_sRGB_decode', 'GL_EXT_timer_query', 'GL_EXT_transform_feedback', 'GL_EXT_vertex_array_bgra', 'GL_APPLE_aux_depth_stencil', 'GL_APPLE_client_storage', 'GL_APPLE_element_array', 'GL_APPLE_fence', 'GL_APPLE_float_pixels', 'GL_APPLE_flush_buffer_range', 'GL_APPLE_flush_render', 'GL_APPLE_packed_pixels', 'GL_APPLE_pixel_buffer', 'GL_APPLE_rgb_422', 'GL_APPLE_row_bytes', 'GL_APPLE_specular_vector', 'GL_APPLE_texture_range', 'GL_APPLE_transform_hint', 'GL_APPLE_vertex_array_object', 'GL_APPLE_vertex_point_size', 'GL_APPLE_vertex_program_evaluators', 'GL_APPLE_ycbcr_422', 'GL_ATI_separate_stencil', 'GL_ATI_texture_env_combine3', 'GL_ATI_texture_float', 'GL_IBM_rasterpos_clip', 'GL_NV_blend_square', 'GL_NV_conditional_render', 'GL_NV_depth_clamp', 'GL_NV_fog_distance', 'GL_NV_fragment_program_option', 'GL_NV_fragment_program2', 'GL_NV_light_max_exponent', 'GL_NV_texgen_reflection', 'GL_NV_texture_barrier', 'GL_NV_vertex_program2_option', 'GL_NV_vertex_program3', 'GL_SGI_color_matrix', 'GL_SGIS_generate_mipmap', 'GL_SGIS_texture_edge_clamp', 'GL_SGIS_texture_lod', ''], 'array-handlers': (), 'texture-size-limit': 16384, 'max-viewport-dims': (16384, 16384), 'safe': True}
2024-04-04 02:03:14,990 init_opengl: found props {'virtual-screens': 2, 'rgba': True, 'depth': 32, 'alpha-size': 8, 'accum-size': 0, 'depth-size': 32, 'stencil-size': 0, 'aux-buffers': 0, 'double-buffered': 1, 'screen-0': {'rgba': True, 'depth': 32, 'alpha-size': 8, 'accum-size': 0, 'depth-size': 32, 'stencil-size': 0, 'aux-buffers': 0, 'double-buffered': 1}, 'screen-1': {'rgba': True, 'depth': 32, 'alpha-size': 8, 'accum-size': 0, 'depth-size': 32, 'stencil-size': 0, 'aux-buffers': 0, 'double-buffered': 1}, 'platform': 'darwin', 'backend': 'darwin', 'pyopengl': '3.1.7', 'opengl': (2, 1), 'accelerate': '3.1.7', 'zerocopy': True, 'vendor': 'Apple', 'renderer': 'Apple M2 Ultra', 'shading-language-version': '1.20', 'GLU': '1.3 MacOSX', 'extensions': ['GL_ARB_color_buffer_float', 'GL_ARB_depth_buffer_float', 'GL_ARB_depth_clamp', 'GL_ARB_depth_texture', 'GL_ARB_draw_buffers', 'GL_ARB_draw_elements_base_vertex', 'GL_ARB_draw_instanced', 'GL_ARB_fragment_program', 'GL_ARB_fragment_program_shadow', 'GL_ARB_fragment_shader', 'GL_ARB_framebuffer_object', 'GL_ARB_framebuffer_sRGB', 'GL_ARB_half_float_pixel', 'GL_ARB_half_float_vertex', 'GL_ARB_imaging', 'GL_ARB_instanced_arrays', 'GL_ARB_multisample', 'GL_ARB_multitexture', 'GL_ARB_occlusion_query', 'GL_ARB_pixel_buffer_object', 'GL_ARB_point_parameters', 'GL_ARB_point_sprite', 'GL_ARB_provoking_vertex', 'GL_ARB_seamless_cube_map', 'GL_ARB_shader_objects', 'GL_ARB_shader_texture_lod', 'GL_ARB_shading_language_100', 'GL_ARB_shadow', 'GL_ARB_shadow_ambient', 'GL_ARB_sync', 'GL_ARB_texture_border_clamp', 'GL_ARB_texture_compression', 'GL_ARB_texture_compression_rgtc', 'GL_ARB_texture_cube_map', 'GL_ARB_texture_env_add', 'GL_ARB_texture_env_combine', 'GL_ARB_texture_env_crossbar', 'GL_ARB_texture_env_dot3', 'GL_ARB_texture_float', 'GL_ARB_texture_mirrored_repeat', 'GL_ARB_texture_non_power_of_two', 'GL_ARB_texture_rectangle', 'GL_ARB_texture_rg', 'GL_ARB_transpose_matrix', 'GL_ARB_vertex_array_bgra', 'GL_ARB_vertex_blend', 'GL_ARB_vertex_buffer_object', 'GL_ARB_vertex_program', 'GL_ARB_vertex_shader', 'GL_ARB_window_pos', 'GL_EXT_abgr', 'GL_EXT_bgra', 'GL_EXT_bindable_uniform', 'GL_EXT_blend_color', 'GL_EXT_blend_equation_separate', 'GL_EXT_blend_func_separate', 'GL_EXT_blend_minmax', 'GL_EXT_blend_subtract', 'GL_EXT_clip_volume_hint', 'GL_EXT_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_draw_buffers2', 'GL_EXT_draw_range_elements', 'GL_EXT_fog_coord', 'GL_EXT_framebuffer_blit', 'GL_EXT_framebuffer_multisample', 'GL_EXT_framebuffer_multisample_blit_scaled', 'GL_EXT_framebuffer_object', 'GL_EXT_framebuffer_sRGB', 'GL_EXT_geometry_shader4', 'GL_EXT_gpu_program_parameters', 'GL_EXT_gpu_shader4', 'GL_EXT_multi_draw_arrays', 'GL_EXT_packed_depth_stencil', 'GL_EXT_packed_float', 'GL_EXT_provoking_vertex', 'GL_EXT_rescale_normal', 'GL_EXT_secondary_color', 'GL_EXT_separate_specular_color', 'GL_EXT_shadow_funcs', 'GL_EXT_stencil_two_side', 'GL_EXT_stencil_wrap', 'GL_EXT_texture_array', 'GL_EXT_texture_compression_dxt1', 'GL_EXT_texture_compression_s3tc', 'GL_EXT_texture_env_add', 'GL_EXT_texture_filter_anisotropic', 'GL_EXT_texture_integer', 'GL_EXT_texture_lod_bias', 'GL_EXT_texture_rectangle', 'GL_EXT_texture_shared_exponent', 'GL_EXT_texture_sRGB', 'GL_EXT_texture_sRGB_decode', 'GL_EXT_timer_query', 'GL_EXT_transform_feedback', 'GL_EXT_vertex_array_bgra', 'GL_APPLE_aux_depth_stencil', 'GL_APPLE_client_storage', 'GL_APPLE_element_array', 'GL_APPLE_fence', 'GL_APPLE_float_pixels', 'GL_APPLE_flush_buffer_range', 'GL_APPLE_flush_render', 'GL_APPLE_packed_pixels', 'GL_APPLE_pixel_buffer', 'GL_APPLE_rgb_422', 'GL_APPLE_row_bytes', 'GL_APPLE_specular_vector', 'GL_APPLE_texture_range', 'GL_APPLE_transform_hint', 'GL_APPLE_vertex_array_object', 'GL_APPLE_vertex_point_size', 'GL_APPLE_vertex_program_evaluators', 'GL_APPLE_ycbcr_422', 'GL_ATI_separate_stencil', 'GL_ATI_texture_env_combine3', 'GL_ATI_texture_float', 'GL_IBM_rasterpos_clip', 'GL_NV_blend_square', 'GL_NV_conditional_render', 'GL_NV_depth_clamp', 'GL_NV_fog_distance', 'GL_NV_fragment_program_option', 'GL_NV_fragment_program2', 'GL_NV_light_max_exponent', 'GL_NV_texgen_reflection', 'GL_NV_texture_barrier', 'GL_NV_vertex_program2_option', 'GL_NV_vertex_program3', 'GL_SGI_color_matrix', 'GL_SGIS_generate_mipmap', 'GL_SGIS_texture_edge_clamp', 'GL_SGIS_texture_lod', ''], 'array-handlers': (), 'texture-size-limit': 16384, 'max-viewport-dims': (16384, 16384), 'safe': True}
2024-04-04 02:03:15,005 OpenGL: enabled=True, texture-size-limit=16384, max-window-size=(32767, 32767)
2024-04-04 02:03:15,005 OpenGL enabled on 'Apple M2 Ultra'
2024-04-04 02:03:15.120 Xpra[86375:1354136] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.

(Xpra:86375): Gtk-CRITICAL **: 02:03:15.125: gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed
2024-04-04 02:03:15,169  keyboard settings: layout=us
2024-04-04 02:03:15,173  desktop size is 3008x1692:
2024-04-04 02:03:15,173   ardavan-mac.local (796x448 mm - DPI: 96x96) workarea: 3008x1598 at    0x25
2024-04-04 02:03:15,173     monitor 1        (700x390 mm - DPI: 109x110)

Success. Logging you in...
2024-04-04 02:03:41,383 debug enabled for ['xpra.client.mixins.display', 'screen', 'opengl']
2024-04-04 02:03:41,383 server opengl={'GLU.version': (1, 3), 'GLX': (1, 4), 'accelerate': (3, 1, 6), 'accum-alpha-size': '0', 'accum-blue-size': '0', 'accum-green-size': '0', 'accum-red-size': '0', 'alpha-size': '0', 'aux-buffers': '0', 'blue-size': '8', 'buffer-size': '24', 'depth': '24', 'depth-size': '0', 'direct': 'True', 'display_mode': 'ALPHA, DOUBLE', 'double-buffered': 'True', 'green-size': '8', 'level': '0', 'max-viewport-dims': '16384, 16384', 'opengl': (4, 5), 'platform': 'linux', 'pyopengl': (3, 1, 6), 'red-size': '8', 'renderer': 'llvmpipe (LLVM 17.0.6, 256 bits)', 'rgba': 'True', 'safe': 'True', 'shading-language-version': (4, 50), 'stencil-size': '0', 'stereo': 'False', 'success': 'True', 'texture-size-limit': '16384', 'transparency': 'True', 'vendor': 'Mesa', 'zerocopy': 'True'}
2024-04-04 02:03:41,401 enabled remote logging
2024-04-04 02:03:41,402 Xpra X11 seamless server version 5.0
2024-04-04 02:03:41,438 Attached to xpra server at <SERVER_ADDRESS>:22
2024-04-04 02:03:41,438  (press Control-C to detach)

2024-04-04 02:03:41,447 running
2024-04-04 02:03:43,108 can_use_opengl self.GLClientWindowClass=<class 'xpra.client.gl.gtk3.native_window.GLClientWindow'>, self.opengl_enabled=True, self.opengl_force=True
2024-04-04 02:03:43,116 init_formats() internal format=RGB8, rgb modes=('YUV420P', 'YUV422P', 'YUV444P', 'NV12', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR')
2024-04-04 02:03:43,116 GLDrawingArea.with_gl_context delayed: <bound method GLWindowBackingBase.resize_fbo of GLDrawingArea(1, (640, 400))>(0, 0, 640, 400)
2024-04-04 02:03:43,203 GLDrawingArea.on_realize(<Gtk.DrawingArea object at 0x11acedcc0 (GtkDrawingArea at 0x104c0c2c0)>,) callbacks=((<bound method GLWindowBackingBase.resize_fbo of GLDrawingArea(1, (640, 400))>, (0, 0, 640, 400)),)
2024-04-04 02:03:43,204 get_paint_context(<__gi__.GdkQuartzWindow object at 0x12aa43a00 (GdkQuartzWindow at 0x11c422fb0)>) nsview(0x11c3158d0)=<GdkQuartzView: 0x11c3158d0>
2024-04-04 02:03:43,204 AGLWindowContext(<NSOpenGLContext: 0x600001990e00>, <GdkQuartzView: 0x11c3158d0>)
2024-04-04 02:03:43,210 resize_fbo(AGLWindowContext(<NSOpenGLContext: 0x600001990e00>, <GdkQuartzView: 0x11c3158d0>), 0, 0, 640, 400) offscreen_fbo=None
2024-04-04 02:03:43,225 GL do_configure_event(<Gdk.EventConfigure object at 0x11acb8a00 (void at 0x6000028b4320)>)
2024-04-04 02:03:43,239 GL do_configure_event(<Gdk.EventConfigure object at 0x11acb8820 (void at 0x6000028b4460)>)
2024-04-04 02:03:43,240 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:03:43,240 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:03:43,240 Initializing GL context for window size (640, 400), backing size (640, 400), max texture size=16384
2024-04-04 02:03:43,240 gl_init_textures()
2024-04-04 02:03:43,240 GLDrawingArea(1, (640, 400)).gl_init_textures() textures: <OpenGL.arrays.ctypesarrays.c_uint_Array_8 object at 0x12aa3d450>, offscreen fbo: 1, tmp fbo: 2
2024-04-04 02:03:43,255 failed shader source 'vertex':
2024-04-04 02:03:43,255   0
2024-04-04 02:03:43,255   1        #version 330 core
2024-04-04 02:03:43,255   2        layout(location=0) in vec4 position;
2024-04-04 02:03:43,255   3
2024-04-04 02:03:43,255   4        void main()
2024-04-04 02:03:43,255   5        {
2024-04-04 02:03:43,255   6            gl_Position = vec4(position.x, position.y, 1, 1);
2024-04-04 02:03:43,255   7        }
2024-04-04 02:03:43,255
2024-04-04 02:03:43,255 Error compiling 'vertex' OpenGL shader:
2024-04-04 02:03:43,255  ERROR: 0:2: '' :  version '330' is not supported
2024-04-04 02:03:43,255  ERROR: 0:2: '' : syntax error: #version
2024-04-04 02:03:43,255  ERROR: 0:3: 'layout' : syntax error: syntax error
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 106, in do_configure_event
    ClientWindow.do_configure_event(self, event)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 2280, in do_configure_event
    self.repaint(0, 0, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 374, in repaint
    self.queue_draw_area(x, y, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 51, in queue_draw_area
    b.gl_expose_rect(rect)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1485, in gl_expose_rect
    self.with_gl_context(expose)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/drawing_area.py", line 73, in with_gl_context
    cb(gl_context, *args)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1482, in expose
    self.gl_init(context)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 506, in gl_init
    self.gl_init_shaders()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 382, in gl_init_shaders
    vertex_shader = self.gl_init_shader("vertex", GL_VERTEX_SHADER)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 465, in gl_init_shader
    self.fail_shader(name, infolog)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 442, in fail_shader
    raise RuntimeError(f"OpenGL failed to compile shader {name!r}: {nonl(err_str)}")
RuntimeError: OpenGL failed to compile shader 'vertex': ERROR: 0:2: '' :  version '330' is not supported\nERROR: 0:2: '' : syntax error: #version\nERROR: 0:3: 'layout' : syntax error: syntax error
2024-04-04 02:03:43,259 GL do_configure_event(<Gdk.EventConfigure object at 0x12aa4de00 (void at 0x6000028b45a0)>)
2024-04-04 02:03:43,259 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:03:43,259 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:03:43,259 Initializing GL context for window size (640, 400), backing size (640, 400), max texture size=16384
2024-04-04 02:03:43,260 failed shader source 'vertex':
2024-04-04 02:03:43,260   0
2024-04-04 02:03:43,260   1        #version 330 core
2024-04-04 02:03:43,260   2        layout(location=0) in vec4 position;
2024-04-04 02:03:43,260   3
2024-04-04 02:03:43,260   4        void main()
2024-04-04 02:03:43,260   5        {
2024-04-04 02:03:43,260   6            gl_Position = vec4(position.x, position.y, 1, 1);
2024-04-04 02:03:43,260   7        }
2024-04-04 02:03:43,260
2024-04-04 02:03:43,260 Error compiling 'vertex' OpenGL shader:
2024-04-04 02:03:43,260  ERROR: 0:2: '' :  version '330' is not supported
2024-04-04 02:03:43,260  ERROR: 0:2: '' : syntax error: #version
2024-04-04 02:03:43,260  ERROR: 0:3: 'layout' : syntax error: syntax error
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 106, in do_configure_event
    ClientWindow.do_configure_event(self, event)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 2280, in do_configure_event
    self.repaint(0, 0, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 374, in repaint
    self.queue_draw_area(x, y, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 51, in queue_draw_area
    b.gl_expose_rect(rect)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1485, in gl_expose_rect
    self.with_gl_context(expose)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/drawing_area.py", line 73, in with_gl_context
    cb(gl_context, *args)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1482, in expose
    self.gl_init(context)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 506, in gl_init
    self.gl_init_shaders()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 382, in gl_init_shaders
    vertex_shader = self.gl_init_shader("vertex", GL_VERTEX_SHADER)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 465, in gl_init_shader
    self.fail_shader(name, infolog)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 442, in fail_shader
    raise RuntimeError(f"OpenGL failed to compile shader {name!r}: {nonl(err_str)}")
RuntimeError: OpenGL failed to compile shader 'vertex': ERROR: 0:2: '' :  version '330' is not supported\nERROR: 0:2: '' : syntax error: #version\nERROR: 0:3: 'layout' : syntax error: syntax error
2024-04-04 02:03:43,266 GL do_configure_event(<Gdk.EventConfigure object at 0x12aa4e1c0 (void at 0x6000028c9860)>)
2024-04-04 02:03:43,266 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:03:43,270 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:03:43,270 Initializing GL context for window size (640, 400), backing size (640, 400), max texture size=16384
2024-04-04 02:03:43,270 failed shader source 'vertex':
2024-04-04 02:03:43,270   0
2024-04-04 02:03:43,270   1        #version 330 core
2024-04-04 02:03:43,270   2        layout(location=0) in vec4 position;
2024-04-04 02:03:43,270   3
2024-04-04 02:03:43,270   4        void main()
2024-04-04 02:03:43,270   5        {
2024-04-04 02:03:43,270   6            gl_Position = vec4(position.x, position.y, 1, 1);
2024-04-04 02:03:43,270   7        }
2024-04-04 02:03:43,270
2024-04-04 02:03:43,270 Error compiling 'vertex' OpenGL shader:
2024-04-04 02:03:43,270  ERROR: 0:2: '' :  version '330' is not supported
2024-04-04 02:03:43,270  ERROR: 0:2: '' : syntax error: #version
2024-04-04 02:03:43,270  ERROR: 0:3: 'layout' : syntax error: syntax error
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 106, in do_configure_event
    ClientWindow.do_configure_event(self, event)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 2280, in do_configure_event
    self.repaint(0, 0, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 374, in repaint
    self.queue_draw_area(x, y, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 51, in queue_draw_area
    b.gl_expose_rect(rect)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1485, in gl_expose_rect
    self.with_gl_context(expose)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/drawing_area.py", line 73, in with_gl_context
    cb(gl_context, *args)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1482, in expose
    self.gl_init(context)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 506, in gl_init
    self.gl_init_shaders()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 382, in gl_init_shaders
    vertex_shader = self.gl_init_shader("vertex", GL_VERTEX_SHADER)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 465, in gl_init_shader
    self.fail_shader(name, infolog)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 442, in fail_shader
    raise RuntimeError(f"OpenGL failed to compile shader {name!r}: {nonl(err_str)}")
RuntimeError: OpenGL failed to compile shader 'vertex': ERROR: 0:2: '' :  version '330' is not supported\nERROR: 0:2: '' : syntax error: #version\nERROR: 0:3: 'layout' : syntax error: syntax error
2024-04-04 02:03:43,276 GL do_configure_event(<Gdk.EventConfigure object at 0x12aa4e4e0 (void at 0x6000028c97c0)>)
2024-04-04 02:03:43,276 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:03:43,276 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:03:43,276 Initializing GL context for window size (640, 400), backing size (640, 400), max texture size=16384
2024-04-04 02:03:43,276 failed shader source 'vertex':
2024-04-04 02:03:43,276   0
2024-04-04 02:03:43,276   1        #version 330 core
2024-04-04 02:03:43,276   2        layout(location=0) in vec4 position;
2024-04-04 02:03:43,276   3
2024-04-04 02:03:43,276   4        void main()
2024-04-04 02:03:43,276   5        {
2024-04-04 02:03:43,276   6            gl_Position = vec4(position.x, position.y, 1, 1);
2024-04-04 02:03:43,280   7        }
2024-04-04 02:03:43,280
2024-04-04 02:03:43,280 Error compiling 'vertex' OpenGL shader:
2024-04-04 02:03:43,280  ERROR: 0:2: '' :  version '330' is not supported
2024-04-04 02:03:43,280  ERROR: 0:2: '' : syntax error: #version
2024-04-04 02:03:43,280  ERROR: 0:3: 'layout' : syntax error: syntax error
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 106, in do_configure_event
    ClientWindow.do_configure_event(self, event)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 2280, in do_configure_event
    self.repaint(0, 0, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 374, in repaint
    self.queue_draw_area(x, y, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 51, in queue_draw_area
    b.gl_expose_rect(rect)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1485, in gl_expose_rect
    self.with_gl_context(expose)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/drawing_area.py", line 73, in with_gl_context
    cb(gl_context, *args)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1482, in expose
    self.gl_init(context)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 506, in gl_init
    self.gl_init_shaders()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 382, in gl_init_shaders
    vertex_shader = self.gl_init_shader("vertex", GL_VERTEX_SHADER)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 465, in gl_init_shader
    self.fail_shader(name, infolog)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 442, in fail_shader
    raise RuntimeError(f"OpenGL failed to compile shader {name!r}: {nonl(err_str)}")
RuntimeError: OpenGL failed to compile shader 'vertex': ERROR: 0:2: '' :  version '330' is not supported\nERROR: 0:2: '' : syntax error: #version\nERROR: 0:3: 'layout' : syntax error: syntax error
2024-04-04 02:03:43,293 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:03:43,293 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:03:43,293 Initializing GL context for window size (640, 400), backing size (640, 400), max texture size=16384
2024-04-04 02:03:43,293 failed shader source 'vertex':
2024-04-04 02:03:43,293   0
2024-04-04 02:03:43,293   1        #version 330 core
2024-04-04 02:03:43,293   2        layout(location=0) in vec4 position;
2024-04-04 02:03:43,293   3
2024-04-04 02:03:43,293   4        void main()
2024-04-04 02:03:43,294   5        {
2024-04-04 02:03:43,294   6            gl_Position = vec4(position.x, position.y, 1, 1);
2024-04-04 02:03:43,294   7        }
2024-04-04 02:03:43,294
2024-04-04 02:03:43,294 Error compiling 'vertex' OpenGL shader:
2024-04-04 02:03:43,294  ERROR: 0:2: '' :  version '330' is not supported
2024-04-04 02:03:43,294  ERROR: 0:2: '' : syntax error: #version
2024-04-04 02:03:43,294  ERROR: 0:3: 'layout' : syntax error: syntax error
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 952, in set_cursor_data
    self.with_gl_context(gl_upload_cursor)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/drawing_area.py", line 73, in with_gl_context
    cb(gl_context, *args)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 947, in gl_upload_cursor
    self.gl_init(context)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 506, in gl_init
    self.gl_init_shaders()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 382, in gl_init_shaders
    vertex_shader = self.gl_init_shader("vertex", GL_VERTEX_SHADER)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 465, in gl_init_shader
    self.fail_shader(name, infolog)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 442, in fail_shader
    raise RuntimeError(f"OpenGL failed to compile shader {name!r}: {nonl(err_str)}")
RuntimeError: OpenGL failed to compile shader 'vertex': ERROR: 0:2: '' :  version '330' is not supported\nERROR: 0:2: '' : syntax error: #version\nERROR: 0:3: 'layout' : syntax error: syntax error
2024-04-04 02:03:43,418 GLDrawingArea(1, (640, 400)).gl_paint_rgb(RGB, 1024000 bytes, x=0, y=0, width=640, height=400, rowstride=2560, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'encoding': 'webp'}))
2024-04-04 02:03:43,418 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:03:43,418 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:03:43,418 Initializing GL context for window size (640, 400), backing size (640, 400), max texture size=16384
2024-04-04 02:03:43,418 failed shader source 'vertex':
2024-04-04 02:03:43,419   0
2024-04-04 02:03:43,419   1        #version 330 core
2024-04-04 02:03:43,419   2        layout(location=0) in vec4 position;
2024-04-04 02:03:43,419   3
2024-04-04 02:03:43,419   4        void main()
2024-04-04 02:03:43,419   5        {
2024-04-04 02:03:43,419   6            gl_Position = vec4(position.x, position.y, 1, 1);
2024-04-04 02:03:43,419   7        }
2024-04-04 02:03:43,419
2024-04-04 02:03:43,419 Error compiling 'vertex' OpenGL shader:
2024-04-04 02:03:43,419  ERROR: 0:2: '' :  version '330' is not supported
2024-04-04 02:03:43,419  ERROR: 0:2: '' : syntax error: #version
2024-04-04 02:03:43,419  ERROR: 0:3: 'layout' : syntax error: syntax error
2024-04-04 02:03:43,420 Error in RGB paint of 1024000 bytes, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'encoding': 'webp'})
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1176, in gl_paint_rgb
    self.gl_init(context)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 506, in gl_init
    self.gl_init_shaders()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 382, in gl_init_shaders
    vertex_shader = self.gl_init_shader("vertex", GL_VERTEX_SHADER)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 465, in gl_init_shader
    self.fail_shader(name, infolog)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 442, in fail_shader
    raise RuntimeError(f"OpenGL failed to compile shader {name!r}: {nonl(err_str)}")
RuntimeError: OpenGL failed to compile shader 'vertex': ERROR: 0:2: '' :  version '330' is not supported\nERROR: 0:2: '' : syntax error: #version\nERROR: 0:3: 'layout' : syntax error: syntax error
2024-04-04 02:03:43,421 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:03:43,421 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:03:43,421 Initializing GL context for window size (640, 400), backing size (640, 400), max texture size=16384
2024-04-04 02:03:43,422 failed shader source 'vertex':
2024-04-04 02:03:43,422   0
2024-04-04 02:03:43,422   1        #version 330 core
2024-04-04 02:03:43,422   2        layout(location=0) in vec4 position;
2024-04-04 02:03:43,422   3
2024-04-04 02:03:43,422   4        void main()
2024-04-04 02:03:43,422   5        {
2024-04-04 02:03:43,422   6            gl_Position = vec4(position.x, position.y, 1, 1);
2024-04-04 02:03:43,422   7        }
2024-04-04 02:03:43,422
2024-04-04 02:03:43,422 Error compiling 'vertex' OpenGL shader:
2024-04-04 02:03:43,422  ERROR: 0:2: '' :  version '330' is not supported
2024-04-04 02:03:43,422  ERROR: 0:2: '' : syntax error: #version
2024-04-04 02:03:43,422  ERROR: 0:3: 'layout' : syntax error: syntax error
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 374, in repaint
    self.queue_draw_area(x, y, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 51, in queue_draw_area
    b.gl_expose_rect(rect)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1485, in gl_expose_rect
    self.with_gl_context(expose)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/drawing_area.py", line 73, in with_gl_context
    cb(gl_context, *args)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1482, in expose
    self.gl_init(context)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 506, in gl_init
    self.gl_init_shaders()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 382, in gl_init_shaders
    vertex_shader = self.gl_init_shader("vertex", GL_VERTEX_SHADER)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 465, in gl_init_shader
    self.fail_shader(name, infolog)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 442, in fail_shader
    raise RuntimeError(f"OpenGL failed to compile shader {name!r}: {nonl(err_str)}")

@ardavank
Copy link

ardavank commented Apr 4, 2024

@totaam here is the screenshot when --opengl=force is used:
Screenshot 2024-04-04 at 2 10 54 AM

@ardavank
Copy link

ardavank commented Apr 4, 2024

@totaam using version Xpra-arm64-6.0-r35454 I still get a blank screen

ardavan@ardavan-mac / % xpra attach --dpi=96 --opengl=force -d opengl --encoding=stream --audio=no --printing=no ssh://<SERVER>
grep: /usr/share/locale/locale.alias: No such file or directory
grep: /usr/share/locale/locale.alias: No such file or directory
2024-04-04 02:21:28,417 debug enabled for ['xpra.client.gtk3.client_base', 'gtk', 'opengl']

2024-04-04 02:21:28,454 Xpra GTK3 client version 6.0-r35454 (g081ca5657a) beta
2024-04-04 02:21:28,470  running on Mac OS X 14.4.1
2024-04-04 02:21:28,470  cpython 3.11
2024-04-04 02:21:28,520 created unix domain sockets:
2024-04-04 02:21:28,520  '/Users/ardavan/.xpra/clients/ardavan-mac-90891'
2024-04-04 02:21:28,604 init_opengl(force)
2024-04-04 02:21:28,605 init_opengl: enable_option=force
2024-04-04 02:21:28,605 init_opengl: going to import xpra.client.gl
2024-04-04 02:21:28,608 debug enabled for ['xpra.client.gl.window', 'opengl', 'paint']
2024-04-04 02:21:28,610 opengl_module=<module 'OpenGL' from '/Applications/Xpra.app/Contents/Resources/lib/python/site-packages.zip/OpenGL/__init__.py'>
2024-04-04 02:21:28,610 get_opengl_module_names(force)
2024-04-04 02:21:28,610 get_gl_client_window_module(force) module names=('glarea', 'native')
2024-04-04 02:21:28,612 debug enabled for ['xpra.client.gl.gtk3.client_window', 'opengl', 'window']
2024-04-04 02:21:28,816 debug enabled for ['xpra.client.gl.check', 'opengl']
2024-04-04 02:21:28,817 debug enabled for ['xpra.client.gl.debug', 'opengl']
2024-04-04 02:21:28,817 OpenGL debugging settings:
2024-04-04 02:21:28,817  GREMEDY_DEBUG=False
2024-04-04 02:21:28,817  GL_DEBUG_OUTPUT=0, 0
2024-04-04 02:21:28,817  gl_debug_callback=<function noop at 0x105383060>
2024-04-04 02:21:28,817  glInitStringMarkerGREMEDY=<function noop at 0x105383060>, glStringMarkerGREMEDY=<function noop at 0x105383060>
2024-04-04 02:21:28,817  glInitFrameTerminatorGREMEDY=<function noop at 0x105383060>, glFrameTerminatorGREMEDY=<function noop at 0x105383060>
2024-04-04 02:21:28,818 debug enabled for ['xpra.client.gl.util', 'opengl', 'paint']
2024-04-04 02:21:28,819 debug enabled for ['xpra.client.gl.backing', 'opengl', 'paint']
2024-04-04 02:21:28,820 debug enabled for ['xpra.client.gl.backing', 'opengl', 'fps']
2024-04-04 02:21:28,820 debug enabled for ['xpra.client.gl.gtk3.glarea_window', 'opengl', 'paint']
2024-04-04 02:21:28,820 gl client window module 'glarea'=<module 'xpra.client.gl.gtk3.glarea_window' from '/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/glarea_window.py'>
2024-04-04 02:21:28,858 GL_VERSION=4.1 Metal - 88
2024-04-04 02:21:28,858 found valid OpenGL version: 4.1
2024-04-04 02:21:28,858 OpenGL_accelerate version 3.1.7
2024-04-04 02:21:28,858 vendor: Apple
2024-04-04 02:21:28,859 renderer: Apple M2 Ultra
2024-04-04 02:21:28,859 shading-language-version: 4.10
2024-04-04 02:21:28,880 GLU: 1.3 MacOSX
2024-04-04 02:21:28,880 GLU.extensions:
2024-04-04 02:21:28,883 OpenGL extensions found: GL_ARB_blend_func_extended, GL_ARB_draw_buffers_blend, GL_ARB_draw_indirect, GL_ARB_ES2_compatibility, GL_ARB_explicit_attrib_location, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader5, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_occlusion_query2, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_separate_shader_objects, GL_ARB_shader_bit_encoding, GL_ARB_shader_subroutine, GL_ARB_shading_language_include, GL_ARB_tessellation_shader, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_cube_map_array, GL_ARB_texture_gather, GL_ARB_texture_query_lod, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_sRGB_decode, GL_APPLE_client_storage, GL_APPLE_container_object_shareable, GL_APPLE_flush_render, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_texture_range, GL_NV_texture_barrier
2024-04-04 02:21:28,883 OpenGL extensions found: GL_ARB_blend_func_extended, GL_ARB_draw_buffers_blend, GL_ARB_draw_indirect, GL_ARB_ES2_compatibility, GL_ARB_explicit_attrib_location, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader5, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_occlusion_query2, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_separate_shader_objects, GL_ARB_shader_bit_encoding, GL_ARB_shader_subroutine, GL_ARB_shading_language_include, GL_ARB_tessellation_shader, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_cube_map_array, GL_ARB_texture_gather, GL_ARB_texture_query_lod, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_sRGB_decode, GL_APPLE_client_storage, GL_APPLE_container_object_shareable, GL_APPLE_flush_render, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_texture_range, GL_NV_texture_barrier
2024-04-04 02:21:28,883 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:21:28,883 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:21:28,883 GL_MAX_VIEWPORT_DIMS=(16384, 16384)
2024-04-04 02:21:28,886 All the required OpenGL functions are available: glActiveTexture, glTexSubImage2D, glTexCoord2i, glViewport, glMatrixMode, glLoadIdentity, glOrtho, glEnableClientState, glGenTextures, glDisable, glBindTexture, glPixelStorei, glEnable, glBegin, glFlush, glTexParameteri, glTexEnvi, glHint, glBlendFunc, glLineStipple, glTexImage2D, glMultiTexCoord2i, glVertex2i, glEnd
2024-04-04 02:21:28,887 All the required OpenGL functions are available: GL_FRAMEBUFFER (GL_FRAMEBUFFER), GL_DRAW_FRAMEBUFFER (GL_DRAW_FRAMEBUFFER), GL_READ_FRAMEBUFFER (GL_READ_FRAMEBUFFER), GL_COLOR_ATTACHMENT0 (GL_COLOR_ATTACHMENT0), GL_COLOR_ATTACHMENT1 (GL_COLOR_ATTACHMENT1), glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
2024-04-04 02:21:28,888 All the required OpenGL functions are available: glInitTextureRectangleARB
2024-04-04 02:21:28,889 All the required OpenGL functions are available: glCreateShader, glDeleteShader, glShaderSource, glCompileShader, glGetShaderiv, glGetShaderInfoLog, glDeleteProgram, GL_FRAGMENT_SHADER (GL_FRAGMENT_SHADER), GL_COMPILE_STATUS (GL_COMPILE_STATUS)
2024-04-04 02:21:28,916 renderer 'Apple M2 Ultra' not found in blacklist: ('SVGA3D', 'Software Rasterizer')
2024-04-04 02:21:28,916 vendor 'Apple' not found in blacklist: ()
2024-04-04 02:21:28,916 platform 'darwin' not found in blacklist: ()
2024-04-04 02:21:28,917 plugins msg=Unable to import OpenGL.arrays.numpymodule.NumpyHandler: No numpy module present: No module named 'numpy'
2024-04-04 02:21:28,920 <module 'xpra.client.gl.gtk3.glarea_window' from '/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/glarea_window.py'>.check_support(True)={'platform': 'darwin', 'backend': 'darwin', 'pyopengl': '3.1.7', 'opengl': (4, 1), 'accelerate': '3.1.7', 'zerocopy': True, 'vendor': 'Apple', 'renderer': 'Apple M2 Ultra', 'shading-language-version': '4.10', 'GLU': '1.3 MacOSX', 'extensions': ['GL_ARB_blend_func_extended', 'GL_ARB_draw_buffers_blend', 'GL_ARB_draw_indirect', 'GL_ARB_ES2_compatibility', 'GL_ARB_explicit_attrib_location', 'GL_ARB_gpu_shader_fp64', 'GL_ARB_gpu_shader5', 'GL_ARB_instanced_arrays', 'GL_ARB_internalformat_query', 'GL_ARB_occlusion_query2', 'GL_ARB_sample_shading', 'GL_ARB_sampler_objects', 'GL_ARB_separate_shader_objects', 'GL_ARB_shader_bit_encoding', 'GL_ARB_shader_subroutine', 'GL_ARB_shading_language_include', 'GL_ARB_tessellation_shader', 'GL_ARB_texture_buffer_object_rgb32', 'GL_ARB_texture_cube_map_array', 'GL_ARB_texture_gather', 'GL_ARB_texture_query_lod', 'GL_ARB_texture_rgb10_a2ui', 'GL_ARB_texture_storage', 'GL_ARB_texture_swizzle', 'GL_ARB_timer_query', 'GL_ARB_transform_feedback2', 'GL_ARB_transform_feedback3', 'GL_ARB_vertex_attrib_64bit', 'GL_ARB_vertex_type_2_10_10_10_rev', 'GL_ARB_viewport_array', 'GL_EXT_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_framebuffer_multisample_blit_scaled', 'GL_EXT_texture_compression_s3tc', 'GL_EXT_texture_filter_anisotropic', 'GL_EXT_texture_sRGB_decode', 'GL_APPLE_client_storage', 'GL_APPLE_container_object_shareable', 'GL_APPLE_flush_render', 'GL_APPLE_rgb_422', 'GL_APPLE_row_bytes', 'GL_APPLE_texture_range', 'GL_NV_texture_barrier'], 'array-handlers': (), 'texture-size-limit': 16384, 'max-viewport-dims': (16384, 16384), 'safe': True}
2024-04-04 02:21:28,956 init_opengl: found props {'platform': 'darwin', 'backend': 'darwin', 'pyopengl': '3.1.7', 'opengl': (4, 1), 'accelerate': '3.1.7', 'zerocopy': True, 'vendor': 'Apple', 'renderer': 'Apple M2 Ultra', 'shading-language-version': '4.10', 'GLU': '1.3 MacOSX', 'extensions': ['GL_ARB_blend_func_extended', 'GL_ARB_draw_buffers_blend', 'GL_ARB_draw_indirect', 'GL_ARB_ES2_compatibility', 'GL_ARB_explicit_attrib_location', 'GL_ARB_gpu_shader_fp64', 'GL_ARB_gpu_shader5', 'GL_ARB_instanced_arrays', 'GL_ARB_internalformat_query', 'GL_ARB_occlusion_query2', 'GL_ARB_sample_shading', 'GL_ARB_sampler_objects', 'GL_ARB_separate_shader_objects', 'GL_ARB_shader_bit_encoding', 'GL_ARB_shader_subroutine', 'GL_ARB_shading_language_include', 'GL_ARB_tessellation_shader', 'GL_ARB_texture_buffer_object_rgb32', 'GL_ARB_texture_cube_map_array', 'GL_ARB_texture_gather', 'GL_ARB_texture_query_lod', 'GL_ARB_texture_rgb10_a2ui', 'GL_ARB_texture_storage', 'GL_ARB_texture_swizzle', 'GL_ARB_timer_query', 'GL_ARB_transform_feedback2', 'GL_ARB_transform_feedback3', 'GL_ARB_vertex_attrib_64bit', 'GL_ARB_vertex_type_2_10_10_10_rev', 'GL_ARB_viewport_array', 'GL_EXT_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_framebuffer_multisample_blit_scaled', 'GL_EXT_texture_compression_s3tc', 'GL_EXT_texture_filter_anisotropic', 'GL_EXT_texture_sRGB_decode', 'GL_APPLE_client_storage', 'GL_APPLE_container_object_shareable', 'GL_APPLE_flush_render', 'GL_APPLE_rgb_422', 'GL_APPLE_row_bytes', 'GL_APPLE_texture_range', 'GL_NV_texture_barrier'], 'array-handlers': (), 'texture-size-limit': 16384, 'max-viewport-dims': (16384, 16384), 'safe': True}
2024-04-04 02:21:28,956 OpenGL: enabled=True, texture-size-limit=16384, max-window-size=(32767, 32767)
2024-04-04 02:21:28,957 OpenGL enabled on 'Apple M2 Ultra'
2024-04-04 02:21:29.074 Xpra[90891:1393661] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.

(Xpra:90891): Gtk-CRITICAL **: 02:21:29.080: gtk_window_add_accel_group: assertion 'GTK_IS_WINDOW (window)' failed
2024-04-04 02:21:29,119  keyboard settings: layout=us
2024-04-04 02:21:29,123  desktop size is 3008x1692:
2024-04-04 02:21:29,123   ardavan-mac.local (796x448 mm - DPI: 96x96) workarea: 3008x1598 at    0x25
2024-04-04 02:21:29,123     monitor 1        (700x390 mm - DPI: 109x110)

Success. Logging you in...
2024-04-04 02:21:35,925 debug enabled for ['xpra.client.mixins.display', 'screen', 'opengl']
2024-04-04 02:21:35,925 server opengl={'GLU.version': (1, 3), 'GLX': (1, 4), 'accelerate': (3, 1, 6), 'accum-alpha-size': '0', 'accum-blue-size': '0', 'accum-green-size': '0', 'accum-red-size': '0', 'alpha-size': '0', 'aux-buffers': '0', 'blue-size': '8', 'buffer-size': '24', 'depth': '24', 'depth-size': '0', 'direct': 'True', 'display_mode': 'ALPHA, DOUBLE', 'double-buffered': 'True', 'green-size': '8', 'level': '0', 'max-viewport-dims': '16384, 16384', 'opengl': (4, 5), 'platform': 'linux', 'pyopengl': (3, 1, 6), 'red-size': '8', 'renderer': 'llvmpipe (LLVM 17.0.6, 256 bits)', 'rgba': 'True', 'safe': 'True', 'shading-language-version': (4, 50), 'stencil-size': '0', 'stereo': 'False', 'success': 'True', 'texture-size-limit': '16384', 'transparency': 'True', 'vendor': 'Mesa', 'zerocopy': 'True'}
2024-04-04 02:21:35,932 enabled remote logging
2024-04-04 02:21:35,933 Xpra X11 seamless server version 5.0
2024-04-04 02:21:35,942 Attached to xpra server at <SERVER>:22
2024-04-04 02:21:35,942  (press Control-C to detach)

2024-04-04 02:21:35,948 can_use_opengl self.GLClientWindowClass=<class 'xpra.client.gl.gtk3.glarea_window.GLClientWindow'>, self.opengl_enabled=True, self.opengl_force=True
2024-04-04 02:21:35,950 init_formats() internal format=RGB8, rgb modes=('YUV420P', 'YUV422P', 'YUV444P', 'NV12', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR')
2024-04-04 02:21:35,950 GLAreaBacking.with_gl_context delayed: <bound method GLWindowBackingBase.resize_fbo of GLAreaBacking(0x2, (1400, 972))>(0, 0, 1400, 972)
2024-04-04 02:21:35,967 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:21:35,967 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:21:35,967 Initializing GL context for window size (1400, 972), backing size (1400, 972), max texture size=16384
2024-04-04 02:21:35,967 gl_init_textures()
2024-04-04 02:21:35,967 GLAreaBacking(0x2, (1400, 972)).gl_init_textures() textures: <OpenGL.arrays.ctypesarrays.c_uint_Array_8 object at 0x1127802d0>, offscreen fbo: 1, tmp fbo: 2
2024-04-04 02:21:35,972 vertex shader initialized: OK
2024-04-04 02:21:35,972 NV12_to_RGB shader initialized: OK
2024-04-04 02:21:35,973 NV12_to_RGB program linked: OK
2024-04-04 02:21:35,979 NV12_to_RGB program validated: OK
2024-04-04 02:21:35,980 YUV420P_to_RGB shader initialized: OK
2024-04-04 02:21:35,980 YUV420P_to_RGB program linked: OK
2024-04-04 02:21:35,980 YUV420P_to_RGB program validated: OK
2024-04-04 02:21:35,981 YUV420P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:35,981 YUV420P_to_RGB_FULL program linked: OK
2024-04-04 02:21:35,981 YUV420P_to_RGB_FULL program validated: OK
2024-04-04 02:21:35,982 YUV422P_to_RGB shader initialized: OK
2024-04-04 02:21:35,982 YUV422P_to_RGB program linked: OK
2024-04-04 02:21:35,982 YUV422P_to_RGB program validated: OK
2024-04-04 02:21:35,983 YUV422P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:35,983 YUV422P_to_RGB_FULL program linked: OK
2024-04-04 02:21:35,983 YUV422P_to_RGB_FULL program validated: OK
2024-04-04 02:21:35,984 YUV444P_to_RGB shader initialized: OK
2024-04-04 02:21:35,984 YUV444P_to_RGB program linked: OK
2024-04-04 02:21:35,984 YUV444P_to_RGB program validated: OK
2024-04-04 02:21:35,984 YUV444P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:35,985 YUV444P_to_RGB_FULL program linked: OK
2024-04-04 02:21:35,985 YUV444P_to_RGB_FULL program validated: OK
2024-04-04 02:21:35,985 overlay shader initialized: OK
2024-04-04 02:21:35,985 overlay program linked: OK
2024-04-04 02:21:35,986 overlay program validated: OK
2024-04-04 02:21:35,986 gl_init(<__gi__.GdkQuartzGLContext object at 0x104e3bd40 (GdkQuartzGLContext at 0x600003421cb0)>, False) done
2024-04-04 02:21:35,986 GLAreaBacking.on_realize((<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>,)) callbacks=((<bound method GLWindowBackingBase.resize_fbo of .. eaBacking(0x2, (1400, 972))>, (0, 0, 1400, 972)),)
2024-04-04 02:21:35,986 resize_fbo(<__gi__.GdkQuartzGLContext object at 0x104e3bd40 (GdkQuartzGLContext at 0x600003421cb0)>, 0, 0, 1400, 972) offscreen_fbo=1
2024-04-04 02:21:35,986 copy_fbo(0, 0, 0, 0, 0, 972)
2024-04-04 02:21:35,986 swap_fbos()
2024-04-04 02:21:35,991 can_use_opengl self.GLClientWindowClass=<class 'xpra.client.gl.gtk3.glarea_window.GLClientWindow'>, self.opengl_enabled=True, self.opengl_force=True
2024-04-04 02:21:35,991 init_formats() internal format=RGB8, rgb modes=('YUV420P', 'YUV422P', 'YUV444P', 'NV12', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR')
2024-04-04 02:21:35,991 GLAreaBacking.with_gl_context delayed: <bound method GLWindowBackingBase.resize_fbo of GLAreaBacking(0x5, (293, 593))>(0, 0, 293, 593)
2024-04-04 02:21:35,999 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:21:35,999 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:21:35,999 Initializing GL context for window size (293, 593), backing size (293, 593), max texture size=16384
2024-04-04 02:21:35,999 gl_init_textures()
2024-04-04 02:21:35,999 GLAreaBacking(0x5, (293, 593)).gl_init_textures() textures: <OpenGL.arrays.ctypesarrays.c_uint_Array_8 object at 0x112ee83d0>, offscreen fbo: 1, tmp fbo: 2
2024-04-04 02:21:36,000 vertex shader initialized: OK
2024-04-04 02:21:36,000 NV12_to_RGB shader initialized: OK
2024-04-04 02:21:36,000 NV12_to_RGB program linked: OK
2024-04-04 02:21:36,000 NV12_to_RGB program validated: OK
2024-04-04 02:21:36,001 YUV420P_to_RGB shader initialized: OK
2024-04-04 02:21:36,001 YUV420P_to_RGB program linked: OK
2024-04-04 02:21:36,001 YUV420P_to_RGB program validated: OK
2024-04-04 02:21:36,002 YUV420P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:36,002 YUV420P_to_RGB_FULL program linked: OK
2024-04-04 02:21:36,002 YUV420P_to_RGB_FULL program validated: OK
2024-04-04 02:21:36,002 YUV422P_to_RGB shader initialized: OK
2024-04-04 02:21:36,003 YUV422P_to_RGB program linked: OK
2024-04-04 02:21:36,003 YUV422P_to_RGB program validated: OK
2024-04-04 02:21:36,003 YUV422P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:36,003 YUV422P_to_RGB_FULL program linked: OK
2024-04-04 02:21:36,004 YUV422P_to_RGB_FULL program validated: OK
2024-04-04 02:21:36,004 YUV444P_to_RGB shader initialized: OK
2024-04-04 02:21:36,004 YUV444P_to_RGB program linked: OK
2024-04-04 02:21:36,004 YUV444P_to_RGB program validated: OK
2024-04-04 02:21:36,005 YUV444P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:36,005 YUV444P_to_RGB_FULL program linked: OK
2024-04-04 02:21:36,005 YUV444P_to_RGB_FULL program validated: OK
2024-04-04 02:21:36,005 overlay shader initialized: OK
2024-04-04 02:21:36,005 overlay program linked: OK
2024-04-04 02:21:36,006 overlay program validated: OK
2024-04-04 02:21:36,006 gl_init(<__gi__.GdkQuartzGLContext object at 0x112eb6b40 (GdkQuartzGLContext at 0x60000344c820)>, False) done
2024-04-04 02:21:36,006 GLAreaBacking.on_realize((<Gtk.GLArea object at 0x112e464c0 (GtkGLArea at 0x113424bd0)>,)) callbacks=((<bound method GLWindowBackingBase.resize_fbo of GLAreaBacking(0x5, (293, 593))>, (0, 0, 293, 593)),)
2024-04-04 02:21:36,006 resize_fbo(<__gi__.GdkQuartzGLContext object at 0x112eb6b40 (GdkQuartzGLContext at 0x60000344c820)>, 0, 0, 293, 593) offscreen_fbo=1
2024-04-04 02:21:36,007 copy_fbo(0, 0, 0, 0, 0, 593)
2024-04-04 02:21:36,007 swap_fbos()
2024-04-04 02:21:36,007 can_use_opengl self.GLClientWindowClass=<class 'xpra.client.gl.gtk3.glarea_window.GLClientWindow'>, self.opengl_enabled=True, self.opengl_force=True
2024-04-04 02:21:36,008 init_formats() internal format=RGB8, rgb modes=('YUV420P', 'YUV422P', 'YUV444P', 'NV12', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR')
2024-04-04 02:21:36,008 GLAreaBacking.with_gl_context delayed: <bound method GLWindowBackingBase.resize_fbo of GLAreaBacking(0x6, (337, 263))>(0, 0, 337, 263)
2024-04-04 02:21:36,014 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:21:36,014 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:21:36,014 Initializing GL context for window size (337, 263), backing size (337, 263), max texture size=16384
2024-04-04 02:21:36,014 gl_init_textures()
2024-04-04 02:21:36,014 GLAreaBacking(0x6, (337, 263)).gl_init_textures() textures: <OpenGL.arrays.ctypesarrays.c_uint_Array_8 object at 0x112eeb050>, offscreen fbo: 1, tmp fbo: 2
2024-04-04 02:21:36,014 vertex shader initialized: OK
2024-04-04 02:21:36,015 NV12_to_RGB shader initialized: OK
2024-04-04 02:21:36,015 NV12_to_RGB program linked: OK
2024-04-04 02:21:36,015 NV12_to_RGB program validated: OK
2024-04-04 02:21:36,015 YUV420P_to_RGB shader initialized: OK
2024-04-04 02:21:36,016 YUV420P_to_RGB program linked: OK
2024-04-04 02:21:36,016 YUV420P_to_RGB program validated: OK
2024-04-04 02:21:36,016 YUV420P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:36,016 YUV420P_to_RGB_FULL program linked: OK
2024-04-04 02:21:36,017 YUV420P_to_RGB_FULL program validated: OK
2024-04-04 02:21:36,017 YUV422P_to_RGB shader initialized: OK
2024-04-04 02:21:36,017 YUV422P_to_RGB program linked: OK
2024-04-04 02:21:36,017 YUV422P_to_RGB program validated: OK
2024-04-04 02:21:36,018 YUV422P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:36,018 YUV422P_to_RGB_FULL program linked: OK
2024-04-04 02:21:36,018 YUV422P_to_RGB_FULL program validated: OK
2024-04-04 02:21:36,018 YUV444P_to_RGB shader initialized: OK
2024-04-04 02:21:36,019 YUV444P_to_RGB program linked: OK
2024-04-04 02:21:36,019 YUV444P_to_RGB program validated: OK
2024-04-04 02:21:36,019 YUV444P_to_RGB_FULL shader initialized: OK
2024-04-04 02:21:36,019 YUV444P_to_RGB_FULL program linked: OK
2024-04-04 02:21:36,020 YUV444P_to_RGB_FULL program validated: OK
2024-04-04 02:21:36,020 overlay shader initialized: OK
2024-04-04 02:21:36,020 overlay program linked: OK
2024-04-04 02:21:36,020 overlay program validated: OK
2024-04-04 02:21:36,020 gl_init(<__gi__.GdkQuartzGLContext object at 0x111ca5f40 (GdkQuartzGLContext at 0x600003448c80)>, False) done
2024-04-04 02:21:36,020 GLAreaBacking.on_realize((<Gtk.GLArea object at 0x112eb7340 (GtkGLArea at 0x1134372a0)>,)) callbacks=((<bound method GLWindowBackingBase.resize_fbo of GLAreaBacking(0x6, (337, 263))>, (0, 0, 337, 263)),)
2024-04-04 02:21:36,020 resize_fbo(<__gi__.GdkQuartzGLContext object at 0x111ca5f40 (GdkQuartzGLContext at 0x600003448c80)>, 0, 0, 337, 263) offscreen_fbo=1
2024-04-04 02:21:36,020 copy_fbo(0, 0, 0, 0, 0, 263)
2024-04-04 02:21:36,020 swap_fbos()
2024-04-04 02:21:36,027 running, 3 windows
2024-04-04 02:21:36,068 GL do_configure_event(<Gdk.EventConfigure object at 0x112f137f0 (void at 0x600002e31540)>)
2024-04-04 02:21:36,069 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:36,077 GL do_configure_event(<Gdk.EventConfigure object at 0x112f137f0 (void at 0x600002e31680)>)
2024-04-04 02:21:36,077 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:36,078 GL do_configure_event(<Gdk.EventConfigure object at 0x112ee7390 (void at 0x600002e20000)>)
2024-04-04 02:21:36,078 GL do_configure_event(<Gdk.EventConfigure object at 0x112ee7390 (void at 0x600002e200a0)>)
2024-04-04 02:21:36,079 GL do_configure_event(<Gdk.EventConfigure object at 0x112ee7390 (void at 0x600002e20140)>)
2024-04-04 02:21:36,079 GL do_configure_event(<Gdk.EventConfigure object at 0x112ee7390 (void at 0x600002e281e0)>)
2024-04-04 02:21:36,079 GL do_configure_event(<Gdk.EventConfigure object at 0x112ee7390 (void at 0x600002e28280)>)
2024-04-04 02:21:36,079 GL do_configure_event(<Gdk.EventConfigure object at 0x112ee7390 (void at 0x600002e28320)>)
2024-04-04 02:21:36,079 get_default_cursor_data() filename='/Applications/Xpra.app/Contents/Resources/share/xpra/icons/cross.png'
2024-04-04 02:21:36,080 get_default_cursor_data() Image(filename='/Applications/Xpra.app/Contents/Resources/share/xpra/icons/cross.png')=<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=32x32 at 0x112F0DB10>
2024-04-04 02:21:36,084 upload_rgba_texture 32x32 uploaded 4096 bytes of RGBA pixel data using zerocopy:bytes-as-memoryview
2024-04-04 02:21:36,084 get_default_cursor_data() filename='/Applications/Xpra.app/Contents/Resources/share/xpra/icons/cross.png'
2024-04-04 02:21:36,084 get_default_cursor_data() Image(filename='/Applications/Xpra.app/Contents/Resources/share/xpra/icons/cross.png')=<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=32x32 at 0x112EF6510>
2024-04-04 02:21:36,084 upload_rgba_texture 32x32 uploaded 4096 bytes of RGBA pixel data using zerocopy:bytes-as-memoryview
2024-04-04 02:21:36,085 get_default_cursor_data() filename='/Applications/Xpra.app/Contents/Resources/share/xpra/icons/cross.png'
2024-04-04 02:21:36,085 get_default_cursor_data() Image(filename='/Applications/Xpra.app/Contents/Resources/share/xpra/icons/cross.png')=<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=32x32 at 0x112EF7CD0>
2024-04-04 02:21:36,085 upload_rgba_texture 32x32 uploaded 4096 bytes of RGBA pixel data using zerocopy:bytes-as-memoryview
2024-04-04 02:21:36,098 GLAreaBacking(0x5, (293, 593)).gl_paint_rgb(RGB, 694996 bytes, x=0, y=0, width=293, height=593, rowstride=1172, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'encoding': 'webp'}))
2024-04-04 02:21:36,098 RGB update at (0,0) size 293x593 (694996 bytes) to 293x593, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:36,100 repaint(0, 0, 296, 593) widget=<Gtk.GLArea object at 0x112e464c0 (GtkGLArea at 0x113424bd0)>
2024-04-04 02:21:36,106 GLAreaBacking(0x6, (337, 263)).gl_paint_rgb(RGB, 354524 bytes, x=0, y=0, width=337, height=263, rowstride=1348, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'encoding': 'webp'}))
2024-04-04 02:21:36,106 RGB update at (0,0) size 337x263 (354524 bytes) to 337x263, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:36,107 repaint(0, 0, 344, 263) widget=<Gtk.GLArea object at 0x112eb7340 (GtkGLArea at 0x1134372a0)>
2024-04-04 02:21:36,200 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-04 02:21:36,200 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:36,203 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:36,409 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-04 02:21:36,409 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:36,412 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:36,499 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-04 02:21:36,499 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:36,501 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:36,590 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-04 02:21:36,590 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:36,592 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:36,684 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-04 02:21:36,684 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:36,686 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:36,777 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-04 02:21:36,778 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:36,780 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:38,798 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-04 02:21:38,798 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:38,801 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>
2024-04-04 02:21:38,917 GLAreaBacking(0x2, (1400, 972)).gl_paint_rgb(RGB, 5443200 bytes, x=0, y=0, width=1400, height=972, rowstride=5600, options=typedict({'rgb_format': 'RGB', 'quality': 100, 'window-size': (1400, 972), 'encoding': 'webp'}))
2024-04-04 02:21:38,917 RGB update at (0,0) size 1400x972 (5443200 bytes) to 1400x972, using GL zerocopy:memoryview format=RGB / UNSIGNED_BYTE to internal=RGB8
2024-04-04 02:21:38,919 repaint(0, 0, 1400, 972) widget=<Gtk.GLArea object at 0x112f04600 (GtkGLArea at 0x11340d3f0)>

@ardavank
Copy link

ardavank commented Apr 4, 2024

@totaam using version Xpra-arm64-6.0-r35454 along with --opengl=force:native:

Success. Logging you in...
2024-04-04 02:23:40,622 debug enabled for ['xpra.client.mixins.display', 'screen', 'opengl']
2024-04-04 02:23:40,622 server opengl={'GLU.version': (1, 3), 'GLX': (1, 4), 'accelerate': (3, 1, 6), 'accum-alpha-size': '0', 'accum-blue-size': '0', 'accum-green-size': '0', 'accum-red-size': '0', 'alpha-size': '0', 'aux-buffers': '0', 'blue-size': '8', 'buffer-size': '24', 'depth': '24', 'depth-size': '0', 'direct': 'True', 'display_mode': 'ALPHA, DOUBLE', 'double-buffered': 'True', 'green-size': '8', 'level': '0', 'max-viewport-dims': '16384, 16384', 'opengl': (4, 5), 'platform': 'linux', 'pyopengl': (3, 1, 6), 'red-size': '8', 'renderer': 'llvmpipe (LLVM 17.0.6, 256 bits)', 'rgba': 'True', 'safe': 'True', 'shading-language-version': (4, 50), 'stencil-size': '0', 'stereo': 'False', 'success': 'True', 'texture-size-limit': '16384', 'transparency': 'True', 'vendor': 'Mesa', 'zerocopy': 'True'}
2024-04-04 02:23:40,631 enabled remote logging
2024-04-04 02:23:40,632 Xpra X11 seamless server version 5.0
2024-04-04 02:23:40,641 Attached to xpra server at <SERVER>:22
2024-04-04 02:23:40,641  (press Control-C to detach)

2024-04-04 02:23:40,647 can_use_opengl self.GLClientWindowClass=<class 'xpra.client.gl.gtk3.native_window.GLClientWindow'>, self.opengl_enabled=True, self.opengl_force=True
2024-04-04 02:23:40,650 init_formats() internal format=RGB8, rgb modes=('YUV420P', 'YUV422P', 'YUV444P', 'NV12', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR')
2024-04-04 02:23:40,650 GLDrawingArea.with_gl_context delayed: <bound method GLWindowBackingBase.resize_fbo of GLDrawingArea(2, (1400, 972))>(0, 0, 1400, 972)
2024-04-04 02:23:40,662 GLDrawingArea.on_realize(<Gtk.DrawingArea object at 0x11c442980 (GtkDrawingArea at 0x11b511ce0)>,) callbacks=((<bound method GLWindowBackingBase.resize_fbo of GLDrawingArea(2, (1400, 972))>, (0, 0, 1400, 972)),)
2024-04-04 02:23:40,662 get_paint_context(<__gi__.GdkQuartzWindow object at 0x11cfba980 (GdkQuartzWindow at 0x10d717170)>) nsview(0x10d715940)=<GdkQuartzView: 0x10d715940>
2024-04-04 02:23:40,662 AGLWindowContext(<NSOpenGLContext: 0x600001480a60>, <GdkQuartzView: 0x10d715940>)
2024-04-04 02:23:40,664 resize_fbo(AGLWindowContext(<NSOpenGLContext: 0x600001480a60>, <GdkQuartzView: 0x10d715940>), 0, 0, 1400, 972) offscreen_fbo=None
2024-04-04 02:23:40,683 GL do_configure_event(<Gdk.EventConfigure object at 0x11d013340 (void at 0x6000025f0000)>)
2024-04-04 02:23:40,714 GL do_configure_event(<Gdk.EventConfigure object at 0x11b3836b0 (void at 0x6000025f00a0)>)
2024-04-04 02:23:40,715 GL_MAX_TEXTURE_SIZE=16384
2024-04-04 02:23:40,715 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE=16384
2024-04-04 02:23:40,715 Initializing GL context for window size (1400, 972), backing size (1400, 972), max texture size=16384
2024-04-04 02:23:40,715 gl_init_textures()
2024-04-04 02:23:40,715 GLDrawingArea(2, (1400, 972)).gl_init_textures() textures: <OpenGL.arrays.ctypesarrays.c_uint_Array_8 object at 0x11cf407d0>, offscreen fbo: 1, tmp fbo: 2
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 106, in do_configure_event
    ClientWindow.do_configure_event(self, event)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 2280, in do_configure_event
    self.repaint(0, 0, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk3/window_base.py", line 374, in repaint
    self.queue_draw_area(x, y, w, h)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/client_window.py", line 51, in queue_draw_area
    b.gl_expose_rect(rect)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1524, in gl_expose_rect
    self.with_gl_context(expose)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gtk3/drawing_area.py", line 73, in with_gl_context
    cb(gl_context, *args)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1521, in expose
    self.gl_init(context)
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 510, in gl_init
    self.gl_init_shaders()
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 380, in gl_init_shaders
    self.vao = glGenVertexArrays(1)
               ^^^^^^^^^^^^^^^^^^^^
  File "src/latebind.pyx", line 39, in OpenGL_accelerate.latebind.LateBind.__call__
  File "src/wrapper.pyx", line 318, in OpenGL_accelerate.wrapper.Wrapper.__call__
  File "src/wrapper.pyx", line 311, in OpenGL_accelerate.wrapper.Wrapper.__call__
  File "/Applications/Xpra.app/Contents/Resources/lib/python/site-packages.zip/OpenGL/platform/baseplatform.py", line 415, in __call__
  File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.error.GLError: GLError(
	err = 1282,
	description = b'invalid operation',
	baseOperation = glGenVertexArrays,
	pyArgs = (1, <object object at 0x106c38280>),
	cArgs = (
		1,
		<OpenGL.arrays.ctypesarrays.c_uint_Array_1 object at 0x11d009d50>,
	),
	cArguments = (
		1,
		<OpenGL.arrays.ctypesarrays.c_uint_Array_1 object at 0x11d009d50>,
	)
)
2024-04-04 02:23:40,721 can_use_opengl self.GLClientWindowClass=<class 'xpra.client.gl.gtk3.native_window.GLClientWindow'>, self.opengl_enabled=True, self.opengl_force=True

totaam added a commit that referenced this issue Apr 4, 2024
totaam added a commit that referenced this issue Apr 4, 2024
as the window may be moved from one monitor to another
@totaam
Copy link
Collaborator

totaam commented Apr 4, 2024

@ardavank I believe that this is now fixed. Thank you for your patience.

I found the "scaled" display setting here:
macos-display-scaled
And even my 2014 Mac mini could then reproduce the bug - after upgrading to MacOS 12 "Monterey".
The fix was trivial in the end: 8591861
But you also need the other recent fixes from #2467 as these make --opengl=native the default. (--opengl=gtk is still broken, but I have no idea what's wrong with it)

Please try 6.0-r35460 or later from the beta channel and close this ticket if that works for you.

I'm seeing crashes when I click on the dock icon, but that's a different issue: #4042

@ardavank
Copy link

ardavank commented Apr 4, 2024

@totaam thanks, I just tried the 6.0-r35460 (x86_64) using --force:native and I was able to see the screen!!
However, the performance is much worse than not using the opengl at all. I tried with different encodings but it was the same. The screen flickers a lot and there are portions of the screen that do not get rendered immediately. I'm not sure if its because I'm using x86_64 version (arm64 wasn't available) or its related to the errors below. also, the app eventually crashes with zsh: segmentation fault xpra attach --dpi=96 --opengl=force:native -d opengl --encoding=stream

here is the log:

Success. Logging you in...
2024-04-04 12:06:51,999 enabled remote logging
2024-04-04 12:06:52,000 Xpra X11 seamless server version 5.0
2024-04-04 12:06:52,020 Attached to xpra server at <SERVER>:22
2024-04-04 12:06:52,020  (press Control-C to detach)

2024-04-04 12:06:52,094 running, 1 windows
2024-04-04 12:07:00,092 UI thread is now blocked
2024-04-04 12:07:00,879 UI thread is running again, resuming
AssertionError: WebpBufferWrapper out of scope before being freed!
Exception ignored in: 'xpra.codecs.webp.decoder.WebpBufferWrapper.__del__'
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/log.py", line 508, in trap_error
    return ErrorTrapper(self, message, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: WebpBufferWrapper out of scope before being freed!
AssertionError: WebpBufferWrapper out of scope before being freed!
Exception ignored in: 'xpra.codecs.webp.decoder.WebpBufferWrapper.__del__'
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/util/objects.py", line 118, in <dictcomp>
    return {bytestostr(k): v for k, v in chain(mapping, getattr(kwargs, "items")())}
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: WebpBufferWrapper out of scope before being freed!
AssertionError: WebpBufferWrapper out of scope before being freed!
Exception ignored in: 'xpra.codecs.webp.decoder.WebpBufferWrapper.__del__'
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/util/objects.py", line 118, in <dictcomp>
    return {bytestostr(k): v for k, v in chain(mapping, getattr(kwargs, "items")())}
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: WebpBufferWrapper out of scope before being freed!
AssertionError: WebpBufferWrapper out of scope before being freed!
Exception ignored in: 'xpra.codecs.webp.decoder.WebpBufferWrapper.__del__'
Traceback (most recent call last):
  File "/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gl/backing.py", line 1204, in gl_paint_rgb
    x, y = self.gravity_adjust(x, y, options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: WebpBufferWrapper out of scope before being freed!
2024-04-04 12:07:29,335 UI thread is now blocked
2024-04-04 12:07:29,358 UI thread is running again, resuming

@ardavank
Copy link

ardavank commented Apr 4, 2024

Screenshot 2024-04-04 at 12 12 37 PM

@ardavank
Copy link

ardavank commented Apr 4, 2024

the zsh: segmentation fault xpra attach --dpi=96 --opengl=no --encoding=stream --audio=no --printing=no is also happening when opengl is not used, it looks like its related to something else

@totaam
Copy link
Collaborator

totaam commented Apr 5, 2024

using --opengl=force:native

(not --force=native as that's not an option)
This should now be the default.

AssertionError: WebpBufferWrapper out of scope before being freed!

Two weird things about this:

  • I have never seen this and I can't see how it would be possible to get there. The buffer is freed as a paint callback:
    def free_buffer(*_args):
    buffer_wrapper.free()
    callbacks.append(free_buffer)
  • this indicates that xpra is not painting webp via OpenGL, because WebpBufferWrapper is only used in decompress:
    cdef WebpBufferWrapper b = WebpBufferWrapper(<uintptr_t> buf, size)

    whereas the OpenGL backend should end up using decompress_yuv:

    xpra/xpra/client/gl/backing.py

    Lines 1160 to 1174 in 854f012

    def paint_webp(self, img_data, x: int, y: int, width: int, height: int,
    options: typedict, callbacks: Iterable[Callable]) -> None:
    subsampling = options.strget("subsampling")
    has_alpha = options.boolget("has_alpha")
    if subsampling == "YUV420P" and WEBP_YUV and self.webp_decoder and not WEBP_PILLOW:
    # validate dimensions:
    if not has_alpha and width >= 2 and height >= 2:
    img = self.webp_decoder.decompress_yuv(img_data)
    flush = options.intget("flush", 0)
    w = img.get_width()
    h = img.get_height()
    self.idle_add(self.gl_paint_planar, f"{subsampling}_to_RGB", flush, "webp", img,
    x, y, w, h, width, height, options, callbacks)
    return
    super().paint_webp(img_data, x, y, width, height, options, callbacks)

    Perhaps this has something to do with your server? What server command line do you use to start the session?
    Can you run it with -d compress?

zsh: segmentation fault xpra attach --dpi=96 --opengl=force:native -d opengl --encoding=stream

Yes - probably related to:

I'm seeing crashes when I click on the dock icon, but that's a different issue: #4042


I'm not sure if its because I'm using x86_64 version (arm64 wasn't available)

I've posted a 6.0-r35460 arm64 beta build, let's hope that this improves things.

@ardavank
Copy link

ardavank commented Apr 5, 2024

@totaam

Perhaps this has something to do with your server? What server command line do you use to start the session?
Can you run it with -d compress?

No I'm running Xpra start on the server, so it should use all the default values

I've posted a 6.0-r35460 arm64 beta build, let's hope that this improves things.

I've tested the arm64 version and things are much more better, however, I feel like the experience is still better when opengl is disabled.
With opengl enabled, I see many times that a portion of the screen does not update, and some windows are scaled wrong

@totaam
Copy link
Collaborator

totaam commented Apr 5, 2024

With opengl enabled, I see many times that a portion of the screen does not update

Portion of the screen or window? xpra start should be forwarding windows.

some windows are scaled wrong

Do you have a screenshot?

@ardavank
Copy link

ardavank commented Apr 6, 2024

@totaam

Portion of the screen or window?

portions of the screen, imagine you are scrolling in an app but only a portion of screen moves and some of the areas are still showing the previous state

@totaam
Copy link
Collaborator

totaam commented Apr 6, 2024

imagine you are scrolling in an app

If it's only when scrolling, make sure that your server is up to date as there was a bug with scrolling before ~5.0.7 IIRC.
You can also run your client without scroll encoding: --encodings=all,-scroll - maybe that will help.

@totaam
Copy link
Collaborator

totaam commented Apr 6, 2024

BTW, the reason why this has changed recently is because we now target MacOS 12 or later, and wantsBestResolutionOpenGLSurface now defaults to true.

@totaam
Copy link
Collaborator

totaam commented Jul 10, 2024

I believe the scaling issue has been solved by 854f012 and 121df4c.
Feel free to re-open if not, with -d opengl output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working client display macos
Projects
None yet
Development

No branches or pull requests

4 participants