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
Add important missing information regarding ProcessorType to README #4
Conversation
README.md
Outdated
@@ -16,6 +16,8 @@ The list of patches currently includes: | |||
|
|||
_Note_: Apple CPU identifier must be `<0F01>` for 8 core CPUs or higher and `<0601>` for 1, 2, 4, or 6 cores. This is the default in OpenCore for non-natively supported CPUs. | |||
|
|||
_Important Note_: The key `PlatformInfo > Generic > ProcessorType` is stored as a Number (Decimal), not Data (Hex). You cannot change this key to data, as OpenCore will break. In order to do the above, you will need to convert your desired ProcessorType from Hex to Decimal first, and put that in the ProcessorType 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.
This feels wrongly worded. OpenCore will not break, it is your configuration that is broken when you enter invalid data. Also, Xcode does allow entering 0x010F into numeric fields with automatic conversion, so I do not see a problem here.
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.
Hmm, yeah I see how that could be misinterpreted. Would "You cannot change this key to data, as OpenCore will reject the configuration on next boot." be better?
On your second point, while Xcode may automatically convert it, ProperTree does not. Perhaps that's something I ask CorpNewt about, but I don't think this issue is resolved by just telling people to use Xcode or not telling them at all.
The whole reason for this issue to exist is because it took me a while to figure it out, so wanted to add a note of clarification for the next person who is also stuck.
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.
Maybe we should just add data support to OpenCore in this field?
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.
Oh. Yeah that would probably work better.
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.
I talked to CorpNewt about this and he said that ProperTree DOES convert hex to dec automatically, but only if you write the hex as 0xFFFF, not as displayed in the readme. He added that he wasn't sure why its written as in this README and in the file included with the OC Installation Guide.
Given this, I think the straight forward solution for now is to just change <0601> to 0x0601 in the readme.
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.
0x0601 != <0601>. It must be 0x0106, due to endianness.
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.
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.
Interesting, then it sounds like a mistake in the README. Ok, I guess we should change it to 0x601 then.
Right now, the README says you need to change your Apple CPU identifier to <0F01> or <0601>. The problem is that OpenCore stores the key ProcessorType as number, not data. So just putting in 0601 won't work, and you can't change it to data without OpenCore failing to boot.
Proposed change would add a "Important Note" below the "Note" that clarifies this to reduce confusion.