提交 412c705c 编写于 作者: V vit9696

Build: Bundle BiosVideo driver in the package

上级 bf5043a8
......@@ -11,6 +11,7 @@ OpenCore Changelog
- Updated draw order to avoid graphics tearing in OpenCanopy
- Fixed handling PCI device paths with logical units in ScanPolicy
- Added `ReconnectGraphicsOnConnect` option for enabling alternative UEFI graphics drivers
- Added BiosVideo.efi driver to use with `ReconnectGraphicsOnConnect`
#### v0.7.5
- Revised OpenLinuxBoot documentation
......
......@@ -5983,6 +5983,10 @@ even cause permanent firmware damage. Some of the known drivers are listed below
\href{https://github.com/acidanthera/OcBinaryData}{\texttt{btrfs\_x64}}
& Open source BTRFS file system driver, required for booting with \hyperref[uefilinux]{OpenLinuxBoot}
from a file system which is now quite commonly used with Linux. \\
\href{https://github.com/acidanthera/OpenCorePkg}{\texttt{BiosVideo}}\textbf{*}
& CSM video driver implementing graphics output protocol based on VESA and legacy
BIOS interfaces. Used for UEFI firmware with fragile GOP support (e.g. low resolution).
Requires \texttt{ReconnectGraphicsOnConnect}. Included in OpenDuet out of the box. \\
\href{https://github.com/acidanthera/OpenCorePkg}{\texttt{CrScreenshotDxe}}\textbf{*}
& Screenshot making driver saving images to the root of OpenCore partition (ESP) or
any available writeable filesystem upon pressing \texttt{F10}.
......@@ -7344,10 +7348,11 @@ with the boot menu.
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Reconnect all graphics drivers during driver connection.
On certain firmware, it may be desireable to use an alternative graphics driver
providing better screen resolution options on legacy machines, or a driver supporting
\texttt{ForceResolution}. This option attempts to disconnect all currently connected
graphics drivers before connecting newly loaded drivers.
On certain firmware, it may be desireable to use an alternative graphics driver,
for example BiosVideo.efi, providing better screen resolution options on legacy
machines, or a driver supporting \texttt{ForceResolution}. This option attempts
to disconnect all currently connected graphics drivers before connecting newly
loaded drivers.
\emph{Note}: This option requires \texttt{ConnectDrivers} to be enabled.
......
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Tue Nov 2 07:56:56 2021
%DIF ADD ../Configuration.tex Fri Nov 5 18:33:39 2021
%DIF DEL PreviousConfiguration.tex Wed Nov 3 14:16:04 2021
%DIF ADD ../Configuration.tex Sun Nov 28 15:24:08 2021
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
......@@ -3902,7 +3902,7 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-log |
SIP disabled. Use of this boot option may make it easier to quickly disable SIP
protection when genuinely needed - it should be re-enabled again afterwards.
\emph{Note 2}: OC uses \texttt{0x26F} even though \texttt{csrutil disable} on Big Sur
\emph{Note 2}: \DIFdelbegin \DIFdel{OC }\DIFdelend \DIFaddbegin \DIFadd{OpenCore }\DIFaddend uses \texttt{0x26F} even though \texttt{csrutil disable} on Big Sur
sets \texttt{0x7F}. To explain the choice:
\begin{itemize}
\tightlist
......@@ -4053,8 +4053,8 @@ diskutil mount -mountpoint /var/tmp/OSPersonalizationTemp $disk
\begin{itemize}
\tightlist
\item \texttt{0x01} --- Expose the printable booter path as an UEFI variable.
\item \texttt{0x02} --- Expose the OpenCore version as an UEFI variable.
\item \texttt{0x01} --- Expose the printable booter path as \DIFdelbegin \DIFdel{an }\DIFdelend \DIFaddbegin \DIFadd{a }\DIFaddend UEFI variable.
\item \texttt{0x02} --- Expose the OpenCore version as \DIFdelbegin \DIFdel{an }\DIFdelend \DIFaddbegin \DIFadd{a }\DIFaddend UEFI variable.
\item \texttt{0x04} --- Expose the OpenCore version in the OpenCore picker menu title.
\item \texttt{0x08} --- Expose OEM information as a set of UEFI variables.
\end{itemize}
......@@ -6057,7 +6057,11 @@ even cause permanent firmware damage. Some of the known drivers are listed below
\href{https://github.com/acidanthera/OcBinaryData}{\texttt{btrfs\_x64}}
& Open source BTRFS file system driver, required for booting with \hyperref[uefilinux]{OpenLinuxBoot}
from a file system which is now quite commonly used with Linux. \\
\href{https://github.com/acidanthera/OpenCorePkg}{\texttt{CrScreenshotDxe}}\textbf{*}
\DIFaddbegin \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{\DIFadd{BiosVideo}}}\textbf{\DIFadd{*}}
& \DIFadd{CSM video driver implementing graphics output protocol based on VESA and legacy
BIOS interfaces. Used for UEFI firmware with fragile GOP support (e.g. low resolution).
Requires }\texttt{\DIFadd{ReconnectGraphicsOnConnect}}\DIFadd{. Included in OpenDuet out of the box. }\\
\DIFaddend \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{CrScreenshotDxe}}\textbf{*}
& Screenshot making driver saving images to the root of OpenCore partition (ESP) or
any available writeable filesystem upon pressing \texttt{F10}.
This is a modified version of \href{https://github.com/LongSoft/CrScreenshotDxe}{\texttt{CrScreenshotDxe}}
......@@ -6474,7 +6478,7 @@ options for the driver may be specified in \texttt{UEFI/Drivers/Arguments}:
\subsubsection{Additional information}
OpenLinuxBoot can detect the \texttt{loader/entries/*.conf} files created according to the
OpenLinuxBoot can detect the \texttt{loader/entries/*.conf} files created according to the
\href{https://systemd.io/BOOT_LOADER_SPECIFICATION/}{Boot Loader Specification} or the closely related
\href{https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault}{systemd BootLoaderSpecByDefault}. The
former is specific to systemd-boot and is used by Arch Linux, the latter applies to most Fedora-related distros
......@@ -6724,27 +6728,27 @@ with the boot menu.
\texttt{AppleEvent}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: \texttt{Auto}\\
\textbf{Description}: Determine whether OC builtin or OEM Apple Event protocol is used.
\textbf{Description}: Determine whether \DIFdelbegin \DIFdel{OC builtin or }\DIFdelend \DIFaddbegin \DIFadd{the OpenCore builtin or the }\DIFaddend OEM Apple Event protocol is used.
This option determines whether Apple's OEM Apple Event protocol is used (where available), or
This option determines whether \DIFdelbegin \DIFdel{Apple's }\DIFdelend \DIFaddbegin \DIFadd{the }\DIFaddend OEM Apple Event protocol is used (where available), or
whether OpenCore's reversed engineered and updated re-implementation is used. In general
OpenCore's re-implementation should be preferred, since it contains updates such as noticeably
improved fine mouse cursor movement and configurable key repeat delays.
\begin{itemize}
\tightlist
\item \texttt{Auto} --- Use OEM Apple Event implementation if available, connected and
recent enough to be used, otherwise use OC reimplementation.
On non-Apple hardware this will use the OpenCore builtin implementation.
On some Macs (e.g. classic Mac Pro) this will find the Apple implementation. On both older and
newer Macs than this, this option will always or often use the OC implementation. On older Macs
this is because the implementation available is too old to be used, on newer Macs it is
because of optimisations added by Apple which do not connect the Apple Event protocol
\item \texttt{Auto} --- Use \DIFaddbegin \DIFadd{the }\DIFaddend OEM Apple Event implementation if available, connected and
recent enough to be used, otherwise use \DIFdelbegin \DIFdel{OC reimplementation}\DIFdelend \DIFaddbegin \DIFadd{the OpenCore re-implementation}\DIFaddend .
On non-Apple hardware\DIFaddbegin \DIFadd{, }\DIFaddend this will use the OpenCore builtin implementation.
On some Macs \DIFdelbegin \DIFdel{(e.g. classic Mac Pro) this will find }\DIFdelend \DIFaddbegin \DIFadd{such as Classic Mac Pros, this will prefer }\DIFaddend the Apple implementation \DIFdelbegin \DIFdel{. On }\DIFdelend \DIFaddbegin \DIFadd{but on }\DIFaddend both older and
newer \DIFdelbegin \DIFdel{Macs than this}\DIFdelend \DIFaddbegin \DIFadd{Mac models than these}\DIFaddend , this option will \DIFdelbegin \DIFdel{always or often use the OC implementation}\DIFdelend \DIFaddbegin \DIFadd{typically use the OpenCore re-implementation instead}\DIFaddend .
On older Macs\DIFaddbegin \DIFadd{, }\DIFaddend this is because the implementation available is too old to be used \DIFdelbegin \DIFdel{, }\DIFdelend \DIFaddbegin \DIFadd{while }\DIFaddend on newer Macs\DIFaddbegin \DIFadd{,
}\DIFaddend it is because of optimisations added by Apple which do not connect the Apple Event protocol
except when needed -- e.g. except when the Apple boot picker is explicitly started.
Due to its somewhat unpredicatable results, this option is not normally recommended.
Due to its somewhat unpredicatable results, this option is not \DIFdelbegin \DIFdel{normally }\DIFdelend \DIFaddbegin \DIFadd{typically }\DIFaddend recommended.
\item \texttt{Builtin} --- Always use OpenCore's updated re-implementation of the Apple Event protocol.
Use of this setting is recommended even on Apple hardware, due to
improvements (better fine mouse control, configurable key delays) made in the OC re-implementation
improvements (better fine mouse control, configurable key delays) made in the \DIFdelbegin \DIFdel{OC }\DIFdelend \DIFaddbegin \DIFadd{OpenCore }\DIFaddend re-implementation
of the protocol.
\item \texttt{OEM} --- Assume Apple's protocol will be available at driver connection. On all Apple hardware
where a recent enough Apple OEM version of the protocol is available -- whether or not connected automatically
......@@ -6757,7 +6761,8 @@ with the boot menu.
\texttt{CustomDelays}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Enable custom key repeat delays when using the OpenCore implementation of the Apple Event protocol.
\textbf{Description}: Enable custom key repeat delays when using the OpenCore \DIFdelbegin \DIFdel{implementation }\DIFdelend \DIFaddbegin \DIFadd{re-implementation
}\DIFaddend of the Apple Event protocol.
Has no effect when using the OEM Apple implementation (see \texttt{AppleEvent} setting).
\begin{itemize}
......@@ -6770,8 +6775,9 @@ with the boot menu.
\texttt{KeyInitialDelay}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{50} (500ms before first key repeat)\\
\textbf{Description}: Configures the initial delay before keyboard key repeats in OpenCore implementation
of Apple Event protocol, in units of 10ms.
\textbf{Description}: Configures the initial delay before keyboard key repeats in \DIFdelbegin \DIFdel{OpenCore implementation
of }\DIFdelend \DIFaddbegin \DIFadd{the
OpenCore re-implementation of the }\DIFaddend Apple Event protocol, in units of 10ms.
The Apple OEM default value is \texttt{50} (500ms).
......@@ -6794,8 +6800,9 @@ with the boot menu.
\texttt{KeySubsequentDelay}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{5} (50ms between subsequent key repeats)\\
\textbf{Description}: Configures the gap between keyboard key repeats in OpenCore implementation
of Apple Event protocol, in units of 10ms.
\textbf{Description}: Configures the gap between keyboard key repeats in \DIFdelbegin \DIFdel{OpenCore implementation
of }\DIFdelend \DIFaddbegin \DIFadd{the OpenCore re-implementation
of the }\DIFaddend Apple Event protocol, in units of 10ms.
The Apple OEM default value is \texttt{5} (50ms).
\texttt{0} is an invalid value for this option (will issue a debug log warning and use \texttt{1} instead).
......@@ -6827,7 +6834,7 @@ with the boot menu.
\begin{itemize}
\tightlist
\item Setting \texttt{KeyInitialDelay} to \texttt{0} cancels the Apple Event initial repeat
delay (when using the OC builtin Apple Event implementation with \texttt{CustomDelays} enabled),
delay (when using the \DIFdelbegin \DIFdel{OC }\DIFdelend \DIFaddbegin \DIFadd{OpenCore }\DIFaddend builtin Apple Event implementation with \texttt{CustomDelays} enabled),
therefore the only long delay you will see is the the non-configurable and non-avoidable initial
long delay introduced by the BIOS key support on these machines.
\item Key-smoothing parameter \texttt{KeyForgetThreshold}
......@@ -6847,7 +6854,7 @@ with the boot menu.
Apple’s own implementation of AppleEvent prevents keyboard input during graphics applications from appearing
on the basic console input stream.
With the default setting of \texttt{false}, OC's builtin implementation of AppleEvent replicates this behaviour.
With the default setting of \texttt{false}, \DIFdelbegin \DIFdel{OC}\DIFdelend \DIFaddbegin \DIFadd{OpenCore}\DIFaddend 's builtin implementation of AppleEvent replicates this behaviour.
On non-Apple hardware this can stop keyboard input working in graphics-based applications such as Windows BitLocker
which use non-Apple key input methods.
......@@ -6867,8 +6874,9 @@ with the boot menu.
\texttt{PointerSpeedDiv}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{1}\\
\textbf{Description}: Configure pointer speed divisor in OpenCore implementation
of Apple Event protocol.
\textbf{Description}: Configure pointer speed divisor in \DIFdelbegin \DIFdel{OpenCore implementation
of }\DIFdelend \DIFaddbegin \DIFadd{the OpenCore re-implementation
of the }\DIFaddend Apple Event protocol.
Has no effect when using the OEM Apple implementation (see \texttt{AppleEvent} setting).
Configures the divisor for pointer movements. The Apple OEM default value is \texttt{1}.
......@@ -6882,8 +6890,9 @@ with the boot menu.
\texttt{PointerSpeedMul}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{1}\\
\textbf{Description}: Configure pointer speed multiplier in OpenCore implementation
of Apple Event protocol.
\textbf{Description}: Configure pointer speed multiplier in \DIFdelbegin \DIFdel{OpenCore implementation
of }\DIFdelend \DIFaddbegin \DIFadd{the OpenCore re-implementation
of the }\DIFaddend Apple Event protocol.
Has no effect when using the OEM Apple implementation (see \texttt{AppleEvent} setting).
Configures the multiplier for pointer movements. The Apple OEM default value is \texttt{1}.
......@@ -7056,7 +7065,7 @@ with the boot menu.
\texttt{Arguments}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: Empty\\
\textbf{Description}: Some OC plugins accept optional additional arguments
\textbf{Description}: Some \DIFdelbegin \DIFdel{OC }\DIFdelend \DIFaddbegin \DIFadd{OpenCore }\DIFaddend plugins accept optional additional arguments
which may be specified as a string here.
\end{enumerate}
......@@ -7412,7 +7421,24 @@ with the boot menu.
console handle, as may be the case on the \texttt{MacPro5,1} when using modern GPUs.
\item
\texttt{ReconnectOnResChange}\\
\DIFaddbegin \texttt{\DIFadd{ReconnectGraphicsOnConnect}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Reconnect all graphics drivers during driver connection.
}
\DIFadd{On certain firmware, it may be desireable to use an alternative graphics driver,
for example BiosVideo.efi, providing better screen resolution options on legacy
machines, or a driver supporting }\texttt{\DIFadd{ForceResolution}}\DIFadd{. This option attempts
to disconnect all currently connected graphics drivers before connecting newly
loaded drivers.
}
\emph{\DIFadd{Note}}\DIFadd{: This option requires }\texttt{\DIFadd{ConnectDrivers}} \DIFadd{to be enabled.
}
\item
\DIFaddend \texttt{ReconnectOnResChange}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Reconnect console controllers after changing screen resolution.
......
......@@ -259,6 +259,7 @@
OpenCorePkg/Library/OcVirtualFsLib/OcVirtualFsLib.inf
OpenCorePkg/Library/OcWaveLib/OcWaveLib.inf
OpenCorePkg/Library/OcXmlLib/OcXmlLib.inf
OpenCorePkg/Legacy/BootPlatform/BiosVideo/BiosVideo.inf
OpenCorePkg/Platform/CrScreenshotDxe/CrScreenshotDxe.inf
OpenCorePkg/Platform/OpenCanopy/OpenCanopy.inf
OpenCorePkg/Platform/OpenLinuxBoot/OpenLinuxBoot.inf
......
......@@ -151,19 +151,20 @@ package() {
cp "${arch}/Shell.efi" "${dstdir}/${arch}/EFI/OC/Tools/OpenShell.efi" || exit 1
efiDrivers=(
"HiiDatabase.efi"
"NvmExpressDxe.efi"
"AudioDxe.efi"
"BiosVideo.efi"
"CrScreenshotDxe.efi"
"HiiDatabase.efi"
"NvmExpressDxe.efi"
"OpenCanopy.efi"
"OpenHfsPlus.efi"
"OpenLinuxBoot.efi"
"OpenPartitionDxe.efi"
"OpenRuntime.efi"
"OpenUsbKbDxe.efi"
"Ps2MouseDxe.efi"
"Ps2KeyboardDxe.efi"
"Ps2MouseDxe.efi"
"UsbMouseDxe.efi"
"OpenHfsPlus.efi"
"XhciDxe.efi"
)
for efiDriver in "${efiDrivers[@]}"; do
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册