OpenCore: Black Screen after Boot Picker - even after added boot-arg "agdpmod=pikera" and ProvideConsoleGop "True"

Hi

I've built my first PC last week and am quite happy with it and the installed Win 10. From the first day of planning I was determined to get macOS Catilina on it via dualboot, though. (I chose parts accordingly and checked them with this community...) So I dove into OpenCore etc this weekend and failed spectacularly at first, because I just copied some config.plist etc from TechTeamGB. (To all newbies like me: Such lazy behavior won't lead to success; do it right!)

I'm now at a different point: I read large parts of the OpenCore Documentation and built my own USB stick from scratch according to Snazzy Lab's Video (very helpful); that included my very "own" config.plist (see B) below!!). Download config here.).

I though that it should work now and even got rid of some error messages on boot (e.g. requiredvault - see here, below B)g.IV.), but after the boot picker I get a black screen eventhough I have added the following boot flags (see below B)f.II.) and enabled GOP (below B)7.7.) in config.plist:

Parent Keys Key Value Source
NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/ boot-args debug=0x100 agdpmod=pikera Github, khronokernel, khronokernel, Macrumors, WhateverGreen, WhateverGreen Radeon FAQ
UEFI/Quirks/ ProvideConsoleGop True khronokernel/troubleshooting

Maybe something about the GPU (I switched ports...)? Maybe still something about the config.plist (downloadable below under B)!)...?!

What I've tried:

  • I searched the internet and documentation for this, but have not found anything and have no error code or anything to determine the error...
  • The generated logs are empty.
  • Maybe something about WhateverGreen (I have 1.3.6 on the stick)? I checked with WEG 1.3.6 and 1.3.4 - somewhere (?) this was suggested), same black screen... Nothing in WEG FAQ.
  • I switched DP and even HDMI output ports as this partially suggests.
  • Cannot switch off iGPU, as there is none.
  • CSM is disabled in BIOS.
  • Disable WhateverGreen.kext altogether as this partially suggests (via Kernel Key). Also tried to disable WhateverGreen with boot flag -wegoff from here. Problem persists.
  • Use agdpmod=vit9696 instead of agdpmod=pikera in boot-args. This suggests to, this doesn't. Problem persists either way.

Any help is appreciated!!

***********************

  • My core setup

PCPartPicker Part List

Type Item
CPU AMD Ryzen 5 3600X 3.8 GHz 6-Core Processor
CPU Cooler Noctua NH-D15S 82.52 CFM CPU Cooler
Motherboard MSI B450 GAMING PRO CARBON AC ATX AM4 Motherboard
Memory G.Skill Flare X Series 16 GB (2 x 8 GB) DDR4-3200 Memory
Storage ADATA XPG SX8200 Pro 2 TB M.2-2280 NVME Solid State Drive
Video Card PowerColor Radeon RX 5700 XT 8 GB Red Devil Video Card
Power Supply Corsair HX Platinum 750 W 80+ Platinum Certified Fully Modular ATX Power Supply
Additional WLAN Card Fenvi FV-A436CD with Broadcom BCM94360CD chipset, natively supported by macOS; from AliExpress

  • My procedure (also as help for other newbies)

