NanoSector / b250m-opencore-config

OpenCore configuration for my personal desktop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

b250m-opencore-config

OpenCore configuration for my personal desktop.

OpenCore version tested with: 0.7.8

macOS version tested with: 12.2.1

Please do not use this with any newer or older version as some options may no longer exist or be interpreted differently, or new options may be needed in order to successfully boot.

Specs

  • CPU: i7 6700
  • Board: Gigabyte B250M-D3H (BIOS F10)
  • GPU: Sapphire Radeon RX 580 4GB
  • RAM: 16 GB Crucial Ballistix 2400 MHz DDR4 @ 2133MHz
  • SSD: 512 GB Samsung 970 EVO
  • SSD: 256 GB Samsung 850 EVO
  • Wifi: Fenvi T919
  • Monitors: 2x Philips 245E
  • Audio: HDMI audio via Onkyo TX-NR609

BIOS Settings

See the screenshots under the BIOS directory.

OpenCore config noteworthy things

  • SIP is completely enabled
  • ig-platform-id is set to 0x19120001 for connectorless mode. This fixes JPEGs not opening properly among other things. Netflix is still broken.
  • vault.plist is enabled and signed, be sure to either disable it or generate a vault.plist
  • Apple Secure Boot is set to level Basic
  • ScanPolicy is set to a value that only scans NVMe drives and specific partition types. If you do not want to use an NVMe drive, you will need to change this.
  • The firmware has no MAT support, so EnableWriteUnprotector needs to be used for a succesful boot instead of the recommended RebuildAppleMemoryMap.

ScanPolicy enabled flags

TODO: Update this, it allows Linux now ScanPolicy is set to a value of 525571 or binary 000010000000010100000011. This means the following flags are set:

  • OC_SCAN_FILE_SYSTEM_LOCK (bit 0)
  • OC_SCAN_DEVICE_LOCK (bit 1)
  • OC_SCAN_ALLOW_FS_APFS (bit 8)
  • OC_SCAN_ALLOW_FS_ESP (bit 10)
  • OC_SCAN_ALLOW_DEVICE_NVME (bit 19)

Please refer to the OpenCore manual for the meaning of these flags. In short, these flags allow scanning of APFS partitions (for macOS) and the ESP partition (for Boot Camp) on NVMe drives only.

ACPI edits

See the ACPI subfolder.

  • EC: EC patch
  • PLUG: Sets plugin-type to 1, needed for AGPM and proper CPU power management.
  • SBUS: System bus patches used to enable the AppleSMBusPCI kext
  • USBX: Sets various USB power management properties

Device Properties

  • PciRoot(0x0)/Pci(0x1f,0x3): Realtek ALC892
    • layout-id: 1, used to tell AppleALC which layout ID to pick to get the onboard sound working.
  • PciRoot(0x0)/Pci(0x2,0x0): Intel HD Graphics 530
    • ig-platform-id: 0x19120001 (reversed) to enable a connectorless mode for the onboard graphics. Used to get acceleration working in various areas.
  • PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0): Fenvi T-919
    • brcmfx-country: NL to make optimal use out of the Fenvi card and to reduce possible interference with surrounding devices.

Drivers

TODO: Add new filesystem drivers to the list Not included in this repo, I use the following drivers:

  • OpenCanopy (in the OpenCore package)
  • OpenRuntime (in the OpenCore package)
  • HFSPlus

Kexts

Not included in this repo, I use the following kexts:

  • AppleALC: Fixes for HDMI and onboard audio
  • IntelMausi: Driver for the built-in Ethernet controller
  • Lilu: Requirement for most other kexts in this list
  • NVMeFix: Fixes for NVMe drives
  • UTBPorts: Generated with USBToolbox, used for injecting only USB ports which are in use, to keep the system inside the 15 port limit
  • VirtualSMC: SMC emulator
  • WhateverGreen: Required for proper functioning of both the integrated graphics card in headless/connectorless mode, and the RX580

Current issues

No Netflix in Safari

Known DRM issue. Shikigva=80 does not fix this.

About

OpenCore configuration for my personal desktop