ASUS Vivobook Posted Tuesday at 05:41 PM Author Share Posted Tuesday at 05:41 PM Just now, jalavoui said: the icl sku check depends on ig-platform. i think you need to patch it. focus on framebuffer as graph kext only matter if framebuffer kexts loads Never have a framebuffer loaded in all of this tests... Link to comment Share on other sites More sharing options...
ASUS Vivobook Posted Tuesday at 06:14 PM Author Share Posted Tuesday at 06:14 PM (edited) I found, for example, that all of these three patches f2, f2b, f1 cannot be found on IDA Pro byte searching in my appleinteliclgraphics binary void IGFX::ForceCompleteModeset::processFramebufferKext(KernelPatcher &patcher, size_t index, mach_vm_address_t address, size_t size) { // AppleIntelFramebufferController::hwSetMode skip hwRegsNeedUpdate static const uint8_t f2[] = {0xE8, 0x31, 0xE5, 0xFF, 0xFF, 0x84, 0xC0, 0x74, 0x3D}; static const uint8_t r2[] = {0xE8, 0x31, 0xE5, 0xFF, 0xFF, 0x84, 0xC0, 0xEB, 0x3D}; // AppleIntelFramebufferController::hwSetMode skip hwRegsNeedUpdate - macOS Sonoma 14.x static const uint8_t f2b[] = {0xE8, 0x54, 0xEA, 0xFF, 0xFF, 0x84, 0xC0, 0x74, 0x5C}; static const uint8_t r2b[] = {0xE8, 0x54, 0xEA, 0xFF, 0xFF, 0x84, 0xC0, 0xeb, 0x5C}; // writeReg32(SOUTH_DSPCLK_GATE_D,PCH_GMBUSUNIT_CLOCK_GATE_DISABLE); Wa_14011294188:ehl,jsl,tgl,rkl,adl-s static const uint8_t f1[] = {0x74, 0x28, 0x48, 0xFF, 0x05, 0x9E, 0x65, 0x0B, 0x00, 0xBE, 0x20, 0x20, 0x0C, 0x00, 0x4C, 0x89, 0xEF, 0xE8, 0x3F, 0xE2, 0xFF, 0xFF, 0x0D, 0x00, 0x10, 0x00, 0x00}; static const uint8_t r1[] = {0x90, 0x90, 0x48, 0xFF, 0x05, 0x9E, 0x65, 0x0B, 0x00, 0xBE, 0x20, 0x20, 0x0C, 0x00, 0x4C, 0x89, 0xEF, 0xE8, 0x3F, 0xE2, 0xFF, 0xFF, 0xb8, 0x00, 0x00, 0x00, 0x80}; ... } now the point is ... what the developer should have intention to do? How can I replace all of this absence of occurrency? You have a method ? Edited Tuesday at 06:20 PM by ASUS Vivobook Link to comment Share on other sites More sharing options...
jalavoui Posted Tuesday at 06:35 PM Share Posted Tuesday at 06:35 PM (edited) don't look at all those patches they were research work in ventura. check the enabled patches as they work for some cards system icl as only 1 active patch - this changes card id check to match card id 0x9a49 + the hwRegsNeedUpdate() patches which works for sonoma,etc next you have some functions that are disabled and others that do simple things maybe they work for your card but i think extra work will be needed for your card maybe watch uint8_t f6[] = its the connectors patch so the idea of nblue is do research and disable things that are no longer need but giving some tips to other devs hope you can test all those framebuffers and make it work for you btw the hwRegsNeedUpdate() in nblue as function name comment so search ghidra for function named hwRegsNeedUpdate make sure you use PANIC_COND - this helps if you do a wrong patch or mistake Edited Tuesday at 06:45 PM by jalavoui 1 Link to comment Share on other sites More sharing options...
ASUS Vivobook Posted Tuesday at 06:45 PM Author Share Posted Tuesday at 06:45 PM (edited) 37 minutes ago, ASUS Vivobook said: I found, for example, that all of these three patches f2, f2b, f1 cannot be found on IDA Pro byte searching in my appleinteliclgraphics binary void IGFX::ForceCompleteModeset::processFramebufferKext(KernelPatcher &patcher, size_t index, mach_vm_address_t address, size_t size) { // AppleIntelFramebufferController::hwSetMode skip hwRegsNeedUpdate static const uint8_t f2[] = {0xE8, 0x31, 0xE5, 0xFF, 0xFF, 0x84, 0xC0, 0x74, 0x3D}; static const uint8_t r2[] = {0xE8, 0x31, 0xE5, 0xFF, 0xFF, 0x84, 0xC0, 0xEB, 0x3D}; // AppleIntelFramebufferController::hwSetMode skip hwRegsNeedUpdate - macOS Sonoma 14.x static const uint8_t f2b[] = {0xE8, 0x54, 0xEA, 0xFF, 0xFF, 0x84, 0xC0, 0x74, 0x5C}; static const uint8_t r2b[] = {0xE8, 0x54, 0xEA, 0xFF, 0xFF, 0x84, 0xC0, 0xeb, 0x5C}; // writeReg32(SOUTH_DSPCLK_GATE_D,PCH_GMBUSUNIT_CLOCK_GATE_DISABLE); Wa_14011294188:ehl,jsl,tgl,rkl,adl-s static const uint8_t f1[] = {0x74, 0x28, 0x48, 0xFF, 0x05, 0x9E, 0x65, 0x0B, 0x00, 0xBE, 0x20, 0x20, 0x0C, 0x00, 0x4C, 0x89, 0xEF, 0xE8, 0x3F, 0xE2, 0xFF, 0xFF, 0x0D, 0x00, 0x10, 0x00, 0x00}; static const uint8_t r1[] = {0x90, 0x90, 0x48, 0xFF, 0x05, 0x9E, 0x65, 0x0B, 0x00, 0xBE, 0x20, 0x20, 0x0C, 0x00, 0x4C, 0x89, 0xEF, 0xE8, 0x3F, 0xE2, 0xFF, 0xFF, 0xb8, 0x00, 0x00, 0x00, 0x80}; ... } now the point is ... what the developer should have intention to do? How can I replace all of this absence of occurrency? You have a method ? These were from weg.. this Is a mixture topic XD Btw i understand the principles of nblue.. Hope to have some more luck too.. Edited Tuesday at 06:52 PM by ASUS Vivobook Link to comment Share on other sites More sharing options...
ASUS Vivobook Posted Tuesday at 06:51 PM Author Share Posted Tuesday at 06:51 PM (edited) Should be useful to have also the boot [IGPU] logs in system log files.. they are too fast sometimes and cannot see those in system logs.. uff Edited Tuesday at 06:54 PM by ASUS Vivobook Link to comment Share on other sites More sharing options...
ASUS Vivobook Posted Tuesday at 08:44 PM Author Share Posted Tuesday at 08:44 PM 2 hours ago, jalavoui said: don't look at all those patches they were research work in ventura. check the enabled patches as they work for some cards system icl as only 1 active patch - this changes card id check to match card id 0x9a49 + the hwRegsNeedUpdate() patches which works for sonoma,etc next you have some functions that are disabled and others that do simple things maybe they work for your card but i think extra work will be needed for your card maybe watch uint8_t f6[] = its the connectors patch so the idea of nblue is do research and disable things that are no longer need but giving some tips to other devs hope you can test all those framebuffers and make it work for you btw the hwRegsNeedUpdate() in nblue as function name comment so search ghidra for function named hwRegsNeedUpdate make sure you use PANIC_COND - this helps if you do a wrong patch or mistake These patches are for ICLLP.. ICLLP not works to me... boot stall and gpu goes in overheat.. Link to comment Share on other sites More sharing options...
jalavoui Posted Tuesday at 10:28 PM Share Posted Tuesday at 10:28 PM (edited) i think this register is what works for your card edp conn 0x6f400 (get register dump from linux) your best opt is test icl debug version or tgl debug but tgl doesnt uses this (need patches). also watch and probably other functions that might help if using tgl debug as for the hangs only opt is use the kernel debugger if you have a apple ethernet card or by putting some PANIC_COND on calls like start(), etc or by using NETDBG log messages. code is disabled in nblue (kern_netdbg.cpp) i dont remenber howto setup network or the console tool to get online logs from the network Edited Tuesday at 10:33 PM by jalavoui 1 Link to comment Share on other sites More sharing options...
ASUS Vivobook Posted 18 hours ago Author Share Posted 18 hours ago (edited) . Edited 17 hours ago by ASUS Vivobook Link to comment Share on other sites More sharing options...
Recommended Posts