A) The basic build

  1. Built PC.
  2. Installed Windows 10 from USB stick (made from Microsoft Media Creation Tool, instructions here, don't forget to install in UEFI mode - see second link in 3.!). Did some fan adjustments in BIOS too...
  3. Set up Windows 10, installed drivers (see here and here).
  4. Created a system image of this Windows 10 on an external drive. Maybe do this after the following two parts (B & C) to save those changes too...

B) Creating the OpenCore Stick

  1. Followed Snazzy Lab's Video (read its description!) to create the OpenCore stick, everything on the above Win10**:** (useful additional help: khronokernel and VanillaAMD and Github)
    1. (Maybe format your stick to GUID HFS+ via Linux or Mac first... See Github.)
    2. Downloaded latest macOS via gibMacOs.bat (Recovery package!) (Admin privileges needed!). Update 7zip first for step B)1.II. and B)1.III. and use a Lan connection!
    3. Made a bootable install of that via Makeinstall.bat (Number + o) (Admin privileges needed!).
    4. Opened the EFI folder on the now newly made USB stick.
    5. Deleted everything (3 files) in EFI/OC/Drivers/, except FwRuntimeServices.efi.
    6. Deleted everything (2 files) in EFI/OC/Tools/.
  2. Put in the following drivers from AppleSupportPkg on the stick to EFI/OC/Drivers/:
    1. ApfsDriverLoader.efi
    2. VBoxHfs.efi
  3. Put KEXT and SSDT and Drivers on the stick:
    1. Read the OC documentation from OpenCorePkg!
    2. For troubleshooting afterwards - while booting from the stick - consult: khronokernel/troubleshooting!!
    3. Put the following KEXTs on the stick, all in EFI/OC/Kexts (instructions: khronokernel, more kexts: onedrive):
      1. VirtualSMC.kext - emulates Apple's SMC chip.
      2. Lilu.kext - kext patch to run other kexts.
      3. WhateverGreen.kext (1.3.6) - graphics patching.
      4. AppleALC.kext - for onboard audio.
      5. SmallTreeIntelI82576.kext - for my board's I211-AT Ethernet.
      6. USBInjectAll.kext - for my USB controller.
      7. NullCPUPowerManagement.kext - nullify Intel's power management.
      8. AppleMCEReporterDisabler.kext - disables AppleMCEReporter on AMD CPUs.
      9. NVMeFix.kext - for non-Apple NVMe.
      10. no Kexts needed for WLAN/BT (see here.)
      11. (I have no idea whether I need all of them...)
    4. Put the following SSDTs on my stick with SSDTTime (instructions: khronokernel) in EFI/OC/ACPI (run SSDTTime.py, Admin privileges maybe needed!, this only worked once for me?!: press 4+Enter, then 2+Enter, files created in folder "Results" within the SSDTTime folder. MUST BE DONE ON THE SPECIFIC MACHINE!!):
      1. DSDT.aml
      2. SSDT-EC.aml
      3. SSDT-EC.dsl
    5. Created the config.plist with ProperTree (search with crtl+f!) (full instructions: khronokernel plus config documentation mentioned above in B)3.a.!!):
      1. Renamed "simple.plist" in the downloaded OpenCorePkg folder to "config.plist" and copied it over to the stick into EFI/OC/.
      2. Open Propertree.bat (Admin privileges maybe needed!) and opened said config.plist via the menu bar "File" of proper tree.
      3. Created my own config via "OC snapshot" in the menu bar "File", navigated to EFI/OC of my stick.
      4. Patched my config with patches.plist from AMD_Vanilla (17h): Open simultaneously in ProperTree. (See Snazzy Laps Video and this on how!)
    6. Made adjustments to config.plist according to the Snazzy Lab's Video's Description! Crossed out above, plus:
      1. Set Enabled (the etry above SSDT-EC) to Truein ACPI/Add/1/. 1 change.
      2. Added boot flags debug=0x100 agdpmod=pikera to NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/boot-args. Is now: -v keepsyms=1 debug=0x100 agdpmod=pikera. (See also: Github, khronokernel, khronokernel, Macrumors, WhateverGreen, WhateverGreen Radeon FAQ). 1 change.
    7. Edited config.plist in the following ways myself (partly later because of errors):
      1. Set AllowNvramReset from False to True in Misc/Security/, because of khronokernel. (See also khronokernel and khronokernel). Allows to reset NVRAM from boot picker. 1 change.
      2. Deleted #WARNING -1 and #WARNING -2 (according to Github) in the beginning of config.plist. 2 changes.
      3. Created and filled in "my own" Serials (instructions: khronokernel) in PlatformInfo/Generic/ with GenSMBIOS and randomised ROM (see khronokernel again - couldn't get valid serials though!): 2 changes for MLB, 2 for SystemSerialNumber, 2 for SmUUID/SystemUUID, 1 for ProductName, 1 for ROM.
      4. Set RequireSignature & RequireVault from True to False in Misc/Security/, because of later booting error "no vault provided!", (see documentation, page 29-30 and insanelymac as well as khronokernel; see also khronokernel/troubleshooting). 2 changes.
      5. Set ScanPolicy to 0 in Misc/Security, becaue of error "OCB: OcScanForBootEntries failure - Not Found". (See khronokernel/troubleshooting). 1 change.
      6. Set PlatformInfo/Generic to "Automatic" (maybe was before), because of error "This version of Mac OS X is not supported: Reason Mac..." (see khronokernel/troubleshooting). 1 change.
      7. Set ProvideConsoleGop from False to True in UEFI/Quirks/ because of black screen after picker (see khronokernel/troubleshooting). 1 change.
    8. Went though Vanilla Guide/amd-config.plist and compared it with my config.plist. Applied the following changes:
      1. Removed PciRoot(0x0)/Pci(0x1b,0x0) in DeviceProperties/Add/ as well as PciRoot(0x0)/Pci(0x1b,0x0) in DeviceProperties/Block , because of this part.
      2. Set ExternalDiskIcons and PanicNoKextDump and PowerTimeoutKernelPanic and XhciPortLimit to True in Kernel/Quirks/, because of this part.
      3. Set DisableWatchDog to True, DisplayLevel from 2147483650 to 2147483714 and Target from 3 to 67 in Misc/Debug/, because of this part.
      4. Set AllowSetDefault to True in Misc/Security/, because of this part. Allow CTRL+Enter and CTRL+Index to set default boot device in boot picker. (Other changes to Misc/Security/ above: B)g.I, B)g.IV., B)g.V.!!)
      5. Set WriteFlash to True in NVRAM/ (t), because of this part. (Other changes to NVRAM above: B)f.II.!!)
      6. Changes to PlatformInfo: See above, 1.3.!! Couldn't get valid serials...
      7. Set PointerSupportMode to blank/empty in UEFI/Input/, because not on ASUS board. See this part.
      8. Set ConsoleControl to True in UEFI/Protocols/, because of this part.
      9. Set ProvideConsoleGop & RequestBootVarFallback to True in UEFI/Quirks/, because of this part (as above).
    9. Saved via menu bar "File".

