Skip to content
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

Merged
merged 3 commits into from
Dec 28, 2020
Merged

Added missing required quirks #470

merged 3 commits into from
Dec 28, 2020

Conversation

keatliang2005
Copy link
Contributor

Quirks across booter, kernel and UEFI

Quirks across booter, kernel and UEFI
@osy
Copy link
Owner

osy commented Dec 16, 2020

Does this fix the PCI configuration issue?

@keatliang2005
Copy link
Contributor Author

Does this fix the PCI configuration issue?

yes, boot on v2.15 without issues

OC/config.plist Outdated
@@ -227,14 +227,40 @@
<dict>
<key>Quirks</key>
Copy link
Collaborator

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.

Copy link
Contributor Author

@keatliang2005 keatliang2005 Dec 17, 2020

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

Copy link

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.

Copy link

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.

Copy link

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.

Copy link

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.

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 ^^

Copy link

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.

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

Copy link

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>
Copy link
Collaborator

@goodbest goodbest Dec 17, 2020

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.

Copy link
Contributor Author

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>
Copy link

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>
Copy link

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>
Copy link

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.

@osy
Copy link
Owner

osy commented Dec 18, 2020

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.

@keatliang2005
Copy link
Contributor Author

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
@vit9696
Copy link

vit9696 commented Dec 18, 2020

@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.

@osy osy merged commit 8c25379 into osy:master Dec 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants