A live wallpaper animates behind your open windows while you work. A Mac screen saver runs only after your Mac has been idle for a set number of minutes, and it covers the entire display until you move the mouse. They are separate subsystems with separate purposes, implemented by different parts of macOS, and one is not a replacement for the other. Here is how each one actually works, where macOS Sonoma blurred the line, and how to pick the one you want.
01 The One-Sentence Difference
A wallpaper is always on the desktop. A screen saver turns on when you walk away.
Everything else follows from that. The wallpaper is the background layer of your working session; it sits behind every app and needs to be performant enough to run all day without draining anything. The screen saver is an idle-time display; it takes over the entire screen, runs alone, and has the full machine to itself until you come back.
| Property | Live Wallpaper | Screen Saver |
|---|---|---|
| When it runs | Always, behind your apps | Only after idle timeout |
| What it covers | The desktop, behind every window | The entire display, above everything |
| macOS subsystem | Desktop window layer | ScreenSaverEngine |
| Bundle format | Regular .app |
.saver plugin |
| Performance budget | Tight — must share the Mac with your work | Loose — it has the Mac to itself |
| Interrupted by | Nothing — it keeps running | Any keystroke or mouse move |
02 How macOS Builds a Screen Saver
macOS screen savers are plugins. They do not run as standalone apps. The operating system ships a process called ScreenSaverEngine, which waits for the system to go idle, then finds the selected screen saver bundle and loads it into its own window. The bundle itself — the thing you install — is a .saver file, which is a Cocoa plugin containing a subclass of ScreenSaverView that knows how to draw one frame at a time.
The engine is responsible for everything around the animation: detecting idle timeout, locking the screen, handling multiple displays, waking on mouse movement, and relinquishing the screen when you come back. The plugin only has to implement animateOneFrame(). This separation is why third-party Mac screen savers have existed since Mac OS X 10.0 and why a minimal screen saver is only a few dozen lines of code. Wade Tregaskis's walkthrough covers the current project template in detail.
The modern complication: legacyScreenSaver
Apple deprecated the original plugin API and replaced it with the app-extension format. Third-party .saver bundles are no longer loaded directly into ScreenSaverEngine. Instead, macOS launches an Apple-provided app extension called legacyScreenSaver.appex, which is sandboxed, and loads each .saver bundle inside that extension. Your old screen saver plugin is now a plugin inside a plugin inside the engine.
The practical consequence for users: every modern screen saver you install runs inside Apple's sandbox, which limits file access, networking, and some system APIs. Developers have to work around these restrictions. That is part of why native Mac screen savers have thinned out in recent years and why many creative-coding-style screen savers you find on GitHub do not run reliably on the newest macOS releases.
03 How macOS Builds a Wallpaper
A wallpaper is fundamentally different. There is no "wallpaper engine." macOS just draws a chosen image at the desktop window level — a specific window layer in the Cocoa window-server hierarchy that sits above the solid-color background and below every user-launchable app. When you change your wallpaper in System Settings, macOS simply swaps which image is painted into that window.
Apple's built-in wallpaper picker supports three things: a still image (JPEG or HEIC), a dynamic wallpaper (a set of images that rotate based on time of day), and, since macOS 14 Sonoma, an aerial — a short looping video clip of a landscape or cityscape.
Critically, none of Apple's built-in options keep animating after you log in. Even the Sonoma aerials settle into a paused still image once you reach the desktop. The motion you see is a one-time transition from login screen to working state, not a permanent live background.
04 What macOS Sonoma's Aerials Changed
macOS 14 Sonoma introduced the biggest wallpaper change in years: aerial video wallpapers that sync with the screen saver. Apple's documentation calls this feature a unified "Wallpaper & Screen Saver" setting. The idea is elegant — when your Mac wakes from sleep, the screen saver is playing an aerial video; when you log in, the video smoothly settles onto the desktop as a still frame from the same clip.
This is the feature that makes people ask "doesn't macOS already have live wallpapers?" It half-does. The aerial plays briefly during the unlock transition. Then it stops. Once you are using your Mac, the background is a static picture.
A continuously animating background on an OLED-heavy device lineup would burn battery and thermal headroom for every Mac user by default. Apple's aerials are tuned as a polished transition, not as an always-on animation. The tradeoff is intentional.
If you want actual continuous motion on your desktop while you work, macOS itself does not provide it. That niche is filled entirely by third-party apps.
05 What an Actual Live Wallpaper App Does
A third-party live wallpaper on macOS is structurally simple and still unusual. Here is the technique most apps use:
- On launch, create one borderless, full-screen
NSWindowper connected display. - Set each window's
leveltokCGDesktopWindowLevel, which places it above the wallpaper-painter and below every app's windows. - Turn off shadows, opacity blending, and collection behavior flags that would let the user's
Cmd-Tabor Mission Control see the window. - Install an
MTKVieworCAMetalLayerinside each window and render continuously.
The result is a window that looks and behaves like a wallpaper — you cannot click it, drag it, or bring it to the front — but it is actually a full GPU-backed rendering surface. Anything you can draw with Metal, Core Animation, or OpenGL can be displayed as your desktop background. The app running the window is a regular macOS app with a menu-bar icon so the user can pause, configure, or quit it.
This is the architecture Matrix Desktop uses. The full technical deep-dive covers the performance side of the trade: a live wallpaper has to be cheap enough to run continuously for the entire working day without noticeable CPU or thermal cost, which is why shader-based rendering is the only realistic implementation for anything more complex than a paused video.
06 Matrix Desktop: Both at Once, Intentionally
Matrix Desktop is a macOS app that ships both a live wallpaper and a screen saver, built from the same rendering code. Most third-party apps in this space pick one or the other. We ship both because they answer different questions.
The live wallpaper
The main app renders film-accurate Matrix digital rain at the desktop window level. It runs continuously behind whatever you are doing, using a Metal compute pipeline with five GPU passes per frame. On Apple Silicon, total cost stays under 1% CPU and 2–5% GPU, with no noticeable impact on thermal state, battery life, or the responsiveness of other apps. Twelve presets, real-time customization from the menu bar, zero telemetry.
The screen saver
The app bundle also contains a separate .saver extension that uses the same glyph atlas and the same rendering pipeline, running inside legacyScreenSaver.appex. When System Settings triggers the screen saver, you get the same digital rain at full quality — but now it is allowed to use the entire screen without competing with your other apps, so the render can crank up to maximum detail.
Some users want the rain behind their editor all day. Other users want their desktop wallpaper to be a still image and prefer the screen saver to activate only during lunch breaks. Some want both. Shipping one bundle with both modes means the user picks whichever combination fits their workflow, without installing two separate products.
The two modes can run at the same time without conflict. If your screen saver triggers while Matrix Desktop is already running as a wallpaper, nothing breaks — the screen saver takes over the display on top of the wallpaper, and when you come back, the wallpaper is still rendering underneath.
07 Which One Do You Actually Want?
Four questions usually settle it.
Do you want motion while you work?
If yes, you want a live wallpaper. A screen saver will not run while you are typing.
Do you want something dramatic during idle?
If yes, you want a screen saver. A live wallpaper is tuned to be subtle — it has to stay out of the way of your work. A screen saver can be louder, brighter, and busier because it is the only thing on screen.
Are you on battery a lot?
A live wallpaper adds a small continuous power draw. A well-written one — GPU-bound, throttling on low battery — is negligible on M-series Macs. A poorly written one using WebGL, Electron, or a constantly repainting canvas can eat several percent of CPU for no reason. A screen saver is free during active use because it is not running.
Are you running a headless Mac Mini?
Live wallpaper wins every time. If the Mac is sitting in a closet driving a pair of displays you occasionally check via VNC, a screen saver adds nothing — there is rarely anyone sitting idle at that Mac. A wallpaper that animates 24/7 is the whole point. This is why headless setups are one of the most common places you see live wallpaper apps installed.
08 The Short Version
A screen saver is a plugin loaded by ScreenSaverEngine that runs only while your Mac is idle. A live wallpaper is a continuously-rendering app that draws to a window at the desktop level while you work. macOS Sonoma ships polished transition animations between the two, but does not itself provide a persistent live wallpaper. That gap is where third-party apps live. Matrix Desktop fills it with both a wallpaper and a screen saver in one bundle so you can run either, both, or neither, from the same download.