Apple Event: May 7th at 7 am PT

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

M1 mac mini display keeps losing scaling

I just got an M1 Mac mini, and it's great! Except for one annoying problem so far: whenever my Mac comes back from sleep, my display scaling is messed up.


I have two monitors connected to it, a 4K HDR by LG and a 1080p by HP. The 4K monitor is set to be scaled to be "like 2560x1440," and that one will occasionally reset to be "like 1920x1080." When this happens, if I go back to the Displays system preference page, it'll be set back to "default for display." If I set it to "scaled" again, it won't actually update the scaling unless I set it to a different size (like 3840x2160) and go back to 2560x1440.


Has anyone else experienced this issue, and is there any way to fix it so that my display settings stop getting messed up every time my machine wakes from sleep?


Mac mini, macOS 11.1

Posted on Jan 7, 2021 12:44 PM

Reply
Question marked as Best reply

Posted on Feb 4, 2021 7:19 PM

Figured out a workaround to restore display scaling for my Mac mini M1 and LG HDR 4K display, using Hammerspoon (watch for display wake) and displayplacer (set resolution). Works for Big Sur 11.2 - hopefully won't need it in future updates.


The quirky thing is that for it to work properly, I have displayplacer set to a smaller resolution first, and then the desired resolution immediately after. It switches so fast you don't even see the smaller res. Here's sample code for Hammerspoon.


function displayWatch(eventType)
	if (eventType == hs.caffeinate.watcher.screensDidWake) then
		hs.execute("/opt/homebrew/bin/displayplacer 'id:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX res:2560x1440 hz:60 color_depth:8 scaling:on origin:(0,0) degree:0'")
		hs.execute("/opt/homebrew/bin/displayplacer 'id:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX res:3008x1692 hz:60 color_depth:8 scaling:on origin:(0,0) degree:0'")
	end
end

displayWatcher = hs.caffeinate.watcher.new(displayWatch)
displayWatcher:start()

Similar questions

46 replies

M1 mac mini display keeps losing scaling

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.