https://bugs.winehq.org/show_bug.cgi?id=34348
--- Comment #39 from Erich E. Hoover erich.e.hoover@wine-staging.com --- Created attachment 51757 --> https://bugs.winehq.org/attachment.cgi?id=51757 winex11.drv: Add support for legacy resolutions using XRandR 1.3 affine transforms.
(In reply to Aaron Plattner from comment #36)
... RandR 1.2 has a transform mechanism that allows applications to scale an arbitrary region of the framebuffer to fill the screen, so Wine can make up whatever list of resolutions it wants and scale them to the display's native resolution. ...
Hi Aaron, thanks for the advice. I've put together a patch that does this using XRRSetScreenSize and XRRSetCrtcTransform and it finally doesn't cause my X server to crash ;) The way I'm doing this currently is using the matrix: dw/nw 0 0 0 dh/nh 0 0 0 1 where dw = desired width, dh = desired height, nw = native width, nh = native height
This makes the entire screen filled with the requested screen resolution (stretched), which should be good enough for now. However, I like the aspect-ratio maintaining behavior that nvidia-settings does when you use scaled resolutions like this. Is there an easy way for me to maintain the aspect ratio and have black bars on the sides instead?