We already talked about this on IRC, but for the benefit of the mailing list:
On Mon, 8 Apr 2019 at 07:05, Zebediah Figura z.figura12@gmail.com wrote:
It seems that qxl is not the only driver affected by this: bug 33290 [3] describes a similar problem with NVIDIA binary drivers (those, at least, that actually report multiple modes, and so don't fall back to XRandR 1.0 in Wine regardless). This was diagnosed there too, in comment 15, and a patch was submitted, which received the comment [4] "Updating the screen size isn't necessarily wrong, although avoiding panning is the wrong reason." I can only imagine, then, that "because the spec says so" is the right reason, but I may be misunderstanding or missing any number of things.
The typical starting configuration is DFPs running at their native resolutions, and applications, typically games, switching to a lower resolution. In that scenario the screen size is always large enough to contain the CRTCs. In fact, changing the screen size may cause desktop environments to rearrange panels and icons. Depending on the specifics they may of course already do that when changing CRTC sizes, and rearranging things may or may not be considered desirable by the user.
We would of course need to set the screen size when changing to a configuration that would be larger than the current screen size.
Another potential reason for us to update the screen size is making sure SM_CXVIRTUALSCREEN and things derived from that match what they would be on Windows. That's something that would need some tests, of course.
As for panning, that's something that can be configured in xorg.conf, or with e.g. xrandr. The initial state for panning may be different between drivers.
Henri