External monitor flickering over USB-C
After this, the picture holds steady at whatever resolution and refresh rate you actually set — no flashing, no dropouts.
On this page
A single USB-C cable carrying a display has to negotiate DisplayPort Alt Mode, and flicker is what a marginal or failing negotiation looks like — not a dying panel. The most common real causes, in order of how often they turn out to be it: a cable that isn't actually rated for DisplayPort (only charging/USB data), a hub or dock re-negotiating the link under load, and a refresh rate or HDR mode the cable's lane count can't sustain. Isolate which one before assuming the monitor is broken.
Why this happens
USB-C is a connector, not a guarantee of DisplayPort — the cable and the port both have to support DP Alt Mode, and a cable that only advertises "USB-C" with no DisplayPort logo is frequently a charge-and-data-only cable that happens to physically fit. When a display does get a DP Alt Mode link, that link runs at a fixed number of lanes and a fixed link rate; if the negotiated bandwidth is right at the edge of what the resolution, refresh rate, and color depth need, the link retrains occasionally to recover, and a retrain is what you see as a flicker or a brief black flash. Docks and hubs make this worse because they add a second link (Mac → hub, hub → display) and often share the hub's total bandwidth with USB data traffic at the same time, so a external drive or webcam pulling on the same hub can tip a marginal DisplayPort link into visibly retraining.
A separate and less obvious cause is power, not signal: some USB-C monitors (particularly ones with a built-in hub, webcam, or speakers) draw power over the same cable, and a Mac port or a hub that can't supply enough current will brown out the display's own internal electronics under load, which reads on-screen as flicker rather than as an obvious "no power" message. This is why swapping the cable for a beefier one sometimes fixes a problem that looks purely visual.
Fix it
-
Isolate the physical chain first, before touching any settings: plug the monitor straight into the Mac with a cable you know supports DisplayPort (ideally one sold as Thunderbolt or USB4, since those are required to carry full DP bandwidth), bypassing any hub or dock entirely. If the flicker stops, the hub or the original cable is the cause, not macOS or the monitor.
-
If it's still flickering direct from the Mac, confirm what resolution and refresh rate macOS actually negotiated versus what you asked for:
Reads the system
What it does: lists every display the GPU currently has a handshake with, and its negotiated resolution and refresh rate.
After: nothing changes, this only reads.
system_profiler SPDisplaysDataTypeOutput
Displays: LG UltraFine: Resolution: 3840 x 2160 (2160p/4K UHD - Ultra High Definition) UI Looks like: 1920 x 1080 @ 60.00Hz Connection Type: DisplayPort Online: YesCaptured live on the verification machine — a healthy 4K60 handshake over a Thunderbolt-rated cable, no flicker. If your output shows a lower refresh rate than you set in System Settings, or the connection keeps toggling between resolutions when you re-run this command, that mismatch is the negotiation retraining — go to step 3.
-
Temporarily lower the demand on the link: drop the refresh rate one notch (for example 60Hz instead of a higher option) and turn off HDR on the display if it's enabled, either in System Settings → Displays or on the monitor's own on-screen menu. If the flicker disappears at a lower refresh rate or with HDR off, the cable or hub genuinely can't sustain the bandwidth the higher setting needs — a better-rated cable, or a dock that explicitly lists full DisplayPort 1.4 tunneling, is the real fix rather than a permanent workaround.
-
If you're using a hub or dock with the display's own power brick disconnected (relying on the Mac or hub for power), plug the monitor into its own power adapter if it has one, or move it to a USB-C port on the Mac with higher power delivery. A display quietly browning out under load looks identical to a signal-integrity flicker, and this rules it out in under a minute.
-
If none of the above changes anything, macOS may be holding a stale cached display profile from a previous, different negotiation. Clearing it forces a completely fresh handshake on next login:
Changes settings
What it does: deletes the cached per-display configuration for your user account.
After: log out and back in (or restart); display arrangement and any per-monitor calibration you set are forgotten and rebuilt from scratch.
rm ~/Library/Preferences/ByHost/com.apple.windowserver.*.plistRevert: nothing to restore — the file regenerates automatically; you'll just need to re-arrange displays if you had a custom layout.
Still broken?
Verified on
| Chip | macOS | Verified |
|---|---|---|
| M1 (MacBook Air) | 26.6.2 | 2026-09-15 |
| M2 Pro (Mac mini) | 27.0 | 2026-09-18 |
| M3 (MacBook Pro) | 27.0 | 2026-09-18 |
| M4 (MacBook Pro) | 26.6.2 | 2026-09-14 |
The system_profiler output above was captured live on the M2 Pro / macOS 27.0 row with a 4K USB-C monitor on a Thunderbolt-rated cable. A charge-only USB-C cable that fits the same port physically will never carry a DisplayPort signal at all — check for a DisplayPort or Thunderbolt logo on the cable itself before troubleshooting further, since no software fix works around a cable with the wrong wiring inside it.