Slice Posted April 3, 2017 Share Posted April 3, 2017 Create two new files and place one of them to HFS+ partition and other one to ESP. Reboot to Clover, to Shell and compare modification date for these two files. HFS+ - UTC time ESP - local time. For me the difference is 3 hours while they created simultaneously. Link to comment Share on other sites More sharing options...
tluck Posted April 4, 2017 Share Posted April 4, 2017 ok. yes. BIOS/shell uses UTC. here is nvram save script 1.16.4 - writes UTC time stamp on nvram.plist file attributes - writes time stamp in current TZ in LOG nvram-logouthook_v1.16.4.zip 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted April 8, 2017 Share Posted April 8, 2017 @Slicehello. i see gma.c code.it had many dummy list and no clear.so i decided to clear code and updated all intel graphics data and rewritten it.i had tested code many time with debug for 3 days.all are good working.- No acpi injection, no fakeid, input ig-platform id 1916000042:078 0:000 Intel HD Graphics 520 [8086:1916] :: PciRoot(0x0)\Pci(0x2,0x0)42:078 0:000 ig-platform-id = 19160000 42:078 0:000 Intel GFX revision = 0x7- No acpi injection, no fakeid, no ig-platform id23:662 0:000 Intel HD Graphics 520 [8086:1916] :: PciRoot(0x0)\Pci(0x2,0x0)23:662 0:000 Not set ig-platform-id. Automatically detect it or use ACPI injection23:662 0:000 Intel GFX revision = 0x7-- No acpi injection, input fakeid, input ig-platform id in config.plist58:310 0:000 Intel HD Graphics 520 [8086:1916] :: PciRoot(0x0)\Pci(0x2,0x0)58:310 0:000 FakeIntel = 0x1916808658:310 0:000 ig-platform-id = 19160000 58:310 0:000 Intel GFX revision = 0x7 features-don’t worry ssdt injection. if you have ig-platform-id and etc in ssdt, clover uses these values-if you don’t know ig-platform-id and device-id, place empty. Clover automatically detect ig-platform-id. support since GMA 915 to kabylake. in future, if apple release kabylake product, i will change it. now support kabylake by using skylake's ig-platform-id- added logs. because that laptop has special gpu need to fakeid and ig-platform-id. we can easily debug it from users.- no more exist glitch with skylake and kabylake. clover support it- no need to add property snb-platformdata or etc in acpi injection when install snow leopard.thanks in advance gma.c-Sherlocks.zip 7 Link to comment Share on other sites More sharing options...
Sherlocks Posted April 9, 2017 Share Posted April 9, 2017 @Slicei see EDID Bugs. only works old way EDID injection in latest clover.so. i decided to fix this issue.i had tested this code with debug for 3 days. no problem with clover build there are proves. case 1no injectno Customno VendorIDno ProductID1:825 0:000 === [ RestSetup macOS ] ===================================1:825 0:000 EdidDiscovered size=1281:825 0:000 Not Inject EDID1:825 0:000 | EDID Table1:825 0:000 000 | 00 FF FF FF FF FF FF 00 30 E41:825 0:000 010 | EB 04 00 00 00 00 00 19 01 04case 2yes injectno Customno VendorIDno ProductID4:740 0:000 === [ RestSetup macOS ] ===================================4:740 0:000 EdidDiscovered size=1284:740 0:000 Inject EDID4:740 0:000 No Custom EDID4:740 0:000 | EDID Table4:740 0:000 000 | 00 FF FF FF FF FF FF 00 30 E44:740 0:000 010 | EB 04 00 00 00 00 00 19 01 04case 3yes injectyes Customno VendorIDno ProductID1:721 0:000 === [ RestSetup macOS ] ===================================1:721 0:000 EdidDiscovered size=1281:721 0:000 Inject EDID1:721 0:000 Use Custom EDID1:721 0:000 | CustomEDID Table1:721 0:000 000 | 00 FF FF FF FF FF FF 00 30 E51:721 0:000 010 | EB 24 00 00 00 00 00 19 01 04case 4yes injectyes Customno VendorIDyes ProductID1:650 0:000 === [ RestSetup macOS ] ===================================1:650 0:000 EdidDiscovered size=1281:650 0:000 Inject EDID1:650 0:000 Use Custom EDID1:650 0:000 | CustomEDID Table1:650 0:000 000 | 00 FF FF FF FF FF FF 00 30 E51:650 0:000 010 | EB 24 00 00 00 00 00 19 01 041:650 0:000 ProductID = 0x9C3A1:650 0:000 | New Custom EDID Table1:650 0:000 000 | 00 FF FF FF FF FF FF 00 30 E51:650 0:000 010 | 3A 9C 00 00 00 00 00 19 01 04case 5yes injectyes Customyes VendorIDno ProductID1:556 0:000 === [ RestSetup macOS ] ===================================1:556 0:000 EdidDiscovered size=1281:556 0:000 Inject EDID1:556 0:000 Use Custom EDID1:556 0:000 | Custom EDID Table1:556 0:000 000 | 00 FF FF FF FF FF FF 00 30 E51:556 0:000 010 | EB 24 00 00 00 00 00 19 01 041:556 0:000 VendorID = 0x10061:556 0:000 | New Custom EDID Table1:556 0:000 000 | 00 FF FF FF FF FF FF 00 06 101:556 0:000 010 | EB 24 00 00 00 00 00 19 01 04case6yes injectyes Customyes VendorIDyes ProductID1:634 0:000 === [ RestSetup macOS ] ===================================1:634 0:000 EdidDiscovered size=1281:634 0:000 Inject EDID1:634 0:000 Use Custom EDID1:634 0:000 | Custom EDID Table1:634 0:000 000 | 00 FF FF FF FF FF FF 00 30 E51:634 0:000 010 | EB 24 00 00 00 00 00 19 01 041:634 0:000 VendorID = 0x10061:634 0:000 ProductID = 0x9C3A1:634 0:000 | New Custom EDID Table1:634 0:000 000 | 00 FF FF FF FF FF FF 00 06 101:634 0:000 010 | 3A 9C 00 00 00 00 00 19 01 04Other cases are omitted. The test has already been completed.all cases are resolved.note. in case 1, most of users use it. so i did omit this log “Not Inject EDID” in attached files.case 1no injectno Customno VendorIDno ProductID1:825 0:000 === [ RestSetup macOS ] ===================================1:825 0:000 EdidDiscovered size=1281:825 0:000 Not Inject EDID -> will not show1:825 0:000 | EDID Table1:825 0:000 000 | 00 FF FF FF FF FF FF 00 30 E41:825 0:000 010 | EB 04 00 00 00 00 00 19 01 04 features- we don’t need to add edid information from windows. it’s same EDID values.- no more have pain import EDID information from darwin dump. you can easily use EDID.- if you don’t know your EDID, enable injection, and put what you want in VendorID or ProductID- When you have Custom EDID value, if you want to change ProductID hex in 128 data, After change hex, You don’t know checksum value. don’t worry. clover auto-change EDID checksum.- no more divide old and new wayformat<key>Custom</key><data></data><key>Inject</key><true/><key>ProductID</key><string>0x9c3a</string> ——> most of apple’s laptop uses xx9c<key>VendorID</key><string>0x1006</string> ——> Apple use 0610 V2) i did commented some log(No Custom EDID, etc)/ V3) better smart behavior about Custom EDID checksum 2:661 0:000 === [ RestSetup macOS ] =================================== 2:661 0:000 EdidDiscovered size=128 2:661 0:000 Inject EDID 2:661 0:000 Use Custom EDID 2:661 0:000 Custom EDID Checksum = 82 2:661 0:000 Custom EDID Checksum is wrong 2:661 0:000 Fixed Custom EDID Checksum = 4F 2:661 0:000 | Custom EDID table with fixed Checksum 2:661 0:000 000 | 00 FF FF FF FF FF FF 00 06 10 2:661 0:000 010 | 3D 9C 00 00 00 00 00 19 01 04 2:661 0:000 120 | 38 2D 53 50 41 31 00 4F thanks in advance. have a great day EDID-SherlocksV3.zip 3 Link to comment Share on other sites More sharing options...
Slice Posted April 10, 2017 Share Posted April 10, 2017 @Slice hello. i see gma.c code. it had many dummy list and no clear. so i decided to clear code and updated all intel graphics data and rewritten it. i had tested code many time with debug for 3 days. all are good working. - No acpi injection, no fakeid, input ig-platform id 19160000 42:078 0:000 Intel HD Graphics 520 [8086:1916] :: PciRoot(0x0)\Pci(0x2,0x0) 42:078 0:000 ig-platform-id = 19160000 42:078 0:000 Intel GFX revision = 0x7 - No acpi injection, no fakeid, no ig-platform id 23:662 0:000 Intel HD Graphics 520 [8086:1916] :: PciRoot(0x0)\Pci(0x2,0x0) 23:662 0:000 Not set ig-platform-id. Automatically detect it or use ACPI injection 23:662 0:000 Intel GFX revision = 0x7 -- No acpi injection, input fakeid, input ig-platform id in config.plist 58:310 0:000 Intel HD Graphics 520 [8086:1916] :: PciRoot(0x0)\Pci(0x2,0x0) 58:310 0:000 FakeIntel = 0x19168086 58:310 0:000 ig-platform-id = 19160000 58:310 0:000 Intel GFX revision = 0x7 features -don’t worry ssdt injection. if you have ig-platform-id and etc in ssdt, clover uses these values -if you don’t know ig-platform-id and device-id, place empty. Clover automatically detect ig-platform-id. support since GMA 915 to kabylake. in future, if apple release kabylake product, i will change it. now support kabylake by using skylake's ig-platform-id - added logs. because that laptop has special gpu need to fakeid and ig-platform-id. we can easily debug it from users. - no more exist glitch with skylake and kabylake. clover support it - no need to add property snb-platformdata or etc in acpi injection when install snow leopard. thanks in advance Hey Sherlocks, Should every "case" be ended by "break"? For example here: case 0x190E: // "Intel Skylake GT1" // case 0x1912: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); case 0x1913: // "Intel Skylake GT2f" // case 0x1915: // "Intel Skylake GT2f" // case 0x1916: // "Intel HD Graphics 520" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[1], 4); case 0x1917: // "Intel Skylake GT2f" // case 0x191A: // "Intel Skylake GT2" // Link to comment Share on other sites More sharing options...
Sherlocks Posted April 10, 2017 Share Posted April 10, 2017 Hey Sherlocks, Should every "case" be ended by "break"? For example here: case 0x190E: // "Intel Skylake GT1" // case 0x1912: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); case 0x1913: // "Intel Skylake GT2f" // case 0x1915: // "Intel Skylake GT2f" // case 0x1916: // "Intel HD Graphics 520" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[1], 4); case 0x1917: // "Intel Skylake GT2f" // case 0x191A: // "Intel Skylake GT2" // Q.Should every "case" be ended by "break"? For example here: A. NO. no need every break i tested my build with skylake hd 520. clover detect my igpu id "case 0x1916:" and use devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[1], 4); if ((gma_dev->device_id >= 0x1902) && (gma_dev->device_id <= 0x193d)){ if ((MacModel == iMac171) || (MacModel == MacPro61)){ devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,GfxYTile", skylake_hd_vals[1], 4); //<01000000> break; } devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,Gfx324", skylake_hd_vals[0], 4); //<01000000> devprop_add_value(device, "AAPL,GfxYTile", skylake_hd_vals[1], 4); //<01000000> devprop_add_value(device, "AAPL00,PanelCycleDelay", skylake_hd_vals[2], 4); //<fa000000> devprop_add_value(device, "AAPL00,PanelPowerDown", skylake_hd_vals[3], 4); //<3c000000> devprop_add_value(device, "AAPL00,PanelPowerOff", skylake_hd_vals[4], 4); //<11000000> devprop_add_value(device, "AAPL00,PanelPowerOn", skylake_hd_vals[5], 4); //<19010000> devprop_add_value(device, "AAPL00,PanelPowerUp", skylake_hd_vals[6], 4); //<30000000> devprop_add_value(device, "graphic-options", skylake_hd_vals[7], 4); //<0c000000> break; } and my id include ((gma_dev->device_id >= 0x1902) && (gma_dev->device_id <= 0x193d) then use devprop_add_values, then use "break;" sorry my english. anyway no problem. Link to comment Share on other sites More sharing options...
Slice Posted April 10, 2017 Share Posted April 10, 2017 May be it must be case 0x190E: // "Intel Skylake GT1" // case 0x1912: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); break; case 0x1913: // "Intel Skylake GT2f" // case 0x1915: // "Intel Skylake GT2f" // case 0x1916: // "Intel HD Graphics 520" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[1], 4); break; case 0x1917: // "Intel Skylake GT2f" // case 0x191A: // "Intel Skylake GT2" // ? 1 Link to comment Share on other sites More sharing options...
mhaeuser Posted April 10, 2017 Share Posted April 10, 2017 A. NO. no need every breakSure you do. This either works because the callee does return when the value is already set or because the compiler operates out of spec. EDIT: Well, like Slice suggested, every 'case block', not literally every case. 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted April 10, 2017 Share Posted April 10, 2017 May be it must be case 0x190E: // "Intel Skylake GT1" // case 0x1912: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); break; case 0x1913: // "Intel Skylake GT2f" // case 0x1915: // "Intel Skylake GT2f" // case 0x1916: // "Intel HD Graphics 520" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[1], 4); break; case 0x1917: // "Intel Skylake GT2f" // case 0x191A: // "Intel Skylake GT2" // ? Wait a minutes. I will give you debug log to surely check operation 나의 LG-F410S 의 Tapatalk에서 보냄 May be it must be case 0x190E: // "Intel Skylake GT1" // case 0x1912: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); break; case 0x1913: // "Intel Skylake GT2f" // case 0x1915: // "Intel Skylake GT2f" // case 0x1916: // "Intel HD Graphics 520" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[1], 4); break; case 0x1917: // "Intel Skylake GT2f" // case 0x191A: // "Intel Skylake GT2" // ? here is log my default code case 0x1902: // "Intel HD Graphics 510" // case 0x1906: // "Intel HD Graphics 510" // case 0x190A: // "Intel Skylake GT1" // case 0x190B: // "Intel HD Graphics 510" // case 0x190E: // "Intel Skylake GT1" // case 0x1912: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); DBG(" get hd530 id\n"); case 0x1913: // "Intel Skylake GT2f" // case 0x1915: // "Intel Skylake GT2f" // case 0x1916: // "Intel HD Graphics 520" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[1], 4); DBG(" get hd520 id\n"); case 0x1917: // "Intel Skylake GT2f" // case 0x191A: // "Intel Skylake GT2" // case 0x191B: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[3], 4); case 0x191D: // "Intel HD Graphics P530" // case 0x191E: // "Intel HD Graphics 515" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[0], 4); case 0x1921: // "Intel Skylake GT2" // case 0x1923: // "Intel HD Graphics 535" // case 0x1926: // "Intel Iris Graphics 540" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[7], 4); case 0x1927: // "Intel Iris Graphics 550" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[2], 4); case 0x192A: // "Intel Skylake GT4" // case 0x192B: // "Intel Iris Graphics 555" // case 0x192D: // "Intel Iris Graphics P555" // case 0x1932: // "Intel Iris Pro Graphics 580" // case 0x193A: // "Intel Iris Pro Graphics P580" // case 0x193B: // "Intel Iris Pro Graphics 580" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[10], 4); case 0x193D: // "Intel Iris Pro Graphics P580" // if ((gma_dev->device_id == 0x191D) || (gma_dev->device_id == 0x1923)){ device_id = 0x00001912; devprop_add_value(device, "device-id", (UINT8*)&device_id, sizeof(device_id)); devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); } else if ((gma_dev->device_id == 0x192B) || (gma_dev->device_id == 0x192D)){ device_id = 0x00001927; devprop_add_value(device, "device-id", (UINT8*)&device_id, sizeof(device_id)); devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[2], 4); } else if ((gma_dev->device_id == 0x1932) || (gma_dev->device_id == 0x193A) || (gma_dev->device_id == 0x193D)){ device_id = 0x0000193B; devprop_add_value(device, "device-id", (UINT8*)&device_id, sizeof(device_id)); devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[10], 4); } if ((gma_dev->device_id >= 0x1902) && (gma_dev->device_id <= 0x193d)){ if ((MacModel == iMac171) || (MacModel == MacPro61)){ devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,GfxYTile", skylake_hd_vals[1], 4); //<01000000> break; } devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,Gfx324", skylake_hd_vals[0], 4); //<01000000> devprop_add_value(device, "AAPL,GfxYTile", skylake_hd_vals[1], 4); //<01000000> devprop_add_value(device, "AAPL00,PanelCycleDelay", skylake_hd_vals[2], 4); //<fa000000> devprop_add_value(device, "AAPL00,PanelPowerDown", skylake_hd_vals[3], 4); //<3c000000> devprop_add_value(device, "AAPL00,PanelPowerOff", skylake_hd_vals[4], 4); //<11000000> devprop_add_value(device, "AAPL00,PanelPowerOn", skylake_hd_vals[5], 4); //<19010000> devprop_add_value(device, "AAPL00,PanelPowerUp", skylake_hd_vals[6], 4); //<30000000> devprop_add_value(device, "graphic-options", skylake_hd_vals[7], 4); //<0c000000> DBG(" completed add skylake hd vals\n"); break; DBG(" stop or contiunues?\n"); } result 30:394 0:000 Intel HD Graphics 520 [8086:1916] :: PciRoot(0x0)\Pci(0x2,0x0) 30:394 0:000 Not set ig-platform-id. Automatically detect it or use ACPI injection 30:394 0:000 get hd520 id 30:394 0:000 completed add skylake hd vals your suggestion //----------------Skylake-------------------- case 0x1902: // "Intel HD Graphics 510" // case 0x1906: // "Intel HD Graphics 510" // case 0x190A: // "Intel Skylake GT1" // case 0x190B: // "Intel HD Graphics 510" // case 0x190E: // "Intel Skylake GT1" // case 0x1912: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); DBG(" get hd530 id\n"); break; case 0x1913: // "Intel Skylake GT2f" // case 0x1915: // "Intel Skylake GT2f" // case 0x1916: // "Intel HD Graphics 520" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[1], 4); DBG(" get hd520 id\n"); break; case 0x1917: // "Intel Skylake GT2f" // case 0x191A: // "Intel Skylake GT2" // case 0x191B: // "Intel HD Graphics 530" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[3], 4); case 0x191D: // "Intel HD Graphics P530" // case 0x191E: // "Intel HD Graphics 515" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[0], 4); case 0x1921: // "Intel Skylake GT2" // case 0x1923: // "Intel HD Graphics 535" // case 0x1926: // "Intel Iris Graphics 540" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[7], 4); case 0x1927: // "Intel Iris Graphics 550" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[2], 4); case 0x192A: // "Intel Skylake GT4" // case 0x192B: // "Intel Iris Graphics 555" // case 0x192D: // "Intel Iris Graphics P555" // case 0x1932: // "Intel Iris Pro Graphics 580" // case 0x193A: // "Intel Iris Pro Graphics P580" // case 0x193B: // "Intel Iris Pro Graphics 580" // devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[10], 4); case 0x193D: // "Intel Iris Pro Graphics P580" // if ((gma_dev->device_id == 0x191D) || (gma_dev->device_id == 0x1923)){ device_id = 0x00001912; devprop_add_value(device, "device-id", (UINT8*)&device_id, sizeof(device_id)); devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[5], 4); } else if ((gma_dev->device_id == 0x192B) || (gma_dev->device_id == 0x192D)){ device_id = 0x00001927; devprop_add_value(device, "device-id", (UINT8*)&device_id, sizeof(device_id)); devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[2], 4); } else if ((gma_dev->device_id == 0x1932) || (gma_dev->device_id == 0x193A) || (gma_dev->device_id == 0x193D)){ device_id = 0x0000193B; devprop_add_value(device, "device-id", (UINT8*)&device_id, sizeof(device_id)); devprop_add_value(device, "AAPL,ig-platform-id", skylake_ig_vals[10], 4); } if ((gma_dev->device_id >= 0x1902) && (gma_dev->device_id <= 0x193d)){ if ((MacModel == iMac171) || (MacModel == MacPro61)){ devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,GfxYTile", skylake_hd_vals[1], 4); //<01000000> break; } devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,Gfx324", skylake_hd_vals[0], 4); //<01000000> devprop_add_value(device, "AAPL,GfxYTile", skylake_hd_vals[1], 4); //<01000000> devprop_add_value(device, "AAPL00,PanelCycleDelay", skylake_hd_vals[2], 4); //<fa000000> devprop_add_value(device, "AAPL00,PanelPowerDown", skylake_hd_vals[3], 4); //<3c000000> devprop_add_value(device, "AAPL00,PanelPowerOff", skylake_hd_vals[4], 4); //<11000000> devprop_add_value(device, "AAPL00,PanelPowerOn", skylake_hd_vals[5], 4); //<19010000> devprop_add_value(device, "AAPL00,PanelPowerUp", skylake_hd_vals[6], 4); //<30000000> devprop_add_value(device, "graphic-options", skylake_hd_vals[7], 4); //<0c000000> DBG(" completed add skylake hd vals\n"); break; DBG(" stop or contiunues?\n"); } your suggestion result 28:191 0:000 Intel HD Graphics 520 [8086:1916] :: PciRoot(0x0)\Pci(0x2,0x0) 28:191 0:000 Not set ig-platform-id. Automatically detect it or use ACPI injection 28:191 0:000 get hd520 id 28:191 0:000 Intel GFX revision = 0x7 28:191 0:000 RCBA disabled; cannot use it never use every break. i used example some graphic card. because i don't have other graphic card. rehabman gave one ig-platform-id and device-id information intel graphic. i reflected his result. also some model use other vals. so i did example case. anyway don't worry example if ((gma_dev->device_id >= 0x1902) && (gma_dev->device_id <= 0x193d)){ . ==> for divide model or etc... @Slice remove "device_id = 0x00000a26;" to clear code // if set ig-platform-id else { case 0x0D22: // "Intel Iris Pro 5200" // case 0x0D26: // "Intel Iris Pro 5200" // Intel Haswell i7 4860HQ case 0x0D2A: // "Intel Haswell" // case 0x0D2B: // "Intel Haswell" // case 0x0D2E: // "Intel Haswell" // if ((gma_dev->device_id >= 0x0402) && (gma_dev->device_id <= 0x042E)){ devprop_add_value(device, "built-in", &BuiltIn, 1); devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,gray-value", haswell_hd_vals[0], 4); devprop_add_value(device, "graphic-options", haswell_hd_vals[1], 4); break; } else if ((gma_dev->device_id >= 0x0A02) && (gma_dev->device_id <= 0x0A2E)){ device_id = 0x00000a26; devprop_add_value(device, "built-in", &BuiltIn, 1); devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,gray-value", haswell_hd_vals[0], 4); devprop_add_value(device, "graphic-options", haswell_hd_vals[1], 4); break; } else if ((gma_dev->device_id >= 0x0C02) && (gma_dev->device_id <= 0x0C2E)){ devprop_add_value(device, "built-in", &BuiltIn, 1); devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,gray-value", haswell_hd_vals[0], 4); devprop_add_value(device, "graphic-options", haswell_hd_vals[1], 4); break; } else if ((gma_dev->device_id >= 0x0D02) && (gma_dev->device_id <= 0x0D2E)){ devprop_add_value(device, "built-in", &BuiltIn, 1); devprop_add_value(device, "hda-gfx", (UINT8*)"onboard-1", 10); devprop_add_value(device, "AAPL,gray-value", haswell_hd_vals[0], 4); devprop_add_value(device, "graphic-options", haswell_hd_vals[1], 4); break; } Link to comment Share on other sites More sharing options...
Slice Posted April 10, 2017 Share Posted April 10, 2017 Without "break" case 1912 and 1916 will have same ig-platform-id as the last one. If case is not ended with break then it will fall to next lines. Then you reassign ig-platform-id. Anyway, there is no strict rule DeviceID -> ig-platform-id. Even with the same device user will need different ig-platform-id. Link to comment Share on other sites More sharing options...
Sherlocks Posted April 10, 2017 Share Posted April 10, 2017 Without "break" case 1912 and 1916 will have same ig-platform-id as the last one. If case is not ended with break then it will fall to next lines. Then you reassign ig-platform-id. Anyway, there is no strict rule DeviceID -> ig-platform-id. Even with the same device user will need different ig-platform-id. So we just add skylake hd vals hd520 and hd530? Each in every? If have break, clover can't get skylake hd vals. I wonder debug shown no problem. Goal is not strict to use ig-platform-id. I know there is many case. It just operate if user don't know ig-platformdata and Deviceid. I just used known device id and ig-platform. Rehabman support laptop conflig file in various graphic card. His data almost was proved by many laptop users and me If user have ig-platform-id, device-id, clover not strict 나의 LG-F410S 의 Tapatalk에서 보냄 Link to comment Share on other sites More sharing options...
Slice Posted April 10, 2017 Share Posted April 10, 2017 We can use goto instead of break. Link to comment Share on other sites More sharing options...
Sherlocks Posted April 10, 2017 Share Posted April 10, 2017 We can use goto instead of break.Okay. goto is better. In the future, i will research more detail from ioreg and everymac site. And will arrange data again. Most of users is no problem now in new code. 나의 LG-F410S 의 Tapatalk에서 보냄 Link to comment Share on other sites More sharing options...
bs0d Posted April 10, 2017 Share Posted April 10, 2017 sorry break is better than goto for reading code. 2 Link to comment Share on other sites More sharing options...
mhaeuser Posted April 10, 2017 Share Posted April 10, 2017 never use every break. Sorry, but that control flow pretty much looks like garbage. Remember you utilize conditionless fallthrough, which means if the condition at the top (case 0x1902) is met, every single statement in the switch block is executed, even the devprop_add_value() of the other models - I guess it won't do anything on second call because a value is already set, but changing that will break this code for no obvious reason. Do I see that right that it's "switch (gma_dev->device_id)"? If so, why check within the switch once more instead of just moving the if-check outside so you don't need goto or some other crazy stuff? 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted April 10, 2017 Share Posted April 10, 2017 Sorry, but that control flow pretty much looks like garbage. Remember you utilize conditionless fallthrough, which means if the condition at the top (case 0x9102) is met, every single statement in the switch block is executed, even the devprop_add_value() of the other models - I guess it won't do anything on second call because a value is already set, but changing that will break this code for no obvious reason. Do I see that right that it's "switch (gma_dev->device_id)"? If so, why check within the switch once more instead of just moving the if-check outside so you don't need goto or some other crazy stuff? Thanks i will try to make better code. 나의 LG-F410S 의 Tapatalk에서 보냄 1 Link to comment Share on other sites More sharing options...
Slice Posted April 10, 2017 Share Posted April 10, 2017 sorry break is better than goto for reading code. The problem is common blocks which will be ignored with "break". It is also possible to call common procedures or just rewrite the codes from initial. 1 Link to comment Share on other sites More sharing options...
bs0d Posted April 10, 2017 Share Posted April 10, 2017 this isn't the place to explain how to code and importance of producing readable code but one would have imagined that members with titles such as coder and developer would already know the benefits of such enlightenment. browsing the source code i was clearly wrong. 1 Link to comment Share on other sites More sharing options...
Sherlocks Posted April 10, 2017 Share Posted April 10, 2017 Sorry, but that control flow pretty much looks like garbage. Remember you utilize conditionless fallthrough, which means if the condition at the top (case 0x9102) is met, every single statement in the switch block is executed, even the devprop_add_value() of the other models - I guess it won't do anything on second call because a value is already set, but changing that will break this code for no obvious reason. Do I see that right that it's "switch (gma_dev->device_id)"? If so, why check within the switch once more instead of just moving the if-check outside so you don't need goto or some other crazy stuff? The problem is common blocks which will be ignored with "break". It is also possible to call common procedures or just rewrite the codes from initial. i will make better code included all intel graphic information(since 1st intel graphic, til kabylake). also checked ioreg of each model. i will change what you said. until upload here, i will check code many times. thanks @Slice @Download-Fritz for idea to improve my brain. this isn't the place to explain how to code and importance of producing readable code but one would have imagined that members with titles such as coder and developer would already know the benefits of such enlightenment. browsing the source code i was clearly wrong. right. i spent times to test EDID and get gma you can see many line in gma. it causes confusion to make code and can't think better idea at that time. structure is easy and wrong as basic in last code. i'm not good coder. but if someone give me idea, i can make. anyway i hope to help clover bootloader is clear and better browsing the source code i was clearly wrong. - i'm sorry. 1 Link to comment Share on other sites More sharing options...
bronxteck Posted April 12, 2017 Share Posted April 12, 2017 hi sherlocks i would like to report that intel gma hd4400 and hd4600 injection is not loading on rev 4059. it just stays in first stage loader 4058 works fine. Link to comment Share on other sites More sharing options...
bronxteck Posted April 12, 2017 Share Posted April 12, 2017 what changes are in the test zip. and am i supposed to use it for your case study? Link to comment Share on other sites More sharing options...
Sherlocks Posted April 12, 2017 Share Posted April 12, 2017 what changes are in the test zip. and am i supposed to use it for your case study?Remove to use strict option and fixed duallink issue and etc.Report What i said above whether boot or not each cases. Almost done in test file. Include information Since first generation to 9.5th gernation intel graphic and according to each smbios or deviceid, support best match ig-platform-id to boot osx if you don't have fakeid,ig-platform-id. When only both fakeid and ig-platformid have blank, clover start auto-detection. Also injection too. Ofc acpi injection works when you have fakeid and ig-platform-id Thanks in advance 나의 LG-F410S 의 Tapatalk에서 보냄 Link to comment Share on other sites More sharing options...
bronxteck Posted April 12, 2017 Share Posted April 12, 2017 will rehab fakepcid's and shiki/lilu/gmafixhave any affect on your fixes Link to comment Share on other sites More sharing options...
bronxteck Posted April 12, 2017 Share Posted April 12, 2017 ok. i tried to attach in PM as not to pollute this thread any further but this forum does not allow attachments in PM. <attachment removed> 1 Link to comment Share on other sites More sharing options...
bronxteck Posted April 13, 2017 Share Posted April 13, 2017 no i did not use rehab SSDT just the fakepcid Link to comment Share on other sites More sharing options...
Recommended Posts