Jump to content

Clover General discussion


ErmaC
30,135 posts in this topic

Recommended Posts

On 4/3/2020 at 1:51 PM, AntarcticP said:

Hi Slice, coders

Tried to switch back from OpenCore to Clover 5108 om my old AMD CPU (fx8350), Catalina 10.15.4 installed.

I have updated the mask kernel patches using the correct syntax for Clover with the latest OC ones.

Unfortunately it does not work with Clover, kernel panic during boot.

Anyone else who has tested the latest Clover with mask kernel patches for AMD?

 

thanks!

I am looking to upgrade catalina. I'm not sure if anyone had success. I will give this a try. I have sound issues with opencore. Clover works flawlessly.

Link to comment
Share on other sites

2 hours ago, Sherlocks said:

Should be no problem

<key>Base</key>

<string>_cpu_topology_sort</string>

Will be "Procedure" in Clover. Find and replace are the same.

  • Like 1
Link to comment
Share on other sites

@Pene

Hi

can I ask you please to make a little test with F10?

I just noticed a curious behaviour when taking a screenshot,

it ofc place the screenshot into misc folder,

but also strangely create an empty folder called misc.png...

 

(running v5116, not the latest commit)

in case you already noticed and modified this, well nevermind...

 

i will build and test with latest commit also

 

EDIT:

 

tried to build Clover r5116 (SHA: 9fae59d10) and got this

(XCODE8)

/Users/labyone/src/Clover/rEFIt_UEFI/Platform/AcpiPatcher.cpp:2053:3: error: use of undeclared identifier 'dropDSM'
  dropDSM = 0xFFFF; //by default we drop all OEM _DSM. They have no sense for us.
  ^
