Xpra: Ticket #429: Client window update issues when using a terminal emulator

Server: CentOS 6.3 xpra 0.10.4
Client: Ubunutu Raring xpra 0.10.4

On Server:

xpra start :100 --start-child=/usr/bin/gnome-terminal --no-speaker --no-microphone --no-pulseaudio --encoding=png/L

Server auto-refresh delay is set at 6.0 seconds because my server is 50ms away from the client.

On Client:

xpra attach :100

Terminal emulator window appears on client just fine, however client window updates appear to cause issues.

  1. Selecting text in the terminal using mouse and dragging a selection will make existing window content appear/disappear. Sometimes the whole window content will disappear, then reappear later.
  1. Running 'top' can produce truncated single-line output before the next refresh.
  1. Running 'ps auxfw' outputs a blank screen until the next window refresh.
  1. Re-sizing window corrupts existing image. Menu-bar appears/disappears, scroll bar appears to remain in original and new locations.

Tried with:

/usr/bin/gnome-terminal
/usr/bin/Terminal
/usr/bin/terminator

I also run PyCharm on the same client/server setup but do not experience any screen refresh issues.



Mon, 16 Sep 2013 10:40:56 GMT - Nick Burrett: attachment set

Damage log when selecting an area of terminal text using mouse.


Mon, 16 Sep 2013 11:31:21 GMT - Antoine Martin: owner, description changed

Is this a regression from v0.9.x or earlier?

Have you tried disabling OpenGL? Does that fix the issue? If so, please post your glxinfo.


Mon, 16 Sep 2013 11:48:49 GMT - Nick Burrett:

I never saw a problem v0.9.1-v0.9.6. The problem appeared with v0.10.0 onwards

Turning off OpenGL has no effect.


Mon, 16 Sep 2013 11:58:24 GMT - Nick Burrett:

Note that I did say that rendering updates work absolutely fine when using PyCharm?, so I wonder if this is a trait of how gnome-terminal is performing window updates.

Here's my glxinfo.

$ glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile,
    GLX_ARB_multisample, GLX_EXT_create_context_es2_profile,
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
    GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method,
    GLX_SGI_swap_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile,
    GLX_ARB_create_context_robustness, GLX_ARB_framebuffer_sRGB,
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_framebuffer_sRGB,
    GLX_EXT_create_context_es2_profile, GLX_MESA_copy_sub_buffer,
    GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control,
    GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read,
    GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
    GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event
GLX version: 1.4
GLX extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile,
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_create_context_es2_profile, GLX_MESA_copy_sub_buffer,
    GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control,
    GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read,
    GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
    GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL version string: 3.0 Mesa 9.1.3