--> Download my config.plist. (I can only recommend doing this if you have the exact, EXACT same setup as I have. Also I'd recommend you to build it yourself and learn something while doing so! You might appreciate that knowledge after future updates to macOS! Also: At this point I cannot install macOS properly...)

C) Created bootable Linux stick and made partitions on my internal SSD for dual boot (I was recommended this procedure here):

  1. Still in Windows 10: Followed the Ubuntu Tutorial to make another stick.
  2. Made new partions for macOS. Pressed Windows+x, opened Disk Management:
    1. Shurk C: to about 1 TB (don't touch the smaller partitions to the left!).
    2. Made a new simple volume from the remaining 1TB.
    3. Shurk that new partition to 200 MB. (Will be macOS' EFI).
    4. Made a new simple volume from the remaining 999.8 GB. (Will be macOS' main drive).
  3. Shut down Windows 10 and booted into said Linux.
  4. Got synaptic and hfsprogs for Linux:
    1. Searched the Programs for "Software & Updates", open that. Enable second option: Community-maintained free and open-source software (universe). "Close" this window and let it do it's download.
    2. Opened the Terminal (SHORTCUT=> Ctrl+Alt+T), entered:
      1. sudo apt-get update
      2. sudo apt-get install synaptic
      3. sudo apt-get install hfsprogs
  5. Searched in Programs for "Disks", open that. Designated the 200MB partition from above as EFI (I believe via the cog wheels > Format Partition). Close that window.
  6. Searched in Programs for "GParted", open that. Right-click the 200MB and afterwards the 999.8GB partition to rename and reformat them to hfs+. Apply.
  7. Shut down Linux.

D) Bios changes:

  1. Started computer and entered the BIOS.
  2. Changed all settings I could find from
    1. https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/amd-config.plist/amd-config#amd-bios-settings and
    2. https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/#recommended-bios-settings
  3. These settings were quiet hard to find, especially since they are not all named like on the mentioned pages. I there won't get into those settings at this point. Googling each item from the lists above followed by "msi bios" helped somewhat.
  4. Saved changes and restarted the computer.

E) Booted again, with the OpenCore Stick connected, temporarily changed the boot partition with F11 and chose my stick (some of the above mentioned config.plist changes were applied AFTER this step, because certain errors occured):

  1. Got to the boot picker and reset NVRAM.
  2. Restarted the same way and chose the macOS installer.
  3. Got a black screen. :/
submitted by /u/CrayCJ
[link] [comments]