mirror of
https://github.com/acidanthera/OpenCorePkg.git
synced 2025-12-08 19:25:01 +00:00
OcConsoleLib: Added UGA protocol compatibility in ProvideConsoleGop quirk
This is required by 10.4 EfiBoot
This commit is contained in:
parent
c9a7e2ea1b
commit
badcd125bd
@ -20,6 +20,7 @@ OpenCore Changelog
|
||||
- Added 11.0 support for `AvoidRuntimeDefrag` Booter quirk
|
||||
- Fixed 11.0 lapic kernel quirk as of DP1
|
||||
- Improved boot selection scripts for macOS without NVRAM
|
||||
- Added UGA protocol compatibility in `ProvideConsoleGop` quirk
|
||||
|
||||
#### v0.5.9
|
||||
- Added full HiDPI support in OpenCanopy
|
||||
|
||||
Binary file not shown.
@ -5104,9 +5104,10 @@ functioning. Feature highlights:
|
||||
\textbf{Failsafe}: \texttt{false}\\
|
||||
\textbf{Description}: Ensure GOP (Graphics Output Protocol) on console handle.
|
||||
|
||||
macOS bootloader requires GOP to be present on console handle, yet the exact
|
||||
location of GOP is not covered by the UEFI specification. This option will
|
||||
ensure GOP is installed on console handle if it is present.
|
||||
macOS bootloader requires GOP or UGA (for 10.4 EfiBoot) to be present on console
|
||||
handle, yet the exact location of the graphics protocol is not covered by the
|
||||
UEFI specification. This option will ensure GOP and UGA, if present, are available
|
||||
on the console handle.
|
||||
|
||||
\emph{Note}: This option will also replace broken GOP protocol on console handle,
|
||||
which may be the case on \texttt{MacPro5,1} with newer GPUs.
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
\documentclass[]{article}
|
||||
%DIF LATEXDIFF DIFFERENCE FILE
|
||||
%DIF DEL PreviousConfiguration.tex Fri Jun 26 18:57:44 2020
|
||||
%DIF ADD ../Configuration.tex Fri Jun 26 18:57:44 2020
|
||||
%DIF DEL PreviousConfiguration.tex Tue Jun 2 03:55:18 2020
|
||||
%DIF ADD ../Configuration.tex Sun Jun 28 09:37:24 2020
|
||||
|
||||
\usepackage{lmodern}
|
||||
\usepackage{amssymb,amsmath}
|
||||
@ -5205,9 +5205,10 @@ functioning. Feature highlights:
|
||||
\textbf{Failsafe}: \texttt{false}\\
|
||||
\textbf{Description}: Ensure GOP (Graphics Output Protocol) on console handle.
|
||||
|
||||
macOS bootloader requires GOP to be present on console handle, yet the exact
|
||||
location of GOP is not covered by the UEFI specification. This option will
|
||||
ensure GOP is installed on console handle if it is present.
|
||||
macOS bootloader requires GOP \DIFaddbegin \DIFadd{or UGA (for 10.4 EfiBoot) }\DIFaddend to be present on console
|
||||
handle, yet the exact location of \DIFdelbegin \DIFdel{GOP }\DIFdelend \DIFaddbegin \DIFadd{the graphics protocol }\DIFaddend is not covered by the
|
||||
UEFI specification. This option will ensure GOP \DIFdelbegin \DIFdel{is installed on console handle if it is present}\DIFdelend \DIFaddbegin \DIFadd{and UGA, if present, are available
|
||||
on the console handle}\DIFaddend .
|
||||
|
||||
\emph{Note}: This option will also replace broken GOP protocol on console handle,
|
||||
which may be the case on \texttt{MacPro5,1} with newer GPUs.
|
||||
|
||||
Binary file not shown.
@ -63,15 +63,30 @@ ConsoleHandleProtocol (
|
||||
|
||||
Status = mOriginalHandleProtocol (Handle, Protocol, Interface);
|
||||
|
||||
if (Status == EFI_UNSUPPORTED) {
|
||||
if (CompareGuid (&gEfiGraphicsOutputProtocolGuid, Protocol)
|
||||
&& mConsoleGraphicsOutput != NULL) {
|
||||
if (Status != EFI_UNSUPPORTED) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
if (CompareGuid (&gEfiGraphicsOutputProtocolGuid, Protocol)) {
|
||||
if (mConsoleGraphicsOutput != NULL) {
|
||||
*Interface = mConsoleGraphicsOutput;
|
||||
Status = EFI_SUCCESS;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
} else if (CompareGuid (&gEfiUgaDrawProtocolGuid, Protocol)) {
|
||||
//
|
||||
// EfiBoot from 10.4 can only use UgaDraw protocol.
|
||||
//
|
||||
Status = gBS->LocateProtocol (
|
||||
&gEfiUgaDrawProtocolGuid,
|
||||
NULL,
|
||||
Interface
|
||||
);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return Status;
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
VOID
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user