That was my third choice. Certainly using VMM or -no_compat_check are easier/safer than SMBIOS spoof. The posted problem is about the installer. -no_compat_check alone requires modification to the installer (dosdude1's Catalina Patcher)? If so, the installer created by dosdude1's Catalina Patcher is supposed to be useable on supported Macs - does it do something weird to the installation on MacPro5,1 if you don't use the post installer? Or maybe the post installer is automatically run? Does an unpatched installer behave differently between the three options?
After macOS is installed, you'll want to choose one of the three options depending on the behavior you want.
The first post doesn't describe all the reasons why you would want to use the VMM option. There should be a Pros and Cons section in the first post. Here's some Pros:
1) Updates are enabled. With the Patcher macOS updates aren't automatic. This is mentioned under part 7 "Updates" of the first post but maybe there could be moved to a new Pros and Cons section.
2) Patches are not required to be installed. I'm not sure what the benefits of this are, except that the system is unmodified.
3) OpenCore has features that may be useful for unsupported Macs. I don't know what all the useful features are, but some of the more important ones are:
a) Modifying platform information (SMBIOS). This is mentioned in part 9 of the first post. It doesn't describe why you might want to do that. HEVC encoding?
b) Modify ACPI (maybe for HEVC encoding; add Thunderbolt? )
c) Add device properties (does this work in OpenCore on real Macs?)
etc.
In the first post, the following line:
Code:
nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM | awk '{split($NF,chars,""); for(n=0;n<256;n++){ord[sprintf("%c",n)]=n}; i=1; j=0; while(i<=length($NF)){if(substr($NF,i,1)=="%"){printf "%s",toupper(substr($NF,i+1,2)); i=i+2} else {printf "%x",toupper(ord[chars[i]])} j=j+2; i++} print("")}' | xxd -r -p | base64
can be replaced with this:
Code:
a=4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM; printf "$(nvram $a | sed -E '/^'$a'.(.*)/s//\1/g;/\\/s//\\\\/g;/%/s//\\x/g')" | base64