[CC] NvmExpress
[CC] PcatIsaAcpi
1 error generated.
make: *** [/Users/labyone/src/Clover/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit/OUTPUT/Platform/AcpiPatcher.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/labyone/src/Clover/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/labyone/src/Clover/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 13:35:58, May.11 2020
Build total time: 00:00:08

logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

 

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

2 hours ago, LAbyOne said:

@Pene

Hi

can I ask you please to make a little test with F10?

I just noticed a curious behaviour when taking a screenshot,

it ofc place the screenshot into misc folder,

but also strangely create an empty folder called misc.png...

 

(running v5116, not the latest commit)

in case you already noticed and modified this, well nevermind...

 

i will build and test with latest commit also

 

EDIT:

 

tried to build Clover r5116 (SHA: 9fae59d10) and got this

(XCODE8)


/Users/labyone/src/Clover/rEFIt_UEFI/Platform/AcpiPatcher.cpp:2053:3: error: use of undeclared identifier 'dropDSM'
  dropDSM = 0xFFFF; //by default we drop all OEM _DSM. They have no sense for us.
  ^
[CC] NvmExpress
[CC] PcatIsaAcpi
1 error generated.
make: *** [/Users/labyone/src/Clover/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit/OUTPUT/Platform/AcpiPatcher.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/labyone/src/Clover/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/labyone/src/Clover/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 13:35:58, May.11 2020
Build total time: 00:00:08

logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

 

Same here in both case compile error then multiple misc creation when selecting F10 multiple shot

Edited by chris1111
  • Sad 1
Link to comment
Share on other sites

5 hours ago, LAbyOne said:

@Pene

Hi

can I ask you please to make a little test with F10?

I just noticed a curious behaviour when taking a screenshot,

it ofc place the screenshot into misc folder,

but also strangely create an empty folder called misc.png...

 

(running v5116, not the latest commit)

in case you already noticed and modified this, well nevermind...

 

i will build and test with latest commit also

 

EDIT:

 

tried to build Clover r5116 (SHA: 9fae59d10) and got this

(XCODE8)


/Users/labyone/src/Clover/rEFIt_UEFI/Platform/AcpiPatcher.cpp:2053:3: error: use of undeclared identifier 'dropDSM'
  dropDSM = 0xFFFF; //by default we drop all OEM _DSM. They have no sense for us.
  ^
[CC] NvmExpress
[CC] PcatIsaAcpi
1 error generated.
make: *** [/Users/labyone/src/Clover/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit/OUTPUT/Platform/AcpiPatcher.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/labyone/src/Clover/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/labyone/src/Clover/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 13:35:58, May.11 2020
Build total time: 00:00:08

logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

 

Fixed

  • Thanks 2
Link to comment
Share on other sites

@Slice thanks, build is fine now,

 

 misc.png folder still present into Clover after screenshot

1891019853_Screenshot2020-05-11at18_09_00.png.86e860af1b31ee8a0ba2f99b55634fd1.png

 

--> there is another 2 curious behaviors with buildme (hope @vector sigma can take a look)

1_ ) if menu 5 (build app with clover) is selected the script exit. (meaning no sym folder has been found) this ONLY happen  when first cloning and building clover from git

2_ ) if using menu 4 (build app) this error does not occurs, BUT it will act as menu 5 (build app and clover) no big deal, just to inform you.

 

Edited by LAbyOne
added misc.png folder issue
  • Sad 1
Link to comment
Share on other sites

33 minutes ago, LAbyOne said:

@Slice thanks, build is fine now,

 

 misc.png folder still present into Clover after screenshot

1891019853_Screenshot2020-05-11at18_09_00.png.86e860af1b31ee8a0ba2f99b55634fd1.png

 

 

Same here: empty misc.png folder present after screenshot. The screenshot is in its usual place in misc folder.

Link to comment
Share on other sites

52 minutes ago, LAbyOne said:

@Slice thanks, build is fine now,

 

 misc.png folder still present into Clover after screenshot

1891019853_Screenshot2020-05-11at18_09_00.png.86e860af1b31ee8a0ba2f99b55634fd1.png

I cannot reproduce that misc.png thing.

Also, looking at the code that saves the screenhot I really can't see any way a misc.png can be produces.

Are you certain that the misc.png folder you have is related to screenshot? If you delete it it is recreated, and only when you make a screenshot?

Link to comment
Share on other sites

 

 

36 minutes ago, Pene said:

I cannot reproduce that misc.png thing.

 

weird, as if you take look at previous quotes you'll find i'm not the only one getting this behaviour

 

36 minutes ago, Pene said:

Also, looking at the code that saves the screenhot I really can't see any way a misc.png can be produces.

Are you certain that the misc.png folder you have is related to screenshot? If you delete it it is recreated, and only when you make a screenshot?

 

Totally. each time is recreated

Edited by LAbyOne
Link to comment
Share on other sites

1 hour ago, LAbyOne said:

--> there is another 2 curious behaviors with buildme (hope @vector sigma can take a look)

1_ ) if menu 5 (build app with clover) is selected the script exit. (meaning no sym folder has been found) this ONLY happen  when first cloning and building clover from git

2_ ) if using menu 4 (build app) this error does not occurs, BUT it will act as menu 5 (build app and clover) no big deal, just to inform you.

 

Hi, the function that build the app check for the existence of 

./CloverPackage/CloverV2/EFI/CLOVER/CLOVERX64.efi

which should exist only if Clover was at least built once otherwise will tell "please, build Clover first!". The sym directory instead is created only if you created the package at least once (not your case), so yes it needs to be created when doesn't exists. Committed

Link to comment
Share on other sites

2 hours ago, Pene said:

I cannot reproduce that misc.png thing.

Also, looking at the code that saves the screenhot I really can't see any way a misc.png can be produces.

yep, should not change unless XStringW has a bug and "\\screenshot” goes to hell Lol. Anyway why taking up to 60 picture? For me only one is more than enough...

for (UINTN Index = 0; Index < 60; Index++) {
//    ScreenshotName = PoolPrint(L"%a%d.png", ScreenShotName, Index);
    XStringW Name = SWPrintf("EFI\\CLOVER\\misc\\screenshot%lld.png", Index);
    if (!FileExists(SelfRootDir, Name)) {
      Status = egSaveFile(SelfRootDir, Name.wc_str(), FileData, FileDataLength);
      if (!EFI_ERROR(Status)) {
        break;
      }
    }
  }

And the break should not be there with or without error? Not sure if it fail once next 59 times will be better...

EDIT

