Jump to content

Clover General discussion


ErmaC
29,872 posts in this topic

Recommended Posts

2 hours ago, Sherlocks said:

happy new year:trumpet:

 

@vector sigma

strangely, ApplePS2SmartTouchPad is loaded when booting normal macos.

but never load ApplePS2SmartTouchPad in recovery.

seems code is not good.

Create folder 10_recovery into /EFI/CLOVER/Kext and put it required kext into 10_recovery folder

Link to comment
Share on other sites

10 hours ago, Jief_Machak said:

I am currently experimenting a C++ switch. It's already working and will be committed in a branch. C++ doesn't need the STL or any kind of library.

C++ is a language that you can separate from it's "tools".

I've used C++ for many years, always without std lib. So I have plenty of object like string, vector etc.

This confusion about standard library and standard language is often made, because both are standardized by the same organisation.

I'll post here when I'll have committed...

 

I did not say the standard template library, and have no idea what you are talking about, how could you possibly use c++ without the runtime support? How do you allocate anything? Among the implementation specific things that are done for construction, initialization, and destruction of objects and arrays... I am not confused at all, I have already attempted to do this. The c++ standard library is part of the c++ language ISO standard. The part I am referring to is called "Language support library" it is section 21 (or 18 depending on which version) in the ISO c++ standard. You will definitely need to create a minimum standard library that provides the required parts of the underlying implementation.

Link to comment
Share on other sites

7 hours ago, vector sigma said:

Happy new year to you too, and all other guys in the forum!

 

tried to inject it from kexts/10_recovery?

 

not work. 

i noticed this issue.

i can use old kext folder structure.

just when booting usb installer and recovery,

clover now consider "OSBundleRequired" in info.plist.

ApplePS2SmartTouchPad has "OSBundleRequired = Safe Boot"

VoodooPS2 has "OSBundleRequired = Console"

 

so i have to change OSBundleRequired "Safe Boot" to "Console" to recognize PS2 touchpad/keyboard.

i never have this issue before, recently seems to change some parts.

 

  • Like 1
Link to comment
Share on other sites

Thanks for everyones input with the Audio issue I had with r5102!

 

Turns out it was driver error as I let Clover.app update my files and of course my edit that I need to apply (Uncomment "ReplaceName(dsdt + BrdADR, BridgeSize, device_name[9], "ARPT");") wasn't included in that!

 

 

Happy New Year everyone!

Edited by D-an-W
  • Like 1
Link to comment
Share on other sites

7 hours ago, Sherlocks said:

 

not work. 

i noticed this issue.

i can use old kext folder structure.

just when booting usb installer and recovery,

 clover now consider "OSBundleRequired" in info.plist.

ApplePS2SmartTouchPad has "OSBundleRequired = Safe Boot"

VoodooPS2 has "OSBundleRequired = Console"

 

so i have to change OSBundleRequired "Safe Boot" to "Console" to recognize PS2 touchpad/keyboard.

i never have this issue before, recently seems to change some parts.

  

First it was reported this issue: https://sourceforge.net/p/cloverefiboot/tickets/603/

which was resolved by this patch: https://github.com/CloverHackyColor/CloverBootloader/commit/2d1649e2657aecbbf44dfa78e809786b42ef8d9b

Then, a different patch was made for what looks to be the same issue: https://github.com/CloverHackyColor/CloverBootloader/commit/0946f0d1e8f78400d005ae07a0bb297f96f37a15 , and this patch reverts the first one.

Finally, the first patch is reintroduced, having 2 active ways to block a kext (OSBundleRequired and kext folder): https://github.com/CloverHackyColor/CloverBootloader/commit/24054e93b25dc90732616b569ce7071531d87a24.

 

Furthermore, there are also reports that network recovery is unusable since r5092, which match those changes.

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

7 hours ago, Sherlocks said:

 

not work. 

i noticed this issue.

i can use old kext folder structure.

just when booting usb installer and recovery,

clover now consider "OSBundleRequired" in info.plist.

ApplePS2SmartTouchPad has "OSBundleRequired = Safe Boot"

VoodooPS2 has "OSBundleRequired = Console"

 

so i have to change OSBundleRequired "Safe Boot" to "Console" to recognize PS2 touchpad/keyboard.

i never have this issue before, recently seems to change some parts.

 

I have same issue with VoodooI2C 

When i boot with installer then voodooI2C do not work during installation

VoodooI2C v2.3 already have OSBundleRequired root in info.plist

I Think this is clover bug or something changed

Link to comment
Share on other sites

17 hours ago, apianti said:

 

I did not say the standard template library, and have no idea what you are talking about, how could you possibly use c++ without the runtime support? How do you allocate anything? Among the implementation specific things that are done for construction, initialization, and destruction of objects and arrays... I am not confused at all, I have already attempted to do this. The c++ standard library is part of the c++ language ISO standard. The part I am referring to is called "Language support library" it is section 21 (or 18 depending on which version) in the ISO c++ standard. You will definitely need to create a minimum standard library that provides the required parts of the underlying implementation.

Technically, language and library is different. The proof is that the library are written with the language.

The object mechanism is builtin into the language (of course). As long as you don't use exception and rtti, you don't need any runtime.

I'm working on calling __cxx_global_var_init manually so we can have global initialised objects, but that's not an obligation.

You'll see very soon in the branch I'll commit.

Link to comment
Share on other sites

45 minutes ago, Jief_Machak said:

Technically, language and library is different. The proof is that the library are written with the language.

The object mechanism is builtin into the language (of course). As long as you don't use exception and rtti, you don't need any runtime.

I'm working on calling __cxx_global_var_init manually so we can have global initialised objects, but that's not an obligation.

You'll see very soon in the branch I'll commit.

 

Maybe......You should read the c++ standard? Because you are not correct. Here's a crazy idea, they created a c++ compiler using another language first and that's how they were able to build it using the language itself - practically how all languages are created. __cxx_global_var_init is compiler specific to clang, and there is much more needed for fully supporting just globals. You don't seem to understand that the section of the standard library I was referring is for those mechanisms...  You need them. You will break building for everything but whatever version of clang you are currently using, of this I am 100% positive. Have you ever linked c++ object files into a binary that were built using different compilers? It doesn't work (except in rare occasions where you use something that's ABI is identical in clang or gcc). Pretty good argument right there that the language is not separated from the standard library, because the library is a part of the language. The library is literally most of the language standard... There is just no point in doing this at all. It's a lot of effort to break things for something that is not needed at all. There is no advantage to using c++ over c in this situation.

Link to comment
Share on other sites

34 minutes ago, apianti said:

 

Maybe......You should read the c++ standard? Because you are not correct. Here's a crazy idea, they created a c++ compiler using another language first and that's how they were able to build it using the language itself - practically how all languages are created. __cxx_global_var_init is compiler specific to clang, and there is much more needed for fully supporting just globals. You don't seem to understand that the section of the standard library I was referring is for those mechanisms...  You need them. You will break building for everything but whatever version of clang you are currently using, of this I am 100% positive. Have you ever linked c++ object files into a binary that were built using different compilers? It doesn't work (except in rare occasions where you use something that's ABI is identical in clang or gcc). Pretty good argument right there that the language is not separated from the standard library, because the library is a part of the language. The library is literally most of the language standard... There is just no point in doing this at all. It's a lot of effort to break things for something that is not needed at all. There is no advantage to using c++ over c in this situation.

"Maybe......You should read the c++ standard?" : really ??? It doesn't hurt to be nice.

I don't want to argue about what is a language and what is not.

Have a look at https://github.com/CloverHackyColor/CloverBootloader/tree/C++_prototype and compile it. It works, so far only with clang, because of global initialisation. Will have a look for Gcc. Doing few #ifdef should not be hard.

We can also decide not to use global initialisation, in that case, no compiler dependancy, but still object mechanism. And all that WITHOUT adding NO library. I am 100% positive : it's possible and not hard !

Enjoy.

Link to comment
Share on other sites

7 minutes ago, Jief_Machak said:

"Maybe......You should read the c++ standard?" : really ??? It doesn't hurt to be nice.

I don't want to argue about what is a language and what is not.

Have a look at https://github.com/CloverHackyColor/CloverBootloader/tree/C++_prototype and compile it. It works, so far only with clang, because of global initialisation. Will have a look for Gcc. Doing few #ifdef should not be hard.

We can also decide not to use global initialisation, in that case, no compiler dependancy, but still object mechanism. And all that WITHOUT adding NO library. I am 100% positive : it's possible and not hard !

Enjoy.

 

Lol. So you are creating the mechanisms.... Which is compiler specific to that version of clang...
 

EDIT: Also you will pretty much never get the call to use the cleanup to work unless you are failing out of the gui as you will never get control of exiting boot services.

Edited by apianti
Link to comment
Share on other sites

20 minutes ago, apianti said:

 

Lol. So you are creating the mechanisms.... Which is compiler specific to that version of clang...
 

EDIT: Also you will pretty much never get the call to use the cleanup to work unless you are failing out of the gui as you will never get control of exiting boot services.

If just calling the global init function is creating mechanism...

Link to comment
Share on other sites

@apianti So let's go back to the basics.

 

I've created a branch called c++_noglobals to show that a C++ compiler is a C compiler with object added. Contrary of what a lot of people think, the object mechanism does NOT need a runtime or library. Because calls to method internally become calls to function with an added parameter : "this" (this is a pointer to a struct containing all members variables). C++ was first implemented with the C preprocessor.

 

Now C++ added 2 things that can't be compiled as normal code : rtti and exceptions. Well, I just deactivated them, problem solved.

 

Please have a look at what I committed : there is no trick, no library, the compilation process is untouched, the link command is untouched.

@apianti no "mechanism" created.

It compiles with XCODE5 and GCC53.

The only catch is that the global variables of object type are not initialised. Var of simple type are initialised like in C. I'll explain in an other post and commit a version that will initialise globals variables of object type.

 

@Slice and Clover developer : I've created a new topic to continue here : 

 

Link to comment
Share on other sites

On 12/29/2019 at 4:17 PM, Sherlocks said:

i tested mojave and catalina. perfect working. previously, my desktop depended on memory info by clover without custom memory info in smbios.

 

On 11/11/2019 at 2:34 PM, Slice said:

So why I have similar problem?

It was empty slot.

Occupied slot has info

There is Rank=1, and there is Type <OUT OF SPEC>. I think Apple doesn't like wrong field in Smbios. We should somehow fill them.

 

Following the problem I reported in my post some time ago with a specific pair of DIMMs when trying to install macOS that stops with the error "An error occurred validating the installer data. The download is either damaged or incomplete. Redownload the installer and try again.":

 

We followed Sherlock's idea of manually setting the info for memory, but problem continues. The error is still displayed with the problematic pair, and works with the pair that worked, so basically nothing changed in behavior.

But, the strange this, is that now with memory info manually set, the ONLY difference between the SMBIOS of the two cases is in table 219:


 

With pair that is working:

Handle 0x0026, DMI type 219, 81 bytes
        Header and Data:
                DB 51 26 00 01 03 01 45 02 00 90 06 03 00 60 20
                00 00 00 04 40 08 00 00 00 00 00 00 00 00 40 02
                FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                FF FF FF FF FF FF FF FF 03 00 00 00 80 00 00 00
                00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                00
        Strings:
                4D 45 49 31 00
                "MEI1"
                4D 45 49 32 00
                "MEI2"
                4D 45 49 33 00
                "MEI3"

And the pair that is not working gives:

Handle 0x0026, DMI type 219, 81 bytes
        Header and Data:
                DB 51 26 00 01 03 01 45 02 00 90 06 03 00 66 20
                00 00 00 04 40 08 00 00 00 00 00 00 00 00 40 02
                FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                FF FF FF FF FF FF FF FF 03 00 00 00 80 00 00 00
                00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                00
        Strings:
                4D 45 49 31 00
                "MEI1"
                4D 45 49 32 00
                "MEI2"
                4D 45 49 33 00
                "MEI3"

(difference is in end of first line "Header and Data", 60 20 vs 66 20)

 

Any idea what is this table 219 and if it could be related to the problem?

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

Can't seem to find any documentation to what those fields represent but that table is an HP extension, https://github.com/mirror/dmidecode/blob/master/dmioem.c#L262.

 

EDIT: You could always try dropping that entry and see what happens, or forcing those bits to be the same as the other value to see if that is the cause. I feel like it probably shouldn't be though unless Apple is also using the vendor type 219..

 

EDIT2: Are there differences in the ACPI tables?

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

2 hours ago, apianti said:

Can't seem to find any documentation to what those fields represent but that table is an HP extension, https://github.com/mirror/dmidecode/blob/master/dmioem.c#L262.

 

EDIT: You could always try dropping that entry and see what happens, or forcing those bits to be the same as the other value to see if that is the cause. I feel like it probably shouldn't be though unless Apple is also using the vendor type 219..

 

EDIT2: Are there differences in the ACPI tables?

Hey apianti :) Long time no see.

 

Well, apparently Apple is using it too: look here (at "But there is more") - but that's about all I found about it.

The thing is I don't physically have access to that computer, so I will ask for ACPI dumps too see, but will take some time.

Edited by Pene
Link to comment
Share on other sites

Just updated Clover to latest version. On the default plist there is a new item in RtVariables that is enabled by default. RtVariables > Block > Dell variables. What does this do? I tried to search from sourceforge wiki and here but didn't find anything.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Amble said:

Just updated Clover to latest version. On the default plist there is a new item in RtVariables that is enabled by default. RtVariables > Block > Dell variables. What does this do? I tried to search from sourceforge wiki and here but didn't find anything.

 

Maybe it's specific to Dell computer such as DellSMBIOSPatch key :| There are a lot of new items in config_sample.plist

Link to comment
Share on other sites

11 hours ago, Amble said:

Just updated Clover to latest version. On the default plist there is a new item in RtVariables that is enabled by default. RtVariables > Block > Dell variables. What does this do? I tried to search from sourceforge wiki and here but didn't find anything.

Yes, I forgot to explain this.

My Dell computer has some invisible behavior to set own variables with some period. I found no explanation and decided to block these variables. All works like it should. No unexpected crashes although I am not sure if this patch helped.

  • Like 2
Link to comment
Share on other sites

2 hours ago, jmacie said:

Sleep broken after change from 5903 to 5102. I tried to figure it out on my own, but it is clover, so any help is appreciated, thanks johnm

How can I help you known nothing about your problem?

Link to comment
Share on other sites

Been running 10.14.6 with no problems.

 

Tried to upgrade to 10.15.2 with Clover 5101 and Hackintool compiled WEG, Lilu, AppleALC, FakeSMC- and IntelMaus, USBInjectAll, XHCI-unsupported (latest releases) installed into /L/E and my ACPI\patched\SSDT-USB.aml.

 

Also a direct install of 10.15.2 to a formatted M.2.

 

In both cases, got thru 30 minutes of install, several reboots and almost at end, then constant crash/reboots.

 

Possibly the EFI drivers ApfsDriverLoader.efi, OsxAptioFix3Drv.efi, VBoxHfs.efi, FSInject.efi installed in drivers\UEFI are incorrect?

 

Which of the available EFI drivers are necessary to install/Upgrade 10.15.2?

 

Thanks!

Edited by exquirentibus
Link to comment
Share on other sites

Just now, Slice said:

How can I help you known nothing about your problem?

Thank you Slice. I don't know exactly how to describe to you what you want to know. In 5903 sleep works, I upgraded to 5102 and now machine goes into a deepsleep shutdown, not the regular sleep that power light blinks, it turns off. . When I try to wake it with keyboard or mouse, it powers on but no display. I have to hold power button to force off, then when it comes up it asks for sleep password and is a resumed status. It is broken. If I put 5903 clover back and restart sleep functions as usual. Thanks for your time and help, johnm

 

Link to comment
Share on other sites

4 minutes ago, jmacie said:

Thank you Slice. I don't know exactly how to describe to you what you want to know. In 5903 sleep works, I upgraded to 5102 and now machine goes into a deepsleep shutdown, not the regular sleep that power light blinks, it turns off. . When I try to wake it with keyboard or mouse, it powers on but no display. I have to hold power button to force off, then when it comes up it asks for sleep password and is a resumed status. It is broken. If I put 5903 clover back and restart sleep functions as usual. Thanks for your time and help, johnm

 

You repeated previous post which is not containing information. You also repeat the mistake. Not 5903 but 5093.

Did you change one file? Or the whole USB stick?

Can you make preboot.log in the both cases?

What about Clover 5101, 5100, 5099 etc?

Link to comment
Share on other sites

3 minutes ago, Slice said:

You repeated previous post which is not containing information. You also repeat the mistake. Not 5903 but 5093.

Did you change one file? Or the whole USB stick?

Can you make preboot.log in the both cases?

What about Clover 5101, 5100, 5099 etc?

I only installed 5102 on top of 5093. I did not incrementally install each revs. I could make a preboot log if that helps. I could go back and install each different rev and see which exact version break occurs.

Link to comment
Share on other sites

×
×
  • Create New...