macOS 26 Tahoe Screen Saver issues

Noticing a few issues with Screen Savers in macOS Tahoe developer beta 1 :

  • The command
open x-apple.systempreferences:com.apple.ScreenSaver-Settings.extension  

no longer works to open the Screen Savers preference pane. The reason? There is no longer a Screen Saver preference pane - it still exists, but it's now a Modal dialog (that can not be resized) that is opened from within the Wallpaper preference pane, by clicking a button.

  • Something funny is happening with legacyScreensaver - I think that
ScreenSaverView.Init(frame:isPreview)

may be passing wrong values, e.g. the isPreview boolean is false in Preview mode?

  • I've submitted Feedback # FB17895600 about some of these, and will report back more as I figure things out.

Please feel free to add to this thread, thanks!

Answered by DTS Engineer in 843065022

Thanks for testing this stuff immediately and then filing those bugs. Screen savers are such a niche thing that it’s critical to get this issues noted early in the beta cycle.

If you encounter any other issues, please post the bug numbers here so that they’re on my radar (so to speak).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Another issue:

  • WKWebView-based screensaver doesn't display on 2nd monitor (legacyScreenSaver) in Tahoe

Submitted as # FB17938870

Thanks for testing this stuff immediately and then filing those bugs. Screen savers are such a niche thing that it’s critical to get this issues noted early in the beta cycle.

If you encounter any other issues, please post the bug numbers here so that they’re on my radar (so to speak).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Testing using Beta 3, I've figured out one of the issues:

In macOS Tahoe, when you are viewing the Screen Savers dialog (from inside Wallpaper), using legacyScreenSaver, the system is incorrectly launching 2 copies - one at fullscreen on the main screen, and then a second (correct) instance which is in Preview mode.

Reported as FB18697726

I have also submitted a case regarding the regressions in UI/UX for screensavers:

Tahoe has redesigned the UI for System Settings to remove the Screen Saver pane altogether. Instead, you access Screen Savers from within the Wallpaper settings.

This has the following issues:

  1. Confusion - macOS has emphasized the importance of Screen Saves in recent years, and users expect to have a Screen Saver pane
  2. Usability - although you can access the Screen Savers settings, it’s now hidden behind a button within the Wallpaper settings, and the resulting window runs as a very small modal non-resizable dialog. Since macOS ships with dozens of screensavers by default, forcing the user to navigate these in a tiny window is just silly.
  3. Backwards compatibility is broken. For example, the command
open x-apple.systempreferences:com.apple.ScreenSaver-Settings.extension

No longer works in Tahoe.

FB18698083

Reported as FB18697726

Ta!

I have also submitted a case regarding the regressions in UI/UX for screensavers … FB18698083

Isn’t that effectively a dup of FB17895600?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I'm a developer of a screensaver which does not work on macOS Tahoe (beta 4) and the options panel does not open when clicking the button. Hope this will get fixed soon.

@DTS Engineer

Hi, we managed wtih @XMI to narrow down the issues a bit more, here are 3 feedback numbers to put on your radar if you can.

Also, the Screen Saver category is no longer in the Feedback app, so I had to file to what felt closer (System Settings > Screen Saver). Hopefully that's fine. If that's not the case and I need to refile, please let me know, as I don't want those to get ignored because of this.

FB19201567 - System Settings spawns duplicate legacyScreenSaver.appex instances with improper lifecycle management

This is an expanded version of the isPreview issue with as much details as we gathered since.

FB19204084 - Screen Saver accumulates instances of ScreenSaverView over time without stopping them

This one is a major bug that was introduced in Sonoma with the arrival (I believe) of WallpaperAgent. Contains as much information as I could add, this one is pretty major because 3rd party screen savers are no longer stopped and keep running all the time (unless we do a very naughty workaround), and get stacked over time, causing a lot of CPU/GPU/RAM load

FB19206021 - Screensaver will not display on secondary monitor in some circumstances

