提交 0efb97c5 编写于 作者: V vit9696

OpenCoreMisc: Support Boot Resolution option

上级 827fa7ed
......@@ -1221,6 +1221,20 @@ behaviour that does not go to any other sections
\textbf{Description}: Reinstalls apple boot policy protocol with a builtin
version. This may be used to ensure APFS compatibility on VMs or legacy Macs.
\item
\texttt{Resolution}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Default value}: Empty string\\
\textbf{Description}: Sets console output screen resolution as specified
with the \texttt{WxH@Bpp} (e.g. \texttt{1920x1080@32}) or
\texttt{WxH} (e.g. \texttt{1920x1080}) formatted string. Set to empty string
not to change screen resolution. Set to \texttt{Max} to try to use largest
available screen resolution.
\emph{Note}: This will fail when console handle has no GOP protocol. When
the firmware does not provide it, it can be added with \texttt{ProvideConsoleGop}
UEFI quirk set to \texttt{true}.
\item
\texttt{ShowPicker}\\
\textbf{Type}: \texttt{plist\ boolean}\\
......
......@@ -357,6 +357,8 @@
<true/>
<key>ReinstallProtocol</key>
<true/>
<key>Resolution</key>
<string></string>
<key>ShowPicker</key>
<true/>
<key>Timeout</key>
......
......@@ -21,6 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/DevicePathLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/OcAppleBootPolicyLib.h>
#include <Library/OcConsoleLib.h>
#include <Library/OcDebugLogLib.h>
#include <Library/PrintLib.h>
#include <Library/UefiBootServicesTableLib.h>
......@@ -143,7 +144,11 @@ OcMiscLateInit (
OUT EFI_HANDLE *LoadHandle OPTIONAL
)
{
EFI_STATUS Status;
EFI_STATUS Status;
UINT32 Width;
UINT32 Height;
UINT32 Bpp;
BOOLEAN SetMax;
if (Config->Misc.Debug.ExposeBootPath) {
OcStoreLoadPath (LoadPath);
......@@ -172,5 +177,24 @@ OcMiscLateInit (
}
}
ParseScreenResolution (
OC_BLOB_GET (&Config->Misc.Boot.Resolution),
&Width,
&Height,
&Bpp,
&SetMax
);
if (SetMax || (Width > 0 && Height > 0)) {
Status = SetConsoleResolution (Width, Height, Bpp);
DEBUG ((
DEBUG_INFO,
"OC: Changed resolution to %u:%u@%u (max: %d)\n",
Width,
Height,
Bpp
));
}
return Status;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册