Hey there!
I was looking into doing some automatic upscale for HiDPI screens (mine is 3200*1800). It would be some knob that allows the user to choose a x2 scaling for fullscreen apps and similar stuff.
After reading winex11.drv I saw that it wouldn't be that hard to report 1/2 of the actual monitor resolution and then just upscale whatever gets rendered to the gdi_display (so we would have an unscaled surface and then blit that with a 2x scaling to the gdi_display).
I guess that some other modifications would be needed though. Any comments on this? I think it could be useful for some people, nowadays that screens just got lots of pixels.
Thanks!
David G.F.
On Thu, Apr 14, 2016 at 1:48 AM, David Guillen Fandos david@davidgf.net wrote:
Hey there!
I was looking into doing some automatic upscale for HiDPI screens (mine is 3200*1800). It would be some knob that allows the user to choose a x2 scaling for fullscreen apps and similar stuff.
After reading winex11.drv I saw that it wouldn't be that hard to report 1/2 of the actual monitor resolution and then just upscale whatever gets rendered to the gdi_display (so we would have an unscaled surface and then blit that with a 2x scaling to the gdi_display).
I guess that some other modifications would be needed though. Any comments on this? I think it could be useful for some people, nowadays that screens just got lots of pixels.
There is a discussion about this at https://bugs.winehq.org/show_bug.cgi?id=30056
On 14/04/16 08:00, Bruno Jesus wrote:
On Thu, Apr 14, 2016 at 1:48 AM, David Guillen Fandos david@davidgf.net wrote:
Hey there!
I was looking into doing some automatic upscale for HiDPI screens (mine is 3200*1800). It would be some knob that allows the user to choose a x2 scaling for fullscreen apps and similar stuff.
After reading winex11.drv I saw that it wouldn't be that hard to report 1/2 of the actual monitor resolution and then just upscale whatever gets rendered to the gdi_display (so we would have an unscaled surface and then blit that with a 2x scaling to the gdi_display).
I guess that some other modifications would be needed though. Any comments on this? I think it could be useful for some people, nowadays that screens just got lots of pixels.
There is a discussion about this at https://bugs.winehq.org/show_bug.cgi?id=30056
Looks like it didn't get much love :D
Another possible solution (wine agnostic) would be to use an X11 server on top of the current X11 server, since the major concern for me is fullscreen apps.
The original question though was something like "how many interactions in terms of resolution does the X11 wine Drv have?" to get an idea of how much effort would be to implement scaling.
Thanks!
David
On 14 April 2016 at 19:11, David Guillen Fandos david@davidgf.net wrote:
Looks like it didn't get much love :D
Another possible solution (wine agnostic) would be to use an X11 server on top of the current X11 server, since the major concern for me is fullscreen apps.
The original question though was something like "how many interactions in terms of resolution does the X11 wine Drv have?" to get an idea of how much effort would be to implement scaling.
I think ideally this kind of thing would be done by the X11 server and/or window manager/compositor. That said, if you want to do it in Wine, x11drv_surface_flush() may be a good place to start. There are going to be plenty of other things you'll need to scale as well though, like event coordinates and various queries.