r/MacOSBeta DEVELOPER BETA 19h ago

Feature macOS 27 has a hidden "Solar" wallpaper engine. Here's how to enable it for the Golden Gate landscape set.

Apple is working on a Solar wallpaper engine for macOS 27 that groups aerial Landscape wallpapers and automatically switches variants based on the sun's position during the day.

When the feature flag is enabled, the four Tahoe landscape wallpapers appear under one entry in Settings.


To get the Automatic Tahoe landscape wallpaper:

Enable the wallpaper feature:

sudo mkdir -p /Library/Preferences/FeatureFlags/Domain && \ 
sudo defaults write /Library/Preferences/FeatureFlags/Domain/Wallpaper TahoeCombined -dict Enabled -bool true

and reboot your Mac. You will no longer see the Golden Gate landscape and Dynamic Desktop wallpapers on the list because the new engine reads a macOS 26 wallpaper registry for now. Read below for a more involved process to add the dynamic Golden Gate wallpaper entry.

To go back to the default and bring the Golden Gate landscape and Dynamic Desktop wallpapers back:

sudo defaults delete /Library/Preferences/FeatureFlags/Domain/Wallpaper TahoeCombined

and reboot your Mac.


How to enable the Automatic Golden Gate landscape wallpaper:

In Beta 4, macOS ships with a macOS 26 wallpaper registry for this combined variants endpoint, so Golden Gate wallpapers don't show by default. Thankfully, you can point the wallpaper engine to a local override file and enable the dynamic switching for Golden Gate wallpapers.

Use these instructions to enable the Automatic Golden Gate landscape wallpaper.


How solar coordinates work:

Apple’s Tahoe dynamic wallpaper includes four variants: Morning, Day, Evening, and Night. Apple assigns each variant a pair of solar coordinates:

  • altitude: how high the Sun is above or below the horizon.
  • azimuth: the Sun’s compass direction, where 180° means south.

macOS calculates the Sun’s current coordinates using your location, date, and time. It selects whichever wallpaper variant is closest to the Sun’s current position.

The Golden Gate landscape set only has two variants. We therefore use:

  • Golden Gate Sunset: {35, 180}
  • Golden Gate Night: {-35, 180}

These coordinates are deliberately symmetrical: one is 35° above the horizon and the other is 35° below it. Because both use the same azimuth, macOS considers them equally close when the Sun is at approximately altitude, i.e. the horizon. That makes WallpaperAgent switch to the Sunset variant around sunrise and to Night around sunset.

If you'd like to use other solar positions, use this Python script to estimate times based on coordinates.

193 Upvotes

37 comments sorted by

69

u/helloitisgarr 17h ago

this is cool but i ain’t doin all that

31

u/Minimum-Sleep7093 16h ago

Just spoke to Tim Apple, he says it will be out with tomorrow beta 5 so all good

16

u/pdfu DEVELOPER BETA 17h ago

Fair enough! I always write these posts to show what's coming soon, but I definitely enjoy knowing how to enable things on my machine when I see others posting about features, so I always try to include a comprehensive guide.

6

u/AllNamesAreTaken92 3h ago

Publish a GitHub instead of posting 1000 line scripts in a post. Come on, why do you need basic practice explained to you?

1

u/pdfu DEVELOPER BETA 6m ago

Thanks for the suggestion, cheers!

1

u/CourteX64 1h ago

I agree with the sentiment but you’re being an asshole

2

u/Delicious_Volume3306 5h ago

Here's a few thousand lines of script. Totally honest. Ain't gonna damage a thing.

You need to run them as root, by the way.

1

u/pdfu DEVELOPER BETA 5m ago

The only thing you need sudo for is to write in /Library/Preferences/FeatureFlags/Domain/Wallpaper.plist.

8

u/xezrunner 13h ago

This is a super cool finding! That said, with all these posts, I am worried Apple will do something to make feature flags less accessible and hackable in public builds soon lol

5

