Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

Hey @Slice, you missed one problem in 4840. I noted here you made a mistake in loading the sound 

If it's daylight, then the sound is not loaded because you are only checking for error which should not have happened unless night time sound was not found. Might I suggest you change to this:

    if (!DayLight) {
      Status = StartupSoundPlay(ThemeDir, L"sound_night.wav");
    }
    if (DayLight || EFI_ERROR(Status)) {
      Status = StartupSoundPlay(ThemeDir, L"sound.wav");
    }

 

EDIT: PS. Did anyone see that github now has unlimited private repositories? Is microsoft actually making something better?? Did I die like three years ago and now I'm in a weird simulation where they are keeping my brain alive as some sort of computational machine?

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

1 hour ago, Slice said:

@apianti

I mean that if daylight OR (SOUND_NIGHT IS NOT FOUND) then play sound.wav. For me it works tested day and night.

Some problems with allocated pools and opened protocols.

 

Except this line breaks your assumption that Status is an error: https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/Platform/Settings.c#l4198. Which is why some users had crash in CheckSyncSound() because no AudioIo was ever set because StartupSoundPlay() isn't called if a raster theme is loaded successfully unless it's night time. As for the sound breaking when playing asynchronously it is because of this: https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/Drivers/AudioDxe/HdaController/HdaControllerMem.c#l446. All the events in WaitForInputEventPoll() have the same tpl of TPL_NOTIFY meaning that the callback for the audio will not interrupt any of these. Try changing to TPL_HIGH_LEVEL and see if that gives correct results.

 

EDIT: Actually probably all driver events are TPL_NOTIFY, so probably every driver event is not interrupted like it should be to continue playing the sound.

Edited by apianti
Link to comment
Share on other sites

Now i test it again, use Clover r4840.

1. Delete BootChimeDxe.efi di Drivers64Uefi
2. Just use AudioDxe.efi in Drivers64UEFI
4. Set audio device from shell (There is sound when command applied)
5. Put sound wav and sound_night.wav in BGM_SVG folder

There is no sound before GUI CLOVER or in CLOVER (PlayAsync=False).

There is log "not found AudioIo" in preboot log.

Try reset Nvram (F11 in Gui clover), set from shell but no change

Thanks

 

c3f154f57065875d67e760d0844f853f.jpg

Sent from my Mi Note 2 using Tapatalk
 

preboot.log

Edited by Andres ZeroCross
Link to comment
Share on other sites

15 minutes ago, Andres ZeroCross said:
Now i test it again, use Clover r4840.

1. Delete BootChimeDxe.efi di Drivers64Uefi
2. Just use AudioDxe.efi in Drivers64UEFI
4. Set audio device from shell (There is sound when command applied)
5. Put sound wav and sound_night.wav in BGM_SVG folder

There is no sound before GUI CLOVER or in CLOVER (PlayAsync=False).

There is log "not found AudioIo" in preboot log.

Try reset Nvram (F11 in Gui clover), set from shell but no change

Thanks
 
c3f154f57065875d67e760d0844f853f.jpg&key=d5a2bb75ad7ad5876bef6ca9074dfbe9e4748188b0d818c49b9434edc869641d

Sent from my Mi Note 2 using Tapatalk
 
preboot.log


May sound silly but you are using the theme that you put the sound files on yeah?


Sent fr

Edited by SavageAUS
Link to comment
Share on other sites

3 minutes ago, SavageAUS said:


May sound silly but you are using the theme that you put the sound files on yeah?


Sent from my iPhone using Tapatalk
May sound silly but you are using the theme that you put the sound files on yeah?


Sent from my iPhone using Tapatalk


Yeah,,

Theme is loaded but sound = no

  

image.png

Link to comment
Share on other sites

43 minutes ago, Andres ZeroCross said:

Now i test it again, use Clover r4840.

1. Delete BootChimeDxe.efi di Drivers64Uefi
2. Just use AudioDxe.efi in Drivers64UEFI
4. Set audio device from shell (There is sound when command applied)
5. Put sound wav and sound_night.wav in BGM_SVG folder

There is no sound before GUI CLOVER or in CLOVER (PlayAsync=False).

There is log "not found AudioIo" in preboot log.

Try reset Nvram (F11 in Gui clover), set from shell but no change

Thanks

Sent from my Mi Note 2 using Tapatalk

 

This shows that there is just no audio io protocol installed on any of the devices, did you check to make sure you have nvram variables after configuring and restart?

 

