Regi Yassin Posted January 7, 2018 Share Posted January 7, 2018 Yes you need to enter a slide value sometimes to get AptioFix2 to work. Maybe it should be modified to determine that on it's own. I want to obsolete AptioFix.... Make AptioFix2 the one method to rule them all! Also rename it.... lol EDIT: Test the newest AptioFix2 and see what the result is. Using a slide is not a big deal, it's done anyway to place the kernel. where can i get the newest AptioFix2 ? im using r4369, is it the newest ? how can i figure what slide value is proper for my system? is 128 ok ? Link to comment Share on other sites More sharing options...
apianti Posted January 7, 2018 Share Posted January 7, 2018 Hm, nvidia + hd4600 works, but in recent Firefox, 1080p60 youtube videos will stop sometimes (not so using nvidia only). Unsure if it is a Firefox issue or some kind of latency / synchronisation issue? Luxmark showed better results with both enabled (8960 vs. 7275) It's hard to say, I think that some code needs refactored or removed from the fix as it no longer is relevant and some decisions made years ago are no longer viable or were never viable, where we decided working was better than not.... I have a feeling that the code DF and I were just talking about plays a big part in intel GPUs problems that seem to appear. Like HD3000 artifacts/sync issues and HD4000+ HDCP issues. where can i get the newest AptioFix2 ? im using r4369, is it the newest ? how can i figure what slide value is proper for my system? is 128 ok ? I posted it a few posts back but r4369 is newest. I also gave method for determining slide if needed a few posts ago. Care to share?? I posted mostly the same driver a few posts ago. He meant he just cleaned it up, refactored, and removed some stuff not needed, I imagine he will release it when it's ready, like he said. 1 Link to comment Share on other sites More sharing options...
Slice Posted January 7, 2018 Share Posted January 7, 2018 4369 released. @all, please more comments about changes: 1. Sleep/Wake (mode=0) 2. Hibernation (mode=25) 3. NVRAM without EmuVariableUefi 4. Intel graphics artefacts. 6 Link to comment Share on other sites More sharing options...
apianti Posted January 7, 2018 Share Posted January 7, 2018 4369 released. @all, please more comments about changes: 1. Sleep/Wake (mode=0) 2. Hibernation (mode=25) 3. NVRAM without EmuVariableUefi 4. Intel graphics artefacts. Runtime code areas are no longer allowed to be relocated by boot.efi like runtime data areas. Runtime methods for NVRAM variables are shimmed to enable writing into runtime code regions during the methods, then disabled upon return. Native NVRAM should work for everyone now. Sleep/hibernation has been a discussion, unsure, it may be broken, but fixable? That will be a longer term evaluation, but I think we all pretty much agree that it is not correct and will need fixed (there may be an element of luck for success). The Intel graphics problem, not fixed, just discussed the removing of the reserved area for these GPUs and how it's probably a better idea to somehow preserve this region because why would it exist if it wasn't needed? EDIT: Forgot, thanks for the package update. 1 Link to comment Share on other sites More sharing options...
SavageAUS Posted January 7, 2018 Share Posted January 7, 2018 Yes you need to enter a slide value sometimes to get AptioFix2 to work. Maybe it should be modified to determine that on it's own. I want to obsolete AptioFix.... Make AptioFix2 the one method to rule them all! Also rename it.... lol EDIT: Test the newest AptioFix2 and see what the result is. Using a slide is not a big deal, it's done anyway to place the kernel. The newest AptioFix2 from r4369 should be very different than the previous and should give you very close to 100% working system besides a few caveats that still need fixed but I want to get rid of AptioFix and rename AptioFix2 to something more appropriate. There should not be a need for AptioFix anymore as AptioFix2 should be sufficiently modified to work for every system. Or at least I hope. Also everyone testing this driver, if you have EmuVar driver remove that because you should have working NVRAM. Desktop hack in sig. I previously used EmuVar (for nvidia card) but with Clover 4369 i removed EmuVar and rebooted without issue. GTX 960 working as it should. NVRAM appears functional. EDIT: Maybe not Link to comment Share on other sites More sharing options...
apianti Posted January 7, 2018 Share Posted January 7, 2018 Desktop hack in sig. I previously used EmuVar (for nvidia card) but with Clover 4369 i removed EmuVar and rebooted without issue. GTX 960 working as it should. NVRAM appears functional. EDIT: Maybe not To test whether it is working go into terminal and use the command like sudo nvram test="value" Then restart and run sudo nvram -p And see if the test variable is there. You can then delete it: sudo nvram -d test If the variable is not there you do not have working NVRAM. Would need to get more info then. Link to comment Share on other sites More sharing options...
SavageAUS Posted January 7, 2018 Share Posted January 7, 2018 To test whether it is working go into terminal and use the command like sudo nvram test="value" Then restart and run sudo nvram -p And see if the test variable is there. You can then delete it: sudo nvram -d testIf the variable is not there you do not have working NVRAM. Would need to get more info then. NVRAM is functional. I used the code you provided and after reboot in NVRAM I see test value Sent from my SM-G930F using Tapatalk 1 Link to comment Share on other sites More sharing options...
Regi Yassin Posted January 7, 2018 Share Posted January 7, 2018 I posted it a few posts back but r4369 is newest. I also gave method for determining slide if needed a few posts ago. you mean this ? Once you get into the clover GUI, you need to go into the EFI shell and use the memmap command find the available region that has the largest space and calculate the slide value. You do that by taking the address of the region you found, subtract 0x100000 then divide by 0x200000. Now you have the slide value, you must make sure it is good. Do the calculation 0x100000 + (slide * 0x200000). That should give you the same address of the free area, if not add one to the slide or find another region and repeat. EDIT: It's also ok if address calculated with the slide just offsets slightly into the region as long as there is still enough space for the kernel to load, usually around 0x12000 pages is good enough. i don't understand, im not programmer or coder would you please to help me?? here is my memmap Type Start End # Pages Attributes Available 0000000000000000-000000000003EFFF 000000000000003F 000000000000000F RT_Data 000000000003F000-000000000003FFFF 0000000000000001 800000000000000F Available 0000000000040000-000000000009FFFF 0000000000000060 000000000000000F Available 0000000000100000-000000000FFFFFFF 000000000000FF00 000000000000000F BS_Code 0000000010000000-000000001000AFFF 000000000000000B 000000000000000F Available 000000001000B000-00000000A562FFFF 0000000000095625 000000000000000F LoaderCode 00000000A5630000-00000000A57B9FFF 000000000000018A 000000000000000F LoaderData 00000000A57BA000-00000000A6EA2FFF 00000000000016E9 000000000000000F BS_Data 00000000A6EA3000-00000000A6F22FFF 0000000000000080 000000000000000F LoaderData 00000000A6F23000-00000000AD7A5FFF 0000000000006883 000000000000000F BS_Data 00000000AD7A6000-00000000B97A5FFF 000000000000C000 000000000000000F Available 00000000B97A6000-00000000B9A0FFFF 000000000000026A 000000000000000F BS_Code 00000000B9A10000-00000000BA432FFF 0000000000000A23 000000000000000F Reserved 00000000BA433000-00000000BB196FFF 0000000000000D64 000000000000000F ACPI_Recl 00000000BB197000-00000000BB1F6FFF 0000000000000060 000000000000000F ACPI_NVS 00000000BB1F7000-00000000BD3F7FFF 0000000000002201 000000000000000F RT_Data 00000000BD3F8000-00000000BDC99FFF 00000000000008A2 800000000000000F RT_Code 00000000BDC9A000-00000000BDD02FFF 0000000000000069 800000000000000F BS_Data 00000000BDD03000-00000000BDD03FFF 0000000000000001 000000000000000F RT_Data 00000000BDD04000-00000000BDD89FFF 0000000000000086 800000000000000F BS_Data 00000000BDD8A000-00000000BDFFFFFF 0000000000000276 000000000000000F Available 0000000100000000-000000083FFFFFFF 0000000000740000 000000000000000F Reserved 00000000BE000000-00000000BEFFFFFF 0000000000001000 0000000000000000 MMIO 00000000E0000000-00000000EFFFFFFF 0000000000010000 8000000000000001 MMIO 00000000FED1C000-00000000FED44FFF 0000000000000029 8000000000000001 MMIO 00000000FF000000-00000000FFFFFFFF 0000000000001000 8000000000000001 Reserved : 7,524 Pages (30,818,304 Bytes) LoaderCode: 394 Pages (1,613,824 Bytes) LoaderData: 32,620 Pages (133,611,520 Bytes) BS_Code : 2,606 Pages (10,674,176 Bytes) BS_Data : 49,911 Pages (204,435,456 Bytes) RT_Code : 105 Pages (430,080 Bytes) RT_Data : 2,345 Pages (9,605,120 Bytes) ACPI_Recl : 96 Pages (393,216 Bytes) ACPI_NVS : 8,705 Pages (35,655,680 Bytes) MMIO : 69,673 Pages (285,380,608 Bytes) MMIO_Port : 0 Pages (0 Bytes) PalCode : 0 Pages (0 Bytes) Available : 8,280,110 Pages (33,915,330,560 Bytes) Persistent: 0 Pages (0 Bytes) -------------- Total Memory: 32,722 MB (34,311,749,632 Bytes) Link to comment Share on other sites More sharing options...
apianti Posted January 7, 2018 Share Posted January 7, 2018 NVRAM is functional. I used the code you provided and after reboot in NVRAM I see test value Sent from my SM-G930F using Tapatalk Awesome. you mean this ? Once you get into the clover GUI, you need to go into the EFI shell and use the memmap command find the available region that has the largest space and calculate the slide value. You do that by taking the address of the region you found, subtract 0x100000 then divide by 0x200000. Now you have the slide value, you must make sure it is good. Do the calculation 0x100000 + (slide * 0x200000). That should give you the same address of the free area, if not add one to the slide or find another region and repeat. EDIT: It's also ok if address calculated with the slide just offsets slightly into the region as long as there is still enough space for the kernel to load, usually around 0x12000 pages is good enough. i don't understand, im not programmer or coder would you please to help me?? here is my memmap Type Start End # Pages Attributes Available 0000000000000000-000000000003EFFF 000000000000003F 000000000000000F RT_Data 000000000003F000-000000000003FFFF 0000000000000001 800000000000000F Available 0000000000040000-000000000009FFFF 0000000000000060 000000000000000F Available 0000000000100000-000000000FFFFFFF 000000000000FF00 000000000000000F BS_Code 0000000010000000-000000001000AFFF 000000000000000B 000000000000000F Available 000000001000B000-00000000A562FFFF 0000000000095625 000000000000000F LoaderCode 00000000A5630000-00000000A57B9FFF 000000000000018A 000000000000000F LoaderData 00000000A57BA000-00000000A6EA2FFF 00000000000016E9 000000000000000F BS_Data 00000000A6EA3000-00000000A6F22FFF 0000000000000080 000000000000000F LoaderData 00000000A6F23000-00000000AD7A5FFF 0000000000006883 000000000000000F BS_Data 00000000AD7A6000-00000000B97A5FFF 000000000000C000 000000000000000F Available 00000000B97A6000-00000000B9A0FFFF 000000000000026A 000000000000000F BS_Code 00000000B9A10000-00000000BA432FFF 0000000000000A23 000000000000000F Reserved 00000000BA433000-00000000BB196FFF 0000000000000D64 000000000000000F ACPI_Recl 00000000BB197000-00000000BB1F6FFF 0000000000000060 000000000000000F ACPI_NVS 00000000BB1F7000-00000000BD3F7FFF 0000000000002201 000000000000000F RT_Data 00000000BD3F8000-00000000BDC99FFF 00000000000008A2 800000000000000F RT_Code 00000000BDC9A000-00000000BDD02FFF 0000000000000069 800000000000000F BS_Data 00000000BDD03000-00000000BDD03FFF 0000000000000001 000000000000000F RT_Data 00000000BDD04000-00000000BDD89FFF 0000000000000086 800000000000000F BS_Data 00000000BDD8A000-00000000BDFFFFFF 0000000000000276 000000000000000F Available 0000000100000000-000000083FFFFFFF 0000000000740000 000000000000000F Reserved 00000000BE000000-00000000BEFFFFFF 0000000000001000 0000000000000000 MMIO 00000000E0000000-00000000EFFFFFFF 0000000000010000 8000000000000001 MMIO 00000000FED1C000-00000000FED44FFF 0000000000000029 8000000000000001 MMIO 00000000FF000000-00000000FFFFFFFF 0000000000001000 8000000000000001 Reserved : 7,524 Pages (30,818,304 Bytes) LoaderCode: 394 Pages (1,613,824 Bytes) LoaderData: 32,620 Pages (133,611,520 Bytes) BS_Code : 2,606 Pages (10,674,176 Bytes) BS_Data : 49,911 Pages (204,435,456 Bytes) RT_Code : 105 Pages (430,080 Bytes) RT_Data : 2,345 Pages (9,605,120 Bytes) ACPI_Recl : 96 Pages (393,216 Bytes) ACPI_NVS : 8,705 Pages (35,655,680 Bytes) MMIO : 69,673 Pages (285,380,608 Bytes) MMIO_Port : 0 Pages (0 Bytes) PalCode : 0 Pages (0 Bytes) Available : 8,280,110 Pages (33,915,330,560 Bytes) Persistent: 0 Pages (0 Bytes) -------------- Total Memory: 32,722 MB (34,311,749,632 Bytes) Is this the memmap from after you enter clover GUI and then use EFI shell? If so then, you're going to want to select this region because it has the most free pages below 0x100000000: Available 000000001000B000-00000000A562FFFF 0000000000095625 000000000000000F So to calculate the slide: 0x1000B000 - 0x100000 = 0xFF0B000 0xFF0B000 / 0x200000 = 0x7F Now need to verify that will give a valid region: 0x7F * 0x200000 = 0xFE00000 0xFE00000 + 0x100000 = 0xFF00000 0x7F is not valid slide because the address 0xFF00000 < 0x1000B000. Increase slide by one and recalculate: 0x80 * 0x200000 = 0x10000000 0x10000000 + 0x100000 = 0x10100000 0x80 is valid slide because it falls within the region, 0x10100000 >= 0x1000B000. Now calculate the remaining pages in region: 0x1000B000 + (0x95625 * 0x1000) = 0xA5630000 0xA5630000 - 0x10100000 = 0x95530000 0x95530000 / 0x1000 = 0x95530 The region has 0x95530 pages which is definitely more than 0x12000 pages (about ~300MB and usually the size of the kernelcache is less than that). So your slide is 0x80 or 128. Which you already knew but I guess I just mathematically proved for you. Did you try without setting any slide first? If that doesn't work use slide=128. EDIT: Mixed up some numbers but fixed it. EDIT2: If you get less than 0x12000 pages left over when you do this calculation then try another region and choose the one that yields the highest available pages. EDIT3: If after you do this to every available region and none even come close to having 0x12000 pages then you have the fragmentation issue. You will have to fallback to AptioFix for now, until that issue is resolved. EDIT4: Only increase the slide value once per region just because of alignment, move onto the next region after one increase. 5 Link to comment Share on other sites More sharing options...
Regi Yassin Posted January 7, 2018 Share Posted January 7, 2018 Awesome. Is this the memmap from after you enter clover GUI and then use EFI shell? If so then, you're going to want to select this region because it has the most free pages below 0x100000000: Available 000000001000B000-00000000A562FFFF 0000000000095625 000000000000000F So to calculate the slide: 0x1000B000 - 0x100000 = 0xFF0B000 0xFF0B000 / 0x200000 = 0x7F Now need to verify that will give a valid region: 0x7F * 0x200000 = 0xFE00000 0xFE00000 + 0x100000 = 0xFF00000 0x7F is not valid slide because the address 0xFF00000 < 0x1000B000. Increase slide by one and recalculate: 0x80 * 0x200000 = 0x10000000 0x10000000 + 0x100000 = 0x10100000 0x80 is valid slide because it falls within the region, 0x10100000 >= 0x1000B000. Now calculate the remaining pages in region: 0x1000B000 + (0x95625 * 0x1000) = 0xA5630000 0xA5630000 - 0x10100000 = 0x95530000 0x95530000 / 0x1000 = 0x95530 The region has 0x95530 pages which is definitely more than 0x12000 pages (about ~300MB and usually the size of the kernelcache is less than that). So your slide is 0x80 or 128. Which you already knew but I guess I just mathematically proved for you. Did you try without setting any slide first? If that doesn't work use slide=128. EDIT: Mixed up some numbers but fixed it. EDIT2: If you get less than 0x12000 pages left over when you do this calculation then try another region and choose the one that yields the highest available pages. EDIT3: If after you do this to every available region and none even come close to having 0x12000 pages then you have the fragmentation issue. You will have to fallback to AptioFix for now, until that issue is resolved. thanks a lot, i already tried without slide, "does printf work?" hang. when i use this memmap, in my UEFI driver still aptiofix 1 not v2, it doesnt matter, right? 1 Link to comment Share on other sites More sharing options...
apianti Posted January 7, 2018 Share Posted January 7, 2018 thanks a lot, i already tried without slide, "does printf work?" hang. when i use this memmap, in my UEFI driver still aptiofix 1 not v2, it doesnt matter, right? No, you should use AptioFix2 above AptioFix always. If AptioFix2 does not work even with slide value, then fallback to AptioFix. You should be good though with slide=128 with AptioFix2. EDIT: Where is "does printf work??" even from? WTF? That's a weird message. Is that from boot.efi? I don't see where that's in clover.... Link to comment Share on other sites More sharing options...
Regi Yassin Posted January 7, 2018 Share Posted January 7, 2018 No, you should use AptioFix2 above AptioFix always. If AptioFix2 does not work even with slide value, then fallback to AptioFix. You should be good though with slide=128 with AptioFix2. i only can boot with slide=128, i cant if slide=80 so, i must/should use aptiofix2 with slide=128 instead of aptiofix without slide arg? Link to comment Share on other sites More sharing options...
apianti Posted January 7, 2018 Share Posted January 7, 2018 i only can boot with slide=128, i cant if slide=80 so, i must/should use aptiofix2 with slide=128 instead of aptiofix without slide arg? No, you misunderstood I wrote 0x80 and 128, those are the same number just in hexadecimal and decimal. And yes you should use AptioFix2. It should probably be made to automatically calculate the slide if one is not given. 2 Link to comment Share on other sites More sharing options...
mhaeuser Posted January 7, 2018 Share Posted January 7, 2018 No, you misunderstood I wrote 0x80 and 128, those are the same number just in hexadecimal and decimal. And yes you should use AptioFix2. It should probably be made to automatically calculate the slide if one is not given.Please don't kill "random KASLR", thx ;p Link to comment Share on other sites More sharing options...
mitch_de Posted January 7, 2018 Share Posted January 7, 2018 Question about using memmap for slide value calc: "clover GUI, you need to go into the EFI shell and use the memmap command" .. Before of using that command, must i remove any aptiofix..efi driver and reboot? Or does the command and later calc works if an aptiofix..efi driver is used (in the clover driver path)? Thanks Link to comment Share on other sites More sharing options...
mhaeuser Posted January 7, 2018 Share Posted January 7, 2018 Question about using memmap for slide value calc: "clover GUI, you need to go into the EFI shell and use the memmap command" .. Before of using that command, must i remove any aptiofix..efi driver and reboot? Or does the command and later calc works if an aptiofix..efi driver is used (in the clover driver path)? Thanks You don't need to remove AF. 2 Link to comment Share on other sites More sharing options...
mitch_de Posted January 7, 2018 Share Posted January 7, 2018 Now i tried newest ..69 Clover.pkg (DLed from SF, installed for test on USB Stick). Used aptiofix2drv-64.efi - before i must use the aptiofixdrv-64.efi on my GA-Z77 MB. Worked! So no need for me to calc and use an slide value. Thanks Q: The size of that ..2..efi coming within the .pkg is 23KB, that test version from page 800 is about 52 KB size. Same stuff / code - only bigger by debug code / not size optimized? Or should i try also that test ..2fix.. version from page 800? Link to comment Share on other sites More sharing options...
mhaeuser Posted January 7, 2018 Share Posted January 7, 2018 Now i tried newest ..69 Clover.pkg (DLed from SF, installed for test on USB Stick). Used aptiofix2drv-64.efi - before i must use the aptiofixdrv-64.efi on my GA-Z77 MB. Worked! So no need for me to calc and use an slide value. Thanks Q: The size of that ..2..efi coming within the .pkg is 23KB, that test version from page 800 is about 52 KB size. Same stuff / code - only bigger by debug code / not size optimized? Or should i try also that test ..2fix.. version from page 800? I don't know why my bin is larger, the toolchain is what makes the diff 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted January 7, 2018 Share Posted January 7, 2018 Nvram is working without emul+rc script in latest clover. Thank you so much! 나의 LG-F800S 의 Tapatalk에서 보냄 6 Link to comment Share on other sites More sharing options...
Hackmac101 Posted January 7, 2018 Share Posted January 7, 2018 Z Link to comment Share on other sites More sharing options...
Needy Posted January 7, 2018 Share Posted January 7, 2018 To test whether it is working go into terminal and use the command like sudo nvram test="value" Then restart and run sudo nvram -p And see if the test variable is there. You can then delete it: sudo nvram -d test If the variable is not there you do not have working NVRAM. Would need to get more info then. Hi there, I've tested r4369 on InsydeH20 and the nvram is not working without the emulation driver :/ Let me know what info u need. Link to comment Share on other sites More sharing options...
Sherlocks Posted January 7, 2018 Share Posted January 7, 2018 -s single mode is working. -x safe mode is not working. Only shown "does printf work?" 나의 LG-F800S 의 Tapatalk에서 보냄 Link to comment Share on other sites More sharing options...
Slice Posted January 7, 2018 Share Posted January 7, 2018 EDIT: Where is "does printf work??" even from? WTF? That's a weird message. Is that from boot.efi? I don't see where that's in clover.... I think it is from apfs.efi. I don't know why my bin is larger, the toolchain is what makes the diff My compilation is 23kb. The toolchain is XCODE5. The sources are from sf.net. RELEASE. Are you sure you have the same sources? Link to comment Share on other sites More sharing options...
mhaeuser Posted January 7, 2018 Share Posted January 7, 2018 My compilation is 23kb. The toolchain is XCODE5. The sources are from sf.net. RELEASE. Are you sure you have the same sources? Yes, I used VS2015x86. Seems to be some bug (or feature ) with an edk2 update as bins are larger than they used to be anyway. Link to comment Share on other sites More sharing options...
chris1111 Posted January 7, 2018 Share Posted January 7, 2018 @apianti @vit9696 Thank you Works here HP ProBook 6570b WithOut EmuV 1 Link to comment Share on other sites More sharing options...
Recommended Posts