diff --git a/MonitorControl/Model/ExternalDisplay.swift b/MonitorControl/Model/ExternalDisplay.swift index 967bbe4..9148a76 100644 --- a/MonitorControl/Model/ExternalDisplay.swift +++ b/MonitorControl/Model/ExternalDisplay.swift @@ -286,8 +286,13 @@ class ExternalDisplay: Display { return self.arm64ddcComm(send: &send, reply: &reply) #else - - return self.ddc?.write(command: command, value: value, errorRecoveryWaitTime: 2000) + // NOTE: Loop is a hacky workaround that should probably be removed as it wasn't necessary before and makes things choppy. + // SEE: https://github.com/MonitorControl/MonitorControl/issues/478 + var success = false + for _ in 1 ... 2 { + success = self.ddc?.write(command: command, value: value, errorRecoveryWaitTime: 2000) ?? false + } + return success #endif }