BOOLEAN FileExists(IN CONST EFI_FILE *Root, IN CONST CHAR16 *RelativePath)

FileExists accept XStringW as parameter? EDIT no fixed

Edited by vector sigma
Link to comment
Share on other sites

44 minutes ago, vector sigma said:

yep, should not change unless XStringW has a bug and "\\screenshot” goes to hell Lol. Anyway why taking up to 60 picture? For me only one is more than enough...


for (UINTN Index = 0; Index < 60; Index++) {
//    ScreenshotName = PoolPrint(L"%a%d.png", ScreenShotName, Index);
    XStringW Name = SWPrintf("EFI\\CLOVER\\misc\\screenshot%lld.png", Index);
    if (!FileExists(SelfRootDir, Name)) {
      Status = egSaveFile(SelfRootDir, Name.wc_str(), FileData, FileDataLength);
      if (!EFI_ERROR(Status)) {
        break;
      }
    }
  }

And the break should not be there with or without error? Not sure if it fail once next 59 times will be better...

EDIT


BOOLEAN FileExists(IN CONST EFI_FILE *Root, IN CONST CHAR16 *RelativePath)

FileExists accept XStringW as parameter? EDIT no fixed

I need many screenshots to illustrate Clover possibility.

And yes, commit a4ac6daf9 is right.

 

  • Like 1
Link to comment
Share on other sites

Personally I did not like also:

'}else{' instead of '} else {' 

and 

if (someting)
{
} 

vs the more readable version (imho): 

if (someting) {
} 
5 minutes ago, Slice said:

I need many screenshots to illustrate Clover possibility.

I thought about this later.

5 minutes ago, Slice said:

And yes, commit a4ac6daf9 is right.

I think that some warning(s) must be turned on somewhere, incompatible types should be reported and compilation stopped when it happens.

Link to comment
Share on other sites

7 minutes ago, vector sigma said:

Personally I did not like also:


'}else{' instead of '} else {' 

and 


if (someting)
{
} 

vs the more readable version (imho): 


if (someting) {
} 

I thought about this later.

I think that some warning(s) must be turned on somewhere, incompatible types should be reported and compilation stopped when it happens.

Using braces is a part of Tiano code style and we agree with this part.

About incompatible types this is a question why compiler didn't see XStringW is not CHAR16*. 

Link to comment
Share on other sites

46 minutes ago, vector sigma said:

@LAbyOne retry with last commit please, here works but haven't tried before..

 

Here with Clover r5116 (SHA: a4ac6daf9)

still have the misc.png folder created

 

or you were referring to menus?

that works fine now 

Thanks

Edited by LAbyOne
Link to comment
Share on other sites

22 minutes ago, LAbyOne said:

 

Here with Clover r5116 (SHA: a4ac6daf9)

still have the misc.png folder created

Here works like a sharm, not sure what is going on. Can you edit the source in CloverBootloader/rEFIt_UEFI/libeg/libscreen.cpp, at line 560 replace the entire loop with this one below? 

for (UINTN Index = 0; Index < 60; Index++) {
    CHAR16 Name[128];
    UnicodeSPrint(Name, 256, L"EFI\\CLOVER\\misc\\screenshot%lld.png", Index);
    if (!FileExists(SelfRootDir, Name)) {
      Status = egSaveFile(SelfRootDir, Name, FileData, FileDataLength);
      if (!EFI_ERROR(Status)) {
        break;
      }
    }
  }

it's old c style using a buffer.. just to see if the problem persist..

Edited by vector sigma
Link to comment
Share on other sites

2 hours ago, vector sigma said:

 


BOOLEAN FileExists(IN CONST EFI_FILE *Root, IN CONST CHAR16 *RelativePath)

FileExists accept XStringW as parameter? EDIT no fixed

With latest @Jief_Machak  changes, I think that XStringW can be passed as CHAR16* without further conversions. Should work both ways. I think he removed .wc_str() in many places, but it shouldn't affect functionality.

 

Link to comment
Share on other sites

1 hour ago, vector sigma said:

Here works like a sharm, not sure what is going on. Can you edit the source in CloverBootloader/rEFIt_UEFI/libeg/libscreen.cpp, at line 560 replace the entire loop with this one below? 


for (UINTN Index = 0; Index < 60; Index++) {
    CHAR16 Name[128];
    UnicodeSPrint(Name, 256, L"EFI\\CLOVER\\misc\\screenshot%lld.png", Index);
    if (!FileExists(SelfRootDir, Name)) {
      Status = egSaveFile(SelfRootDir, Name, FileData, FileDataLength);
      if (!EFI_ERROR(Status)) {
        break;
      }
    }
  }

it's old c style using a buffer.. just to see if the problem persist..

 

This is Good! 

no additional folder created only shots into misc.

Thanks

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

24 minutes ago, Pene said:

Very strange, in that case it looks like a bug in XStringW() or SWPrintf().

@Jief_Machak any clue?

To exclude the first we can test with a hard coded path like this:

XStringW Name = L"EFI\\CLOVER\\misc\\screenshot_test.png"
Status = egSaveFile(SelfRootDir, Name, FileData, FileDataLength);
if (EFI_ERROR(Status)) {
  MsgLog("Make screenshot_test fail\n");
}

 

@LAbyOne, care to try the above (as a replacement of the entire loop) as we cannot reproduce the issue? 

Edited by vector sigma
Link to comment
Share on other sites

27 minutes ago, vector sigma said:

To exclude the first we can test with a hard coded path like this:


XStringW Name = L"EFI\\CLOVER\\misc\\screenshot_test.png"
Status = egSaveFile(SelfRootDir, Name, FileData, FileDataLength);
if (EFI_ERROR(Status)) {
  MsgLog("Make screenshot_test fail\n");
}

 

@LAbyOne, care to try the above (as a replacement of the entire loop) as we cannot reproduce the issue? 

 

compil breaks 

CPP] Settings
/Users/labyone/src/Clover/rEFIt_UEFI/libeg/libscreen.cpp:560:14: error: no viable conversion from 'const wchar_t [36]' to 'XStringW'
    XStringW Name = L"EFI\\CLOVER\\misc\\screenshot_test.png";
             ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/labyone/src/Clover/rEFIt_UEFI/gui/../cpp_foundation/XString.h:139:2: note: candidate constructor not viable: no known conversion from 'const wchar_t [36]' to 'const XStringW &' for 1st argument
        XStringW(const XStringW& S) : XStringAbstract<wchar_t, XStringW>(S) {}
        ^
/Users/labyone/src/Clover/rEFIt_UEFI/gui/../cpp_foundation/XString.h:144:2: note: candidate constructor not viable: no known conversion from 'const wchar_t [36]' to 'const LStringW &' for 1st argument
        XStringW(const LStringW& S) : XStringAbstract<wchar_t, XStringW>(S) { }
        ^
/Users/labyone/src/Clover/rEFIt_UEFI/gui/../cpp_foundation/XString.h:142:2: note: candidate template ignored: substitution failure [with OtherXStringClass = wchar_t [36]]: no type named 'type' in '_xtools_enable_if_t<false, void>'
        XStringW(const OtherXStringClass& S) : XStringAbstract<wchar_t, XStringW>(S) {}
        ^
1 error generated.
make: *** [/Users/labyone/src/Clover/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit/OUTPUT/libeg/libscreen.obj] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/labyone/src/Clover/Build/Clover/RELEASE_XCODE8/X64/rEFIt_UEFI/refit]


build.py...
 : error F002: Failed to build module
	/Users/labyone/src/Clover/rEFIt_UEFI/refit.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 00:14:13, May.12 2020
Build total time: 00:00:07

logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

 

Link to comment
Share on other sites

Sorry I felt asleep, tomorrow Jief probably will fix it. That should compile:

  XStringW Name = L"EFI\\CLOVER\\misc\\screenshot_test.png"_XSW;
  Status = egSaveFile(SelfRootDir, Name.wc_str(), FileData, FileDataLength);
  if (EFI_ERROR(Status)) {
    MsgLog("Make screenshot_test fail\n");
  }

 

Edited by vector sigma
Link to comment
Share on other sites

×
×
  • Create New...