Jump to content

[Acer PT14-51 Laptop] HowTo


ASUS Vivobook
 Share

183 posts in this topic

Recommended Posts

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 by ASUS Vivobook
Link to comment
Share on other sites

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

 

Capturadeecra2024-11-05as18_43_59.png.7b395e13151f49811c512d4ab55cbb8b.png

 

+ 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 by jalavoui
  • Like 1
Link to comment
Share on other sites

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 by ASUS Vivobook
Link to comment
Share on other sites

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

 

Capturadeecra2024-11-05as18_43_59.png.7b395e13151f49811c512d4ab55cbb8b.png

 

+ 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

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).

 

image.png.35c4a4b30e3117f05858abd8098913ae.png

 

also watch

image.png.f1c317c51d78c329a8c11d1ef2af0a6b.png

 

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 by jalavoui
  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...