OpenGL shading language version string: 1.30
OpenGL extensions:
    GL_ARB_multisample, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_copy_texture,
    GL_EXT_polygon_offset, GL_EXT_subtexture, GL_EXT_texture_object,
    GL_EXT_vertex_array, GL_EXT_compiled_vertex_array, GL_EXT_texture,
    GL_EXT_texture3D, GL_IBM_rasterpos_clip, GL_ARB_point_parameters,
    GL_EXT_draw_range_elements, GL_EXT_packed_pixels, GL_EXT_point_parameters,
    GL_EXT_rescale_normal, GL_EXT_separate_specular_color,
    GL_EXT_texture_edge_clamp, GL_SGIS_generate_mipmap,
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
    GL_SGIS_texture_lod, GL_ARB_framebuffer_sRGB, GL_ARB_multitexture,
    GL_EXT_framebuffer_sRGB, GL_IBM_multimode_draw_arrays,
    GL_IBM_texture_mirrored_repeat, GL_3DFX_texture_compression_FXT1,
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_transpose_matrix,
    GL_EXT_blend_func_separate, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,
    GL_EXT_secondary_color, GL_EXT_texture_env_add,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
    GL_INGR_blend_func_separate, GL_NV_blend_square, GL_NV_light_max_exponent,
    GL_NV_texgen_reflection, GL_NV_texture_env_combine4, GL_S3_s3tc,
    GL_SUN_multi_draw_arrays, GL_ARB_texture_border_clamp,
    GL_ARB_texture_compression, GL_EXT_framebuffer_object,
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_env_combine,
    GL_EXT_texture_env_dot3, GL_MESA_window_pos, GL_NV_packed_depth_stencil,
    GL_NV_texture_rectangle, GL_ARB_depth_texture, GL_ARB_occlusion_query,
    GL_ARB_shadow, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
    GL_ARB_window_pos, GL_ATI_envmap_bumpmap, GL_EXT_stencil_two_side,
    GL_EXT_texture_cube_map, GL_NV_depth_clamp, GL_APPLE_packed_pixels,
    GL_APPLE_vertex_array_object, GL_ARB_draw_buffers,
    GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_shader_objects,
    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ATI_draw_buffers,
    GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_EXT_shadow_funcs,
    GL_EXT_stencil_wrap, GL_MESA_pack_invert, GL_MESA_ycbcr_texture,
    GL_NV_primitive_restart, GL_ARB_depth_clamp,
    GL_ARB_fragment_program_shadow, GL_ARB_half_float_pixel,
    GL_ARB_occlusion_query2, GL_ARB_point_sprite, GL_ARB_shading_language_100,
    GL_ARB_sync, GL_ARB_texture_non_power_of_two, GL_ARB_vertex_buffer_object,
    GL_ATI_blend_equation_separate, GL_EXT_blend_equation_separate,
    GL_OES_read_format, GL_ARB_color_buffer_float, GL_ARB_pixel_buffer_object,
    GL_ARB_texture_compression_rgtc, GL_ARB_texture_float,
    GL_ARB_texture_rectangle, GL_EXT_packed_float, GL_EXT_pixel_buffer_object,
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc,
    GL_EXT_texture_rectangle, GL_EXT_texture_sRGB,
    GL_EXT_texture_shared_exponent, GL_ARB_framebuffer_object,
    GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
    GL_EXT_packed_depth_stencil, GL_APPLE_object_purgeable,
    GL_ARB_vertex_array_object, GL_ATI_separate_stencil, GL_EXT_draw_buffers2,
    GL_EXT_draw_instanced, GL_EXT_gpu_program_parameters,
    GL_EXT_texture_array, GL_EXT_texture_integer, GL_EXT_texture_sRGB_decode,
    GL_EXT_timer_query, GL_OES_EGL_image, GL_MESA_texture_array,
    GL_ARB_copy_buffer, GL_ARB_depth_buffer_float, GL_ARB_draw_instanced,
    GL_ARB_half_float_vertex, GL_ARB_instanced_arrays,
    GL_ARB_map_buffer_range, GL_ARB_texture_rg, GL_ARB_texture_swizzle,
    GL_ARB_vertex_array_bgra, GL_EXT_separate_shader_objects,
    GL_EXT_texture_swizzle, GL_EXT_vertex_array_bgra,
    GL_NV_conditional_render, GL_AMD_draw_buffers_blend,
    GL_ARB_ES2_compatibility, GL_ARB_blend_func_extended, GL_ARB_debug_output,
    GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
    GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions,
    GL_ARB_provoking_vertex, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map,
    GL_ARB_shader_texture_lod, GL_ARB_texture_cube_map_array,
    GL_ARB_texture_rgb10_a2ui, GL_ARB_uniform_buffer_object,
    GL_ARB_vertex_type_2_10_10_10_rev, GL_EXT_provoking_vertex,
    GL_EXT_texture_snorm, GL_MESA_texture_signed_rgba,
    GL_ARB_get_program_binary, GL_ARB_robustness, GL_ARB_shader_bit_encoding,
    GL_ARB_timer_query, GL_ANGLE_texture_compression_dxt3,
    GL_ANGLE_texture_compression_dxt5, GL_ARB_internalformat_query,
    GL_ARB_shading_language_packing, GL_ARB_texture_storage,
    GL_EXT_transform_feedback, GL_ARB_ES3_compatibility,
    GL_ARB_invalidate_subdata
