Emulator Issues #5725

Use native full screen mode on OS X

Added by xuzz over 8 years ago.

% Done:


Operating system:
Issue type:
Feature request
Relates to usability:
Relates to performance:
Relates to maintainability:
Regression start:
Fixed in:


Name of clone:

Purpose of code changes on this branch:
Switch Mac to use native full screen mode rather than taking over the current space and (really?) changing the system screen resolution. This introduces a dependency on OS X 10.7 Lion. Tested configuration options (automatically enter full screen mode; render to main window; others) and also hotkeys, and all work as expected. This also removes the now-superfluous "Fullscreen Resolution" video option (on OS X only).

When reviewing my code changes, please focus on:
- Is depending on OS X 10.7 Lion or later acceptable? The statistics I've seen leave it and later with just over 50% market share, but it is only increasing. More technical users (e.g. those likely to be using Dolphin) likely have a higher adoption rate.
- Is removing the "Fullscreen Resolution" option acceptable? This is now handled by the main resolution setting, as entering fullscreen is just equivalent to resizing the window.
- Are there any other configurations or edge cases that I don't handle?

After the review, please pull into branch:

Related issues

Has duplicate Emulator - Emulator Issues #5754: Fullscreen mode crashes on Mac with HDMI Television set to 1080pDuplicate


#1 Updated by xuzz over 8 years ago

And I forgot to attach the patch:

#2 Updated by mdeletrain about 8 years ago

I find excluding 10.6 users a bit rough ! As you said they still represent a lot of Mac users (in fact, this is the bigger part of mac users, according to this site :*2).

Lot of people keep using 10.6 because of 10.7+ introducing some nasty behaviors they don't want.

Migration from 10.5 to 10.6 with an upgrade price around 50$ was done in only a few months. Migration to 10.6 to 10.7+ with an upgrade price at 20$ is still not done 16 months later... guess why ?

#3 Updated by mdeletrain about 8 years ago

At least, why not make this behavior conditional, depending of the system it us run on ?

#4 Updated by skidau about 8 years ago

issue 5754 has been merged into this issue.

#5 Updated by stefan.moonen about 8 years ago

I've played a bit with the build you supplied yesterday. Mainly SMG and NSMB, and they both run great with this patch, no perceivable speed difference.

Also, the native fullscreen is a nice touch as it provides the option to easily switch between spaces. Though I think the main question that remains is if it's desirable that you can only play in the native desktop resolution now. I don't think it has to be a problem because the actual rendering resolution makes all the difference, and that is a separate configuration option. Maybe make the native fullscreen functionality an option in the configuration? (On by default for Lion and ML.)

#6 Updated by pauldacheez about 8 years ago

I vote we remove the fullscreen resolution option entirely and just use whatever res the OS is using. Poof, one less useless option in the Graphics settings. I'm sure Neobrain approves, he loves removing things he deems useless.

#7 Updated by xuzz about 8 years ago

Support OS X 10.6 and OS X 10.7+. If built on OS X 10.7+, then it will include native full-screen support when running on OS X 10.7+ and will dynamically fall back to the old mode when running on OS X 10.6. If built on OS X 10.6, it will work as before.

#8 Updated by xuzz about 8 years ago

Fix dangling else eating next block when building on 10.7+.

#9 Updated by xuzz about 8 years ago

(Who moved the binaries folder? I was testing the wrong thing.)

#10 Updated by parlane about 8 years ago

PLease update your patch file for latest master.

#11 Updated by xuzz about 8 years ago

Rebased onto master.

#12 Updated by xuzz about 8 years ago

This has been merged in, although with an incorrect commit message ("support retina display on mac").

#13 Updated by NeoBrainX about 8 years ago

Why have DSPDebuggerLLE::Refresh and TASInputDlg::TextBoxHasFocus/HasFocus been changed to be virtual?

#14 Updated by xuzz about 8 years ago

Fixes a few dozen clang warnings. Feel free to remove it, though; it's not important.

#15 Updated by Billiard26 about 8 years ago

  • Category set to gfx
  • Operating system OS X added

#16 Updated by Billiard26 about 8 years ago

  • Issue type set to Feature request

#17 Updated by bradenb95 almost 8 years ago

  • Status changed from New to Fixed

This issue is now fixed. Your patch was a tad bit more complicated than needed.

#18 Updated by bradenb95 almost 8 years ago

  • Status changed from Fixed to Accepted

I lied.

Also available in: Atom PDF