diff -up mesa-18.3.4/src/glx/drisw_glx.c.dma mesa-18.3.4/src/glx/drisw_glx.c --- mesa-18.3.4/src/glx/drisw_glx.c.dma 2020-03-13 09:53:49.347674709 +1000 +++ mesa-18.3.4/src/glx/drisw_glx.c 2020-03-13 09:54:23.704608060 +1000 @@ -241,7 +241,7 @@ swrastXPutImage(__DRIdrawable * draw, in XShmPutImage(dpy, drawable, gc, ximage, srcx, srcy, x, y, w, h, False); XSync(dpy, False); } else { - ximage->width = w; + ximage->width = ximage->bytes_per_line / ((ximage->bits_per_pixel + 7)/ 8); ximage->height = h; XPutImage(dpy, drawable, gc, ximage, srcx, srcy, x, y, w, h); }