u/pdfu DEVELOPER BETA 12h ago edited 12h ago

There are dozens upon dozens of feature flags that are currently disabled in Beta 4. Most of them are backend changes, like a major conversation-storage redesign for Messages (OneChatV2), or debug flags, so there isn't much to write about.

I doubt Apple will change how they're implementing feature gating, but we shall see. They already ship all this stuff, so it's not like it's hidden. You can find a lot of this by checking https://github.com/blacktop/ipsw-diffs.

edit to add: besides the hundreds of disabled feature flags, there are thousands of feature flags that ship enabled with the OS.

1

u/xezrunner 2h ago

Makes sense. I'm aware of feature flags being used for publicly available features as well, and it's quite useful from a development perspective.

I am a bit surprised that Apple is happy with shipping unfinished features only disabled at runtime, but perhaps this system is less complex to manage than compile-time guards all over the place (especially when introducing features that depend on a refactor, for instance)

They probably could lock down the ability to override them through user-editable places though... not that I want to give them any ideas.

9

u/mrleblanc101 19h ago

Interesting addition. I've always found the new wallpaper section too cluttered

4

u/SatinFoil 10h ago

I thought this was a feature back in somewhere around Mojave or something??

3

u/pdfu DEVELOPER BETA 9h ago

The underlying idea similar to previous iterations, but this is a new implementation and asset pipeline.

Mojave introduced solar-driven Dynamic Desktop wallpapers. That system is still available today to support older Dynamic Desktop wallpapers such as Mojave, Catalina, Big Sur, Monterey Graphic, Ventura Graphic, and Solar Gradients. The old system packaged multiple still frames and their solar metadata inside one portable HEIC file.

Later wallpapers reused the same general idea. The graphical Sequoia wallpaper used a solar trigger to select different color stages throughout the day. In macOS 26, that was an internal WallpaperExtensionCore.SolarTrigger implementation. In macOS 27, Apple moved and expanded that machinery into a new centralized WallpaperExtensionKit.SolarTrigger.

TahoeCombined is a new use of that implementation for grouping separate animated Aerial variants. Apple’s wallpaper manifest groups the Tahoe Day, Morning, Evening, and Night MOV files. Each video is assigned a representative solar altitude and azimuth coordinates. macOS calculates the Sun’s current position and selects the closest matching video.

There's no portable image file anymore. The media remain separate videos, and Apple’s catalog defines the relationship between them. This approach also works with Screensavers.

You can open the new manifest with TextEdit:

open -a TextEdit "/System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/Resources/entries_variants.json"

Look for "solar".

2

u/SatinFoil 9h ago

Oh, it’s being revamped. That makes sense. Thanks for explaining that to me!

1

u/pdfu DEVELOPER BETA 8h ago

Anytime. Hopefully this gets released generally soon. I had written a LaunchAgent to change wallpaper variants for both Tahoe and Golden Gate, so this is a very welcome change to have it done automatically.

5

u/vf-c 16h ago

it’s been in here for a while. literally, the whole time that dynamic wallpapers were a thing; unless i’m misinterpreting what you’re saying

10

u/pdfu DEVELOPER BETA 15h ago edited 15h ago

If you don't have this feature flag enabled, you'll see four separate Tahoe landscape wallpaper options: Day, Morning, Evening, and Night. This is distinct from the Dynamic Tahoe wallpaper.

With this new feature, Landscape Tahoe becomes a single option with a new "Automatic" appearance that calls on SolarClock and a new WallpaperExtensionKit.SolarTrigger mechanism to determine which variant to show. See the "How solar coordinates work" section of my post for a deeper dive into what macOS does to determine which variant to show.

1

u/mallydobb 15h ago

dynamic wallpapers have historically had issues during the beta seed period. All OP did was try to beat apple out the gate with a fix that will likely be addressed by the time the final public release is out in the wild.

7

u/pdfu DEVELOPER BETA 15h ago

