xemu-project / xemu

Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
https://xemu.app
Other
2.57k stars 258 forks source link

Retina Display/High-DPI support is completely broken on macOS #1666

Open schm1dtxbox opened 2 weeks ago

schm1dtxbox commented 2 weeks ago

Bug Description

Xemu simply doesn't support Retina displays at all, with its entire GUI looking barely any different irrespective of if NSHighResolutionCapable in Info.plist is enabled or disabled, in both cases it's being upscaled from half-resolution on each axis (except with NSHighResolutionCapable disabled the OS just pixel-doubles everything with a nearest-neighbour filter, whilst with the Xemu default of enabling NSHighResolutionCapable, the app itself just performs an ugly bilinear upscale it seems rather than actually becoming retina-aware, as that option should signify when used correctly). The final bit of proof of the above is the fact that, if I were to switch my MacBook Air to run in the non-retina 2560x1664 video mode at 1x scale (which makes UI elements unusably tiny system-wide due to how pixel-dense the panel is), Xemu does end up taking advantage of the display's resolution and its UI looks perfectly crisp as a consequence. That effectively confirms that Xemu outright lacks proper Retina support as a result.

Expected Behavior

Proper Retina support should be present when the OS is running in a 2x retina mode, i.e. the UI is rendered at 2x scale with sharp, crisp text and graphics shown in all places in the UI, and the internal framebuffer should draw at a 1-1 pixel ratio such that they can take advantage of the display's full resolution (mostly applicable for when resolution scaling is in use to render Xbox titles closer to the native resolution of a Mac's Retina display, for example).

xemu Version

0.7.126

System Information

OS: macOS System: MacBook Air M2 (2022) Display: 2560x1664 Retina Display

Additional Context

No response