apianti Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 January 8, 2019 by apianti 3 Link to comment Share on other sites More sharing options...
Slice Posted January 8, 2019 Share Posted January 8, 2019 @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. Link to comment Share on other sites More sharing options...
LockDown Posted January 8, 2019 Share Posted January 8, 2019 Is it possible to set the volume level in config.plist? Link to comment Share on other sites More sharing options...
Badruzeus Posted January 8, 2019 Share Posted January 8, 2019 So, with PlayAsync=true using r4840 I hear "\Theme Name\sound.wav" on Clover GUI loading. It' s working, thanks @Slice but just.. when GUI appears, simultaneous wav sounds crappy (or buggy as what you said). Link to comment Share on other sites More sharing options...
apianti Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 January 8, 2019 by apianti Link to comment Share on other sites More sharing options...
Andres ZeroCross Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 preboot.log Edited January 8, 2019 by Andres ZeroCross Link to comment Share on other sites More sharing options...
SavageAUS Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 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 January 8, 2019 by SavageAUS Link to comment Share on other sites More sharing options...
Andres ZeroCross Posted January 8, 2019 Share Posted January 8, 2019 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 Link to comment Share on other sites More sharing options...
apianti Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 January 8, 2019 by apianti Link to comment Share on other sites More sharing options...
Andres ZeroCross Posted January 8, 2019 Share Posted January 8, 2019 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 More sharing options...
apianti Posted January 8, 2019 Share Posted January 8, 2019 (edited) Please run this command on your EFI partition and upload the file it generates: dmpstore -all > nvram.txt Edited January 8, 2019 by apianti Link to comment Share on other sites More sharing options...
Andres ZeroCross Posted January 8, 2019 Share Posted January 8, 2019 3 minutes ago, apianti said: Please run this command on your EFI partition and upload the file it generates: dmpstore > nvram.txt This,, Thanks before nvram.txt Link to comment Share on other sites More sharing options...
apianti Posted January 8, 2019 Share Posted January 8, 2019 (edited) Sorry forgot you need to specify -all or it doesn't dump anything but globals. dmpstore -all > nvram.txt Edited January 8, 2019 by apianti Link to comment Share on other sites More sharing options...
LockDown Posted January 8, 2019 Share Posted January 8, 2019 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 More sharing options...
cecekpawon Posted January 8, 2019 Share Posted January 8, 2019 @Slice https://github.com/Goldfish64/AudioPkg/commit/f94de2cc05625e084e1a695f98fb66d1f6a26e5f Link to comment Share on other sites More sharing options...
apianti Posted January 8, 2019 Share Posted January 8, 2019 (edited) 10 minutes ago, cecekpawon said: @Slice https://github.com/Goldfish64/AudioPkg/commit/f94de2cc05625e084e1a695f98fb66d1f6a26e5f 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 January 8, 2019 by apianti Link to comment Share on other sites More sharing options...
cecekpawon Posted January 8, 2019 Share Posted January 8, 2019 @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 _/|\_ 4 Link to comment Share on other sites More sharing options...
apianti Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 January 8, 2019 by apianti 3 Link to comment Share on other sites More sharing options...
Badruzeus Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 January 8, 2019 by Badruzeus Link to comment Share on other sites More sharing options...
apianti Posted January 8, 2019 Share Posted January 8, 2019 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.........* 1 Link to comment Share on other sites More sharing options...
Badruzeus Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 January 8, 2019 by Badruzeus Link to comment Share on other sites More sharing options...
Andres ZeroCross Posted January 8, 2019 Share Posted January 8, 2019 (edited) 2 hours ago, apianti said: Sorry forgot you need to specify -all or it doesn't dump anything but globals. dmpstore -all > nvram.txt Sorry,, i have something to do before in real lif. Here is the nvram.txt Edited January 8, 2019 by Andres ZeroCross Link to comment Share on other sites More sharing options...
Andres ZeroCross Posted January 8, 2019 Share Posted January 8, 2019 [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 More sharing options...
apianti Posted January 8, 2019 Share Posted January 8, 2019 (edited) 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 January 8, 2019 by apianti 1 1 Link to comment Share on other sites More sharing options...
LockDown Posted January 8, 2019 Share Posted January 8, 2019 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 More sharing options...
Recommended Posts