Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mac screensaver: update for MacOS 14.0 Sonoma #5411

Merged
merged 2 commits into from
Oct 28, 2023
Merged

Conversation

CharlieFenton
Copy link
Contributor

MacOS 14.0 Sonoma broke many third-party screensavers, including BOINC's. This PR addresses several issues:

[1] The most serious was that once the BOINC screensaver runs, the desktop remained black, leaving the user unable to access the desktop. The user had to log out using the keyboard shortcut to regain access. This is fixed.

[2] The BOINC screensaver can no longer run the default graphics boincscr or any project graphics, though project graphics still work when launched from the BOINC Manager using the Show graphics button.

To get around Apple's earlier sandbox restrictions on screensavers, we use IOSurfaceBuffers to allow the screensaver to display the project application's or boincscr's graphics. This involves the use of Mach communication. But Apple has added a new sandbox restriction on screensavers preventing the use of Mach communication.

I have been working with Apple Developer Technical Support trying to find a solution. At their recommendation, I have filed a bug report with Apple asking them to remove this new restriction, and we are waiting for their decision.

If Apple won't remove the new restriction, I have a possible new approach, but it involves significant changes in the code and would require all projects to at least relink their graphics apps with our updated libraries.

For now, the updated screensaver in this PR just shows a message "BOINC can't show screensaver graphics on this version of MacOS"

[3] Our installer has asked the user if they would like to set BOINC as their screensaver. If they answered yes, it would do that automatically. This ability is broken under MacOS 14.0. This is recognized as a bug, and I have filed a separate bug report with Apple for this issue, also at the recommendation of Apple Developer Technical Support. For now, the Installer does not offer that option when run on MacOS 14.

@CharlieFenton
Copy link
Contributor Author

This PR is ready to be merged when CI checks have passed

@AenBleidd AenBleidd self-assigned this Oct 28, 2023
@AenBleidd AenBleidd added this to the Client/Manager 7.24.2 milestone Oct 28, 2023
@AenBleidd AenBleidd merged commit e08cbf0 into master Oct 28, 2023
49 checks passed
@AenBleidd AenBleidd deleted the mac_Os14_SS_hotfix branch October 28, 2023 13:24
CharlieFenton pushed a commit that referenced this pull request Oct 29, 2023
Mac screensaver: update for MacOS 14.0 Sonoma
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Merged
Development

Successfully merging this pull request may close these issues.

2 participants