Flaky Goodness

Dell UP2715K on M1 Macs

January 30, 2021

UPDATE 2021-12-20 After updating to macOS Monterey 12.1 (I skipped 12.0), this fix no longer seems necessary. macOS once again natively supports the UP2715K on M1 Macs.


Getting a Dell UP2715K working with the new M1 Macs is tricky. The monitor has worked seamlessly with Intel Macs since it was first introduced (assuming you had the right adapter). Sadly discontinued, the UP2715K is still one of the best/only 5K options that isn't an iMac. Here's how to get it working with the M1 Macs.

A huge shout out to Alex Argo who actually spent the time on the phone with Apple support that led to this solution. He documented his approach and success in the Apple support communities and when I couldn't quite get it to work myself he was generous with his time and configuration files. Cheers Alex.

The problem is that, by default, macOS doesn't recognize the correct list of available resolutions from the UP2715K. This procedure adds an override configuration file that macOS uses to see the correct available resolutions.

Create an override file

Start by creating the directory tree where the override file will go.

sudo mkdir -p /Library/Displays/Contents/Resources/Overrides/DisplayVendorID-90ac

Now, create a file DisplayProductID-40b6 (no extension) in this directory with the following contents.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <string>DELL UP2715K (patched)</string>

Important: Reboot now.

I want to give credit to Stephane Madrau, the developer of the SwitchResX tool that was used for originally creating this file, who helped me understand what was happening and what this patch actually does. He is currently in the process of updating SwitchResX for full M1 support and you should check it out if you want to dig into this further or need better control over your display resolution settings in general.

Select the correct resolution

When you've rebooted and logged back in, go to System Preferences > Displays and check the Window menu. You should see an item named Dell UP2715K (patched). If you don't see that exact name, the file we just created didn't get recognized by macOS for some reason.

Select that entry and then, again from the Window menu, Move to Built-in Retina Display. This will move the options sheet onto your notebook screen where you can actually see it (assuming your Dell doesn't have an image showing yet).

In the resolution list, click Scaled, and now hold down ⌥ and click Scaled again. This will show the full resolution list for the monitor.

Full resolution list

Select 2560x1440. This is 5K HiDPI (native retina), and is probably what you want for this display. Close System Preferences and reboot again.

When you login your Dell display should be active at the correct resolution. You can close your notebook lid, Sleep and Resume, etc. and the Dell should be working as expected.

There's just one thing left

After a reboot the Dell might not activate until you've logged in. This is worth a bit of explanation.

The override file we created sits on your Data volume, which (if you have FileVault on) is locked and encrypted until you've logged into your Mac. Therefore, if you have FileVault on, macOS won't be able to activate the overrides file until that first login. As of Big Sur (maybe late Catalina?) I don't believe there is any way of putting the overrides file in the /System/Library/Displays ... path (which is on the System volume and visible to macOS pre-login). The System volume is completely sealed and, even with SIP off, changes to the volume won't survive a reboot.

So: the real solution is for Apple to ship the Display...Overrides file for the UP2715K as part of a future version of macOS. I've filed a feedback (FB8985087) with this request.

For now, you have a choice to make. You could leave FileVault on and open your notebook lid to login when you restart. Or, you could turn FileVault off and have the Dell activate automatically on restart. That's a security choice and worth thinking about. Hopefully, if the overrides file eventually gets added to the System volume we won't have to deal with this dilemma for long.