Quick update, I removed SecureBootModel from example setup.py, it will automatically revert to Default which is currently set to x86legacy:
if __name__ == '__main__':
kexts = [
{
'project': 'latebloom',
'repo': 'macrumors',
'version': '0.20'
},
{
'project': 'Lilu',
'repo': 'acidanthera',
'version': '1.5.6'
},
{
'project': 'FeatureUnlock',
'repo': 'acidanthera',
'version': '1.0.3'
},
{
'project': 'WhateverGreen',
'repo': 'acidanthera',
'version': '1.5.3'
}
]
build = OpenCoreBuild('Volumes/EFI', kexts)
build.write_tree()
...
'Drivers': [
{
'Path': 'OpenCanopy.efi',
'Enabled': True,
'Arguments': ''
},
{
'Path': 'OpenRuntime.efi',
'Enabled': True,
'Arguments': ''
}
],
if __name__ == '__main__':
build = OpenCoreBuild('Volumes/EFI')
build.kexts = [
{
'project': 'Lilu',
'repo': 'acidanthera',
'version': '1.5.6'
},
{
'project': 'FeatureUnlock',
'repo': 'acidanthera',
'version': '1.0.3'
},
{
'project': 'WhateverGreen',
'repo': 'acidanthera',
'version': '1.5.4'
}
]
build.patches = [
{
'Base': '_early_random',
'Find': build.unhexlify('00 74 23 48 8B'),
'Identifier': 'kernel',
'Limit': 800,
'MinKernel': '20.4.0',
'Replace': build.unhexlify('00 EB 23 48 8B')
},
{
'Base': '_register_and_init_prng',
'Find': build.unhexlify('BA 48 01 00 00 31 F6'),
'Identifier': 'kernel',
'Limit': 256,
'MinKernel': '20.4.0',
'Replace': build.unhexlify('BA 48 01 00 00 EB 05')
}
]
build.write_tree()
...
'Drivers': [
{
'Arguments': '',
'Comment': '',
'Enabled': True,
'Path': 'OpenCanopy.efi'
},
{
'Arguments': '',
'Comment': '',
'Enabled': True,
'Path': 'OpenRuntime.efi'
}
],
xcode-select --install
build.patches = [
{
'Base': '_early_random',
'Comment': 'SurPlus 1',
'Find': build.unhexlify('00 74 23 48 8B'),
'Identifier': 'kernel',
'Limit': 800,
'MinKernel': '20.4.0',
'Replace': build.unhexlify('00 EB 23 48 8B')
},
{
'Base': '_register_and_init_prng',
'Comment': 'SurPlus 2',
'Find': build.unhexlify('BA 48 01 00 00 31 F6'),
'Identifier': 'kernel',
'Limit': 256,
'MinKernel': '20.4.0',
'Replace': build.unhexlify('BA 48 01 00 00 EB 05')
},
{
'Base': '_work_interval_port_type_render_server',
'Comment': 'MonteRand 1',
'Find': build.unhexlify('0F C7 F1 73 FB 21 F1 39 D1 73 F5 89 C9 48 8B 94 CD D0 FD FF FF'),
'Identifier': 'kernel',
'Limit': 3900,
'MinKernel': '21.2.0',
'Replace': build.unhexlify('31 C9 90 90 90 21 F1 39 D1 73 F5 89 C9 48 8B 94 CD D0 FD FF FF')
},
{
'Base': '_panic_with_thread_context',
'Comment': 'MonteRand 2',
'Find': build.unhexlify('0F C7 F2 73 FB 83 E2 0F 83 FA 07 77 F3 0F B7 34 41'),
'Identifier': 'kernel',
'Limit': 10100,
'MinKernel': '21.2.0',
'Replace': build.unhexlify('31 D2 90 90 90 83 E2 0F 83 FA 07 77 F3 0F B7 34 41')
}
]
setup.py
file, except the new software versions. build.kexts = [
{
'project': 'ASPP-Override',
'properties': {
'ExecutablePath': '',
'MinKernel': '21.4.0'
},
'repo': 'dortania',
'version': '1.0.1'
},
__MACOSX
directory inside OC/Kexts
directory, so I re-zipped the .kext file with a standard command. See details into README.~$ git clone -b 1.2.6 --depth 1 https://github.com/axivo/opencore.git
~$ cd opencore
~$ python -B setup.py
setup.py
example settings to see how the required ASPP-Override
kext is implemented.~$ git clone https://github.com/axivo/opencore.git
~$ cd opencore
~$ python3 -B setup.py
SetApfsTrimTimeout
to 0, in your setup.py
file.You can always run safely the latest pull from GitHub repo, this will upgrade everything to latest OC version. That's the purpose of this tool, to have everything easy for the end-user.1. I am running a previous version of OpenCore that seems to work
All you need is to set the correct GPU path, easiest way to get the correct path is with Hackintool. Right-click on device and select2. I have an RX560 graphics card, pretty close cousin to the RX580; is there anything you know of that I need to change for that in setup.py?
Copy Device Path
, this is what I have in my Mac Pro for Radeon RX580: PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)
That's an automated process, the generator will detect if you have single or dual processors and if you have dual, it will automatically inject the AppleMCEReporterDisabler.kext for you. Keeping things simple for end-user, you only need that kext for dual processors.3. I'm confused about AppleMCEReporterDisabler: it doesn't appear in the example setup.py, yet I still see it being processed when setup.py is run.
There are two approaches used for optional AVXpel implementation: the patch created by @Syncretic or the NoAVXFSCompressionTypeZlib library created by @khronokernel. He extracts the 12.3.1 library from previous OS, to be injected as kext. The end result is identical and to simplify the setup process, my generator uses the library. End-user does not have to do anything, beside adding the instructions into setup.py:4. Does anyone have a working example of how to integrate AVXpel into setup.py?
build.kexts = [
{
'project': 'NoAVXFSCompressionTypeZlib',
'properties': {
'MinKernel': '21.5.0'
},
'repo': 'dortania',
'version': '12.3.1'
}
]
Think of setup.py as your commander, you tell with that file to OC how to build the /EFI and configuration file. If you leave the setup.py the way it is with no customizations, the generator will build the /EFI and configuration file with default OC values.5. When it comes to maintenance...
$ python3 -B flaubert.py
PciRoot
for your GPU and NVMe.