On 18 January 2018 at 14:46, Paolo Bonzini <pbonz...@redhat.com> wrote: > On 18/01/2018 15:12, Daniel P. Berrange wrote: >>> In addition to that, do we support a >= 2 GiB framebuffer at all? (Even >>> with unsigned ints, Coverity would rightly complain about a truncated >>> 32-bit multiplication being assigned to a 64-bit value). >> client_width/client_height are values that are initialized from the >> graphics card frontend config, and thus limited by amount of video >> RAM QEMU allows. bytes_per_pixel is limited to 8/16/32. >> >> So I think we're safe from 2GB overflow in any normal case. >> >> That said, VGA RAM size is configurable, so I'm curious what would happen >> if someone configured an insanely large VGA RAM and asked for a big frame >> buffer in guest. >> >> VNC is protocol limited to uint16 for width/height size, and so is X11 >> so I imagine some exploding behavour would follow :-) > > Indeed, and even 2^16 x 2^16 * 32bpp is already 34 bits. So perhaps we > should limit VNC to 16384 pixels on each axis (maximum frame buffer size > 1 GiB).
Google says you can already get graphics cards that can do 15360x8640, which is really quite close to that 16384 limit... thanks -- PMM