Opened 13 months ago

Closed 13 months ago

Last modified 13 months ago

#18546 closed defect (invalid)

macOS: wrong interface scaling on the Retina displays

Reported by: rainbow Owned by:
Priority: normal Milestone:
Component: OpenGL Version: 3.1.3
Keywords: Cc: rainbow@…
Blocked By: Blocking:
Patch: no


In attachment you can see an image of the problem with CubicSDR where non standard widget only fills the left 50% of the area. The same behaviour is shown on Limesuite -> FFTviewer. Maybe it is OpenGL related.

My system:
macOS 10.15 19A602 (same problem with 10.14)
Xcode 11.1 11A1027
wxWidgets 3.1.3
CubicSDR latest commit
Limesuite latest commit

CubicSDR issue

thank you

Attachments (1)

cubicsdr_problem.jpg download (23.3 KB) - added by rainbow 13 months ago.

Download all attachments as: .zip

Change History (3)

Changed 13 months ago by rainbow

comment:1 Changed 13 months ago by vadz

  • Resolution set to invalid
  • Status changed from new to closed

This is almost certainly due to f5d02e68088d9669ad95c32585dcbde24abd6465. see #15700. As documented in the changelog:

wxGLCanvas now uses physical pixels on high DPI displays under platforms
where they're different from logical ones (wxGTK3, wxOSX). Multiply logical
coordinates, e.g. returned by wxWindow::GetSize() by GetContentScaleFactor()
before using them with OpenGL functions.

I.e. the code needs to be adjusted to work on high DPI displays.

If it turns out to be really problematic, we might add some wxGL_SCALE style to prevent [NSOpenGLView setWantsBestResolutionOpenGLSurface:] from being called, but this wouldn't look good, so I'd rather avoid doing it unless absolutely necessary. For now I'm closing this as this is expected behaviour in this version.

comment:2 Changed 13 months ago by rainbow

  • Cc rainbow@… added

ok. thank you @vadz

Note: See TracTickets for help on using tickets.