Skip to content

Commit

Permalink
Various changes to Ryzen instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
cerbiscode committed Aug 20, 2024
1 parent 6d4994a commit 65c1f49
Show file tree
Hide file tree
Showing 9 changed files with 82 additions and 59 deletions.
3 changes: 2 additions & 1 deletion _configplist/02-AMD/01-Desktop/04-5XXX/02-ACPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ This section of the config is meant to expose the various ACPI in your OC folder

<h2 class="key-title">Delete</h2>

This blocks certain ACPI tables from loading, for us, we can ignore this.
This blocks certain ACPI tables from loading. For us, we can ignore this.


<h2 class="key-title">Patch</h2>
Expand All @@ -49,6 +49,7 @@ This section allows us to dynamically modify parts of the ACPI (DSDT, SSDT, etc.
<h2 class="key-title">Quirks</h2>

This section has settings related to compatibility and workarounds for issues in firmware or OS handling of ACPI.
The settings can be left as listed below for almost all systems.

| Key | Type | Value |
| ----------------- | --------- | ------- |
Expand Down
6 changes: 3 additions & 3 deletions _configplist/02-AMD/01-Desktop/04-5XXX/03-Booter.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ THE BELOW IS BASED ON MY X570 BOARD AND WILL NEED DIFFERENT OPTIONS FOR OTHER BO
| ForceExitBootServices | False | Should be set False. In very rare circumstances, this can help force boot only if nothing else helps. |
| ProtectMemoryRegions | False | Should be set False. Some rare firmwares may need this set True to fix issues with waking from sleep, boot or other problems. |
| ProtectSecureBoot | False | Should be set False. Setting this to True will enable reporting of write attempts to firmware Secure Boot variables in NVRAM. Keep set to False if it causes issues. |
| ProtectUefiServices | False | Should be set False. This quirk when set True may help other quirks related to memory management such as DevirtualiseMmio or RebuildAppeMemoryMap work correctly. |
| ProtectUefiServices | False | Should be set False. This quirk when set True may help other quirks related to memory management such as DevirtualiseMmio or RebuildAppleMemoryMap work correctly. |
| ProvideCustomSlide | True | Should be set True. Many firmwares will not support the use of all slide values and this quirk ensures that only usable slide values will be made available to macOS |
| ProvideMaxSlide | `0` | Should be set to the number `0`. Some firmwares may misbehave even with ProvideCustomSlide set True and require further limiting of slide values. See Configuration.pdf for how to use this. |
| RebuildAppleMemoryMap | False | Should be set True when MAT support is available. If the firmware does not support MATs or misbehaves, set this False. |
| ResizeAppleGpuBars | `0` | This quirk needs to be set to the number `0` when Resizable BAR support is enabled in firmware. If Resizable BAR is not enabled on the system, set to `-1`. |
| RebuildAppleMemoryMap | True | Should be set True when MAT support is available. If the firmware does not support MATs or misbehaves, set this False. |
| ResizeAppleGpuBars | `-1` | This quirk needs to be set to the number `0` when Resizable BAR support is enabled in firmware. If Resizable BAR is not enabled on the system, set to `-1`. |
| SetupVirtualMap | False | This should be set False for most recent firmwares, however some systems will need this set True. If everything else seems correct and boot still fails, try changing this. |
| SignalAppleOS | False | Should be set False. Used with real Macs. |
| SyncRuntimePermissions | True | Should be set True. One of the quirks related to MAT support in firmware. If MAT support is missing or if the firmware misbehaves, set False. |
Expand Down
8 changes: 6 additions & 2 deletions _configplist/02-AMD/01-Desktop/04-5XXX/04-DeviceProperties.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,15 @@ has_toc: false

<h2 class="key-title">Add</h2>

This allows you to add properties to various devices using its PciRoot address. For now, and in most cases we can ignore this. An example would be: overriding an ethernet controller to appear as built-in so that macOS allows iServices to work.
This allows you to define properties that should be added to various devices in macOS. For now you can ignore this as it is most often used to fix certain things after macOS has been installed.
Examples of this would be: Making SSDs and hard drives show up as internal drives rather than removable external ones, or making sure network adapters are set up correctly to enable the use of Apple ID and iCloud features.

In rare cases it is necessary to use this to disable certain devices for compatibility reasons, before installing macOS.


<h2 class="key-title">Delete</h2>

This allows you to delete properties of various devices using its PciRoot address. For now, and in most cases we can ignore this.
This section allows you to define properties that should be *removed* from an indicated device as opposed to added. You can ignore this for now.

<h2 align="center">
<br>
Expand Down
72 changes: 40 additions & 32 deletions _configplist/02-AMD/01-Desktop/04-5XXX/05-Kernel.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,25 @@ has_toc: false

This section of the config is meant to expose the various Kexts in your OC folder. This along with many of the other sections will be auto-filled by simply going to ``File -> OC Clean Snapshot`` and selecting the root OC folder in your USB. This step may have already been done, no need to redo.

This section is where OpenCore is told what kernel extensions, kexts, it should look for and load from the Kexts folder in your OpenCore EFI.
If a kext is not present here, OpenCore will not load it. If a kext is defined here but the file is missing from the folder, OpenCore will stop and inform you of the error.

This is one of the sections that can be automatically filled out in ProperTree by going to ``File -> OC Clean Snapshot`` and selecting your OC folder.

<h2 class="key-title">Block</h2>

Blocks certain Kexts from loading.

<h2 class="key-title">Emulate</h2>

Needed for spoofing unsupported CPUs like Pentiums and Celerons.
This section allows you to set different information about the CPU to be presented to macOS instead of what usually would be, a process known as "spoofing".
The only setting here important to AMD CPUs is `DummyPowerManagement`, which needs to be enabled for macOS 10.15 Catalina to macOS 12 Monterey. It will have no effect in macOS 13 Ventura or macOS 14 Sonoma. For compatibility with more versions of macOS, this is recommended to be set True.

| Key | Type | Value |
| ----- | ----- | ----- |
| Cpuid1Data | Data | <> |
| Cpuid1Mask | Data | <> |
| DummyPowerManagement | Boolean | False |
| DummyPowerManagement | Boolean | True |
| MaxKernel | String | Placeholder |
| MinKernel | String | Placeholder |

Expand All @@ -65,42 +71,44 @@ Patches both the kernel and Kexts.

Placeholder Text instructing user what to set.

| Key | Type | Value |
| ----- | ----- | ----- |
| AppleCpuPmCfgLock | Boolean | False |
| AppleXcpmCfgLock | Boolean | False |
| AppleXcpmExtraMsrs | Boolean | False |
| AppleXcpmForceBoost | Boolean | False |
| CustomPciSerialDevice | Boolean | False |
| CustomSMBIOSGuid | Boolean | False |
| DisableIoMapper | Boolean | False |
| DisableIoMapperMapping | Boolean | False |
| DisableLinkeditJettison | Boolean | False |
| DisableRtcChecksum | Boolean | False |
| ExtendBTFeatureFlags | Boolean | False |
| ExternalDiskIcons | Boolean | False |
| ForceAquantiaEthernet | Boolean | False |
| ForceSecureBootScheme | Boolean | False |
| IncreasePciBarSize | Boolean | False |
| LapicKernelPanic | Boolean | False |
| LegacyCommpage | Boolean | False |
| PanicNoKextDump | Boolean | False |
| PowerTimeoutKernelPanic | Boolean | False |
| ProvideCurrentCpuInfo | Boolean | False |
| SetApfsTrimTimeout | Number | 0 |
| ThirdPartyDrives | Boolean | False |
| XhciPortLimit | Boolean | False |
| Key | Type | Value | Description
| ----- | ----- | ----- | ----- |
| AppleCpuPmCfgLock | Boolean | False | Should be set False. This is a workaround for certain firmwares when running macOS 12 and earlier on Intel CPUs. This does not apply to AMD CPUs.
| AppleXcpmCfgLock | Boolean | False | Should be set False. A workaround similar to the above. Does not apply to AMD CPUs. |
| AppleXcpmExtraMsrs | Boolean | False | Should be set False. Related to the above. Does not apply to AMD CPUs. |
| AppleXcpmForceBoost | Boolean | False | Should be set False. This quirk forces Intel CPUs to run at maximum speed at all times, potentially increasing performance and reducing CPU lifespan slightly. Does not apply to AMD CPUs. |
| CustomPciSerialDevice | Boolean | False | Should be set False. This quirk allows control over how the macOS kernel interacts with serial ports and can be ignored by most users. |
| CustomSMBIOSGuid | Boolean | True | Recommended set True. When used together with the PlatformInfo quirk `UpdateSMBIOSMode` set as Custom, it allows booting of Windows through OpenCore's bootpicker without the risk of losing Windows activation. Can break Bootcamp functionality on genuine Macs. |
| DisableIoMapper | Boolean | False | Should be set False. This setting controls part of Intel virtualisation technologies in the macOS kernel. Does not apply to AMD. |
| DisableIoMapperMapping | Boolean | False | Should be set False. This setting works around some issues with Intel virtualisation in specific circumstances. Does not apply to AMD. |
| DisableLinkeditJettison | Boolean | True | Should be set True. Helps Lilu.kext and possibly other kexts work properly without `keepsyms=1` in your boot-args. |
| DisableRtcChecksum | Boolean | False | Should be set False. This quirk can fix issues when rebooting or shutting down from macOS, where the system resets or starts back up into Safe Mode. |
| ExtendBTFeatureFlags | Boolean | False | Should be set False to start with. This quirk can force enable some Bluetooth functionality in macOS. This is not required for all Bluetooth adapters. You will need to research your particular adapter to see if this is required. |
| ExternalDiskIcons | Boolean | False | Should be set False. This is a workaround to force drive icons for AHCI disks to appear as internal. It does not actually make macOS see those drives as internal, and a DeviceProperties entry should be used instead if internal SATA drives are shown as removable in macOS. |
| ForceAquantiaEthernet | Boolean | False | Should be set False. This quirk is used to re-enable support for specific Aquantia 10GbE network adapters on Intel systems. Other methods are used to enable these network adapters for AMD based systems. |
| ForceSecureBootScheme | Boolean | False | Should be set False. This is used when macOS is running as a virtual machine in certain instances. Most users can ignore this. |
| IncreasePciBarSize | Boolean | False | Should be set False. This is a workaround for certain firmwares that do not behave correctly with PCI BARs. Does not apply to most users. |
| LapicKernelPanic | Boolean | False | A workaround for kernel panics related to LAPIC. Enable this quirk if you experience those. |
| LegacyCommpage | Boolean | False | Should be set False. This is a workaround for old versions of macOS when used with old CPUs lacking certain features. |
| PanicNoKextDump | Boolean | False | Recommended set False. This quirk prevents full kernel extension information from being included in kernel panic logs. |
| PowerTimeoutKernelPanic | Boolean | False | Recommended set False. This is a workaround for misbehaving devices that would otherwise trip the power change timeout detection and kernel panic introduced in macOS 10.15 Catalina. |
| ProvideCurrentCpuInfo | Boolean | True | MUST be set True for AMD systems and boot will fail without it. Required by the necessary AMD Vanilla kernel patches. |
| SetApfsTrimTimeout | Number | 0 | Recommended set `0`. This controls the trim behaviour for APFS drives during macOS boot. How you should set this will depend on what SSDs you have, with only WD or SanDisk branded SSDs recommended to set this `-1` to enable boot-time trim. |
| ThirdPartyDrives | Boolean | False | Recommended set False. This quirk forces activation of certain features such as SSD trim and hibernation on non-Apple drives. If these features are desired, they can be enabled with other more recommended methods. |
| XhciPortLimit | Boolean | False | MUST be set False. A workaround for older versions of macOS to assist in USB mapping that will cause instability in modern macOS. Current methods of USB mapping do not require this. |

<h2 class="key-title">Scheme</h2>

Placeholder Text instructing user what to set and why, if needed.

| Key | Type | Value | Description |
These are settings related to booting very old versions of macOS. You can ignore these.

| Key | Type | Value |
| ----- | ----- | ----- | ----- |
| CustomKernel | Boolean | False | Placeholder |
| FuzzyMatch | Boolean | False | Placeholder |
| KernelArch | String | Auto | Placeholder |
| KernelCache | String | Auto | Placeholder |
| CustomKernel | Boolean | False |
| FuzzyMatch | Boolean | False |
| KernelArch | String | Auto |
| KernelCache | String | Auto |

<h2 align="center">
<br>
Expand Down
38 changes: 19 additions & 19 deletions _configplist/02-AMD/01-Desktop/04-5XXX/06-Misc.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,25 +49,25 @@ You do not have to set this up, and serves as information for those who wish to

<h2 class="key-title">Boot</h2>

Placeholder Text

| Key | Type | Value |
| ----- | ----- | ----- |
| ConsoleAttributes | Number | 0 |
| HibernateMode | String | Placeholder |
| HibernateSkipsPicker | Boolean | False |
| HideAuxiliary | Boolean | False |
| InstanceIdentifier | String | Placeholder |
| LauncherOption | String | Placeholder |
| LauncherPath | String | Placeholder |
| PickerAttributes | Number | 0 |
| PickerAudioAssist | Boolean | False |
| PickerMode | String | Placeholder |
| PickerVariant | String | Placeholder |
| PollAppleHotKeys | Boolean | False |
| ShowPicker | Boolean | False |
| TakeoffDelay | Number | 0 |
| Timeout | Number | 0 |
These settings control various boot behaviours for OpenCore and its boot picker.

| Key | Type | Value | Description |
| ----- | ----- | ----- | ----- |
| ConsoleAttributes | Number | `0` | Allows selecting the colors for OpenCore's text mode display. See Configuration.pdf for details. |
| HibernateMode | String | `None` | Sets which mode OpenCore's hibernation detection should operate in. |
| HibernateSkipsPicker | Boolean | False | When set True, this tells OpenCore to not show its boot picker when waking macOS from hibernation. See Configuration.pdf for details. |
| HideAuxiliary | Boolean | False | Recommended set False. When set True, this will hide certain entries from being initially displayed in the boot picker. Pressing Spacebar will show all detected entries. During initial setup this should be False as to not hide important entries. |
| InstanceIdentifier | String | <Empty> | This allows you to set a unique identifier for different instances of OpenCore. Its purpose and usage is explained in Configuration.pdf |
| LauncherOption | String | `Full` | This controls how OpenCore asks the system firmware to create a boot entry for itself. The Full option will work for most users. For detailed information and other possible settings, see Configuration.pdf |
| LauncherPath | String | `Default` | Should be set to the word `Default`. This setting is used to set the path to any custom bootloader in use for OpenCore. Most users do not need to change this. |
| PickerAttributes | Number | `17` | Recommended set to `17`. OpenCore has various options available for the boot picker, which this setting controls. This setting takes a bitmask made up of various attributes which are explained in Configuration.pdf. In this case, `17` translates to enabling loading icons from macOS volumes to show macOS logos in a graphical boot picker, and enables cursor control. |
| PickerAudioAssist | Boolean | False | When set True, this enabled the boot picker screen reader feature of OpenCore. For this to work, the audio resources must be present in OpenCore's EFI folder and boot picker UEFI audio support enabled. |
| PickerMode | String | Builtin | This setting controls which boot picker mode OpenCore will attempt to use by default. `Builtin` is a text based list of boot options. When set to `External` it allows the use of other boot pickers that allow graphics and other features. This will be covered in more detail later on in this guide. |
| PickerVariant | String | `Auto` | This setting determines the icon set used for the boot picker. Has no effect if there are no icon resources or external boot picker available. |
| PollAppleHotKeys | Boolean | True | Recommended set True. This setting makes certain hotkey combinations easier to use from the OpenCore boot picker. See Configuration.pdf for details. |
| ShowPicker | Boolean | True | Should be set True. When set False, this setting hides the boot picker completely and OpenCore will instead automatically boot whichever boot option is set as the default. |
| TakeoffDelay | Number | `0` | This setting adds a delay, in microseconds, before OpenCore checks which hotkeys are pressed and starting the boot picker. This can make it easier to perform certain hotkey combinations. See Configuration.pdf for further information. |
| Timeout | Number | 0 | Recommended set `0`. This is the time in seconds OpenCore should wait before automatically booting the default boot option. During initial setup this is recommended to be set to `0` to disable automatic booting. |

<h2 class="key-title">Debug</h2>

Expand Down
3 changes: 3 additions & 0 deletions _configplist/02-AMD/01-Desktop/04-5XXX/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ This page is not complete! Do not follow until warning has been removed.
2. Follow a linear process so people can return to previous pages
3. Maintain seperate pages for easier updating as instructs get confirmed/deconfirmed

These guides have sections that follow the different parts of OpenCore's config.plist file. You will start at the top of the file, and follow each section of the guide in order until you've finished setting up the configuration.
As always, take your time and look things up if they don't make sense. The Configuration.pdf document found in the Docs folder of your OpenCore download has detailed explanations of what everything in config.plist is for.

<h2 align="center">
<br>
<div class="navigation-container">
Expand Down
2 changes: 1 addition & 1 deletion _configplist/02-AMD/01-Desktop/06-9XXX/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: default
title: Ryzen 7000 Series
title: Ryzen 9000 Series
parent: Desktop CPUs
grand_parent: AMD CPUs
nav_order: 6
Expand Down
3 changes: 3 additions & 0 deletions _configplist/02-AMD/02-Mobile/01-2XXX-Mobile/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ This page is not complete! Do not follow until warning has been removed.
2. Follow a linear process so people can return to previous pages
3. Maintain seperate pages for easier updating as instructs get confirmed/deconfirmed

These guides have sections that follow the different parts of OpenCore's config.plist file. You will start at the top of the file, and follow each section of the guide in order until you've finished setting up the configuration.
As always, take your time and look things up if they don't make sense. The Configuration.pdf document found in the Docs folder of your OpenCore download has detailed explanations of what everything in config.plist is for.

<h2 align="center">
<br>
<div class="navigation-container">
Expand Down
6 changes: 5 additions & 1 deletion _configplist/02-AMD/02-Mobile/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,8 @@ has_toc: true
<h4 align="center">This page is a stub, we have enabled the ToC for the moment, but this page should:</h4>
<br>

1. Give a comprehensive chart of all available guides we have for this section.
1. Give a comprehensive chart of all available guides we have for this section.

This section contains guides on setting up OpenCore for various mobile AMD CPUs. These are found in laptops and in some mini-PCs and will largely have the same things to keep in mind when configuring them.

To continue, select the series your CPU falls under in the table of contents.

0 comments on commit 65c1f49

Please sign in to comment.