Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

Guest 5T33Z0
On 5/18/2021 at 4:43 PM, kushwavez said:

Just noticed, Clover Configurator has been updated, reflecting to changes!

1627772582_Kpernyfot2021-05-18-16_41_58.png.944d889b03860f2f7a42a17bc6b89a11.png

 

Nice to see it has been corrected. When I was working on the translation of the ACPI section of the russan manual into english for my Clover Update Guide, I noticed that a lot of the features that were still present in Clover Configurator have actually been removed from Clover for some time. So I just enabled every available option in a blank config file, saved it, ran it through the Config Validator the see which wouldn't pass and reported the once thae no longer worked. :D

Edited by 5T33Z0
Link to comment
Share on other sites

8 hours ago, LIMITANT said:

@Slice @Jief_Machak Thank you for all your efforts with Clover 

 

Please I would like to understand this section in Clover / ACPI / SSDT ..... please see the attached screenshot .

 

My issue is that my CPU Turbo Boost is 3800 MHz and I want it only to be at 3400 MHz because of fan noise , in Windows I have managed to do that by " Disable Power Management " in Bios but macOs doesn't respect that and reaches 3800 MHz 

so I am looking now in this section as per Clover Wiki documents but any value I change doesn't reflect in macOs , Intel Power Gadget all the time is the same 

any idea how to do it correctly ? 

Thank you 

 

 

 

  Reveal hidden contents

 

May be CPU->TurboDisable=true?

Link to comment
Share on other sites

See also ACPI->SSDT->PLimitDict = 2

This number is a restriction for Max CPU speed if Clover's PState generation is used.

ACPI->SSDT->Generate->PStates=true

It was developed and tested for Penryn class CPU so I am not sure it is valid for recent processors.

  • Like 1
Link to comment
Share on other sites

Hello @Slice thanks again for the r5135 release. However, please, can you explain the difference between releases in Git Hub?

The full package ZIP (10MB) has CLOVERX64.efi that is different to the EFI-only zip release:

 

The EFI only release is in the morning and shows Clover revision: 5135 (master, commit 5731ed0a8)

The EFI binary in full-ZIP of mid-day has 916 differences (I binary-compared) and shows Clover revision: 5135 (master, commit f848a2179)

 

Just to understand what is what and what should be used. Thank you!

Edited by MacKonsti
Link to comment
Share on other sites

35 minutes ago, MacKonsti said:

Hello @Slice thanks again for the r5135 release. However, please, can you explain the difference between releases in Git Hub?

The full package ZIP (10MB) has CLOVERX64.efi that is different to the EFI-only zip release:

 

The EFI only release is in the morning and shows Clover revision: 5135 (master, commit 5731ed0a8)

The EFI binary in full-ZIP of mid-day has 916 differences (I binary-compared) and shows Clover revision: 5135 (master, commit f848a2179)

 

Just to understand what is what and what should be used. Thank you!

About what releases you tell? I don't know them.

Link to comment
Share on other sites

50 minutes ago, MacKonsti said:

Hi @Slice I refer to the official releases r5135 files https://github.com/CloverHackyColor/CloverBootloader/releases/tag/5135

The EFI-only ZIP is different inside, compared to the full-ZIP (10MB) EFI binary...

Thanks

No problem, I updated the package. Anyway these files again are not final solution.

If you find any bug please report we will correct it.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

@Jief_Machak

You probably double files

/Users/sergey/src/CloverBootloader/rEFIt_UEFI/refit/../gui/../libeg/../Settings/Self.h:19:7: warning: type 'struct Self' violates the C++ One Definition Rule [-Wodr]
   19 | class Self
      |       ^
/Users/sergey/src/CloverBootloader/rEFIt_UEFI/Settings/../Settings/../Settings/Self.h:19:7: note: a different type is defined in another translation unit
   19 | class Self
      |       ^
/Users/sergey/src/CloverBootloader/rEFIt_UEFI/refit/../gui/../libeg/../Settings/Self.h:33:36: note: the first difference of corresponding definitions is field 'm_SelfSimpleVolume'
   33 |   EFI_SIMPLE_FILE_SYSTEM_PROTOCOL* m_SelfSimpleVolume {};  // Volume containing this efi.
      |                                    ^
/Users/sergey/src/CloverBootloader/rEFIt_UEFI/Settings/../Settings/../Settings/Self.h:25:21: note: a field with different name is defined in another translation unit
   25 |   static const EFI_FILE_PROTOCOL* getCloverDirAndEfiFileName(EFI_HANDLE ImageHandle, XStringW* efiFileName);
      |                     ^
/Users/sergey/src/CloverBootloader/rEFIt_UEFI/refit/../Settings/Self.h:55:14: warning: type of 'reInitialize' does not match original declaration [-Wlto-type-mismatch]
   55 |   EFI_STATUS reInitialize();
      |              ^
/Users/sergey/src/CloverBootloader/rEFIt_UEFI/Settings/Self.cpp:252:12: note: 'reInitialize' was previously declared here
  252 | EFI_STATUS Self::reInitialize()
      |            ^

and so on.

Which one to delete?

Link to comment
Share on other sites

@Jief_Machak

Can't build xcode or gcc

/Users/redaismail/Documents/GitHub/CloverBootloader/rEFIt_UEFI/Settings/Self.cpp:71:13: error: unused variable 'efiFileName' [-Werror,-Wunused-variable]
  XStringW& efiFileName = *efiFileNamePtr;
            ^
/Users/redaismail/Documents/GitHub/CloverBootloader/rEFIt_UEFI/Settings/Self.cpp:98:13: error: unused variable 'CloverDir' [-Werror,-Wunused-variable]
  EFI_FILE* CloverDir = *CloverDirPtr;
            ^
2 errors generated.
make: *** [/Users/redaismail/Documents/GitHub/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit/OUTPUT/Settings/Self.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/redaismail/Documents/GitHub/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/redaismail/Documents/GitHub/CloverBootloader/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

 

Link to comment
Share on other sites

5 minutes ago, eng_redaesm said:

@Jief_Machak

Can't build xcode or gcc


/Users/redaismail/Documents/GitHub/CloverBootloader/rEFIt_UEFI/Settings/Self.cpp:71:13: error: unused variable 'efiFileName' [-Werror,-Wunused-variable]
  XStringW& efiFileName = *efiFileNamePtr;
            ^
/Users/redaismail/Documents/GitHub/CloverBootloader/rEFIt_UEFI/Settings/Self.cpp:98:13: error: unused variable 'CloverDir' [-Werror,-Wunused-variable]
  EFI_FILE* CloverDir = *CloverDirPtr;
            ^
2 errors generated.
make: *** [/Users/redaismail/Documents/GitHub/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit/OUTPUT/Settings/Self.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/redaismail/Documents/GitHub/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/redaismail/Documents/GitHub/CloverBootloader/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

 

Take sources again

https://github.com/CloverHackyColor/CloverBootloader/commit/fe480f9625572a45c6aaf584b8245f9332f2d930

  • Like 2
Link to comment
Share on other sites

Sorry, for the unused variables. Forgot to compile Release before commit.

/Users/sergey/src/CloverBootloader/rEFIt_UEFI/refit/../gui/../libeg/../Settings/Self.h:19:7: warning: type 'struct Self' violates the C++ One Definition Rule [-Wodr]
   19 | class Self
      |       ^
/Users/sergey/src/CloverBootloader/rEFIt_UEFI/Settings/../Settings/../Settings/Self.h:19:7: note: a different type is defined in another translation unit
   19 | class Self
      |       ^

What was the problem for that ? Never saw errors like these.

Link to comment
Share on other sites

41 minutes ago, Jief_Machak said:

Sorry, for the unused variables. Forgot to compile Release before commit.


/Users/sergey/src/CloverBootloader/rEFIt_UEFI/refit/../gui/../libeg/../Settings/Self.h:19:7: warning: type 'struct Self' violates the C++ One Definition Rule [-Wodr]
   19 | class Self
      |       ^
/Users/sergey/src/CloverBootloader/rEFIt_UEFI/Settings/../Settings/../Settings/Self.h:19:7: note: a different type is defined in another translation unit
   19 | class Self
      |       ^

What was the problem for that ? Never saw errors like these.

Same class defined twice but differently.

You should use common header.

Link to comment
Share on other sites

Oh no. The problem is different.

The message is

/Users/sergey/src/CloverBootloader/rEFIt_UEFI/refit/../gui/../libeg/../Settings/Self.h:33:36: note: the first difference of corresponding definitions is field 'm_SelfSimpleVolume'
   33 |   EFI_SIMPLE_FILE_SYSTEM_PROTOCOL* m_SelfSimpleVolume {};  // Volume containing this efi.
      |                                    ^

The symbols {} means realisation. And it happen every time when

#include "self.h"

is used.

So twice include = double realisation. And this is the error. Compiler must warn about such usage.

For example in the first realisation there in initialisation by 0 and second realisation will  initialise by 1. But usage assumes it is the same.

 

Common rule: .h file contains only definitions while .cpp contains realisation. cpp presents once while .h can be included many times.

Link to comment
Share on other sites

9 hours ago, Slice said:

 

 

I do multi-boot between Mac and Windows. When I go to Windows and I get a black screen, what is the reason?
There are 2 SSDs, 1 of which is SATA640GB to the Mac. With the other child is NVMe m.2 WDBlack1TB installed in Windows 10 questions are that Why does it enter Windows and the screen is black? Any friends who have a way to do it, please tell us.

Follow this thread

Thank you very much

Link to comment
Share on other sites

Warning for users of Clover Configurator.

The latest version (5.18.2.0) messes up my config.plist file --> changes KernelToPatchwhich is needed for my AMD.

And removes InjectKexts in SystemParameters.

Result: system will not boot. So best not to use at this moment.

  • Like 1
  • Sad 2
Link to comment
Share on other sites

12 hours ago, Slice said:

You should use common header.

Of course, there is only one header.

 

12 hours ago, Slice said:

.h can be included many times.

 

By many times, I assume "by many different compilation units".

Because if you include twice a header (not guarded) in the same compilation unit (a .cpp or it's included files), you'll get "error: redefinition of 'xxx'" for classes.
That why we guard all headers with :

#ifndef PLATFORM_SELF_H_
#define PLATFORM_SELF_H_

blabla

#endif

It's true that for a header containing only extern definition (variables and functions), you could include it more than once in the same compilation unit as it is legit to re-declare extern vars and functions. At the time of pure C, it was mostly true.

 

We know that declaring a var (not extern, the var itself) or a function implementation in a file that you include in more than one compilation unit will give "duplicate symbol" errors. But it's not true for member init and method implementation. It's legit to put class member initialisation and method implementation in headers. For example, XPointer::isEmpty() implementation is in the header file. Or XPointer constructor.

That said, I don't how the compiler manages that. Maybe just deleting all duplicate symbol to keep only one.

It seems to currently compile fine with braced initialisation (or realisation), so that just proves it.

 

I have million of class member initialisation in headers. Like in the big SETTINGS_DATA object and all it's inner classes. At that time, I was using more something like 

      XStringWArray                     DisabledAML = XStringWArray();

But then I was reading about braced-list-initializer here https://en.cppreference.com/w/cpp/language/list_initialization and 

      XStringWArray                     DisabledAML {};

does the same, but quicker to type, and less code in non-optimized compilation.

 

16 hours ago, Slice said:

/Users/sergey/src/CloverBootloader/rEFIt_UEFI/refit/../Settings/Self.h:55:14: warning: type of 'reInitialize' does not match original declaration [-Wlto-type-mismatch]

 

14 hours ago, Jief_Machak said:

/Users/sergey/src/CloverBootloader/rEFIt_UEFI/Settings/../Settings/../Settings/Self.h:19:7: note: a different type is defined in another translation unit

 

16 hours ago, Slice said:

/Users/sergey/src/CloverBootloader/rEFIt_UEFI/Settings/../Settings/../Settings/Self.h:25:21: note: a field with different name is defined in another translation unit

 

16 hours ago, Slice said:

/Users/sergey/src/CloverBootloader/rEFIt_UEFI/refit/../gui/../libeg/../Settings/Self.h:33:36: note: the first difference of corresponding definitions is field 'm_SelfSimpleVolume'

These errors looks more like an other compilation unit use previous definitions from a previous compilation. The edk makefile system does not always recompile everything needed. I'd say that when you fixed the unused vars, it probably triggered a rebuild of this compilation unit that was using an old version, making it using the right version.

Link to comment
Share on other sites

On 5/22/2021 at 9:50 AM, matxpa said:

@Slice & @Jief_Machak

 

Hello.

On r5135 release why « All checks have failed » on « Build Clover Pack » from commitID 8da3efae to 2b84ee6 and from 4bd3434 to 4c30ccd6 ?

Regards

 

 

Nice... we can see it's fixed

 

Spoiler

743175359_Capturedecran2021-05-24a14_37_59.thumb.png.c600d9b5b7190a85f2491ef452a7aa17.png

 

Link to comment
Share on other sites

8 hours ago, Matgen84 said:

Hi @Slice @Jief_Machak


Is it possible to enhance the menu in the new BuildMe. To avoid space with the header. Please.

 

  Hide contents

634356579_Capturedcran2021-05-2408_13_09.png.0f199f1cc77873f972566d8a0181533d.png

 

Well with your great surprise, it is done, since that is caused by

1) the length of a sentence, 

2) number of items into the menu list,

So what you are seeing is the "enhanced" version,

Now since the question arose,  I'm announcing here, and you all will find the post in Main Clover Thread, build me is taking a very different way (style) from what you were used to ... I invite you all to take a look there, and give your opinion...

 

Link to Download is there

Edited by LAbyOne
Added link to new Clover Suite Builder
  • Like 4
Link to comment
Share on other sites

3 hours ago, Jief_Machak said:

Where does it download things ? I saw something about a "src" folder but I don't know where.

it depends on what things are you referring to..

normally if tools the directory auto opens right after it is done

kexts and other files are all stored into Extra/Kexts, Extra/Tools, etc

If you are referring to the actual Download / build  directory its src/tmp hidden

I should probably specify this too... 

open $HOME/src/tmp

Edited by LAbyOne
  • Like 1
Link to comment
Share on other sites

Hi everyone, @Slice and @Jief_Machak I've installed r5135 on my NUC; downloaded the Catalina update 2021-003 and upon first reboot, the "Data" partition was automatically selected OK and timed-out (I have 10 sec in config) and booted.

However, upon the needed second reboot, Clover did not timeout and was waiting for me to select (again) the "Data" AFPS partition to continue and complete the update.

Just FYI. This was also happening with previous Clover versions, cannot remember since when (I am sorry).
Not sure what is flagged or marked in that "Data" partition and Clover detects it at first but not at second reboot.

Moreover, my disk is an NVMe with 1 AFPS partition and 2 containers, the System and Data. Nothing complex...

Thank you!

  • Sad 1
Link to comment
Share on other sites

CloverSuiteBuilder.png.1a7fab0accc92787e9e8f6f267a0aefc.png.37c18bee36d6b8a0e722d63ef77cd24d.pngLatest Clover Suite Builder 

Download is ready

Release 1.3

*this one can also be available as menuItem

you can leave comments on thread in signature if interested

Thank you

Edited by LAbyOne
  • Like 3
Link to comment
Share on other sites

×
×
  • Create New...