Web lists-archives.com

Re: opengl render size too small in X11 window




On 11/10/2018 18:40, Chris Marshall wrote:
I've verified that if I use the -nowgl option for the X11 server then the
opengl visualization is correctly rendered and sized for the containing
window.

On Wed, Oct 10, 2018 at 12:15 PM Chris Marshall
wrote:

Dear Cygwin-

Using cygwin X11 under windows 10 with a high dpi display (3840x2160)
laptop resulted in far too small font and widgets using -multiwindow for
the XWin option.  If I set the windows setting display resolution to
1920x1080 and following the suggestion for the ~/.Xresources file from
https://stackoverflow.com/questions/42211564/cygwin-xwin-scaling-broken-when-using-windows-scaling-on-high-resolution-displa
I was able keep windows, widgets, and title/menu bars at a reasonable size
for reading.

However, when I display some OpenGL graphics content (using a FreeGLUT
window), then the visible OpenGL rendered area is about 2/3 the apparent
widget area of the X11 window.  If I try the same in a non-multiwindow Xwin
session then the rendered area is correct.  This problem is even worse if I
try with the full screen resolution.  At the moment I think I have narrowed
it down to the -multiwindow support for OpenGL contexts.

This is with a couple of versions of the freeglut libraries with no effect
and the current cygwin and cygwin X Server.

Interesting.  Thanks for reporting this issue.

I suspect this might be caused by:

- the X server is marked as high-dpi aware (via manifest)
- when using WGL, OpenGL drawing takes place in the client (to a window handle retrieved from the X server)
- the GL client you are using is not marked as high-dpi aware (the default)

(-wgl is only currently supported in multiwindow mode)

If that's the case, I think I see what is needed to fix this, but this is not possible for me to test.

I've built an updated libGL1 with this potential fix, perhaps you can try it, to see if it improves things. Install it with:

wget ftp://cygwin.com/pub/cygwinx/x86_64/libGL1-18.0.5-1.1.tar.xz
tar -C / -xvf libGL1-18.0.5-1.1.tar.xz

(This is built for x86_64. If you need x86 instead, please ask)

Reinstall the libGL1 using cygwin setup to get things back to their previous state.

--
Jon Turney
Volunteer Cygwin/X X Server maintainer

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple