-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added missing required quirks #470
Conversation
Quirks across booter, kernel and UEFI
Does this fix the PCI configuration issue? |
Kaby lake G is 8th Gen cpu
yes, boot on v2.15 without issues |
OC/config.plist
Outdated
@@ -227,14 +227,40 @@ | |||
<dict> | |||
<key>Quirks</key> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to dortania's tutorial , you have to:
- enable
EnableWriteUnprotector
- disable
ProtectUefiServices
,RebuildAppleMemoryMap
,SyncRuntimePermissions
However the effect is not tested yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
actually i also struggle for this too.
cause:
- Kaby lake G is refreshed Kaby lake, and it's marketed as 8th Gen,
- the guide is reference to 7th gen.
- should we follow 7th gen or 8th gen
currently i am running on this configuration (8th gen)
- i didn't notice any defects yet
- any power management issues, sleep
- kernel panics
this is worth digging on to it.
enable EnableWriteUnprotector
disable ProtectUefiServices, RebuildAppleMemoryMap, SyncRuntimePermissions
by the way how about
DevirtualiseMmio
PS: let me test the above suggestion and i will be reporting this back in few days
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This depends on MAT presence. Check the debug log if MAT is present, if it is, EnableWriteUnprotector should not be needed. Refer to Configuration.pdf for more details. Also make sure to try booting Windows and Linux before merging this. Setting the quirks incorrectly may result in breaking any of the systems.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DevirtualiseMmio is safe to enable on any AMI firmware starting from Skylake, it allows you to reclaim a bit more memory in macOS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
EnableSafeModeSlide depends on slide=0 availability on your target system. Easiest to check is through the debug log. You can also test safe mode (hold shift or use -x boot argument) with and without this quirk.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check whether MMIO devirtualisation happens in the log with and without this flag. If it disappears when you disable it, it is needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check whether MMIO devirtualisation happens in the log with and without this flag. If it disappears when you disable it, it is needed.
Thank you so much for your reply. Well, I'm currently using DevirtualiseMMIO
since without it I can't even boot with MAT Support 1 quirks.
My current enabled quirks are:
AvoidRuntimeDefrag
DevirtualiseMmio
RebuildAppleMemoryMap
SetupVirtualMap
SyncRuntimePermissions
Here you are the log file without ProtectUefiServices: LOG
If it disappears when you disable it, it is needed.
So theorically I should leave it disabled, right?
Thank you so much ^^
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you can leave it disabled. It will not do harm if it is enabled, but there is no real benefit either.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you can leave it disabled. It will not do harm if it is enabled, but there is no real benefit either.
Okay thank you so much. At this point I have a doubt: when should we enable DevirtualiseMMIO? Excluding situations like mine where I can't even boot without it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whenever it finds anything and it boots with it.
OC/config.plist
Outdated
@@ -469,13 +495,41 @@ | |||
<key>Quirks</key> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to dortania's tutorial, you have to:
- disable
XhciPortLimit
(don't rely on it, says the tutorial. We already have DSL patch)
However the effect is not tested yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it seems no different. guess should change to false for this i guess. since we already have DSL patch
OC/config.plist
Outdated
<key>PanicNoKextDump</key> | ||
<true/> | ||
<key>PowerTimeoutKernelPanic</key> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You neither need PowerTimeoutKernelPanic nor XhciPortLimit as long as you have properly initialised hardware and working USB.
OC/config.plist
Outdated
@@ -591,8 +645,20 @@ | |||
</dict> | |||
<key>Quirks</key> | |||
<dict> | |||
<key>DeduplicateBootOrder</key> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's specific to ASUS. It will most likely be deprecated soon.
OC/config.plist
Outdated
<integer>0</integer> | ||
<key>IgnoreInvalidFlexRatio</key> | ||
<false/> | ||
<key>ReleaseUsbOwnership</key> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As long as XHCI controller works fine for you at boot, this is not needed.
Thanks for the comments @vit9696 my own method was to leave out any options that doesn’t need to change which should keep it at the default value. I only set keys that directly make an impact. Do you recommend explicit values for each item? @keatliang2005 can you find the minimum number of changes that fixes the issue? I’m hesitant to merge so much changes to the config especially since it seems like everything else was working fine for most people up until Big Sur. |
sure, so far i as i observed with v2.15 + DisableLinkeditJettison enabled it will boot. |
for Big Sur some system boot will stuck at PCI config, enable DisableLinkeditJettison quirks to resolve
@osy there is no such thing as default in OpenCore, only a failsafe, which most commonly has a not so useful value. According to Configuration.pdf you are not allowed to omit values, this is an error. |
Quirks across booter, kernel and UEFI