GNOME Bugzilla – Bug 145544
vino-server does not work with depth 8
Last modified: 2020-11-12 12:24:19 UTC
Steps to reproduce: 1. Enable remote desktop access on say machine A. 2. Machine A has X running with depth 8. 2. Try to connect to machine A from machine B. Observation: Remote desktop is not started on machine B. vino-server running on machine A just hangs. It is possible to access remote desktop of machine A from machine B with depths set to 16/24 on machine A.
With depth 8, it is a pseudocolor display. pseudocolor does not have red_mask, green_mask and blue_mask members. In vino_server_init_pixel_format (), there is a code to get the respective shift values from the masks. As there are no masks set for pseudocolor, the server goes into an infinite while loop and hence hangs. Support need to be provided for pseudocolor displays.
It might just be a matter of doing: + adding a vino_fb_get_is_true_color() function which returns FALSE if 1) all masks are zero 2) its 8 bits per pixel 3) CellsOfScreen returns non-zero + adding vino_fb_get_color_map_entries() which might return an array of GdkColors along with the number of entries + vino_server_init_pixel_format() would look something like this: if (vino_fb_get_is_true_color ()) { vino_fb_get_color_masks (server->priv->fb, ...); } else { entries = vino_fb_get_color_map_entries (server->priv->fb, &n_entries); /* setup rfb_screen->colourMap */ rfbSetClientColourMaps (rfb_screen, 0, n_entries); } Something like that should do the trick anyways.
Does someone still use 8bit nowadays? Is valid to worry about that bug, or can we just close it as 'obsolete'? :)
Vino is not under active development anymore and unmaintained. Please use gnome-remote-desktop instead. Closing this report as WONTFIX to reflect reality.