All spice-gtk clients (virt-viewer, remote-viewer, spicy and virtmanager) crash, when image compression is set to lz, and guest is set to 16bpp color mode. This was tested on Windows XP. How to reproduce: 1. Use Windows XP virtual machine. 2. Install QXL driver 3. Set image compression to lz 4. Connect to VM using virt-viewer 5. Set Color Quality to 16bpp (Right click on the Desktop -> Properties -> Settings -> Color quality) This issue can be "fixed", when we set lz decoding, to always decode 16bpp image as 32bpp image. Thid could mean, that we send 16bpp image as 32bpp image. This diff shows what change needs to be done, to "fix" this issue: diff --git a/common/canvas_base.c b/common/canvas_base.c index 6f48340..12b285e 100644 --- a/common/canvas_base.c +++ b/common/canvas_base.c @@ -848,8 +848,8 @@ static pixman_image_t *canvas_get_lz(CanvasBase *canvas, SpiceImage *image, as_type = LZ_IMAGE_TYPE_RGB32; pixman_format = PIXMAN_x8r8g8b8; } else { - as_type = LZ_IMAGE_TYPE_RGB16; - pixman_format = PIXMAN_x1r5g5b5; + as_type = LZ_IMAGE_TYPE_RGB32; + pixman_format = PIXMAN_x8r8g8b8; } break; default:
Given that you're modifying spice-common to treat 16b images as 32b, does it mean that spice-server with this patch would send 16b images over the wire as 32b as well?
Can be reproduced also in Win7 guests, the color depth can be changed by the command line option '--spice-color-depth': remote-viewer --spice-color-depth=16 --spice-preferred-compression=lz
Related to https://bugzilla.redhat.com/show_bug.cgi?id=1285469
Fixed by https://cgit.freedesktop.org/spice/spice-common/commit/?id=5603961ffae7b8a0160e4d6e29ca506b7c3721d2
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.