EDIT: Nevermind, it wouldn't have gotten that far if they didn't exist. There should be a line that prints out the device path of the selected device, I bet it is being converted incorrectly so it doesn't match the one clover is using exactly.

EDIT2: Please run this command on your EFI partition and upload the file it generates:

dmpstore -all > nvram.txt

 

Edited by apianti
Link to comment
Share on other sites

 
This shows that there is just no audio io protocol installed on any of the devices, did you check to make sure you have nvram variables after configuring and restart?
 
EDIT: Nevermind, it wouldn't have gotten that far if they didn't exist. There should be a line that prints out the device path of the selected device, I bet it is being converted incorrectly so it doesn't match the one clover is using exactly.
Sorry, i am not sure how to check it?

Sent from my Mi Note 2 using Tapatalk

Link to comment
Share on other sites

23 minutes ago, apianti said:

This shows that there is just no audio io protocol installed on any of the devices, did you check to make sure you have nvram variables after configuring and restart?

 

EDIT: Nevermind, it wouldn't have gotten that far if they didn't exist. There should be a line that prints out the device path of the selected device, I bet it is being converted incorrectly so it doesn't match the one clover is using exactly.

If i use all the files from here, i have to rename sound.wav to sound_night.wav else no sound. but if i make my own sound.wav/sound_night.wav, i got no sound.

 

So maybe @apianti's EDIT: above make sense.

 

Link to comment
Share on other sites

10 minutes ago, cecekpawon said:

 

Yeah, that's why I wanted to see the variable value. I imagine he is still using the older version though, which could also have an issue with matching the string.

 

10 minutes ago, ellaosx said:

If i use all the files from here, i have to rename sound.wav to sound_night.wav else no sound. but if i make my own sound.wav/sound_night.wav, i got no sound.

 

So maybe @apianti's EDIT: above make sense.

 

 

These are unrelated problems. For the sound.wav to sound_night.wav, yes that is problem for raster theme as I posted before. For your own sounds, see here:

 

Edited by apianti
Link to comment
Share on other sites

1 hour ago, cecekpawon said:

@apianti BootChimeCfg may caused another problems in the future if you guys not also importing it into Clover, just guessing, since AudioPkg has rapid development and could be hard to resync from time to time _/|\_

 

I agree, it should have been external dependency or entire project imported.

 

EDIT: Windows build is sooooo f u c k i n g broken. I just give up trying to maintain it, it's constantly messed up because no one seems to care about data types. And cbuild.bat is borked from slices changes....

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

Hmmb, and it seems.. still has stability issue (at least, on my mach). ¯\_(ツ)_/¯

Previously worked fine with a same r4840, also a same *.wav.. but now I hear nothing after mach powered off.

Both sound.wav & sound_night.wav are available on my loaded "Theme Name" dir, though.

Ah, my eyes are sick reading what's "dmpstore -all > nvram.txt" wanna tell?

nvram_dmpstore_all_a43sj.txt.zip

Edited by Badruzeus
Link to comment
Share on other sites

29 minutes ago, Badruzeus said:

Hmmb, and it seems.. still has stability issue (at least, on my mach). ¯\_(ツ)_/¯

Previously worked fine with a same r4840, also a same *.wav.. but now I hear nothing after mach powered off.

Both sound.wav & sound_night.wav are available on my loaded "Theme Name" dir, though.

Ah, my eyes are sick reading what's "dmpstore -all > nvram.txt" wanna tell?

 

This is device path protocol, so you are using new version which won't produce the string in nvram so incompatible with current clover:

Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Volume' DataSize = 0x01
  00000000: 50                                               *P*
Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Index' DataSize = 0x08
  00000000: 00 00 00 00 00 00 00 00-                         *........*
Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Device' DataSize = 0x2E
  00000000: 02 01 0C 00 D0 41 03 0A-00 00 00 00 01 01 06 00  *.....A..........*
  00000010: 00 1B 03 0A 18 00 EB 3F-00 A9 06 D8 DB 41 A4 91  *.......?.....A..*
  00000020: 54 05 FE EF 46 C3 00 00-00 00 7F FF 04 00        *T...F.........*

 

  • Thanks 1
Link to comment
Share on other sites

17 minutes ago, apianti said:

This is device path protocol, so you are using new version which won't produce the string in nvram so incompatible with current clover:


Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Volume' DataSize = 0x01
  00000000: 50                                               *P*
Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Index' DataSize = 0x08
  00000000: 00 00 00 00 00 00 00 00-                         *........*
Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Device' DataSize = 0x2E
  00000000: 02 01 0C 00 D0 41 03 0A-00 00 00 00 01 01 06 00  *.....A..........*
  00000010: 00 1B 03 0A 18 00 EB 3F-00 A9 06 D8 DB 41 A4 91  *.......?.....A..*
  00000020: 54 05 FE EF 46 C3 00 00-00 00 7F FF 04 00        *T...F.........*

 

 

Yeah, I have 3 diff. AudioDxe & BootChimeCfg depend on their commits on github AudioPkg project.
OK so.. to not make thing complicated, I rolling back using @Slice prebuilt since now. (not sure what has he done to make it becomes "compatible with current Clover" LoL).

Edited by Badruzeus
Link to comment
Share on other sites

[mention=749318]apianti[/mention] BootChimeCfg may caused another problems in the future if you guys not also importing it into Clover, just guessing, since AudioPkg has rapid development and could be hard to resync from time to time _/|\_
I hope we can use bootchimedxe.efi too. Sound before apple loading bar is funny for me (like real mac)

Sent from my Mi Note 2 using Tapatalk

2 hours ago, apianti said:

 

Yeah, that's why I wanted to see the variable value. I imagine he is still using the older version though, which could also have an issue with matching the string.

 

 

These are unrelated problems. For the sound.wav to sound_night.wav, yes that is problem for raster theme as I posted before. For your own sounds, see here:

 



It works now,, i use BootChimeCfg.efi and AudioDxe.efi from Slice Prebuilt. So what's wrong?? BootChimeCfg.efi (to generate variable value in nvram) or AudioDxe.efi??

Link to comment
Share on other sites

1 hour ago, Badruzeus said:

 

Yeah, I have 3 diff. AudioDxe & BootChimeCfg depend on their commits on github AudioPkg project.
OK so.. to not make thing complicated, I rolling back using @Slice prebuilt since now. (not sure what has he done to make it becomes "compatible with current Clover" LoL).

 

The previous version of AudioPkg used the device path string, which is not compatible across firmware as each does it differently. This is the one clover currently uses. The newest version uses the device path protocol, which is uniform across firmwares, and what clover should be changed to use. It really only takes reading the variable differently then converting it to a string in the way clover does for every device path protocol, then it will work again with newest. However, it might just be better to remove from clover and have external dependency on AudioPkg instead, since it is better to let Goldfish64 maintain the sound devices then add more to clover that will lag behind.

 

1 hour ago, Andres ZeroCross said:

Sorry,, i have something to do before in real lif.

 

No problem, me too. Yeah its same issue, it set device path protocol in nvram instead of string:

Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Volume' DataSize = 0x01
  00000000: 64                                               *d*
Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Index' DataSize = 0x08
  00000000: 00 00 00 00 00 00 00 00-                         *........*
Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Device' DataSize = 0x2E
  00000000: 02 01 0C 00 D0 41 03 0A-00 00 00 00 01 01 06 00  *.....A..........*
  00000010: 03 1F 03 0A 18 00 EB 3F-00 A9 06 D8 DB 41 A4 91  *.......?.....A..*
  00000020: 54 05 FE EF 46 C3 00 00-00 00 7F FF 04 00        *T...F.........*

 

50 minutes ago, Andres ZeroCross said:

I hope we can use bootchimedxe.efi too. Sound before apple loading bar is funny for me (like real mac)

It works now,, i use BootChimeCfg.efi and AudioDxe.efi from Slice Prebuilt. So what's wrong?? BootChimeCfg.efi (to generate variable value in nvram) or AudioDxe.efi??

 

Problem is with mismatching versions that do different things. The correct way is to set the device path protocol, so the newest AudioPkg is what should be done. Clover needs fixed to work with it as it uses older device path string method which is not reliable. Just make sure you use the binaries slice provided for now.

 

EDIT: You can use BootChimeDxe.efi if you make sure all the binaries match newest and don't have sound(_night).wav for clover, or are older and have sound(_night).wav.

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

7 minutes ago, apianti said:

EDIT: You can use BootChimeDxe.efi if you make sure all the binaries match newest and don't have sound(_night).wav for clover, or are older and have sound(_night).wav.

If we use the newer version of Goldfish, should we use both of his AudioDxe & BootChimeDxe or only the BooChimeDxe?

Link to comment
Share on other sites

×
×
  • Create New...