20 GLX Visuals
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x020 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x021 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x097 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x098 24 tc  0  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x099 24 tc  0  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x09a 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8 16 16 16 16  0 0 Slow
0x09b 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  4 1 None
0x09c 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x09d 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  4 1 None
0x09e 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x09f 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x0a0 24 dc  0  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x0a1 24 dc  0  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x0a2 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x0a3 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8 16 16 16 16  0 0 Slow
0x0a4 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  4 1 None
0x0a5 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x0a6 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  4 1 None
0x0a7 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x06a 32 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
44 GLXFBConfigs:
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x06b  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x06c  0 tc  0  16  0 r  . .   5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x06d  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x06e  0 tc  0  16  0 r  . .   5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x06f  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0 24  8  0  0  0  0  0 0 None
0x070  0 tc  0  16  0 r  . .   5  6  5  0 .  .  0 24  8  0  0  0  0  0 0 None
0x071 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x072 24 tc  0  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x073 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x074 24 tc  0  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x075  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x076  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0 16 16 16  0  0 0 Slow
0x077 32 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x078 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8 16 16 16 16  0 0 Slow
0x079  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0  0  0  0  0  0  0  4 1 None
0x07a  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0  0  0  0  0  0  0  8 1 None
0x07b  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0  0  0  0  0  4 1 None
0x07c  0 tc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0  0  0  0  0  8 1 None
0x07d 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  4 1 None
0x07e 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x07f 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  4 1 None
0x080 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x081  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x082  0 dc  0  16  0 r  . .   5  6  5  0 .  .  0  0  0  0  0  0  0  0 0 None
0x083  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x084  0 dc  0  16  0 r  . .   5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x085  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0 24  8  0  0  0  0  0 0 None
0x086  0 dc  0  16  0 r  . .   5  6  5  0 .  .  0 24  8  0  0  0  0  0 0 None
0x087 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x088 24 dc  0  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x089 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x08a 24 dc  0  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x08b  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x08c  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0 16 16 16  0  0 0 Slow
0x08d 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x08e 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8 16 16 16 16  0 0 Slow
0x08f  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0  0  0  0  0  0  0  4 1 None
0x090  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0  0  0  0  0  0  0  8 1 None
0x091  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0  0  0  0  0  4 1 None
0x092  0 dc  0  16  0 r  y .   5  6  5  0 .  .  0 16  0  0  0  0  0  8 1 None
0x093 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  4 1 None
0x094 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x095 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  4 1 None
0x096 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None

Mon, 16 Sep 2013 12:07:53 GMT - Antoine Martin: description changed

I think gnome-terminal uses transparency, and 0.9.x did not support transparency, so this may be related to that. Please try running the server with:

XPRA_ALLOW_ALPHA=0 xpra start ...

And see if this helps.

If it does not, please post the client output with:

XPRA_DRAW_DEBUG=1 xpra attach ...

Mon, 16 Sep 2013 12:09:29 GMT - Nick Burrett:

Setting XPRA_ALLOW_ALPHA=0 does indeed resolve the problem.


Mon, 16 Sep 2013 12:11:10 GMT - Antoine Martin: status changed; resolution set

Then there's a problem with your client rendering the alpha channel (since I'm pretty sure centos got tested with multiple other platforms as client without problems).

Once again, an Ubuntu rendering bug. Closing as invalid.

(FWIW: just tested a Fedora 19 client against a CentOS 6.4 server and did not see the problem, the gnome-terminal transparent windows showed up fine)


Fri, 07 Feb 2014 00:05:26 GMT - Johannes Schindelin:

I finally hit exactly the same issue, but funnily only when upgrading Ubuntu.

As my current goal is to run the desktop and Xpra inside a https://index.docker.io/u/dscho/docker-desktop/

To use, you need Docker (obviously), pull the Docker image using sudo docker pull dscho/docker-desktop -- which will download roughly nine hundred megabyte, sorry! -- make a directory shared/ containing your public ssh key id_rsa.pub and then start the container via sudo docker run -p 2345:22 -v $(pwd)/shared/:/shared/ dscho/docker-desktop. If in doubt, start it via sudo docker run dscho/docker-desktop because that will give you a usage message (which I will improve over time, please be patient).

With this setup, I have to report that XPRA_ALLOW_ALPHA=0 did not fix the issue here.

Symptoms: with a 0.9.0 client, the gnome-terminal window is white, with a 0.12.0 client it is all black. Ctrl-L only updates the scrollbar. Even using the current Xpra version as per the Saucy repository does not work correctly, as you can verify by calling ssh -Y -p 2345 docker@127.0.0.1 "xpra --socket-dir=/shared/ attach :10.

For the record, I also tried to get things going with the Java client, but it seems to not work at all anymore:

SwingClient.registerHandlers() methods=[public void xpra.swing.SwingClient.run(java.lang.String[]), [...]
SwingClient.send(hello, [{version=0.11.0, desktop_size=[640, 480], dpi=100, client_type=Java/swing, [...]
SwingClient.connectionBroken(java.net.SocketException: Socket closed)
java.net.SocketException: Socket closed
	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116)
	at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
	at xpra.AbstractClient.send(AbstractClient.java:438)
	at xpra.AbstractClient.send_hello(AbstractClient.java:481)
	at xpra.AbstractClient.run(AbstractClient.java:145)
	at java.lang.Thread.run(Thread.java:701)
SwingClient.run() loop ended
SwingClient.cleanup()

Fri, 07 Feb 2014 01:36:23 GMT - Antoine Martin:

The environment variable got renamed, try XPRA_ALPHA=0 xpra ... instead.

You may also want to try to turn opengl on or off and see if that helps.

Sounds like transparency is broken on Ubuntu, again.


Fri, 07 Feb 2014 17:34:33 GMT - Johannes Schindelin:

Okay, I now got it working, kind of. With XPRA_ALPHA=0 xpra start ... --opengl=no *and* with the current Xpra client, it starts working *iff* I switch off the system theme's colors in gnome-terminal.

However, when I connect to it with a *MacOSX* client (version 0.9.0) it *still* does not work, keeping the server running that worked with the current Xpra client. So there is something really fishy.

Especially given that the version 0.9.0 worked before -- even with gnome-terminal...

Really puzzled now.


Sat, 08 Feb 2014 01:50:03 GMT - Antoine Martin:

Why would you use a an OSX client version 0.9.0? Out of date and buggy..

Try using something that is supported?


Mon, 10 Feb 2014 14:35:53 GMT - Johannes Schindelin:

I used the 0.9.0 client for two reasons:

So is my assumption incorrect that the wire protocol is supposed to be stable enough for different versions of the client and server to communicate with each other?

I ask because my reliance on Xpra is based on that assumption, and if my assumption is wrong I will have to find something else...

Thank you!


Mon, 10 Feb 2014 14:43:23 GMT - Antoine Martin:

.. my assumption incorrect that the wire protocol is supposed to be stable enough for different versions ..

This has absolutely nothing to do with the wire protocol.

The xpra wire protocol should be compatible from v0.3.11 up to current trunk (v0.12-rc). We try to maintain backwards compatibility even with those ancient and buggy versions.

The issue that I am talking about is that non supported versions like 0.9.0 contain known critical bugs, including hard server crashes... use at your own risk. First thing to try in case of bug reports is to try a version that is supported. We are not going to try to reproduce bugs reported against versions that are known to be broken unless it's obvious the bug is still present.

I had the 0.9.0 client already and it was not quite easy to get it to work

I have no idea why. Install then run? Why would it be harder than that?


Here some added fun stats - see how many fixes have happened since:


Fri, 14 Feb 2014 14:31:55 GMT - Johannes Schindelin:

Okay, so I tried for a couple of hours to update my MacOSX client to a newer version... This is the status so far: I could not.

First, I tried to update the Win-Switch.app (I had too many problems with Xpra.app earlier, so I used the Xpra.app inside Win-Switch.app). At first, I had to copy the xpra script from the old Xpra.app/Contents/MacOS because Xpra_Launcher would try to find a client_launcher module that does not exist. I eventually got things working (having to symlink Helpers/ and removing the now-incompatible -b 256 flag as well as any other encoding flags) but the only encodings available were PNG & JPG. Over my internet connection, this is infeasible.

So I gave Xpra.app another shot. As usual, the GUI did not allow me to re-use my .ssh configuration nor to specify the display, so I had to use the command-line (it is now called Xpra with a capital 'X'). This one does not even connect... it times out.

So now I try to install from source, using Homebrew.


Fri, 14 Feb 2014 14:39:56 GMT - Antoine Martin:

dscho: people use the Xpra.app found inside the Xpra.dmg every day and don't have any of the problems you describe. It would be interesting to know what you do different. I see no log or no debugging information here to investigate. I strongly suspect PEBKAC anyway.

Anyway, this ticket is about window updates and (probably) transparency related redraw problems. Not mac osx, if you want to get something fixed for osx, file a ticket with enough details.


Fri, 14 Feb 2014 19:34:03 GMT - Johannes Schindelin:

Wow. That was harsh.

For what it's worth, I have no logs because my first order of business is to get things working again so I can access my web browser, e.g. to write this.

So unfortunately I only have some recollections to offer.

The refused connection BTW was most likely caused by a couple of hanging "Xpra upgrade" processes (quite often, Xpra stops responding on the Unix socket, and the only remedy I found was to call "upgrade" even if I do not upgrade).

I had to kill them manually and then figure out with "xwininfo -root -tree -display ... | grep Xpra" what window id was called Xpra-EWMH and xkill that window before the next "upgrade" succeeds.

Anyway, I get the impression that my reports are unwelcome, especially when it comes to Ubuntu -- which served me well in conjunction with Xpra before. So I will stop bothering you.

Thank you for the time you spent on my problems, and for writing Xpra.


Sat, 15 Feb 2014 05:30:38 GMT - Antoine Martin:

Harsh, no, factual:

FWIW: feel free to cut&paste any valuable information into a new ticket. I will probably delete these erroneous comments (circa comment:10 onwards) in the next few days. They add no value to this ticket, only making it longer to read and more confusing.


Sat, 23 Jan 2021 04:55:12 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/429