From 6e439ab1a9cfc639867fd2ac7eac7e5c5810f512 Mon Sep 17 00:00:00 2001 From: vit9696 Date: Wed, 1 May 2019 22:12:15 +0300 Subject: [PATCH] OpenCoreUefi: Implement support for SanitiseClearScreen quirk --- Docs/Configuration.pdf | Bin 264407 -> 265049 bytes Docs/Configuration.tex | 21 ++++++++++++++++++--- Docs/Sample.plist | 2 ++ Docs/SampleSimple.plist | 2 ++ Platform/OpenCore/OpenCoreUefi.c | 3 ++- 5 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf index 8b65c31591b3c5eeabea53e49fb6a7533698f258..94e8fa5e22c329d13665652aea94965e032c4368 100644 GIT binary patch delta 13201 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 delta 12589 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 E05YM<%K!iX diff --git a/Docs/Configuration.tex b/Docs/Configuration.tex index 80fe0f94..2ac913a0 100644 --- a/Docs/Configuration.tex +++ b/Docs/Configuration.tex @@ -2464,7 +2464,8 @@ tweaks for the onboard firmware. \emph{Note}: While the option is not supposed to induce harm on unaffected firmwares, its usage is not recommended when it is not required. This option may hide - onscreen error messages. + onscreen error messages. \texttt{ProvideConsoleControl} is required to be set to + \texttt{true} for this to work. \item \texttt{ProvideConsoleControl}\\ @@ -2472,8 +2473,9 @@ tweaks for the onboard firmware. \textbf{Default value}: \texttt{NO}\\ \textbf{Description}: macOS bootloader requires console control protocol for text output, some firmwares miss it. This option is required to be set - when other console control options are used (\texttt{IgnoreTextInGraphics}, - and sometimes \texttt{ConsoleBehaviourOs} and \texttt{ConsoleBehaviourUi}). + when other console control options are used, such as \texttt{IgnoreTextInGraphics}, + \texttt{SanitiseClearScreen}, and sometimes \texttt{ConsoleBehaviourOs} with + \texttt{ConsoleBehaviourUi}). \item \texttt{ProvideConsoleGop}\\ @@ -2495,6 +2497,19 @@ tweaks for the onboard firmware. or at least have an option for, select firmwares do not. As a result, operating system may freeze upon boot. Not recommended unless required. +\item + \texttt{SanitiseClearScreen}\\ + \textbf{Type}: \texttt{plist\ boolean}\\ + \textbf{Default value}: \texttt{false}\\ + \textbf{Description}: Some firmwares reset screen resolution to a failsafe + value (like \texttt{1024x768}) on the attempts to clear screen contents + when large display (e.g. 2K or 4K) is used. This option attempts to apply + a workaround. + + \emph{Note}: \texttt{ProvideConsoleControl} is required to be set to + \texttt{true} for this to work. On all known affected systems + \texttt{ConsoleMode} had to be set to empty string for this to work. + \end{enumerate} \section{Troubleshooting}\label{troubleshooting} diff --git a/Docs/Sample.plist b/Docs/Sample.plist index 42ac0451..efa034b1 100644 --- a/Docs/Sample.plist +++ b/Docs/Sample.plist @@ -600,6 +600,8 @@ ReleaseUsbOwnership + SanitiseClearScreen + diff --git a/Docs/SampleSimple.plist b/Docs/SampleSimple.plist index 7d329405..417c3ccc 100644 --- a/Docs/SampleSimple.plist +++ b/Docs/SampleSimple.plist @@ -499,6 +499,8 @@ ReleaseUsbOwnership + SanitiseClearScreen + diff --git a/Platform/OpenCore/OpenCoreUefi.c b/Platform/OpenCore/OpenCoreUefi.c index c9fd65e5..081697f2 100644 --- a/Platform/OpenCore/OpenCoreUefi.c +++ b/Platform/OpenCore/OpenCoreUefi.c @@ -257,7 +257,8 @@ OcLoadUefiSupport ( if (Config->Uefi.Quirks.ProvideConsoleControl) { ConsoleControlConfigure ( - Config->Uefi.Quirks.IgnoreTextInGraphics + Config->Uefi.Quirks.IgnoreTextInGraphics, + Config->Uefi.Quirks.SanitiseClearScreen ); } -- GitLab