\DIFadd{(see the second post) }\DIFaddend or \href{http://www.insanelymac.com/forum/topic/299614-asus-eah6450-video-bios-uefi-gop-upgrade-and-gop-uefi-binary-in-efi-for-many-ati-cards/page-1#entry2042163}{AMD UEFI GOP MAKER}
(see the second post) or \href{http://www.insanelymac.com/forum/topic/299614-asus-eah6450-video-bios-uefi-gop-upgrade-and-gop-uefi-binary-in-efi-for-many-ati-cards/page-1#entry2042163}{AMD UEFI GOP MAKER}
in case you are not sure how.
\item\texttt{EHCI/XHCI Hand-off} enabled in firmware settings \texttt{only} if boot
stalls unless USB devices are disconnected.
...
...
@@ -1459,22 +1377,19 @@ To view their current state use \texttt{pmset -g} command in Terminal.
this quirk. Do not use this unless you fully understand the consequences.
\textbf{Description}: \DIFdelbegin\DIFdel{Enables experimental builtin text renderer. }\DIFdelend\DIFaddbegin\DIFadd{Hibernation detection mode. The following modes are supported:
}\DIFaddend
\DIFdelbegin\DIFdel{This option makes all text going through standard console output
render through builtin text renderer bypassing firmware services.
While still experimental and feature incomplete, this option
\textbf{Description}: \DIFdelbegin\DIFdel{Sets console output mode as specified
with the }\DIFdelend\DIFaddbegin\DIFadd{Hides auxiliary entries from picker menu by default.
}
\item\texttt{None} --- Avoid hibernation for your own good.
\item\texttt{Auto} --- Use RTC and NVRAM detection.
\item\texttt{RTC} --- Use RTC detection.
\item\texttt{NVRAM} --- Use NVRAM detection.
\end{itemize}
\DIFadd{An entry is considered auxiliary when at least one of the following applies:
}
\item
\texttt{HideAuxiliary}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Hides auxiliary entries from picker menu by default.
An entry is considered auxiliary when at least one of the following applies:
\begin{itemize}
\tightlist
\item\DIFadd{Entry is macOS recovery.
}\item\DIFadd{Entry is explicitly marked as }\DIFaddend\texttt{\DIFdelbegin\DIFdel{WxH}\DIFdelend\DIFaddbegin\DIFadd{Auxiliary}\DIFaddend}\DIFaddbegin\DIFadd{.
}\item\DIFadd{Entry is system }\DIFaddend (e.g. \texttt{\DIFdelbegin\DIFdel{80x24}\DIFdelend\DIFaddbegin\DIFadd{Clean NVRAM}\DIFaddend})\DIFdelbegin\DIFdel{formatted string.
Set to empty string not to change console mode }\DIFdelend .
\DIFdelbegin\DIFdel{Set to }\texttt{\DIFdel{Max}}
%DIFAUXCMD
\DIFdel{to try to use largest available console mode}\DIFdelend\DIFaddbegin\end{itemize}
\DIFadd{To see all entries picker menu needs to be reloaded in extended mode by pressing
}\texttt{\DIFadd{Spacebar}}\DIFadd{key. Hiding auxiliary entries may increase boot performance
for multidisk systems}\DIFaddend .
\DIFdelbegin\emph{\DIFdel{Note}}%DIFAUXCMD
\DIFdel{: This field is
best to be left empty on most firmwares}\DIFdelend\DIFaddbegin\item
\textbf{Description}: \DIFdelbegin\DIFdel{Set console control behaviour upon operating system load}\DIFdelend\DIFaddbegin\DIFadd{Sets specific attributes for picker}\DIFaddend .
\texttt{HideSelf}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Hides own boot entry from boot picker. This
may potentially hide other entries, for instance, when another UEFI OS is
installed on the same volume and driver boot is used.
\DIFdelbegin\DIFdel{Console control is a legacy protocol used for switching between text and graphics
screen output. Some firmwares do not provide it, yet select operating systems
require its presence, which is what }\texttt{\DIFdel{ConsoleControl}}%DIFAUXCMD
\DIFdel{UEFI protocol is for. }%DIFDELCMD <
\item
\texttt{PickerAttributes}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{0}\\
\textbf{Description}: Sets specific attributes for picker.
%DIFDELCMD < %%%
\DIFdel{When console control is available, OpenCore can be made console control aware,
and
set different modes for the operating system booter (}\DIFdelend\DIFaddbegin\DIFadd{Builtin picker supports colour arguments as a sum of foreground and background
Builtin picker supports colour arguments as a sum of foreground and background
colors according to UEFI specification. The value of black background and
black foreground (}\DIFaddend\texttt{\DIFdelbegin\DIFdel{ConsoleBehaviourOs}\DIFdelend\DIFaddbegin\DIFadd{0}\DIFaddend}) \DIFdelbegin\DIFdel{,
which normally runs in graphics mode, and its own user interface
(}\texttt{\DIFdel{ConsoleBehaviourUi}}%DIFAUXCMD
\DIFdel{), which normally runs in text mode. Possible
behaviours, set as values of these options, include}\DIFdelend\DIFaddbegin\DIFadd{is reserved. List of colour names}\DIFaddend :
black foreground (\texttt{0}) is reserved. List of colour names:
\begin{itemize}
\tightlist
\item\DIFdelbegin\DIFdel{Empty string }\DIFdelend\DIFaddbegin\texttt{\DIFadd{0x00}}\DIFaddend --- \DIFdelbegin\DIFdel{Do not modify console control mode.
\DIFaddend\item\texttt{\DIFdelbegin\DIFdel{ForceText}\DIFdelend\DIFaddbegin\DIFadd{0x03}\DIFaddend} --- \DIFdelbegin\DIFdel{Switch to text mode and preserve it
}\DIFdelend\item\texttt{\DIFdelbegin\DIFdel{ForceGraphics}\DIFdelend\DIFaddbegin\DIFadd{0x04}\DIFaddend} --- \DIFdelbegin\DIFdel{Switch to graphics mode and preserve it
}\DIFdelend\item\DIFdelbegin\DIFdel{On APTIO IV (Haswell and earlier) it is usually enough to have
}\DIFdelend\texttt{\DIFdelbegin\DIFdel{ConsoleBehaviourOs}\DIFdelend\DIFaddbegin\DIFadd{0x06}\DIFaddend}\DIFdelbegin\DIFdel{set to }\DIFdelend\DIFaddbegin\DIFadd{--- }\DIFaddend\texttt{\DIFdelbegin\DIFdel{Graphics}\DIFdelend\DIFaddbegin\DIFadd{EFI\_BROWN}\DIFaddend}
\DIFdelbegin\DIFdel{and
}\texttt{\DIFdel{ConsoleBehaviourUi}}%DIFAUXCMD
\DIFdel{set to }\texttt{\DIFdel{ForceText}}%DIFAUXCMD
\DIFdel{to avoid visual glitches.
}\DIFdelend\item\DIFdelbegin\DIFdel{On APTIO V (Broadwell and newer) }\DIFdelend\texttt{\DIFdelbegin\DIFdel{ConsoleBehaviourOs}\DIFdelend\DIFaddbegin\DIFadd{0x07}\DIFaddend}\DIFdelbegin\DIFdel{set to }\DIFdelend\DIFaddbegin\DIFadd{--- }\DIFaddend\texttt{\DIFdelbegin\DIFdel{ForceGraphics}\DIFdelend\DIFaddbegin\DIFadd{EFI\_LIGHTGRAY}\DIFaddend}
}\DIFdelend\item\DIFdelbegin\DIFdel{On Apple firmwares }\DIFdelend\texttt{\DIFdelbegin\DIFdel{ConsoleBehaviourOs}\DIFdelend\DIFaddbegin\DIFadd{0x08}\DIFaddend}\DIFdelbegin\DIFdel{set to }\DIFdelend\DIFaddbegin\DIFadd{--- }\DIFaddend\texttt{\DIFdelbegin\DIFdel{Graphics}\DIFdelend\DIFaddbegin\DIFadd{EFI\_DARKGRAY}\DIFaddend}
\DIFdel{: Hibernation detection mode. The following modes are supported:
}%DIFDELCMD <
%DIFDELCMD < \begin{itemize}
%DIFDELCMD < \tightlist
%DIFDELCMD < %%%
\DIFdelend\item\texttt{\DIFdelbegin\DIFdel{None}\DIFdelend\DIFaddbegin\DIFadd{0x0B}\DIFaddend} --- \DIFdelbegin\DIFdel{Avoid hibernation for your own good.
\textbf{Description}: Enable \texttt{modifier hotkey} handling in boot picker.
In addition to \texttt{action hotkeys}, which are partially described in \texttt{\DIFdelbegin\DIFdel{UsePicker}\DIFdelend\DIFaddbegin\DIFadd{PickerMode}\DIFaddend}
In addition to \texttt{action hotkeys}, which are partially described in \texttt{PickerMode}
section and are normally handled by Apple BDS, there exist modifier keys, which are
handled by operating system bootloader, namely \texttt{boot.efi}. These keys
allow to change operating system behaviour by providing different boot modes.
\textbf{Description}: \DIFdelbegin\DIFdel{Use OpenCore built-in boot picker }\DIFdelend\DIFaddbegin\DIFadd{Choose boot picker used }\DIFaddend for boot management.
\texttt{PickerMode}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: \texttt{Builtin}\\
\textbf{Description}: Choose boot picker used for boot management.
\DIFaddbegin\DIFadd{Picker describes underlying boot management with an optional user interface
Picker describes underlying boot management with an optional user interface
responsible for handling boot options. The following values are supported:
}
\begin{itemize}
\tightlist
\item\DIFaddend\texttt{\DIFdelbegin\DIFdel{UsePicker}\DIFdelend\DIFaddbegin\DIFadd{Builtin}\DIFaddend}\DIFdelbegin\DIFdel{set to }\DIFdelend\DIFaddbegin\DIFadd{--- boot management is handled by OpenCore, a simple
\item\texttt{Builtin}--- boot management is handled by OpenCore, a simple
\DIFaddend\texttt{OcBootManagementLib}\DIFdelbegin\DIFdel{to implement a user friendly boot picker oneself}\DIFdelend . Reference example of external graphics interface is provided in
OpenCore built-in boot picker contains a set of actions chosen during the boot process.
The list of supported actions is similar to Apple BDS and in general can be accessed by
...
...
@@ -2612,19 +2321,18 @@ This
recovery. Hold \texttt{CMD+R} key combination to choose this option.
\end{itemize}
\emph{Note \DIFaddbegin\DIFadd{1}\DIFaddend}: Activated \texttt{KeySupport}, \texttt{AppleUsbKbDxe}, or similar driver is required
\emph{Note 1}: Activated \texttt{KeySupport}, \texttt{AppleUsbKbDxe}, or similar driver is required
for key handling to work. On many firmwares it is not possible to get all the keys function.
\DIFaddbegin\emph{\DIFadd{Note 2}}\DIFadd{: }\DIFaddend In addition to \texttt{OPT} OpenCore supports \texttt{Escape} key \DIFaddbegin\DIFadd{to display picker when
}\DIFaddend\texttt{ShowPicker}\DIFaddbegin\DIFadd{is disabled}\DIFaddend . This key exists for \DIFaddbegin\texttt{\DIFadd{Apple}}\DIFadd{picker mode and for
}\DIFaddendfirmwares with PS/2 keyboards that fail to report held \texttt{OPT} key and require continual
\emph{Note 2}: In addition to \texttt{OPT} OpenCore supports \texttt{Escape} key to display picker when
\texttt{ShowPicker} is disabled. This key exists for \texttt{Apple}picker mode and for
firmwares with PS/2 keyboards that fail to report held \texttt{OPT} key and require continual
presses of \texttt{Escape} key to enter the boot menu.
\DIFaddbegin\emph{\DIFadd{Note 3}}\DIFadd{: On Macs with problematic GOP it may be difficult to access Apple BootPicker.
To workaround this problem even without loading OpenCore }\texttt{\DIFadd{BootKicker}}\DIFadd{utility can be blessed.
}
\emph{Note 3}: On Macs with problematic GOP it may be difficult to access Apple BootPicker.
To workaround this problem even without loading OpenCore \texttt{BootKicker} utility can be blessed.
\DIFdelend\DIFaddbegin\href{https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/AppleKeyboardLayouts}{here}\DIFaddend . Using non-latin keyboard on 10.14
\href{https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/AppleKeyboardLayouts}{here}. Using non-latin keyboard on 10.14
will not enable ABC keyboard, unlike previous and subsequent macOS versions, and is thus not recommended in case you need 10.14.
\textbf{\DIFadd{Description}}\DIFadd{: Configure audio backend support described
in }\hyperref[uefiaudioprops]{Audio Properties}\DIFadd{section below.
}
\texttt{Audio}\\
\textbf{Type}: \texttt{plist\ dict}\\
\textbf{Failsafe}: None\\
\textbf{Description}: Configure audio backend support described
in \hyperref[uefiaudioprops]{Audio Properties} section below.
\DIFadd{Audio support provides a way for upstream protocols to interact with the
Audio support provides a way for upstream protocols to interact with the
selected hardware and audio resources. All audio resources should reside
in }\texttt{\DIFadd{\textbackslash EFI\textbackslash OC\textbackslash Resources\textbackslash Audio}}
\DIFadd{directory. Currently the only supported audio file format is WAVE PCM. While it is
in \texttt{\textbackslash EFI\textbackslash OC\textbackslash Resources\textbackslash Audio}
directory. Currently the only supported audio file format is WAVE PCM. While it is
driver-dependent which audio stream format is supported, most common audio cards
support 16-bit signed stereo audio at 44100 or 48000 Hz.
}
\DIFadd{Audio file path is determined by audio type, audio localisation, and audio path. Each filename
looks as follows: }\texttt{[\DIFadd{audio type}]\DIFadd{\_}[\DIFadd{audio localisation}]\DIFadd{\_}[\DIFadd{audio path}]\DIFadd{.wav}}\DIFadd{. For unlocalised
Audio file path is determined by audio type, audio localisation, and audio path. Each filename
looks as follows: \texttt{[audio type]\_[audio localisation]\_[audio path].wav}. For unlocalised
files filename does not include the language code and looks as follows:
\textbf{Description}: Perform UEFI controller connection after driver loading.
This option is useful for loading \DIFdelbegin\DIFdel{filesystem drivers , which
usually follow }\DIFdelend\DIFaddbegin\DIFadd{drivers following }\DIFaddend UEFI driver model
\DIFdelbegin\DIFdel{, and }\DIFdelend\DIFaddbegin\DIFadd{as they }\DIFaddend may not start by themselves. \DIFaddbegin\DIFadd{Examples of such drivers are filesystem
or audio drivers. }\DIFaddend While effective, this option may not be necessary for drivers
This option is useful for loading drivers following UEFI driver model
as they may not start by themselves. Examples of such drivers are filesystem
or audio drivers. While effective, this option may not be necessary for drivers
performing automatic connection, and may slightly slowdown the boot.
\emph{Note}: Some firmwares, made by Apple in particular, only connect the boot
...
...
@@ -4289,32 +3910,30 @@ and supplementary utilities can be used.
\DIFadd{---}\DIFaddend\texttt{OC\_FIRMWARE\_RUNTIME} protocol implementation that increases the security
of \DIFdelbegin\DIFdel{OpenCore }\DIFdelend\DIFaddbegin\DIFadd{\mbox{OpenCore}}\DIFaddend and Lilu by supporting read-only and write-only NVRAM variables. Some
\DIFdelbegin\DIFdel{quirks, like }\DIFdelend\DIFaddbegin\DIFadd{commonly used quirks, e.g. }\DIFaddend\texttt{RequestBootVarRouting}, require this driver for proper function.
(\DIFdelbegin%DIFDELCMD < \href{https://forums.macrumors.com/threads/apple-hfs-windows-driver-download.1368010/page-4#post-24180079}{hack for Windows 10}%%%
\DIFdelend\DIFaddbegin\href{https://forums.macrumors.com/threads/apple-hfs-windows-driver-download.1368010/post-24180079}{hack for Windows 10}\DIFaddend),
(\href{https://forums.macrumors.com/threads/apple-hfs-windows-driver-download.1368010/post-24180079}{hack for Windows 10}),
or \href{http://www.insanelymac.com/forum/topic/299614-asus-eah6450-video-bios-uefi-gop-upgrade-and-gop-uefi-binary-in-efi-for-many-ati-cards/page-1#entry2042163}{AMD UEFI GOP MAKER}
(see the second post) or \href{http://www.insanelymac.com/forum/topic/299614-asus-eah6450-video-bios-uefi-gop-upgrade-and-gop-uefi-binary-in-efi-for-many-ati-cards/page-1#entry2042163}{AMD UEFI GOP MAKER}
in case you are not sure how.
\item\texttt{EHCI/XHCI Hand-off} enabled in firmware settings \texttt{only} if boot
stalls unless USB devices are disconnected.
...
...
@@ -1303,6 +1316,18 @@ To view their current state use \texttt{pmset -g} command in Terminal.
As \texttt{AvoidRuntimeDefrag} resolves a similar problem, no known firmwares should need
this quirk. Do not use this unless you fully understand the consequences.
\item
\texttt{ProtectSecureBoot}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Protect UEFI Secure Boot variables from being written.
Reports security violation during attempts to write to \texttt{db}, \texttt{dbx},
\texttt{PK}, and \texttt{KEK} variables from the operating system.
\emph{Note}: This quirk mainly attempts to avoid issues with NVRAM implementations
with problematic defragmentation, such as select Insyde or \texttt{MacPro5,1}.
\item
\texttt{ProvideCustomSlide}\\
\textbf{Type}: \texttt{plist\ boolean}\\
...
...
@@ -1332,7 +1357,9 @@ To view their current state use \texttt{pmset -g} command in Terminal.
performing early boot identity mapping of assigned virtual addresses to physical
memory.
\emph{Note}: The necessity of this quirk is determined by early boot failures.
\emph{Note}: The necessity of this quirk is determined by early boot failures. Currently
new firmwares with memory protection support (like OVMF) do not support this quirk due to