MacMini7,1 doesn't restart display if it was powered off and the software had previously used NSView's enterFullScreenMode:withOptions:
| Originator: | signwave | ||
| Number: | rdar://31937513 | Date Originated: | 02-May-2017 |
| Status: | Open | Resolved: | |
| Product: | macOS + SDK | Product Version: | Macmini7,1 macOS 10.12.3 (16D32) |
| Classification: | Serious Bug | Reproducible: | Always |
Area: Something not on this list Summary: The latest generation of MacMinis (7,1) appears to have a serious issue that prevents attached displays from re-appearing if they get turned off and back on again, and the software that is running had used NSView's enterFullScreenMode:withOptions: Steps to Reproduce: 1. Create barebones Cocoa application that calls NSView's enterFullScreenMode:withOptions: causing the window's view to become full-screen. 2. Run the application on a MacMini7,1 connected to a display 3. Once the application is in full-screen mode, turn the display off (just using the power button, or by disconnecting it altogether) and then turn it back on again. Expected Results: The software should re-appear in fullscreen mode, as it was when the monitor was switched off. Actual Results: The display never comes online. Only black is seen, if the display uses energy saving measures, it declares NO SIGNAL and then enters low power mode. Remotely connecting to MacMini using ARD shows that the software is still running, fully operational, full-screen, and at the previous resolution. Quitting the application (causing full screen mode to exit) causes the display to appear again. Version: System Version: macOS 10.12.3 (16D32) Kernel Version: Darwin 16.4.0 Notes: Software still operates as expected in full-screen mode. MacMini still considers display to be connected at correct resolution whilst display off and after turned on again. Also noted that quitting the software (exiting full screen mode) causes the display to become active again. We also noted that this behaviour doesn't happen with NSWindow's toggleFullScreen: method, nor with any of the built-in apps that support fullscreen mode (presumably because those use toggleFullScreen: rather than NSView's enterFullScreenMode:withOptions:) We have identified that issue is being caused when EDID information from a display device is lost and then re-applied - the MacMini does not cause the display to go online. A fix was to add EDID injectors to the MacMini so that MacMini always thinks display is active, avoiding the problem. Attached is a test app that demonstrates problem. Configuration: Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i5 Processor Speed: 1.4 GHz
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!