# Lagless: full text for AI tools Lagless (https://lagless.app) is a free, open-source macOS menu bar app that reduces AirPlay audio delay from a Mac. Last updated 2026-10-06. ## The problem When a Mac plays sound through a HomePod, HomePod mini or another AirPlay speaker, macOS schedules system audio 2000 ms ahead (88,200 frames at 44.1 kHz). The speaker itself reports needing far less: around 70–85 ms (`arrivalToRenderLatencyMs` in the AirPlay log). The result people notice: - Video in browsers and video apps is out of sync with the picture. - Game and interface sounds arrive about two seconds after the action. - Short sounds can be clipped or start late, because AirPlay pauses the stream during silence and renegotiates it (about 370 ms) when sound resumes. Common workarounds are screen mirroring, playing from an app that supports synced AirPlay 2, or a wired speaker. ## What Lagless does macOS has a built-in preference, `audioLatencyMs` in the `com.apple.airplay` domain, read by the root process `AirPlayXPCHelper`. Lagless sets it for you: 1. A small helper, registered through macOS's SMAppService and approved once in System Settings, writes that one value in the system administrator's preferences (`/var/root/Library/Preferences`). It only accepts 350–2000 ms. 2. The helper restarts `AirPlayXPCHelper`, because macOS only reads the value when that process starts. The current AirPlay speaker disconnects, and you select it again; the Lagless panel includes the system AirPlay picker. 3. Keep Speaker Awake plays never-zero noise at −78 dBFS, only while the output is AirPlay, so the stream doesn't pause and renegotiate between sounds. ## Why 350 ms is the floor The AirPlay log shows `audio latency min 250 ms, audio latency adjust -250 ms`: macOS subtracts a fixed 250 ms from the configured value. At 250 ms the remaining lead time is zero, every packet arrives after its play time, and the speaker is silent. 350 ms leaves 100 ms of buffer for Wi-Fi jitter, above the ~70 ms a HomePod needs. Lagless never offers a lower value. | Mode | Setting | Buffer left | |---|---|---| | Responsive | 350 ms | 100 ms | | Balanced | 500 ms | 250 ms | | Safe | 750 ms | 500 ms | ## Lagless compared with doing it yourself | | Doing it yourself | Lagless | |---|---|---| | Changing the delay | `sudo defaults write`, then force-quit a system process | Pick a mode in the menu bar | | Seeing what's applied | `sudo defaults read` in root's settings | Shown in the panel, with the speaker's live delay | | Values that go silent | 250 ms looks fine and plays nothing | Never offers below 350 ms | | Password prompts | Every change | Once, when approving the helper | | Gaps between sounds | Stream sleeps, next sound starts late | Kept awake with inaudible noise, AirPlay only | | Undoing it | Remember the delete command | One switch restores Apple's default exactly | | After a change | Speaker drops, no explanation | Asks you to pick the speaker again, picker built in | | Price | Free | Free and open source | Preroll (https://github.com/ksha23/preroll), which discovered the setting, is also a Mac app that applies it with one standard admin prompt. Lagless is a separate take with a one-time approved helper, presets, per-speaker memory and a menu bar panel. ## FAQ **Which Macs does it run on?** macOS 15 Sequoia or later, on Apple silicon. **Which speakers?** Any AirPlay speaker, because Lagless changes the Mac's side of AirPlay. Tested on a HomePod mini; how low you can go depends on your Wi-Fi. **Do I still need it on macOS 27?** Maybe not for a HomePod. Reports say HomePods on macOS 27 use a new buffered engine at about 200 ms. Lagless detects a speaker already that fast and says it isn't needed. Other AirPlay speakers reportedly still report 2000 ms. **Is it free?** Yes, free and open source under the MIT licence, with no account. **Why not the Mac App Store?** It needs a privileged helper to change a system AirPlay setting, which Mac App Store apps can't do. Releases are signed with an Apple Developer ID and notarized. **What does it send off my Mac?** Nothing. No account, no analytics, no network requests. **How do I remove it?** Choose Uninstall Lagless… in the panel. It restores Apple's default, removes the helper, login item and its preferences, and quits. ## Sources - Preroll README and research notes: https://github.com/ksha23/preroll and https://github.com/ksha23/preroll/blob/main/NOTES.md - AirPlayXPCHelper log lines on macOS 15.7.4 (Lagless author's measurements): "AudioEngineRealTime using audio latency 350 ms, audio latency min 250 ms, audio latency adjust -250 ms"; "maxAudioLatency = 88200" at the default. --- # How to reduce AirPlay latency on a Mac > Every way to cut the delay when your Mac plays through AirPlay, compared: app-level AirPlay, screen mirroring, Terminal, Preroll and Lagless. Updated 2026-10-06. Canonical page: https://lagless.app/guides/reduce-airplay-latency-mac/ > To reduce AirPlay latency on a Mac, lower the system AirPlay buffer from 2000 ms to about 350 ms with the `audioLatencyMs` setting (in Terminal, or with Lagless or Preroll), and keep the stream awake so it doesn't renegotiate. For one app only, AirPlay from inside that app or mirror your screen instead. ## The options, compared | Method | Delay | Works for | Effort | |---|---|---|---| | Do nothing | 2000 ms | – | – | | AirPlay from inside the app | In sync in that app | One app | Low | | Screen mirroring | Reported in sync | What you mirror | Needs a target | | Terminal (`audioLatencyMs`) | 350 ms or more | Every app | `sudo` per change | | [Preroll](https://github.com/ksha23/preroll) | 350 ms or more | Every app | Admin prompt per change | | [Lagless](/) | 350 ms or more | Every app | One-time approval | ## Which to choose - **Only watching in one app?** Use that app's own AirPlay button. Users in the [Apple Community](https://discussions.apple.com/thread/255127934) report it stays in sync. - **Want every app and system sounds closer to in sync?** Lower the system buffer. See [audioLatencyMs explained](/guides/audiolatencyms-explained/) to do it yourself. - **Want it in the menu bar, with an undo?** That's [Lagless](/). [Compare Lagless with Preroll](/vs/lagless-vs-preroll/). ## Settings that matter 1. **Delay:** 350 ms is the floor. [Lower is silent.](/guides/airplay-silent-at-250-ms/) 2. **Keep the stream awake:** stops a ~370 ms renegotiation after every silence. [Why.](/guides/airplay-sound-cut-off-at-start/) 3. **Wi-Fi:** decides whether 350 ms is stable or you need 500 ms. ## Questions ### What's the lowest AirPlay latency possible from a Mac? 350 ms is the lowest stable value found so far for system audio, because macOS subtracts a fixed 250 ms from the setting. ### Does a wired connection to the router help? It can make lower values more stable on the Mac's side, but the speaker is still on Wi-Fi. ## Sources - [Preroll README and research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) - [Apple Community: 3 second audio lag between HomePod mini and MacBook Pro](https://discussions.apple.com/thread/255127934) - [MacRumors: Audio lag with AirPlay?](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/) --- # Why is AirPlay delayed on a Mac? > macOS sends system audio to AirPlay speakers 2000 ms ahead of time. Here is where that number comes from, why the speaker doesn't need it, and how to lower it. Updated 2026-10-06. Canonical page: https://lagless.app/guides/why-is-airplay-delayed-on-mac/ > AirPlay from a Mac is delayed because macOS schedules system audio 2000 ms ahead of when it plays, a buffer size inherited from AirTunes in 2004. The speaker itself only needs about 70–85 ms. macOS has a built-in setting, `audioLatencyMs`, that lowers the buffer; around 350 ms is the lowest stable value. ## Where the two seconds come from When you pick an AirPlay speaker as your Mac's sound output, macOS hands system audio to a background process called `AirPlayXPCHelper`. It builds an audio engine that runs a fixed distance ahead of playback: 88,200 audio frames, which at 44.1 kHz is exactly 2.000 seconds. The [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) trace that constant back to AirTunes, Apple's 2004 wireless audio system, which needed generous buffering on the Wi-Fi of the time. The same log shows what the speaker actually asks for. When the stream starts, macOS records an `arrivalToRenderLatencyMs` value from the receiver: 84 ms in Preroll's tests and 69 ms on a HomePod mini in ours. Everything above that is the Mac's own scheduling policy, not something the speaker requires. ## What the delay breaks - **Video.** Picture plays immediately on your screen, sound arrives two seconds later. Some apps compensate; system-wide output usually doesn't. - **Games and interface sounds.** Clicks, keystrokes and game effects arrive long after the action. - **Short alerts.** AirPlay also pauses the stream during silence, so the start of the next sound can be late or clipped while it reconnects. People have been reporting this for years: on the [MacRumors forums](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/), users describe 1–2 seconds of lag on YouTube, and an [Apple Community thread](https://discussions.apple.com/thread/255127934) about a roughly three-second lag on a HomePod mini has hundreds of "me too" replies. ## How to lower it macOS reads an undocumented preference, `audioLatencyMs` in the `com.apple.airplay` domain, that overrides the 2000 ms default. Because `AirPlayXPCHelper` runs as root, the value has to be written in root's preferences, and the helper has to restart before it takes effect. You can do that yourself in Terminal ([see the steps](/guides/audiolatencyms-explained/)), or let [Lagless](/) do it from the menu bar. Don't go below 350 ms: macOS subtracts a fixed 250 ms from whatever you set, so [250 ms leaves no buffer at all and the speaker goes silent](/guides/airplay-silent-at-250-ms/). ## Questions ### Is the AirPlay delay a bug? No. It's a deliberate buffer that macOS applies to system audio sent over AirPlay. It is far larger than modern speakers need, but it is working as designed. ### Does the delay depend on my Wi-Fi? The 2000 ms figure is fixed by macOS, not measured from your network. Your Wi-Fi decides how low you can safely go once you lower it. ### Why does video in some apps stay in sync? Some apps play video through AirPlay themselves and delay the picture to match. Forum users report that AirPlaying from inside the Music app or a video app stays in sync, while system-wide output from Control Center does not. ## Sources - [Preroll README and research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) - [MacRumors: Audio lag with AirPlay?](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/) - [Apple Community: 3 second audio lag between HomePod mini and MacBook Pro](https://discussions.apple.com/thread/255127934) --- # HomePod delay on Mac, and how to fix it > Why a HomePod or HomePod mini plays your Mac's sound about two seconds late, the workarounds people use, and the setting that actually removes most of the delay. Updated 2026-10-06. Canonical page: https://lagless.app/guides/homepod-delay-mac/ > A HomePod lags behind a Mac because macOS sends system audio over AirPlay with a 2000 ms buffer. You can AirPlay from inside an app that syncs video, mirror your screen, or lower the buffer itself to about 350 ms with the `audioLatencyMs` setting. Lagless does the last one from the menu bar. ## The symptom You set a HomePod or HomePod mini as your Mac's output in Control Center. Music sounds fine, but YouTube is out of sync, a game's sound effects land late and typing sounds trail your fingers. In the long-running [Apple Community thread](https://discussions.apple.com/thread/255127934) on this, the original poster measured about three seconds behind on a brand-new HomePod mini. ## Why it happens macOS schedules system audio for AirPlay speakers 2000 ms ahead of playback, while a HomePod reports needing well under 100 ms. The full explanation is in [Why is AirPlay delayed on a Mac?](/guides/why-is-airplay-delayed-on-mac/) ## Fixes, from least to most effective | Fix | What it does | Limits | |---|---|---| | Restart the HomePod, Mac and router | Clears a stuck stream | Doesn't change the 2000 ms buffer | | AirPlay from inside the app (Music, a video app) | The app delays its own video to match | Only that app; system sounds stay late | | Screen mirroring to an Apple TV or display | Sends audio with the video | Needs a mirroring target; mirrors your screen | | Lower `audioLatencyMs` | Cuts the buffer for all system audio | Needs admin rights; speaker reconnects after each change | The first three are reported workarounds from the [Apple Community](https://discussions.apple.com/thread/255127934) and [MacRumors](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/) threads. Only the last changes the delay itself. ## Lowering the delay with Lagless 1. [Download Lagless](/download/Lagless.dmg) and move it to Applications. 2. Approve its helper once in System Settings › General › Login Items & Extensions. 3. Click the speaker icon in the menu bar and choose **Responsive** (350 ms). 4. AirPlay restarts, so pick your HomePod again. The panel shows the new delay, and the one before. If audio stutters, choose **Balanced** (500 ms) or **Safe** (750 ms). Turning Lagless off restores Apple's default exactly. ## Questions ### Is it the same on HomePod and HomePod mini? Yes. The delay is set by the Mac, so both models get the same 2000 ms buffer. Lagless was tested on a HomePod mini. ### Will this work with a stereo pair? The setting applies to whatever AirPlay output macOS is using. Stereo-paired HomePod minis have their own history of dropouts on the Mac; see [stereo-paired HomePods on a Mac](/guides/stereo-pair-homepod-mac/). ### Does macOS 27 fix it? Reportedly, HomePods on macOS 27 use a new engine at about 200 ms. See [HomePod latency on macOS 27](/guides/homepod-macos-27-latency/). ## Sources - [Apple Community: 3 second audio lag between HomePod mini and MacBook Pro](https://discussions.apple.com/thread/255127934) - [MacRumors: Audio lag with AirPlay?](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/) - [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) --- # Using a HomePod as a Mac speaker > What to expect when you use a HomePod or HomePod mini as your Mac's speaker, from sound quality to the two-second delay, and how to make it usable for video and games. Updated 2026-10-06. Canonical page: https://lagless.app/guides/homepod-as-mac-speaker/ > A HomePod works as a Mac speaker over AirPlay, and it sounds good for music. The catch is a delay of about two seconds on system audio, which ruins video, games and interface sounds. Lowering macOS's AirPlay buffer to around 350 ms makes it usable for all of them. ## Setting it up Open Control Center in the menu bar, click the AirPlay icon next to Sound, and choose your HomePod. Your Mac now sends all system audio to it. You can also choose it in System Settings › Sound › Output. ## What works well - **Music and podcasts.** The delay doesn't matter when there's nothing to sync with. - **Apple apps that AirPlay directly.** Playing from inside the Music app keeps audio in sync with what's on screen, according to users in the [Apple Community](https://discussions.apple.com/thread/255127934). ## What doesn't - **Video in a browser or video app** set to system output: the sound trails the picture. - **Games:** effects land after the action. - **Typing, clicks and alerts:** they trail what you do, and short alerts can be clipped while AirPlay wakes the stream. A [2018 MacRumors thread](https://forums.macrumors.com/threads/when-will-mac-fully-support-stereo-homepods.2162881/) already called the lag a deal-breaker for Mac video and Final Cut, while noting that iTunes played in sync. ## Making it usable The delay comes from macOS, not the HomePod. Lowering macOS's AirPlay buffer from 2000 ms to 350 ms ([how](/guides/audiolatencyms-explained/)) brings video close enough that most people stop noticing, and keeping the stream awake stops the first sound after a silence from arriving late. [Lagless](/) does both. ## Questions ### Is a HomePod mini good enough as a desk speaker? For music, many people find it is. For video and games you'll want the delay lowered first. ### Can I use two HomePods as stereo speakers for my Mac? macOS can send to a stereo pair, but users have reported dropouts with paired minis. See [stereo-paired HomePods on a Mac](/guides/stereo-pair-homepod-mac/). ## Sources - [Apple Community: 3 second audio lag between HomePod mini and MacBook Pro](https://discussions.apple.com/thread/255127934) - [MacRumors: When will Mac fully support stereo HomePods?](https://forums.macrumors.com/threads/when-will-mac-fully-support-stereo-homepods.2162881/) --- # AirPlay audio out of sync with video on a Mac > Why video and sound drift apart when your Mac plays through an AirPlay speaker, which apps compensate, and how to bring system audio back in sync. Updated 2026-10-06. Canonical page: https://lagless.app/guides/airplay-audio-out-of-sync-with-video/ > Video goes out of sync over AirPlay because macOS delays system audio by 2000 ms and most apps don't delay the picture to match. Fixes: AirPlay from inside an app that compensates, mirror the screen, or lower macOS's AirPlay buffer to about 350 ms so every app is close to in sync. ## Why some apps are fine and others aren't There are two ways audio reaches an AirPlay speaker from a Mac: 1. **The app sends it.** The Music app, and video apps with their own AirPlay button, know about the delay and hold back the picture to match. 2. **System output.** When you choose the speaker in Control Center, every app's sound goes through macOS's system-wide AirPlay path. Apps don't know about the delay, so the picture runs ahead. Users in the [Apple Community](https://discussions.apple.com/thread/255127934) report the first route fixing YouTube and even cloud gaming; the second is where the two seconds bite. ## Your options | Option | In sync? | Covers | |---|---|---| | AirPlay from the app's own button | Yes, in that app | One app | | Screen mirroring | Reported to be | Whatever you mirror | | Lower `audioLatencyMs` to 350 ms | Close (about a third of a second) | Every app | A [MacRumors user](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/) reports that screen mirroring sends audio alongside the video without the delay. Mirroring needs a target such as an Apple TV. ## Lowering the delay for every app macOS's AirPlay buffer is controlled by the `audioLatencyMs` setting. At 350 ms the remaining offset is small enough that most video looks right. [Lagless](/) sets it from the menu bar, and shows the delay before and after. If you'd rather do it by hand, see [audioLatencyMs explained](/guides/audiolatencyms-explained/). ## Questions ### Why is the delay sometimes worse after pausing? AirPlay suspends the stream during silence and renegotiates it when sound resumes, which adds roughly 370 ms. Keeping the stream awake avoids that; see [why the first second of sound gets cut off](/guides/airplay-sound-cut-off-at-start/). ## Sources - [Apple Community: 3 second audio lag between HomePod mini and MacBook Pro](https://discussions.apple.com/thread/255127934) - [MacRumors: Audio lag with AirPlay?](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/) - [Preroll README](https://github.com/ksha23/preroll) --- # AirPlay latency for gaming on a Mac > Is AirPlay usable for gaming from a Mac? How much delay to expect by default, how low it can go, and the settings that keep game audio as close to the action as possible. Updated 2026-10-06. Canonical page: https://lagless.app/guides/airplay-latency-gaming/ > By default, AirPlay from a Mac adds about 2000 ms of audio delay, too much for games. Lowering macOS's AirPlay buffer to 350 ms, and keeping the stream awake so it doesn't pause between sounds, gets game audio to about a third of a second behind. For competitive play, use the Mac's own speakers: on a MacBook Pro they report about 18 ms. ## How much delay to expect | Setting | Audio delay | For games | |---|---|---| | macOS default | 2000 ms | Unplayable for anything timing-based | | Lagless Safe | 750 ms | Casual games, menus | | Lagless Balanced | 500 ms | Turn-based and story games | | Lagless Responsive | 350 ms | Most casual and single-player games | Numbers are the delay the AirPlay output reports to macOS. 350 ms is the floor: macOS subtracts a fixed 250 ms from the setting, and the speaker needs about 70 ms of the remainder ([why](/guides/airplay-silent-at-250-ms/)). ## Two things that make games feel worse 1. **The buffer.** The 2000 ms default is set by macOS, not your network. 2. **Stream pauses.** AirPlay suspends the stream during silence. When the next sound plays, it has to reconnect, which costs about 370 ms on top. Games are full of short silences, so this happens constantly. Lagless's Keep Speaker Awake plays inaudible noise to prevent it. ## Cloud gaming An [Apple Community user](https://discussions.apple.com/thread/255127934) reports that GeForce Now was in sync after connecting the HomePod from inside the Music app, which suggests that route avoids the system buffer for them. Results may vary; lowering the system buffer works for every app. ## Questions ### Is 350 ms low enough for rhythm or competitive games? No. A third of a second is noticeable in anything timing-critical. The Mac's built-in speakers reported 18 ms in our measurement on a MacBook Pro running macOS 15.7.4. ### Does Wi-Fi quality matter? Yes, for how low you can go. If audio crackles or drops at 350 ms, step up to Balanced. ## Sources - [Preroll README and research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) - [Apple Community: 3 second audio lag between HomePod mini and MacBook Pro](https://discussions.apple.com/thread/255127934) --- # Why AirPlay goes silent at 250 ms > Set macOS's AirPlay latency to 250 ms and your speaker plays nothing. The AirPlay log explains why, and why 350 ms is the lowest value that works. Updated 2026-10-06. Canonical page: https://lagless.app/guides/airplay-silent-at-250-ms/ > AirPlay goes silent at 250 ms because macOS subtracts a fixed 250 ms from the latency you set. At 250 ms the real lead time is zero, every packet reaches the speaker after its play time, and the speaker drops them all. 350 ms leaves 100 ms of lead, which covers the 70–85 ms a HomePod reports needing. ## What the log shows When `AirPlayXPCHelper` builds its audio engine, it logs the values it's using. At a setting of 250 ms on macOS 15.7.4: ``` AudioEngineRealTime using audio latency 250 ms, audio latency min 250 ms, audio latency adjust -250 ms maxAudioLatency = 11025, maxAudioLatencyAdjust = -11025 ``` At 350 ms the same lines read `maxAudioLatency = 15435, maxAudioLatencyAdjust = -11025`. The adjust is fixed at 11,025 frames (250 ms at 44.1 kHz) whatever you set, so: | Setting | Minus fixed adjust | Lead time left | |---|---|---| | 2000 ms (default) | − 250 ms | 1750 ms | | 750 ms | − 250 ms | 500 ms | | 500 ms | − 250 ms | 250 ms | | 350 ms | − 250 ms | 100 ms | | 250 ms | − 250 ms | 0 ms: silent | The speaker reports how much time it needs between a packet arriving and playing it, `arrivalToRenderLatencyMs`: 69 ms on our HomePod mini, 84 ms in [Preroll's tests](https://github.com/ksha23/preroll/blob/main/NOTES.md). With zero lead, nothing arrives in time. ## Why not 300 ms? 300 ms leaves 50 ms of lead, less than the speaker needs. 350 ms is the lowest value Preroll found stable, and the lowest [Lagless](/) offers. If 350 ms stutters on your Wi-Fi, use 500 ms. ## Questions ### Does macOS stop me setting 250 ms? No. It logs `audio latency min 250 ms` but accepts 250 ms and simply plays nothing. ### Is the 250 ms adjust the same on every Mac? We measured it on macOS 15.7.4. Treat other versions as unverified until you check the log. ## Sources - AirPlayXPCHelper log on macOS 15.7.4, captured with `log show --process AirPlayXPCHelper` - [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) --- # audioLatencyMs, the hidden macOS AirPlay latency setting > What the undocumented com.apple.airplay audioLatencyMs preference does, where macOS reads it, how to set and remove it in Terminal, and what to watch out for. Updated 2026-10-06. Canonical page: https://lagless.app/guides/audiolatencyms-explained/ > `audioLatencyMs` is an undocumented integer preference in the `com.apple.airplay` domain that overrides the 2000 ms buffer macOS uses for AirPlay system audio. It's read by the root process `AirPlayXPCHelper`, so it must be written as root, and it only applies after that process restarts. Values below 350 ms are not safe. ## Where macOS reads it `AirPlayXPCHelper` runs as root and reads the preference from root's preferences (`/var/root/Library/Preferences/com.apple.airplay.plist`), then from `/Library/Preferences`. Your own user preferences are never consulted, which is why `defaults write` without `sudo` does nothing. Its log confirms the override: `Overriding audio latency: 350 ms`. Both findings come from the [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) and match our own logs. ## Setting it by hand ``` sudo defaults write com.apple.airplay audioLatencyMs -int 350 sudo killall -9 AirPlayXPCHelper ``` The engine is built once per process, so the second line restarts it; launchd starts it again on demand. Your AirPlay speaker disconnects, so choose it again from Control Center. Preroll notes that a plain `killall` sometimes leaves the process running, hence `-9`. ## Checking it ``` sudo defaults read com.apple.airplay audioLatencyMs ``` ## Removing it ``` sudo defaults delete com.apple.airplay audioLatencyMs sudo killall -9 AirPlayXPCHelper ``` ## Things to watch - **Never go below 350 ms.** [At 250 ms the speaker goes silent.](/guides/airplay-silent-at-250-ms/) - **Every change drops the speaker.** That's the restart, not a fault. - **It's undocumented.** Apple can change or remove it in any macOS release. [Lagless](/) wraps exactly these steps in a menu bar app: one approval instead of `sudo` each time, a range check, the speaker's live delay, and an undo. ## Questions ### Is it safe to use? It's a preference macOS already supports, and removing it restores the default. The risk is choosing a value too low, which mutes AirPlay until you raise it. ### Does it work for AirPlay from inside apps? It changes the system-wide AirPlay audio path. Apps that send AirPlay themselves manage their own timing. ## Sources - [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) - AirPlayXPCHelper log on macOS 15.7.4 --- # Why the start of sounds gets cut off on AirPlay > Short alerts and the first moment of audio can arrive late or clipped over AirPlay from a Mac. It's the stream going to sleep during silence. Here's how to keep it awake. Updated 2026-10-06. Canonical page: https://lagless.app/guides/airplay-sound-cut-off-at-start/ > The start of a sound gets lost or delayed because AirPlay suspends the stream when your Mac goes quiet, then negotiates a new stream when sound resumes, which takes about 370 ms. Playing inaudible noise keeps the stream open. Digital silence doesn't work, because the driver detects it. ## What's happening macOS's AirPlay driver watches for silence. When there's none to play, it suspends the stream; when sound starts again, it negotiates a brand-new remote stream. The [Preroll README](https://github.com/ksha23/preroll) describes this as the bottleneck that appears once the 2000 ms buffer is lowered, and puts the renegotiation at about 370 ms. That's why a notification chime or the first click after a pause feels later than the rest, and why very short sounds can seem clipped. ## Keeping the stream awake Pure digital silence doesn't help: the driver has `enableSilenceDetection` and `enableNonZeroPCMSampleDetection`, so it can tell. Preroll's approach, which Lagless uses, is to play never-zero random noise at −78 dBFS, far below what you can hear, so the stream never looks idle. In [Lagless](/), this is **Keep Speaker Awake**. It only plays while your output is an AirPlay device, and stops when you switch to anything else. ## Questions ### Will I hear the noise? At −78 dBFS it's far below normal listening levels. If you turn a speaker right up in a silent room you might, so you can switch it off. ### Does it use battery? A little, like any audio playing. It stops when you're not on AirPlay. ## Sources - [Preroll README](https://github.com/ksha23/preroll) --- # HomePod latency on macOS 27 > Reports say HomePods on macOS 27 use a new buffered AirPlay engine at about 200 ms. What that means, which speakers still sit at 2000 ms, and whether you still need Lagless. Updated 2026-10-06. Canonical page: https://lagless.app/guides/homepod-macos-27-latency/ > Reportedly, on macOS 27 with HomePod software 27, HomePods use a new buffered AirPlay engine at about 200 ms, so they may not need the 2000 ms default lowered. Other AirPlay speakers, including Sonos, are reported to still sit at 2000 ms. Lagless checks the delay your speaker reports and tells you when it isn't needed. ## What's been reported The [Preroll project](https://github.com/ksha23/preroll) reports that on macOS 27, HomePods running HomePod software 27 report about 200 ms (9,600 frames at 48 kHz), while a Sonos Era 100 SL still reports 2000 ms. This is one project's measurement, not an Apple announcement; we haven't been able to verify it on macOS 27 ourselves. ## Known issues reported on macOS 27 Preroll's [research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) also list problems seen on macOS 27.0.1, including stereo pairs refusing to mix the old and new engines and `AirPlayXPCHelper` crashes on some routes. Treat these as early reports. ## Do you still need Lagless? - **HomePod on macOS 27, reporting about 200 ms:** probably not. Lagless says so in its panel. - **HomePod on macOS 15 or 26:** yes, it's still 2000 ms. - **Other AirPlay speakers:** reportedly still 2000 ms, so yes. ## Questions ### How do I see what my speaker reports? Open Lagless while your speaker is selected. The panel shows the delay it reports. ## Sources - [Preroll README](https://github.com/ksha23/preroll) - [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) --- # Stereo-paired HomePods on a Mac > What to expect when you use two HomePods or HomePod minis as a stereo pair for your Mac, from dropouts to delay, and what helps. Updated 2026-10-06. Canonical page: https://lagless.app/guides/stereo-pair-homepod-mac/ > Two HomePods in a stereo pair can play your Mac's sound, but reviewers and users have reported sporadic dropouts and inconsistent delay. The two-second buffer applies to the pair just as to a single speaker, and lowering it helps with sync, but a strong, stable Wi-Fi connection matters more with a pair. ## What's been reported - A [2021 MacTech column](https://www.mactech.com/2021/11/08/why-do-stereo-paired-homepod-minis-perform-so-poorly-when-used-with-a-mac/) described stereo-paired HomePod minis on a Mac with lag of up to two seconds, delay that was "sporadic and inconsistent", and music that stopped or skipped with no pattern. - Early macOS 27 reports in [Preroll's notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) describe pairs that mix old and new AirPlay engines being refused. ## What helps 1. Keep both HomePods on current software, close to the router. 2. Lower the buffer to cut the delay: start at **Balanced** (500 ms) for a pair rather than Responsive, since a pair has more to coordinate. 3. Keep the stream awake so it doesn't pause and renegotiate between sounds. [Lagless](/) does steps 2 and 3. If a pair still drops out, raise the delay to **Safe** (750 ms). ## Questions ### Why start a pair at 500 ms? A pair has more to coordinate than a single speaker, so more buffer is a sensible starting point. Lower it if it stays stable. ## Sources - [MacTech: Why do stereo-paired HomePod minis perform so poorly when used with a Mac?](https://www.mactech.com/2021/11/08/why-do-stereo-paired-homepod-minis-perform-so-poorly-when-used-with-a-mac/) - [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) --- # Sonos AirPlay delay from a Mac > Why a Sonos speaker plays your Mac's sound about two seconds late over AirPlay, why some models are reported to be much worse, and how to lower it. Updated 2026-10-06. Canonical page: https://lagless.app/guides/sonos-airplay-delay-mac/ > Sonos speakers get the same 2000 ms buffer that macOS uses for all AirPlay system audio, so Mac sound arrives about two seconds late. Some owners report far longer delays on specific models, usually traced to Wi-Fi. Lowering the Mac's AirPlay buffer applies to Sonos too, though how low you can go depends on your network. ## The usual two seconds macOS doesn't treat Sonos differently: system audio sent over AirPlay is scheduled 2000 ms ahead. [Preroll](https://github.com/ksha23/preroll) reports that a Sonos Era 100 SL still reports 2000 ms even on macOS 27, where HomePods reportedly dropped to about 200 ms. ## When it's much worse In the [Sonos Community](https://en.community.sonos.com/speakers-229128/excessive-airplay-lag-6881769), an owner reported about 13 seconds of AirPlay lag on Era 300 speakers, against about 2 seconds on other Sonos models and HomePods. Community suggestions focused on the network: separating 2.4 GHz and 5 GHz, using non-overlapping channels, moving the speaker closer to the router, or using Ethernet. That points to a network problem rather than the Mac's buffer. ## Lowering the Mac's buffer for Sonos The `audioLatencyMs` setting applies to every AirPlay speaker, so [Lagless](/) works with Sonos the same way. Start at **Balanced** (500 ms); Lagless has been tested on a HomePod mini, not on Sonos, so step up to **Safe** if you hear dropouts. ## Questions ### Does Sonos have its own audio delay setting? Some Sonos home-theatre products have audio delay options for TV input. That's separate from the Mac's AirPlay buffer. ## Sources - [Sonos Community: Excessive AirPlay lag](https://en.community.sonos.com/speakers-229128/excessive-airplay-lag-6881769) - [Preroll README](https://github.com/ksha23/preroll) --- # How to restore Apple's default AirPlay latency > Undo an audioLatencyMs change and put macOS back to its standard 2000 ms AirPlay buffer, with Lagless or in Terminal. Updated 2026-10-06. Canonical page: https://lagless.app/guides/restore-default-airplay-latency/ > To restore Apple's default AirPlay latency, delete the `audioLatencyMs` key from root's `com.apple.airplay` preferences and restart `AirPlayXPCHelper`. In Lagless, turn the switch off. Either way macOS goes back to its standard 2000 ms buffer, and your speaker needs choosing again. ## With Lagless Click the speaker icon in the menu bar and turn the switch at the top off. Lagless deletes the setting, removes the preferences file if nothing else is in it, and restarts AirPlay. To remove Lagless entirely, choose **Uninstall Lagless…**. ## In Terminal ``` sudo defaults delete com.apple.airplay audioLatencyMs sudo killall -9 AirPlayXPCHelper ``` If the first line says the key doesn't exist, the default is already in effect. ## Checking it worked Pick your AirPlay speaker again. Lagless's panel should show about 2000 ms, or `sudo defaults read com.apple.airplay audioLatencyMs` should report that the key doesn't exist. ## Questions ### Will removing it break anything? No. It returns macOS to exactly the behaviour it had before the setting existed. ## Sources - [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) --- # Lagless vs Preroll > Two Mac apps that lower AirPlay audio delay using the same macOS setting. How they differ in approval, controls and extras, and when to pick each. Updated 2026-10-06. Canonical page: https://lagless.app/vs/lagless-vs-preroll/ > Lagless and Preroll both lower macOS's AirPlay buffer with the `audioLatencyMs` setting, and both keep the stream awake with inaudible noise. Preroll discovered and documented the mechanism and applies it with a standard admin prompt. Lagless uses a helper you approve once, adds presets, per-speaker memory and an undo, and lives in the menu bar. ## At a glance | | Preroll | Lagless | |---|---|---| | Mechanism | `audioLatencyMs`, root's preferences | Same | | Keep-alive noise | Yes, −78 dBFS | Yes, −78 dBFS, AirPlay only | | Changing the value | Admin prompt per change | One-time helper approval | | Lowest value offered | Slider with manual entry | 350 ms (lower is silent) | | Presets | – | Responsive, Balanced, Safe | | Shows the speaker's live delay | – | Yes, before and after | | Per-speaker memory | – | Yes | | Price and licence | Free, MIT | Free, MIT | Details of Preroll are from its [README](https://github.com/ksha23/preroll) and [notes](https://github.com/ksha23/preroll/blob/main/NOTES.md); check them for its current features. ## Credit where it's due Preroll found the setting, worked out that only root's preferences are read, measured the 250 ms floor and designed the keep-alive. Lagless builds on that research. ## Which to choose - **Pick Preroll** if you want the original, prefer an admin prompt per change, or want its optional per-speaker switching helper. - **Pick Lagless** if you want a menu bar app with presets, a live readout and no prompt after setup. ## Sources - [Preroll README](https://github.com/ksha23/preroll) - [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) --- # Lagless vs doing it in Terminal > You can set macOS's AirPlay latency yourself with two Terminal commands. What Lagless adds on top, and when the commands are all you need. Updated 2026-10-06. Canonical page: https://lagless.app/vs/lagless-vs-terminal/ > Lagless changes the same setting you'd change in Terminal: `audioLatencyMs` in root's `com.apple.airplay` preferences, followed by a restart of `AirPlayXPCHelper`. Terminal is fine if you set it once and forget it. Lagless is easier if you change it often, want to see the speaker's real delay, or want guard rails against values that go silent. ## Side by side | | Terminal | Lagless | |---|---|---| | Set a value | `sudo defaults write …` then `sudo killall -9 AirPlayXPCHelper` | Pick a mode | | Password | Every time | Once, at setup | | Check what's applied | `sudo defaults read …` | Shown in the panel | | See the speaker's delay | – | Before and after | | Stop values that go silent | Up to you | Won't go below 350 ms | | Keep the stream awake | – | Built in | | Undo | `sudo defaults delete …` | One click | ## When Terminal is enough If you'll set 350 ms once and leave it, the [commands in our guide](/guides/audiolatencyms-explained/) do the job without installing anything. ## When Lagless helps If you switch between speakers, tune for a flaky network, or want the start of sounds not to be clipped, the panel, presets and keep-alive save you the commands and the guesswork. ## Sources - [Preroll research notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) --- # Lagless vs screen mirroring > Screen mirroring is the usual workaround for AirPlay delay on a Mac. How it compares with lowering the AirPlay buffer, and when each makes sense. Updated 2026-10-06. Canonical page: https://lagless.app/vs/lagless-vs-screen-mirroring/ > Screen mirroring sends audio together with video, which users report keeps them in sync, but it needs a mirroring target such as an Apple TV and mirrors your screen. Lagless lowers the delay for system audio to any AirPlay speaker, with no display involved, to about a third of a second. ## Side by side | | Screen mirroring | Lagless | |---|---|---| | Needs | An Apple TV or AirPlay display | Any AirPlay speaker | | Audio delay | Reported in sync with mirrored video | 350 ms | | Affects | Your screen too | Only audio | | Good for | Watching on a TV | Speakers at your desk | A [MacRumors user](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/) describes mirroring as sending audio alongside the video without the usual delay. ## Which to choose - **Watching on a TV with an Apple TV:** mirroring or the app's own AirPlay button. - **HomePod or another speaker at your desk:** lowering the buffer, which is what Lagless does. ## Sources - [MacRumors: Audio lag with AirPlay?](https://forums.macrumors.com/threads/audio-lag-with-airplay.2306123/) --- # AirPlay > Apple's wireless protocol for sending audio and video between devices, and how a Mac uses it for system sound. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/airplay/ > AirPlay is Apple's protocol for streaming audio and video over a network. A Mac can send all system audio to an AirPlay speaker such as a HomePod; macOS schedules that audio 2000 ms ahead by default. Related: [Why is AirPlay delayed on a Mac?](/guides/why-is-airplay-delayed-on-mac/) · [AirPlayXPCHelper](/glossary/airplayxpchelper/) --- # AirPlayXPCHelper > The root process in macOS that runs AirPlay audio, reads audioLatencyMs and builds the audio engine. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/airplayxpchelper/ > `AirPlayXPCHelper` is a macOS background process, at `/usr/libexec/AirPlayXPCHelper`, that runs as root and handles AirPlay output. It reads `audioLatencyMs` from root's preferences and builds its audio engine once per process, so a new value needs a restart, which drops the current AirPlay route. Related: [audioLatencyMs](/glossary/audiolatencyms/) · [audioLatencyMs explained](/guides/audiolatencyms-explained/) · Source: [Preroll notes](https://github.com/ksha23/preroll/blob/main/NOTES.md) --- # Audio latency > The delay between a sound being produced and being heard, and the parts that add up to it over AirPlay. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/audio-latency/ > Audio latency is the time between a program producing a sound and you hearing it. Over AirPlay from a Mac it's dominated by the sender's buffer (2000 ms by default) rather than the speaker, which reports needing about 70–85 ms. Related: [arrivalToRenderLatencyMs](/glossary/arrival-to-render-latency/) · [Buffer and jitter](/glossary/buffer-and-jitter/) --- # Buffer and jitter > Why audio streams keep a buffer, and how Wi-Fi jitter decides how small it can safely be. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/buffer-and-jitter/ > A buffer is audio sent ahead of time so playback continues if packets arrive unevenly. Jitter is that unevenness. A bigger buffer absorbs more jitter but adds delay; at 350 ms AirPlay keeps 100 ms of buffer after macOS's fixed 250 ms adjust. Related: [How to reduce AirPlay latency](/guides/reduce-airplay-latency-mac/) --- # Keep-alive (AirPlay) > Playing inaudible noise so AirPlay doesn't suspend the stream during silence and renegotiate it, about 370 ms, when sound resumes. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/keep-alive/ > An AirPlay keep-alive plays never-zero noise at a very low level so the driver never sees silence and doesn't suspend the stream. Without it, the first sound after a pause waits about 370 ms for a new stream. Related: [Why the start of sounds gets cut off](/guides/airplay-sound-cut-off-at-start/) · [dBFS](/glossary/dbfs/) --- # Privileged helper > A small background program that runs with administrator rights on behalf of an app, after you approve it. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/privileged-helper/ > A privileged helper is a background program an app registers with macOS to perform one task that needs administrator rights. Lagless's helper can only read, set (350–2000 ms) or remove `audioLatencyMs`, and only answers apps signed by the same developer. Related: [SMAppService](/glossary/smappservice/) · [Privacy](/privacy/) --- # SMAppService > Apple's API for registering login items, agents and daemons that the user approves in System Settings. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/smappservice/ > SMAppService is Apple's ServiceManagement API, available since macOS 13, for registering helpers. A daemon registered this way runs only after the user approves it in System Settings › General › Login Items & Extensions, and can be removed the same way. Related: [Privileged helper](/glossary/privileged-helper/) · Source: [Apple ServiceManagement documentation](https://developer.apple.com/documentation/servicemanagement/smappservice) --- # arrivalToRenderLatencyMs > The value an AirPlay speaker reports for how long it needs between receiving audio and playing it. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/arrival-to-render-latency/ > `arrivalToRenderLatencyMs` appears in the AirPlay log when a stream starts: it's how much time the receiver needs between a packet arriving and playing it. We measured 69 ms on a HomePod mini; Preroll reports 84 ms. Related: [Why AirPlay goes silent at 250 ms](/guides/airplay-silent-at-250-ms/) --- # audioLatencyMs > The undocumented macOS preference that sets AirPlay's system audio buffer in milliseconds. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/audiolatencyms/ > `audioLatencyMs` is an integer preference in the `com.apple.airplay` domain, read from root's preferences, that overrides the 2000 ms buffer macOS uses for AirPlay system audio. 350 ms is the lowest stable value; 250 ms is silent. Related: [audioLatencyMs explained](/guides/audiolatencyms-explained/) · [Why AirPlay goes silent at 250 ms](/guides/airplay-silent-at-250-ms/) --- # dBFS > Decibels relative to full scale: the unit for digital audio levels, and why −78 dBFS is inaudible in practice. Updated 2026-10-06. Canonical page: https://lagless.app/glossary/dbfs/ > dBFS measures a digital signal's level relative to the loudest possible value (0 dBFS). −78 dBFS is about 1/8000 of full scale, far below normal listening levels, which is why Lagless's keep-alive noise is effectively inaudible. Related: [Keep-alive](/glossary/keep-alive/) --- # Privacy policy > What Lagless and lagless.app collect, which is nothing, plus what the app changes on your Mac, how email is handled, and your rights under UK GDPR. Updated 2026-10-06. Canonical page: https://lagless.app/privacy > **Short version.** The Lagless app collects nothing and makes no network requests. This website uses cookieless, self-hosted analytics that never store your IP address, asks for your email address before you download the app, and records each download so we can count real downloads. ## 1. Who we are Lagless is an independent, free and open-source app made by Charles Reiss, who is the controller for any personal data described here. Contact: [hello@lagless.app](mailto:hello@lagless.app). ## 2. The Lagless app The app does not collect, store or send any personal data. It has no account, no analytics, no crash reporter and no update check, and it makes no network requests. On your Mac it reads and writes the following: - **One AirPlay setting.** Through its helper, Lagless writes `audioLatencyMs` in the `com.apple.airplay` preferences of the system administrator account (`/var/root/Library/Preferences`). The helper accepts only whole numbers from 350 to 2000. Turning Lagless off removes the setting, and deletes that preferences file if nothing else is in it. - **Restarting AirPlay.** After a change, the helper restarts the macOS AirPlay process (`AirPlayXPCHelper`) so the new value takes effect. - **Its own preferences.** These are the delay you chose for each AirPlay output, the delay each output reported, whether Keep Speaker Awake is on and whether you have finished setup. The data is keyed by the identifier macOS gives each output and stays on your Mac. - **A helper and an optional login item.** These are registered with macOS after you approve them. Lagless reads which audio output is selected and the delay it reports, so it can show you before and after. It does not use your microphone, camera, files, contacts, location or screen. Keep Speaker Awake plays noise at −78 dBFS to the AirPlay output only. It never records anything. ## 3. This website lagless.app sets no cookies and shows no ads. It uses no third-party analytics, fonts or scripts. Everything below is handled by us on Cloudflare. **Page visits.** When a page loads, a small script records: - the page and the site you came from - campaign tags in the link, if any - your approximate country and city, and your network provider - your device type, browser and operating system Your IP address is not stored. To count unique visitors without cookies, we combine your IP address and browser details with a random value that changes every day and keep only the resulting code. Once that day's value is discarded, the code can't be traced back to you or linked across days. **Your email when you download.** To download Lagless you enter your email address. We store it with the time, your IP address and whether you ticked "Email me about updates". We use it to know who downloaded Lagless and, only if you ticked the box, to email you about updates. You can unsubscribe from those at any time, and ask us to delete your email whenever you like. **Downloads.** When you download Lagless, we record: - your IP address - your approximate location and network provider - your browser's user agent - the page you came from - the time We use this to count real downloads and filter out bots. We also get an email notification with the same details, including the email address you entered. **Why (lawful basis):** our legitimate interest in understanding how people find Lagless and in counting genuine downloads (UK GDPR Article 6(1)(f)). **Who processes it** (page visits, downloads and download emails): - **Cloudflare**, which hosts the site and stores these records for us. - **Resend**, which sends us the download notification email. Both act as our processors and may handle data outside the UK, under their standard data protection terms. **How long we keep it:** analytics and download records are kept for up to 24 months, then deleted. **“Ask AI” links** open the assistant you choose in a new tab. Nothing is sent to that assistant until you click, and from then on their privacy policy applies. Our hosting provider also handles the technical details any website receives, such as your IP address and browser type, in order to deliver pages and protect the service. ## 4. If you email us **What:** your email address, name if given, and what you write. **Why:** to reply to you. **Lawful basis:** our legitimate interest in answering messages people choose to send (UK GDPR Article 6(1)(f)). **Who sees it:** only us and our email provider, which processes it on our behalf. **How long:** until your question is resolved, then deleted within 12 months. If we need to keep it longer, for example for a legal claim, we keep it only as long as that requires. ## 5. Your rights Under UK GDPR you can ask to: - access the personal data we hold about you - correct it - delete it - restrict how we use it - object to how we use it - receive a copy you can take elsewhere Email [hello@lagless.app](mailto:hello@lagless.app). We'll reply within one month. If you're unhappy with how we've handled your data, you can complain to the UK Information Commissioner's Office: [ico.org.uk/make-a-complaint](https://ico.org.uk/make-a-complaint/), or 0303 123 1113. ## 6. Children Lagless doesn't knowingly collect data from anyone, including children. ## 7. Changes If this policy changes, we'll update the date at the top of this page. Because the app collects nothing, a change would mostly affect the website or how we handle email. ## 8. Removing everything from your Mac Open Lagless, choose **Uninstall Lagless…** and confirm. It restores Apple's AirPlay default, removes the helper, the login item and its own preferences, then quits. Drag Lagless to the Bin afterwards. --- # Terms of use > The plain-English terms for using the free, open-source Lagless app and the lagless.app website. Updated 2026-10-06. Canonical page: https://lagless.app/terms > **The deal, in plain sentences.** Lagless is free and open source under the MIT licence. Use it at your own risk: it changes an undocumented macOS setting, and you can undo the change at any time. We don't collect your data. ## 1. Who we are Lagless is an independent app made by Charles Reiss. Contact: [hello@lagless.app](mailto:hello@lagless.app). ## 2. The licence The Lagless app and its source code are licensed under the [MIT Licence](/licences/#lagless). You may use, copy, modify and distribute them under that licence. Where these terms and the MIT Licence differ about the software, the MIT Licence governs. ## 3. What Lagless does to your Mac Lagless changes one undocumented macOS preference, `audioLatencyMs`, and restarts the macOS AirPlay process. This setting isn't documented or supported by Apple, and a future macOS update may change or ignore it. Each change briefly disconnects your AirPlay speaker. Turning Lagless off, or choosing **Uninstall Lagless…**, restores Apple's default. ## 4. Acceptable use Don't use Lagless or this website to break the law, to interfere with other people's devices or networks, or to misrepresent who made Lagless. ## 5. What we promise, and what we don't We build Lagless carefully and test it on real hardware, but it's provided “as is”, without warranties of any kind, as the MIT Licence says. We don't promise that it will work with every Mac, macOS version or speaker, or that audio will never stutter at low delays. Nothing in these terms limits liability that can't be limited by law. That includes liability for death or personal injury caused by negligence, for fraud, or your statutory rights as a consumer. Otherwise, to the extent the law allows, we aren't liable for any loss arising from your use of Lagless or this website. ## 6. Trademarks Lagless is an independent app, not affiliated with, endorsed by or sponsored by Apple Inc. AirPlay, HomePod, Mac and macOS are trademarks of Apple Inc. Sonos is a trademark of Sonos, Inc. Other names belong to their owners and are used only to describe compatibility. ## 7. Third-party material Lagless and this website include openly licensed material from others. It's listed, with its licences, on the [Licences](/licences/) page. ## 8. Privacy See the [Privacy policy](/privacy/). In short: the app collects nothing. ## 9. Changes We may update these terms, and we'll change the date at the top when we do. The version in force when you use Lagless applies. ## 10. Governing law These terms are governed by the law of England and Wales, and the courts of England and Wales have jurisdiction. If you live elsewhere in the UK or in the EU, you keep any protection of your local consumer law and can bring a claim in your local courts. ## 11. Contact [hello@lagless.app](mailto:hello@lagless.app) --- # Licences > Lagless's own MIT licence and the open-source and Creative Commons material it uses, with credits. Updated 2026-10-06. Canonical page: https://lagless.app/licences > Lagless is free and open source under the MIT licence. It credits Preroll for the discovery behind it, and the icon and website animation come from openly licensed projects, listed below. ## Lagless ``` MIT License Copyright (c) 2026 Charles Reiss Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ## Third-party material ### Fluent UI System Icons: "Speaker 2" (app icon, menu bar icon, website logo) https://github.com/microsoft/fluentui-system-icons MIT License Copyright (c) 2020 Microsoft Corporation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ### Magic UI: Animated Beam (website section 02, ported to plain SVG) https://github.com/magicuidesign/magicui · MIT License, Copyright (c) Magic UI. The beam technique (faint base path, sweeping gradient, easeOutExpo timing) is adapted from apps/www/registry/magicui/animated-beam.tsx. ### Preroll (mechanism and research) https://github.com/ksha23/preroll · MIT License, Copyright (c) ksha23. Lagless re-implements the approach Preroll documented; no Preroll code is included.