Jump to content

TRX40 Bare Metal - Vanilla Patches (Yes it works...but..is Proxmox better?)


Recommended Posts

There is no disrespect to you @fabiosunand I know what you are doing is in good faith.

 

The patches you published do not fully work for me at the moment and I would not expect you to release the new patches to anyone until algrey is happy for you to do so. Hopefully this will be soon but they could well change again with the next beta, in a week or so or whenever it is released by Apple. Hopefully they will make my system more stable.

Link to post
Share on other sites
  • Supervisor

good morning guys 🙂

Italy won a beautiful football match with England and my second dose of Pfizer vaccine is fortunately also losing intensity tighter small problems it has produced in me.

 

So I'll hopefully clarify it definitively.

 

I understand that it is very frustrating to see "solutions" and to be told I cannot provide them.

But, do you also know how much I spent for example to get out the patches for Monterey beta 1 stimulating, at times, perhaps, even in a heavy way, the managers of the same.

having said that, in this space I will try to make myself better understood by talking exclusively about what is available at the moment. That is the official patches downloadable from the official AMD OSX Github.

The patches are those valid up to Monterey Beta1 I will do a further reduction of the field and will think exclusively on systems ranging from Big Sur 11.4 to big Sur 11.5.beta 5

 

This discourse can be carried on up to Monterey beta 1 and, having an unreleased patch available also in Monterey beta 2.

But let's stay with the facts.

 

The schemes that I will propose are for clover bootloader.

Patches used are the same for both bootloaders, obviously with the respective names useful for the two bootloaders that have different nomenclature for their patches entries.

With the Opencore bootloader, it is possible to use two patches less, because the developers of Opencore have added a quirk not present in Clover.

 

Let's begin

0) algrey - Force cpuid_cores_per_package

1499709850_Screenshot2021-07-12at11_29_17AM.png.965e5e192ab9227639efc59b935d3a6b.png

 

This patch was first posted by algrey on insanelymac:

 

https://www.insanelymac.com/forum/topic/338516-opencore-discussion/?do=findComment&comment=2762290

https://www.insanelymac.com/forum/topic/338516-opencore-discussion/?do=findComment&comment=2762342

 

links have been edited few times I think so data could differ a bit.

 

then it was converted by me for Clover and also explained on our forum in several places:

On 7/7/2021 at 8:16 PM, fabiosun said:

la patch 0 che algrey ha pubblicato su Insanely Mac e' fatta per il mio processore

 

e' molto semplice ricrearla per altri tipi di cpu:

 

PatchProvideCurrentCpuInfo set cpuid_cores_per_package

f:4489EAC1 EA1A

r:BA1F0000 0090

attenzione

il valore 1F significa 31, il 3970 x ha 32 cores quindi come da sue indicazioni 32 -1=31=1F

A titolo di esempio per  una CPU con 8 cores:

8-1=7=07

per una da 16:

16-1=15=0F

e via dicendo

 

this above  is the patch that, most likely, is preventing the release of new patches for everyone.

Unfortunately it still doesn't work on macOS HighSierra in tests done in private

thanks to algrey.

 

1) algrey - commpage_populate -remove rdmsr

 

1109159038_Screenshot2021-07-12at12_00_20PM.png.409814e895ce6efb037ae55ddde55b19.png

 

2) algrey - cpuid_set_cache_info - cpuid 0x8000001D instead 4

 

666489292_Screenshot2021-07-12at12_01_34PM.thumb.png.b08622dbc2eb10df383e3cadc519ee2e.png

 

3) algrey - cpuid_set_cache_info - don't set cpuid_cores_per_package

 

1461795713_Screenshot2021-07-12at12_02_52PM.thumb.png.b0a0f9e38aa9eeedc4c1bd10d31c1395.png

 

4) algrey - cpuid_set_generic_info - remove wrmsr

 

71752842_Screenshot2021-07-12at12_03_37PM.png.1f1a052ea459d01da204c801e49b8ac4.png

 

5) algrey - cpuid_set_generic_info - set flag=1

 

638822786_Screenshot2021-07-12at12_04_34PM.png.a499a542506100716e7ed22b6c1f1e35.png

 

6) algrey - cpuid_set_info - GenuineIntel to AuthenticAMD

 

1748212305_Screenshot2021-07-12at12_05_15PM.thumb.png.927b748227032d739ec129efb0e3d323.png

 

7) algrey - cpuid_set_info - jmp to calculations and set cpuid_cores_per_package - 10.15/10.16

 