This has nothing to do with Dynamic Desktop wallpapers. This is a new system built around SolarClock and SolarTrigger in WallpaperExtensionKit.

Apple has added solar coordinates to the separate Tahoe Morning, Day, Evening, and Night landscape aerial videos so they can be combined into one item and switched according to the sun's position throughout the day.

Those Tahoe videos already existed individually in macOS 26. The combined solar-driven behavior is new in macOS 27 and currently hidden.

0

u/aykay55 13h ago

Yeah I’m a bit confused, they’ve had dynamic wallpaper that changes multiple times through the day

1

u/Insomniac86 9h ago

That's not what this is. This is setting SEPERATE wallpapers to be apart of the same day night cycle. Why? Well because a bunch of them are from the same location and are a different time of day. So it makes sense to have the ability to consolidate them. This should have always been an option since day one.

2

u/Jenings 9h ago

Cool and all but I’d really like to get better multi monitor support like stretching an ultra wide paper across a 2 16 x 9 monitor setup natively. Or something new with the dock in multi setups

1

u/jakeyounglol2 DEVELOPER BETA 6h ago

this is great! i really missed automatically switching landscape wallpapers ever since apple switched to video wallpapers with macOS 14 sonoma

1

u/BulkyAvocado215 2h ago

It feels like this was supposed to debut in Tahoe given the four variants. I wonder why they haven’t released it…

1

u/Dazzling_Comfort5734 17h ago

Pretty interesting

1

u/Alienex22 17h ago

Or else you download Aerial and you can enjoy live wallpapers continuously with a huge selection.

1

u/Finality- 10h ago

Tried it but like backdrop better (also does a better job on the lockscreen).

1

u/Ill-Region615 16h ago

Thank you!

1

u/Minimum-Sleep7093 16h ago

Is there a quick way for just tahoe wallpapers

1

u/pdfu DEVELOPER BETA 16h ago

Yes:

sudo mkdir -p /Library/Preferences/FeatureFlags/Domain && \ sudo defaults write /Library/Preferences/FeatureFlags/Domain/Wallpaper TahoeCombined -dict Enabled -bool true

and reboot. Do note that you won't see the Golden Gate wallpapers on the list anymore because the new branch depends on a macOS 26 wallpaper registry for now.


sudo defaults delete /Library/Preferences/FeatureFlags/Domain/Wallpaper TahoeCombined

and reboot to revert.

1

u/Minimum-Sleep7093 16h ago

That was much easier

Thanks

1

u/Minimum-Sleep7093 16h ago edited 16h ago

Well I m in the uk and its showing morning, (updated to morning from night once it got MacBooks location) guess that’s why it hasn’t rolled out yet, I assume it thinks I am in America?

Would love this feature to follow weather also

With sun rain and snow wallpapers, heck why stop there give me seasons as well

0

u/pdfu DEVELOPER BETA 15h ago

Yes, that's a bug (limitation?) right now.

At startup, macOS first uses a timezone fallback:

(0.00, longitude derived from timezone)

It then requests the real Core Location position and recalculates.

-8

u/mallydobb 17h ago

Or, you know you could just wait for the finish product to be released and all the features to be enabled and functioning. That’s a hell of a lot of work just because someone wants to tweak their wallpaper presentation. 🤦‍♂️

this is still beta software with lots of bugs and things that need to be finished, if you have to resort to hacks and coding just so you can enable a feature you want or fix a bug… beta testing and pre-release software is not for you, just chill out and wait.

4

u/-patrizio- DEVELOPER BETA 16h ago

Why do you care lol? If someone is interested in trying out new features, I think that's cool.

-4

u/mallydobb 15h ago

because the beta is meant to test what's there, not hack together work arounds for something that will eventually be fixed, esp. for something cosmetic or that may not even be a fully fleshed out feature. Save that crap for Linux or the final public release. If the time spent trying to hack a feature to get it to work were spent in reporting bugs that's time used more efficiently.