This is a new bug in macOS Tahoe, screensavers will not display on the secondary monitor if at least one of them is a third party. Happens also if the screensaver set on the secondary monitor is a first party one. Yet it's linked to legacyScreenSaver.appex too.

There's a reproduction sample linked in each, based on a simple template I maintain to create a screen saver in Swift (there's still no template for this in Xcode!) : https://github.com/AerialScreensaver/ScreenSaverMinimal

We have (pretty bad) workarounds for the first two and there are switches in the settings to enable them (they are disabled by default). We can't workaround the 3rd one (though the sample makes it very easy to reproduce, I give information about this in the radar).

Hopefully that helps, we spend a lot of time on this.

Thanks for looking at our niche world of screensavers !

Hope this will get fixed soon.

Please don’t hope for fixes, especially with relatively obscure subsystems like the screen saver. If you see a screen saver problem, it’s critical that you file a bug about it. Otherwise it’s quite likely that macOS 26 will ship without a fix )-:

If you do file any bugs, please post your bug number, just for the record.


here are 3 feedback numbers to put on your radar if you can.

Thank you. I took a quick look and some of them were off in the weeds. I’ve taken steps to get them back on the right path.

there's still no template for this in Xcode

Right. That tells you something about the state of the Screen Saver framework.

If you haven’t already done so, I’d appreciate you filing an ER for a modern appex-based screen saver API. And if you do file a bug, please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thank you. I took a quick look and some of them were off in the weeds. I’ve taken steps to get them back on the right path.

Many many thanks for this! I noticed the first bug was somehow assigned to me, I'm not sure what I did wrong there. In any case, thanks for your help!

If you haven’t already done so, I’d appreciate you filing an ER for a modern appex-based screen saver API. And if you do file a bug, please post your bug number, just for the record.

I did in 2019 as soon as it was introduced FB6363533 but that was probably not my best feedback.

I tried to do it properly this time with FB19235887, hopefully I didn't ramble too much...

I wanted to provide as clear a picture of the situation that I could, and the rationale for change. I'm not a native speaker however so hopefully it still makes sense.

Again thanks for taking the time to look at all this!

I did in 2019 as soon as it was introduced FB6363533

Nice! And that bug did find its way to the right place, where it got marked as a dup of our lead bug for this (r. 18791312).

I tried to do it properly this time with FB19235887

Ta!

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

FYI, we just tested beta 5 (25A5327h) and aren't seeing any improvements or changes.

@DTS Engineer FYI posted another FB with an issue reported by users when I compile the screen saver with the SDK from Xcode 26 beta4 and beta5 : FB19580645

It's a backward compability issue that's likely only tangentially related to screen saver, I narrowed it down to a crash with trying to call an unavailable hidden SDK function when opening a XIB with a scrollview.

Opening the XIB crash on Sequoia and all previous versions of macOS :

FAULT: NSInvalidUnarchiveOperationException: <private>; (user info absent)
Could not instantiate class named _TtCC6AppKit14NSScrollPocketP33_EC3F85FAB7755D56E669206D2B17725B12BackdropView because no class named _TtCC6AppKit14NSScrollPocketP33_EC3F85FAB7755D56E669206D2B17725B12BackdropView was found; the class needs to be defined in source code or linked in from a library (ensure the class is part of the correct target)

(log above is on Sequoia)

The bug appeared in with the SDK of Xcode 26 beta4 as far as I can tell and is still there today with the SDK of Xcode 26 beta5.

If you can make sure it goes to the right team, as I couldn't find a fitting category to file it in! Take care

FB19580645

Thanks for filing that. AppKit isn’t really my thing, but I think this will turn out to be a dup of a bug that we filed about this internally (r. 157494480). But, yeah, it’s not fixed in the currently seeded Xcode (26.0b5).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I don't have any issues with screensavers, however, I am getting the same XIB exception in my app when compiled with Xcode 26 and running in macOS 15.

The issue in my case is related to NSOutlineView, just having it in a storyboard is enough to trigger that.

Submitted FB19632073

FYI No change in beta7 to reported bugs.

macOS 26 Tahoe Screen Saver issues
 
 
Q