1106157379_Screenshot2021-07-12at12_05_57PM.thumb.png.cd5137f54912053c205289f4be8ad277.png

 

😎 algrey - cpuid_set_info - cores and threads calculations - 10.15/10.16

 

967120067_Screenshot2021-07-12at12_07_03PM.thumb.png.3ab1935742fa99f632594dbe73a634b7.png

 

9) algrey - i386_init - remove rdmsr (x3)

 

1340098031_Screenshot2021-07-12at12_07_50PM.thumb.png.c7a52107e69785203b207aa778697221.png

 

10) tsc_init - remove Penryn check to execute default case

 

1063878087_Screenshot2021-07-12at12_08_46PM.png.8a6878a8099543ee624a89cb81dba954.png

 

11) algrey - tsc_init - grab DID and VID from MSR

 

1757935800_Screenshot2021-07-12at12_09_42PM.thumb.png.a59f45a921976cbf4e88d1f7f58560fa.png

 

12) NoOne - lapic_init - remove version check and panic - 10.16

 

1585797750_Screenshot2021-07-12at12_10_43PM.thumb.png.870b4f01df31f30530ff84be04a7b2e2.png

 

13) DhinakG - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN - 11.3b1

 

1824407369_Screenshot2021-07-12at12_12_54PM.thumb.png.f8e8ce265e0adae364bbbaa6f3f55a21.png

 

now let's go a little deeper.

If I activate patch 0 I can deactivate the yellow patches  (this is also valid for osx like Monterey beta 1beta 1 (not in macOSHighSierra).

 

If I used opencore bootloader I can also do without the red patches (10,11), this activating a quirk that is unfortunately not present in clover at the moment.

quirk is:

ProvideCurrentCpuInfo

 

If you have followed this far, it is now possible for you to better understand what Patch 0 does.

Its work is done in the same way also in Beta 1, so if you update the present patches and the new ones available for beta 1 accordingly, activating or not the patches 0 you can reduce the number of patches of the family of those marked here in yellow .. and there are also in the latest release of the patches

if you proceed to this type of test, refer to find and replace and not to the names of the patches (they often take different names depending on who writes them in their config), it's a bad habit that I have too).

I usually try to download the latest official ones, and grab the ones that have the same find and replace that I use in my current working config.plist in use

 

if you have any questions, I will be happy to answer based on my knowledge on this topic

good day everyone

  • Like 1
  • Thanks 1
Link to post
Share on other sites
  • Supervisor
Posted (edited)
On 6/30/2021 at 10:17 PM, Arrakis said:

@iGPU

Wonderful job for simplifying the patches.

I am using your patch except the last two.

The job done is so good that I don't even need the argument : cpu_topology_sort -disable _x86_validate_topology  in the garbage 😄

I envy your talent in this area.

 

----------

 

 

@Arrakis

Now is also more clear why (about topology):

ProvideCurrentCpuInfo did the job

1376596308_Screenshot2021-07-12at9_08_58PM.thumb.png.9b7d97e5536c27a36e0b87a1245fe7d7.png

Edited by fabiosun
pictures added
Link to post
Share on other sites

Clover 12 Patch, Opencore, 9 Patch start Bigsur e thanks to Mario 😇

 

indeed in Clover it does not even serve to enable Quirk

 

 

 

 

1564600152_Schermata2021-07-12alle19_21_06.thumb.png.9a6bde46162f61b4970c05d035593b98.png

 

 

Schermata 2021-07-12 alle 19.10.29.png

  • Like 3
  • Haha 1
  • whahahah 1
Link to post
Share on other sites
  • Supervisor

Without making any kind of controversy, let me tell you to take a look at this plist and if you want,

try to adapt it to the bootloader you use and remember also patch 0 has a value (1F) for my 3970x, you must adapt to your cores cpu number.

all patches used are public and available

patch 0 later had some adjustments, in particular on the masks and on the count brought to 1

these adjustments are not yet published by the author, but are not necessary to make various modern systems work

 

 the patch published by algrey on insanely mac, allows you to remove several "XLNC" patches

In the usual spirit that has always distinguished us, if you want to try them, if they don't work for you post a debug ...

you will not believe it .. but this thread is also read by people who then solve the problems in the bootloaders 🙂

 

 

 

@carlo_67it should work also on your platform 😉

Mario* thanks you for trying the previous solution

 

 

UPDATE 17-07-2021:

 

 

  • +1 1
Link to post
Share on other sites
16 hours ago, carlo_67 said:

Clover 12 Patch, Opencore, 9 Patch start Bigsur e thanks to Mario 😇

 

indeed in Clover it does not even serve to enable Quirk

 

 

 

 

1564600152_Schermata2021-07-12alle19_21_06.thumb.png.9a6bde46162f61b4970c05d035593b98.png

 

 

Schermata 2021-07-12 alle 19.10.29.png

 

Amarioooooooo 😄

  • Like 1
  • Haha 1
  • whahahah 1
Link to post
Share on other sites
  • Supervisor

1049119044_Schermata2021-07-14alle20_19_24.thumb.png.b90b8fd41f60f5e8234237440458f87f.png

also clover 🙂

but it needs more patches

 

@Ploddlesit is not a special tool 🙂

it is a quirk and I have talked time ago here

AMD OSX Patches maintainer have done a pull request to add some patches to this quirks all we have in open core available

I have had an opencore debug boot loader with all these patches inserted in it
Only one patch is not public otherwise I 
wouldn't be able to boot in Clover Booloader

  • Like 1
Link to post
Share on other sites
  • Supervisor

1178931358_Schermata2021-07-14alle20_34_52.thumb.png.b1e106de0a93a90de5e33a478f5d0753.png

 

these are patches AMD OSX maintainer would like to insert in a quirk with Shaneee pull request, with these you can bypass a lot of patches enabling that quirk

If opencoredevs accept it would be possible to to reduce the list of visible patches in Kernel/patch section

 

 

  • Like 1
Link to post
Share on other sites

On a different topic (for those of us still stuck with M-ß1 and old patches...:classic_wink:), here is a way to adjust the labelling of the NVMeExpress setting in SystemInfo using a kext file (and then no injection is needed within DeviceProperties).

 

This kext file was created by apfelnico who posted it here (after his original post here). I've taken liberty in renaming the file (to better describe its function) and adding another section for TRX40 inside the file. You will have to change the settings for your drives; the uploaded file is for my drives and yours are probably different.

 

[But truly it is not dependent on the mobo, but rather simply on which NVMe drives are in your system as shown below. This means that the "X299" section can be deleted and also means that the "TRX40" section title I made, can be renamed to something else like "NVMeDrives". In fact, this is exactly what I did in the update to the uploaded file: the image of the Info.plist section that says "TRX40" now is "NVMeDrives".]

 

Basically, this kext injects your NVMe drive data so that Apple recognizes it as being an Apple SSD Controller rather than a Generic Controller. This is probably mostly cosmetic, but under the hood, who knows if Apple doesn't treat the controller differently?

 

Before using the kext (note "Generic SSD Controller" in spoiler):

Spoiler

BeforeUsingNVMeControllerFix.thumb.png.395a4de3572e71cb9c87dea83d885dd6.png

 

After using the kext, now "Generic" is changed to "Apple SSD Controller":

AfterUsingNVMeControllerFix.thumb.png.9a248ff53cbfac3d752fa6a119514705.png

 

 

 

How to use NVMeControllerFix

 

1) To adjust, open the kext and edit the Info.plist file (see Spoiler below):

 

