robertventurini / FlyingToasters

Recreation of AfterDarks 2.0 Flying Toasters screensaver for macOS
MIT License
92 stars 5 forks source link

Stopped working after MacOS upgrade to Sonoma #4

Open jacorizla opened 7 months ago

jacorizla commented 7 months ago

I upgraded to MacOS 14.3.1 Sonoma and it no longer works. Thank you.

robertventurini commented 7 months ago

Hey Jacorizla,

Appreciate you reporting your problem, however ‘Stopped Working’ can mean many things. I will attempt to resolve your issue given the information available from debugging and online investigation:

If you haven’t already, please make sure that you have followed the steps in this Signing Issue.

Beyond that, I have encountered a couple different screensaver issues on both my personal and work machines running Sonoma. I think (but don’t know given your description) that your issue is most likely a blank black screen? If so I also encountered this once and after investigating my console logs found that Apples legacyScreenSaver process started and terminated the screensaver within milliseconds; it was so fast that debug log statements in my screensaver usually weren’t executed.

Reinstalling the screensaver and rebooting the computer in this order resolved my issue here:

  1. Uninstall the screensaver
  2. Rebooting Sonoma
  3. Reinstall the screensaver for all users.

I should mention this seems to mirror user reports of issues with Sonoma and screen savers in general. I’ll continue to try and isolate anything that may be specific to my code, but I don’t have a lot to lead on here given that when this happens my code isn’t being executed. This feels like a Sonoma bug too as the solution that resolved it has also resolved other user reports for different screensavers.

Let me know if that helps and do provide any other details that you feel could be relevant to identifying the problem. Thanks

sphericharlot commented 6 months ago

It's working fine here on Sonoma 14.3.1 on an M2 Pro.

After the update to Sonoma, the system had reset Screen Saver preferences to the Sonoma default flyover video. Changing it back to Flying Toasters in the System Settings worked fine, though.

The change needs to be reverted for every user account on the machine.

sphericharlot commented 6 months ago

Just returned to my M2 Pro MacBook on Sonoma 14.3.1 to find the active user's legacyScreenSaver (Wallpaper) process consistently eating up between 85% and 92% of a core's CPU (as per Activity Monitor).

It's not going away. Wouldn't let me quit. Force quit worked, though.

robertventurini commented 6 months ago

This memory issue also seems to be a Sonoma bug with the screensaver service. I've checked with a colleague who has encountered this exact problem as well with his screensaver (link below).

Hopefully Apple will identify and resolve this issue in an upcoming update, I know Monroe has been waiting for a fix since October.

https://github.com/monroewilliams/MatrixDownload/issues/15

robertventurini commented 6 months ago

Adding context to Monroe's issue, there doesn't seem to be a modern API or framework available from Apple (yet?) that would allow 3rd party screensavers to be built and packaged like the ones that ship with Sonoma today. Until there is, it doesn't look like there is much we can do except wait for a fix from Apple.

sphericharlot commented 6 months ago

I can reproduce exactly what Monroe is describing at https://github.com/monroewilliams/MatrixDownload/issues/15 with your Flying Toasters: each invocation of the screen saver adds another 90 MB or so to the memory used by legacyScreenSaver (Wallpaper), and each time, the CPU usage increases by about 5%.

I can fix the issue by force-quitting the process, but that just starts it over.

I've submitted the bug to Apple, as y'all have too, probably.

Thanks so much for getting back on this!

sphericharlot commented 6 months ago

Also, I just want to note that, being a Mac user since 1989, I finally found and installed your screen saver a few years ago, and I still get giddy Every. Single. Time. it comes on.

Thank you, seriously.

msmuenchen commented 5 months ago

Sadly, this doesn't help. Here's what you need to do in Sonoma 14.4.1:

  1. Download and extract the ZIP file
  2. Clear the quarantine and other xattr's in terminal: sudo xattr -r -s -c /Users/xxx/Downloads/Flying\ Toasters.saver
  3. Install the screensaver: open /Users/xxx/Downloads/Flying\ Toasters.saver
  4. Then, follow the dance from https://github.com/robertventurini/FlyingToasters/issues/3
  5. If it still doesn't work, run ps aux|grep -i saver to find all processes associated with the screensaver, kill them all, and then open the Control Panel for Screensavers again, now it should work.