Opened 4 years ago

Last modified 3 years ago

#11430 closed defect

macOS Dark Mode compatibility makes content blurry on Retina displays — at Version 1

Reported by: dwatteau Owned by:
Priority: normal Component: Port: Mac OS X
Version: Keywords: retina, dark mode, blurry
Cc: Game:

Description (last modified by dwatteau)

(Following some discussion with criezy on Discord.)

On macOS Mojave 10.14.6 (18G4032), on a 2017 27-inch 5K Retina iMac (iMac18,3), official ScummVM 2.1.2's whole display is blurry (the games, and the GUI in itself), compared to earlier releases.

It's quite easy (and quick) to see if you just launch ScummVM with the old green/black builtin interface on a macOS Retina display with Mojave (possibly Catalina). The attached screenshot shows the difference.

The blurriness disappears if I remove the following content from /Applications/ScummVM.app/Contents/Info.plist:

   <key>NSRequiresAquaSystemAppearance</key>
   <false/>

NSRequiresAquaSystemAppearance was introduced in the the following commit, so that macOS Dark Mode (which appeared in Mojave) could be applied to ScummVM, while continuing building official releases with older macOS SDKs:

https://github.com/scummvm/scummvm/commit/485e8bee17230ed

This blurriness also appears if I build ScummVM with Xcode 11 on Mojave without any NSRequiresAquaSystemAppearance, but with a 10.14+ SDK.

It's possible that this is a bug with macOS Dark Mode in itself. It looks like VMWare Fusion and VLC had similar issues:

https://communities.vmware.com/thread/618831
https://code.videolan.org/videolan/VLCKit/issues/82#note_30971

Similar issues may have been reported to Apple's Radar in early Mojave betas:

https://openradar.appspot.com/45895864

but I'm not sure Apple is going to fix that.

I've also reported this problem to SDL2 Bugzilla:

https://bugzilla.libsdl.org/show_bug.cgi?id=5087

I'm not aware of any proper fix for this problem yet.

The only workaround which seems to work is to:

  • continue building official ScummVM releases on an earlier macOS release (possibly any pre-10.14 SDK?)
  • stop setting any NSRequiresAquaSystemAppearance value in Info.plist.

Hence, 485e8bee17230ed may need to be reverted (results to be confirmed on various macOS setups, maybe?).

Dark Mode will be lost but, in my opinion, proper output of the interface and the games is more important than having a dark titlebar and a dark file choosing dialog (official VLC still doesn't enable Dark Mode on Mojave, for instance).

Change History (2)

by dwatteau, 4 years ago

Attachment: sdl2-blurry-retina.png added

comment:1 by dwatteau, 4 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.