Spoiler

 

A) First, open kext by right-clicking on kext and selecting "Show Package Contents":

 

OpenKextContents.png.cd133e79faa0c0a87d11e23ddeee99cc.png

 

B) Next, you'll see:

 

Contents-Info.thumb.png.c31c1230a5e5362d31bdb25a163dff60.png

 

C) Then double-click and open Info.plist in your favorite editor. You'll want to edit the IOPCIPrimaryMatch section. You can even duplicate the TRX40 or X299 section and edit that duplicate, using that section for other mobos that you use.

 

NVMeControllerFix-Info.thumb.png.40c20a58e936ed57af5ef9634ee3aed5.png

 

 

 

 

2) After following steps in above Spoiler, you'll want to edit the IOPCIPrimaryMatch section with data collected using HackCheck.

 

Specifically, using the pop-up shown in the leftmost red box, rotate among your NVMe drives, copying the Device-id and Vendor-id to the IOPCIPrimaryMatch section inside of the Info.plist file. The data is entered as "0x[Device-id][Vendor-id]" (eg, 0x50181987 in the example) with spaces between each NVMe drive in your system.

 

HackCheck:                                                                                                                                             Info.plist:

HackCheckDisk-kextAdjust.thumb.png.463507f2f44252c73c5fa2c96bba32bc.png

 

 

3) Save the Info.plist file and add this kext file to your Config/Kernel/Add section.

 

Kernel-Add-NVMeControllerFix.thumb.png.db2c01d9b26af5b1d21810f6d135098b.png

 

 

 

 

 

NVMeControllerFix.kext.zip

