Jump to content
InsanelyMac Forum


  • Content count

  • Joined

  • Last visited

  • Days Won


Zenith432 last won the day on November 18 2017

Zenith432 had the most liked content!

1 Follower

About Zenith432

  • Rank
    InsanelyMac Legend

Contact Methods

  • Website URL

Profile Information

  • Gender

Recent Profile Visitors

19,685 profile views
  1. Zenith432

    Clover Bug/Issue Report and Patch

    includepath for a module is taken from .dec file specified in .inf file for module. It is why PeCoffLib.h ended up being patched in edk2 tree, remember? So headers cannot be moved under Clover unless all modules that use them also get moved and their .inf file modified.
  2. Zenith432

    Clover Bug/Issue Report and Patch

    It is done r4486. from Patches_for_EDK2 - Patches based on EDK2 from Patches_for_UDK2018 - Patches based on UDK2018
  3. According to @slice... at least it's what I think was intended.
  4. No. Just once. There is a code change between UDK2018 and EDK2 in Variable.c which is in RuntimeDxe only used with legacy Clover. So at least with CloverGUI everything should work. I haven't tested CloverEFI to see if this code change makes any difference.
  5. You'll need to be more specific.... r4472 adapted the patches to UDK2018 and broke compiling with EDK2 because of MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c. In r4477, I removed (as obsolete) the patch to MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c so ebuild.sh should work again with EDK2. There is still a difference in a 2nd file MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c between the EDK2 and UDK2018, but the one which is currently checked in (r4481) and is adapted to UDK2018 - seems to work with EDK2 as well. If you want a version adapted to EDK2 (r4481), it is found in attachement in my post. So for now (r4481), the patches seem to work simultaneously with both UDK2018 and EDK2, with no guarantee they won't diverge in the future. You need to start from clean folder of EDK2 or UDK2018 and reapply patches, because some were removed.
  6. I suggested solution to this, but got no response.
  7. @SavageAUS, @Matget84: The error is because you're building with EDK2, not UDK2018 update to r4479 revert MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c in edk2 tree to original from svn (or git). revert the 5 other files listed here. Replace Patches_for_EDK2/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c with file attached to this post. Apply this patch to MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c under edk2 tree. Now build should work ok. Variable.c.gz
  8. Zenith432

    Clover Change Explanations

    REV 4476 - 4478 Added ebuild.sh option '-D NO_CLOVER_SHELL' to disable building of Clover-modified shell. Vanilla shell lib is built for bdmesg.efi, and vanilla shell binary can be taken from edk2/ShellBinPkg (see --edk2shell option for ebuild.sh). Reengineered the patch to GetBestLanguage() function found in MdePkg/Library/UefiLib so that 6 other patched sources can be eliminated. The eliminated patched files are Patches_for_EDK2/MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c Patches_for_EDK2/MdeModulePkg/Library/UefiHiiLib/HiiString.c Patches_for_EDK2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c Patches_for_EDK2/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c Patches_for_EDK2/MdeModulePkg/Universal/HiiDatabaseDxe/Font.c Patches_for_EDK2/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c Make sure to revert the removed patches in EDK2 tree to their original form.
  9. Zenith432

    Clover Bug/Issue Report and Patch

    @apianti: Not everything can be handled this way, because some of the patches are to include files that are included in many project in EDK2, not to just to local source files. Moreover, keeping the patches in EDK2 tree makes the patches easy to keep up to date with git-rebase, but I'm the only one doing that. If patches are moved to Clover tree, they need more complex merge.
  10. @SavageAUS, Matgen84: You haven't posted build logs, but it's most likely because of the change to UDK2018 breaks build with EDK2. To build with EDK2, revert the changes to Patches_for_EDK2/MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c Patches_for_EDK2/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c introduced in r4472
  11. Zenith432

    Clover Bug/Issue Report and Patch

    @Slice: How about making Patches_for_UDK2018 using "svn cp" from Patches_for_EDK2 and using that for UDK2018 while keeping Patches_for_EDK2 for EDK2? PS: If it's acceptable, I can make the change.
  12. Zenith432

    usb 3.0s?

    It's not the same. When you put a search string without dots like "AppleUSBXHCI", it searches for substring, so it will match com.apple.driver.usb.AppleUSBXHCI and com.apple.driver.usb.AppleUSBXHCIPCI, and apply the patch to both. When you put full bundle name with dots, it does exact match, so patch is only applied to com.apple.driver.usb.AppleUSBXHCI as it should.
  13. Zenith432

    Clover General discussion

    @apianti: your solution in Rev 4436 does not work with GCC. Since gEfiHashAlgorithmSha1Guid is defined both in CloverPkg.dec and MdePkg.dec, its C definition is inserted into AutoGen.c for HashServiceFix twice which cause compilation to break. I have not checked with Xcode.
  14. Zenith432

    Clover General discussion

    This workaround is useless because gEfiHashAlgorithmSha1Guid is a global variable, not a preprocessor symbol so "#ifndef gEfiHashAlgorithmSha1Guid" is always true. When compiling with GCC on both macOS and Linux I get multiply defined symbol error because of definition in MdePkg.dec (which ends up in AutoGen.c for HashServiceFix module) and HashServiceFix.c. arthurpt and ricoc90 report above is about Xcode build. So I suggest replacing "#ifndef gEfiHashAlgorithmSha1Guid" with "#if !defined(__GNUC__) || defined(__clang__)", so that gEfiHashAlgorithmSha1Guid is defined in HashServiceFix.c if not compiling on GCC. Let me know if it's ok, I'll commit it.
  15. @SAngeli: As desribed here sudo defaults delete /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled and then after restarting virtual machine sudo /Library/Application\ Support/VMware\ Tools/vmware-resolutionSet 1920 1080