Edited by iGPU
Updated uploaded kext file 15 July
  • Like 1
  • Thanks 4
Link to post
Share on other sites
  • Supervisor
Posted (edited)

thank you @iGPU

it works also in M-ß3 😉

 

with kext:

560587372_Screenshot2021-07-15at3_56_30PM.thumb.png.6595dfe89c129fede691ed58a11e6f3f.png

 

without kext:

 

1339686514_Screenshot2021-07-15at4_36_56PM.png.78bd51dfbea770cca97de2ab04f0bfa4.png

 

Nvme in this pictures is on a pciEx card and it is seen by default as Apple SSD Controller

Or Samsung 960 pro is more compatible with apple?

IDK

Edited by fabiosun
with/without kext
Link to post
Share on other sites
1 hour ago, fabiosun said:

thank you @iGPU

it works also in M-ß3 😉

 

with kext:

560587372_Screenshot2021-07-15at3_56_30PM.thumb.png.6595dfe89c129fede691ed58a11e6f3f.png

 

without kext:

 

1339686514_Screenshot2021-07-15at4_36_56PM.png.78bd51dfbea770cca97de2ab04f0bfa4.png

 

Nvme in this pictures is on a pciEx card and it is seen by default as Apple SSD Controller

Or Samsung 960 pro is more compatible with apple?

IDK

 

I think your Samsung is an SSD drive, the others are NVMe. This kext is only needed for NVMe drives.

Link to post
Share on other sites
3 hours ago, fabiosun said:

no @iGPUit is a 960 pro 1Tb MVME

Mounted on a pciex card as you can see in this bad picture :

847851149_Screenshot2021-07-15at6_16_22PM.png.a70e87e2f39c14351e026cb6ce88775b.png

1637234289_Screenshot2021-07-15at6_17_43PM.png.f8093ec0a1cae07e55d93c75e7029569.png

 

I doubt it's a Samsung benefit, but probably related to pciEx card connection. The obvious way to test, is to exchange the Samsung with one of the Sabrent NVMe.

 

But I wouldn't bother: too much work. I'd just use kext for the internal NVMe drives.

 

Link to post
Share on other sites
21 hours ago, iGPU said:

This is probably mostly cosmetic, but under the hood, who knows if Apple doesn't treat the controller differently?

This needs confirmation, since if this is valid it could be easily implemented in NVMeFix.

 

For those who use Samsung drives, I highly recommend either not to use macOS with them or to disable TRIM completely since a fancy rename won't give back support for IONVMeFamily - macOS doesn't like Phoenix controlles which unfortunately affect every Samsung NVMe since forever basically...

 

 

@iGPU

I suggest to open a feature request/discussion on acidanthera bugtracker on the rename from Generic to Apple SSD

8 hours ago, fabiosun said:

Samsung 960 pro is more compatible with apple?

This unfortunately is false, check out this article:

 

https://github.com/dortania/bugtracker/issues/192

Edited by A23SS4NDRO
the issue was the 192, not 196
Link to post
Share on other sites
  • Supervisor

@Jaidyi did only davinci candle benchmark for graphic

gpu is about 5% slower than latest Big Sur 

cinebench23 is the same as previous os

 

Link to post
Share on other sites
  • Supervisor

@A23SS4NDROmy was a question not a statement 

I have seen your link

i boot with 960 pro in OS X it seems I have not any delay

i will check better

maybe ten seconds from boot menu to login page 

for trim I always used default custom config posted in opencore doc 

Link to post
Share on other sites
2 hours ago, fabiosun said:

i boot with 960 pro in OS X it seems I have not any delay

Check the test from the issue linked before, and try the different SetApfsTimeout

 

Unfortunately it's not specific to a single NVMe, but all Samsung are broken with IONVMeFamily - hence not recommended (since you can have issues with TRIM if it's kept enabled)

The issue with Samsung drives is documented here:

 

 

https://github.com/acidanthera/OpenCorePkg/blob/c5285973bcfd45908c62487cf2e318aa0328af3b/Docs/Configuration.tex#L2616

 

 

and also the additional wear on the drive that is the result of this incompatibility

  • Ok 1
Link to post
Share on other sites
  • Supervisor

hey guys....maybe you have missed something... 😛

 

b2/b3 patch has been published....

only read me is old....

secret was revealed by Shaneee a day ago or more 🙂 🙂

 

Schermata_2021-07-16_alle_12_05_05.thumb.png.d46b05ef576862d9f065ec3553622784.png

 

the secret is gone 🙂 🙂 🙂

 

  • Like 1
  • +1 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.