jalavoui Posted May 14 Share Posted May 14 this bug is related to connectors bus,etc settings kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][LOG ][DISPLAY ] FB1: newOnline: 1, fOnline: 1 kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][LOG ][DISPLAY ] FB1: edid != fEDID kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][DISPLAY ] FB1: Invalid port type last line maybe audio related but the FB1: edid != fEDID is caused by bad config ? i hate connectors patches but maybe someone used todo it in whatevergreen wanna teach us ? Link to comment Share on other sites More sharing options...
Mastachief Posted May 14 Share Posted May 14 (edited) On Dortiana's Github guide page, look for the Patching Bus IDs page, however the patch shown is not with IceLake, I am going to use the icelake framebuffer below as an example though. ID: 8A510002, STOLEN: 64 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0000E304 TOTAL STOLEN: 193 MB?, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 193 MB, MAX OVERALL: 194 MB (203960320 bytes) Model name: Intel Iris Plus Graphics Camellia: CamelliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3 [0] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000018 - ConnectorLVDS [2] busId: 0x09, pipe: 1, type: 0x00000400, flags: 0x000002C1 - ConnectorDP [3] busId: 0x0A, pipe: 1, type: 0x00000400, flags: 0x000002C1 - ConnectorDP 00000000 00000000 00000000 00000000 02000000 18000000 02000000 09000000 01000000 01000000 00040000 C1020000 03000000 0A000000 01000000 01000000 00040000 C1020000 Les analyze the first line for use with the alldata method; [0] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000018 - ConnectorLVDS 00000000 00000000 00000000 00000000 02000000 18000000 I have a few notes below, if you put the original values into a table to break down what they are saying using "00000000 00000000 00000000 00000000 02000000 18000000" Bit Name Value Bit 1 Port 0 Bit 2 Bus ID[SM1] 0 Bit 3-4 Pipe Number 0000 Bit 5-8 Connector Type 02000000 Bit 9-12 Flags 18000000 [SM1] BusID is a unique value and cannot be used by multiple entries This is the portion that will be used in setting up the framebuffer for a specific connector, see below for the ioreg that is currently shown when i boot currently using the whenvergreen attached. For the GPU the "display0' is being seen under AppleIntelFramebuffer@1 instead of AppleIntelFramebuffer@0, when jala did the changes, he was able to get this change done using nblue, but there were issues. The method was to setup the framebuffer-con0-XXXX settings that are needed using the alldata method Do note that there are three (3) framebuffers however it is numbered 0, 1, 2, 3 , example AppleIntelFramebuffer@0, AppleIntelFramebuffer@1, AppleIntelFramebuffer@2. You have to then disable framebuffer-con0-alldata and framebuffer-con2-alldata and framebuffer-con3-alldata, by zeroing the bus id on those specific indexes, example for AppleIntelFramebuffer@2 below; 03000000 00000000 01000000 01000000 00040000 C1020000 You should also then do the same for framebuffer-con0-alldata and framebuffer-con3-alldata you will then have the framebuffers in your device properties section for the IGPU, the index explanation Port: Port is Index number, its usually 0 only for the internal GPU Bus ID: Bus ID is the bus that the device is attached to Pipe Number: Dont know, read the info that comes up when you hover over the value while using hackintool Connector Type: a value that is generated based on the ticked options in hackintool under the patch tab and the connectors sub menu, a list taken from Dortiana is below. <02 00 00 00> LVDS and eDP - Laptop displays <10 00 00 00> VGA - Unsupported in 10.8 and newer <00 04 00 00> DisplayPort - USB-C display-out are DP internally <01 00 00 00> DUMMY - Used when there is no physical port <00 08 00 00> HDMI <80 00 00 00> S-Video <04 00 00 00> DVI (Dual Link) <00 02 00 00> DVI (Single Link) Edited May 14 by Mastachief Link to comment Share on other sites More sharing options...
benmacfreak Posted May 14 Share Posted May 14 14 hours ago, jalavoui said: you mean the AppleIntelICLLPGraphicsFramebuffer logs ? i think you can only do it if we manage to figure why your system doesn't like nblue/whateverred btw did u managed to get tpda show in ioregistry ? maybe u forgot to apply xosi rename patch? the device needs tobe alive in ioreg so it can load a kext try to fix this 1st cause i think yu have some bad configs messing things try open dsdt.aml in macial and compile maybe u have bugs i wasted some time on this + the SSDT-XOSI.aml till it finally worked if it fails it breaks many things if you manage to fix it show the new ioreg btw how do we remove serial number from ioreg ? i forgot i tried the latest nblue version, still panics on kext log. no better than before sadly. Link to comment Share on other sites More sharing options...
jalavoui Posted May 14 Share Posted May 14 (edited) Mastachief do you think you can arrange a better connector patch ? with current patches we get framebuffer 1 so it uses bus 2 and port id 9 ???? i know that swaping connector 2 to 0 will make the display attach to framebuffer zero but this brings panic on shutdown,etc can you try some combos and check if framebuffer 1 works but with correct edid detection ? or idk if you have another idea on whatevergreen there's a connecotr patch injected in device settings in nblue you got to edit and build the kext Edited May 14 by jalavoui Link to comment Share on other sites More sharing options...
Mastachief Posted May 14 Share Posted May 14 (edited) For the explanation regarding the bus and port see the following based on the example i used in my previous post this is for PlatformID: 0x8A510002. you can get more ports under the Platform ID: 0x8A710001 I'll put the test results on the post after this one. framebuffer-con0-alldata - AppleIntelFramebuffer@0 - Index 1 - Port 0 - not connected framebuffer-con1-alldata - AppleIntelFramebuffer@1 - Index 2 - Port 2 - this is where Display0 is currently connected, however it should on labeled as "AppleBacklightDisplay" framebuffer-con2-alldata - AppleIntelFramebuffer@2 - Index 3 - Port - not connected (if you use a type c to displayport connector, it may have interesting results...) framebuffer-con3-alldata - AppleIntelFramebuffer@3 - not connected, doesnt even show up in ioreg usually If you click on the value beneath the connectors section for our config you will see that the Port is 00, this is where i get confused. It should be 1 or something else since its on edp so its being recognized as a type of displayport panel Below is the hackintool screen from my optiplex 3070 mff desktop, the port is listed as being 0x06, we need others to report that the value is consistent. Edited May 14 by Mastachief Link to comment Share on other sites More sharing options...
jalavoui Posted May 14 Share Posted May 14 (edited) true this is hard to config i hacked the conencotrs a bit in nblue and ofc i got this kp panic(cpu 2 caller 0xffffff7f97de12e9): "[IGFB][PANIC][DISPLAY ] " "FB0: Failed to allocate display resources for built-in display\n" @AppleIntelController.cpp:3499 Panicked task 0xffffff8b80e938b8: 155 threads: pid 0: kernel_task Backtrace (CPU 2), panicked thread: 0xffffff904cf03b30, Frame : Return Address 0xffffffa0c3b67990 : 0xffffff8002a6fc7d mach_kernel : _handle_debugger_trap + 0x4ad 0xffffffa0c3b679e0 : 0xffffff8002bc4294 mach_kernel : _kdp_i386_trap + 0x114 0xffffffa0c3b67a20 : 0xffffff8002bb3da7 mach_kernel : _kernel_trap + 0x3b7 0xffffffa0c3b67a70 : 0xffffff8002a10971 mach_kernel : _return_from_trap + 0xc1 0xffffffa0c3b67a90 : 0xffffff8002a6ff5d mach_kernel : _DebuggerTrapWithState + 0x5d 0xffffffa0c3b67b80 : 0xffffff8002a6f607 mach_kernel : _panic_trap_to_debugger + 0x1a7 0xffffffa0c3b67be0 : 0xffffff80031dad7b mach_kernel : _panic + 0x84 0xffffffa0c3b67cd0 : 0xffffff7f97de12e9 com.apple.driver.AppleIntelICLLPGraphicsFramebuffer : __ZN31AppleIntelFramebufferController16setupBootDisplayEv.cold.2 0xffffffa0c3b67ce0 : 0xffffff7f97d824e5 com.apple.driver.AppleIntelICLLPGraphicsFramebuffer : __ZN31AppleIntelFramebufferController16setupBootDisplayEv + 0x3a9 0xffffffa0c3b67d30 : 0xffffff7f97d7e4c5 com.apple.driver.AppleIntelICLLPGraphicsFramebuffer : __ZN31AppleIntelFramebufferController5startEP9IOService + 0xf8d 0xffffffa0c3b67da0 : 0xffffff80030e79d1 mach_kernel : __ZN9IOService14startCandidateEPS_ + 0xd1 0xffffffa0c3b67e00 : 0xffffff80030e754a mach_kernel : __ZN9IOService15probeCandidatesEP12OSOrderedSet + 0xdba 0xffffffa0c3b67ec0 : 0xffffff80030e65ff mach_kernel : __ZN9IOService14doServiceMatchEj + 0x3af 0xffffffa0c3b67f20 : 0xffffff80030e978a mach_kernel : __ZN15_IOConfigThread4mainEPvi + 0x15a 0xffffffa0c3b67fa0 : 0xffffff8002a1019e mach_kernel : _call_continuation + 0x2e Kernel Extensions in backtrace: com.apple.driver.AppleIntelICLLPGraphicsFramebuffer(20.0.7)[B1B4B3FD-BDA2-37A0-851C-D64F64FA6EB0]@0xffffff7f97d34000->0xffffff7f97e1efff dependency: com.apple.AppleGraphicsDeviceControl(7.1.19)[87B91A0F-9829-39C3-8DBF-4581A2EE681A]@0xffffff7f97704000->0xffffff7f97707fff dependency: com.apple.iokit.IOACPIFamily(1.4)[D342E754-A422-3F44-BFFB-DEE93F6723BC]@0xffffff8005045000->0xffffff8005046fff dependency: com.apple.iokit.IOAcceleratorFamily2(475.40.6)[5CEA519D-44FC-30EB-8622-2394570EBDD4]@0xffffff7f98620000->0xffffff7f9868afff dependency: com.apple.iokit.IOGraphicsFamily(597)[718E01CF-8B05-3042-88F4-DE3441395D00]@0xffffff7f987c1000->0xffffff7f987effff dependency: com.apple.iokit.IOPCIFamily(2.9)[A4741D9F-2EAF-36E6-9023-084BA29EE1FE]@0xffffff80054b5000->0xffffff80054e6fff dependency: com.apple.iokit.IOReportFamily(47)[491DDA55-D371-3A28-9A77-C28DB013D8AE]@0xffffff80054f7000->0xffffff80054f9fff Process name corresponding to current thread (0xffffff904cf03b30): kernel_task Boot args: debug=0x100 keepsyms=1 so in theory a patch in function setupBootDisplay() might help fix bad configs problem is i have no idea howto do it so better we keep default config for now btw heres a panic file from panic folder as sample Kernel-2024-05-14-165143.panic Edited May 14 by jalavoui Link to comment Share on other sites More sharing options...
Mastachief Posted May 14 Share Posted May 14 (edited) Okay here is the result of using the following config using the attached whenvergreen. im using my EDID in the config below, so modify to yours if needs be. its now being listed under index 0 instead of 2 in hackintool. Now it connects to display0 under framebuffer@0. You can also use AAPL,ig-platform-id 00008A52 and device-id 8A530000 as well to achieve the result if you want, you can also see the previous log. Boot args: -v keepsyms=1 debug=0x100 -wegdbg igfxfw=2 -liludbg Sonoma 14.4.1 <key>AAPL,GfxYTile</key> <data>AQAAAA==</data> <key>AAPL,ig-platform-id</key> <data>AABSig==</data> <key>AAPL,slot-name</key> <string>Internal@0,2,0</string> <key>AAPL00,override-no-connect</key> <data>AP///////wAw5HycAAAAAAAfAQSVIhNgA2+xp1VMniUMUFQAAAABAQEBAQEBAQEBAQEBAQEBLjaAoHA4H0AwIDUAWMIQAAAaHySAoHA4H0AwIDUAWMIQAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAMOv8KPH0SFCR9AAAAAEY=</data> <key>complete-modeset</key> <data>AQAAAA==</data> <key>device-id</key> <data>U4oAAA==</data> <key>device_type</key> <string>VGA compatible controller</string> <key>disable-agdc</key> <data>AQAAAA==</data> <key>dpcd-max-link-rate</key> <data>CgAAAA==</data> <key>enable-cdclk-frequency-fix</key> <data>AQAAAA==</data> <key>enable-dbuf-early-optimizer</key> <data>AQAAAA==</data> <key>enable-dpcd-max-link-rate-fix</key> <data>AQAAAA==</data> <key>enable-dvmt-calc-fix</key> <data>AQAAAA==</data> <key>force-online</key> <data>AQAAAA==</data> <key>framebuffer-con0-alldata</key> <data>AAAAAAAAAAAAAAAAAAAAAAIAAAAYAAAA</data> <key>framebuffer-con0-enable</key> <data>AQAAAA==</data> <key>framebuffer-con1-alldata</key> <data>AgAAAAAAAAABAAAAAQAAAAAEAADBAgAA</data> <key>framebuffer-con1-enable</key> <data>AQAAAA==</data> <key>framebuffer-con2-alldata</key> <data>AwAAAAoAAAABAAAAAQAAAAAEAADBAgAA</data> <key>framebuffer-con2-enable</key> <data>AQAAAA==</data> <key>framebuffer-patch-enable</key> <data>AQAAAA==</data> <key>framebuffer-unifiedmem</key> <data>AAAAgA==</data> <key>model</key> <string>Intel Iris Xe Graphics</string> this is the same as: Which translates to: if I run the following command in terminal /System/Library/Extensions/AppleGraphicsControl.kext/Contents/MacOS/AGDCDiagnose -a I get the following result: Big@MacBook-Pro ~ % /System/Library/Extensions/AppleGraphicsControl.kext/Contents/MacOS/AGDCDiagnose -a AGDCDiagnose Version: 8.1.9 (AGDC node count: 2) ### Start: GPUWrangler ####################################################### Stats: GPUCAdded:0 GpuAdded:1 Eject:0/f0/fd0/c0 Remove:0/t0 Un:0 gpu 0xe913 flags 0xb2000010 (IG,published,quiet,pubSched,pubArmed) vid.did=8086.8a53 b:d:f=0:2:0 gpu 0xe913 pci 0x100000321 IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2 gpu 0xe913 agdc 0x1000004d2 /AppleIntelFramebufferController/IntelFBClientControl gpu 0xe913 gpuc 0x000000000 gpu 0xe913 agdpclient 0x000000000 gpu 0xe913 accel 0x000000000 gpu 0xe913 fb0:-1 0x1000004b3 /AppleIntelFramebuffer@0 gpu 0xe913 fb1:-1 0x1000004b4 /AppleIntelFramebuffer@1 gpu 0xe913 fb2:-1 0x1000004b5 /AppleIntelFramebuffer@2 ### End: GPUWrangler (took 0.004 sec) ######################################## ### Start: EFIDisplayInfo #################################################### Not present Dumping EFI data for GPU Path IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2 ### End: EFIDisplayInfo (took 0.003 sec) ##################################### ### Start: Mux ############################################################### ### End: Mux (took 0.000 sec) ################################################ ### Start: Ports ############################################################# ### Start: AGDC[1] 0x100000483 ############################################### IOService:/IOResources/AppleGPUWrangler Vendor: Apple [0000106b]: AppleGPUWrangler [8 10000] (0) ### End: AGDC[1] 0x100000483 (took 0.001 sec) ################################ ### Start: AGDC[2] 0x1000004d2 ############################################### IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2/AppleIntelFramebufferController/IntelFBClientControl Vendor: AppleIntelFramebufferController [0000106b]: IntegratedGPU [1 10000] (0) FBs: 3, Ports: 0x7e mst:0x7c ddc:0 aux:0x7c, Streams: dp:0 dvi:0 mst:2 max:3 Framebuffers: * 0: Address: 1.0 Stream: Enabled Group: 0 Online Assoc'd 1: Address: 0.0 Stream: Not Associated Group: 0 2: Address: 0.0 Stream: Not Associated Group: 0 Port Capabilities: * 1: None 2: AUX, MST 3: AUX, MST 4: AUX, MST 5: AUX, MST 6: AUX, MST Connections: * 1: 2: 3: 4: 5: 6: ## EDID Dump Port 1 - Start ## // EDID Dump: device, 128 bytes, OK uint8_t EDID_LGD_30e4_71e[] = { /* 000: */ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, /* 008: */ 0x30, 0xe4, 0x1e, 0x07, 0x00, 0x00, 0x00, 0x00, /* 010: */ 0x00, 0x1f, 0x01, 0x04, 0x95, 0x22, 0x13, 0x78, /* 018: */ 0x03, 0xb3, 0x85, 0x99, 0x5e, 0x5b, 0x8c, 0x26, /* 020: */ 0x1b, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, /* 028: */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, /* 030: */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2e, 0x36, /* 038: */ 0x80, 0xa0, 0x70, 0x38, 0x1f, 0x40, 0x30, 0x20, /* 040: */ 0x35, 0x00, 0x58, 0xc2, 0x10, 0x00, 0x00, 0x1a, /* 048: */ 0x1f, 0x24, 0x80, 0xa0, 0x70, 0x38, 0x1f, 0x40, /* 050: */ 0x30, 0x20, 0x35, 0x00, 0x58, 0xc2, 0x10, 0x00, /* 058: */ 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 060: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 068: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, /* 070: */ 0x00, 0x0c, 0x3a, 0xff, 0x0a, 0x3c, 0x7d, 0x12, /* 078: */ 0x14, 0x24, 0x7d, 0x00, 0x00, 0x00, 0x00, 0x01 }; ## EDID Dump Port 1 - End ## ### End: AGDC[2] 0x1000004d2 (took 0.458 sec) ################################ ### End: Ports (took 0.458 sec) ############################################## ### Start: Metrics ########################################################### Display Metric Tool Version: 1.2 Display Metric Plugin Version: 1.2 AGDC Version: 8.1.9 Dumping Metric Logs: currentlog(1) logsize(32768) numberlogs(819) Total lines: 2 2024-05-14 14:17:11.875674-0500: kAGDCPluginMetricsPowerOff(411e) GPU:0xe913 Port: 0 Will ### End: Metrics (took 0.001 sec) ############################################ ### Start: displaypolicyd #################################################### running 169 sec (started Tue May 14 14:17:09 2024, now Tue May 14 14:19:58 2024) boardID: Mac-5F9802EFE386AA28 featureMask: 0 platformFlags: 0 extraSupportFlags: 0 wranglerFlags: 0x44 gpu[0]: index=0 state=0x5 (Published) events=() dispPolicyState=0x6 (WaitingForAGDP) dispPolicyLaunchIndex=-1 gpu 0xe913 flags 0xb2000010 (IG,published,quiet,pubSched,pubArmed) gpu 0xe913 pci 0x100000321 IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2 gpu 0xe913 agdc 0x1000004d2 /AppleIntelFramebufferController/IntelFBClientControl gpu 0xe913 gpuc 0x000000000 gpu 0xe913 agdpclient 0x000000000 gpu 0xe913 accel 0x000000000 gpu 0xe913 fb0:-1 0x1000004b3 /AppleIntelFramebuffer@0 gpu 0xe913 fb1:-1 0x1000004b4 /AppleIntelFramebuffer@1 gpu 0xe913 fb2:-1 0x1000004b5 /AppleIntelFramebuffer@2 Version: 8.1.9, Max: 512, counter: 13, calendar sync: 0x6186ed934d0a5/0xb1cbaf GTRACEDATASTREAM traceData = { { 0x67547261, 0x63654461, 0x74614475, 0x6d700000, 0x102, 512, 13, 8, 1, 9, 0, 56, 1715714229850277, 11652015 }, { { 11603316365, 0x0, 392, 38, 0, 0, 0x0, 0x0, 0x0 }, { 13569842836, 0x0, 744, 88, 56, 0, 0x0, 0x4, 0x0 }, { 13716189171, 0x0, 522, 72, 73, 0, 0x1, 0xe913, 0x0 }, { 13716323080, 0x0, 70, 71, 73, 0, 0x20001, 0xe913, 0x0 }, { 18032770978, 0x0, 522, 72, 73, 0, 0x1, 0xe913, 0x0 }, { 18032923007, 0x0, 70, 71, 73, 0, 0x50002, 0xe913, 0x0 }, { 18033103227, 0x0, 81, 77, 73, 0, 0x60000, 0xe913, 0x0 }, { 48420370691, 0x0, 663, 84, 84, 0, 0x1, 0x1, 0x0 }, { 48438912140, 0x0, 663, 84, 84, 0, 0x1, 0x1, 0x0 }, { 49286990388, 0x0, 663, 84, 84, 0, 0x11, 0x1, 0x0 }, { 49352426347, 0x0, 663, 84, 84, 0, 0x1, 0x1, 0x0 }, { 57266712649, 0x0, 663, 84, 84, 0, 0x11, 0x1, 0x0 }, { 62281474230, 0x0, 663, 84, 84, 0, 0x1, 0x1, 0x0 }, } }; ### End: displaypolicyd (took 0.002 sec) ##################################### ### Start: Devices ########################################################### ### Start: AGDC[1] 0x100000483 ############################################### IOService:/IOResources/AppleGPUWrangler Vendor: Apple [0000106b]: AppleGPUWrangler [8 10000] (0) ### End: AGDC[1] 0x100000483 (took 0.000 sec) ################################ ### Start: AGDC[2] 0x1000004d2 ############################################### IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2/AppleIntelFramebufferController/IntelFBClientControl Vendor: AppleIntelFramebufferController [0000106b]: IntegratedGPU [1 10000] (0) ### End: AGDC[2] 0x1000004d2 (took 0.000 sec) ################################ ### End: Devices (took 0.001 sec) ############################################ ### Start: mpxdiagnose ####################################################### ### End: mpxdiagnose (took 0.011 sec) ######################################## AGDCDiagnose completed in 0.460048 seconds Other notable errors 2024-05-14 11:59:48.511372-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][GTPM_SLICESWITCH] : Invalid fRingTables, check if AGPM driver is loaded\ 2024-05-14 12:00:04.732063-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][AUX ] readAUX for address 0x600 failed with error 0xe00002d6\ 2024-05-14 12:00:04.732065-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][POWER ] Failed to set DP power state in 10s\ 2024-05-14 12:00:04.751558-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][LOG ][DISPLAY ] FB0: Online info for DDI = 0, PortType = 0\ 2024-05-14 12:00:04.751592-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][LOG ][DISPLAY ] FB0: fIsHDMI = 0, fEnableAudio = 0, newOnline = 1, fOnline = 1, fMaxPixelClock = 720000000\ 2024-05-14 12:00:04.751599-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][LOG ][DISPLAY ] FB0: newOnline: 1, fOnline: 1\ 2024-05-14 12:00:04.751604-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][LOG ][DISPLAY ] FB0: edid != fEDID\ 2024-05-14 12:00:04.751609-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][LOG ][VRR ] FB0: Indicate VRR Support in TimingRange\ 2024-05-14 12:00:04.751623-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][DISPLAY ] FB0: Invalid port type\ 2024-05-14 12:00:04.752078-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][AGDC ] AGDC Callback is not yet registered!!\ 2024-05-14 12:00:09.591266-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][DISPLAY ] Not able to get the current timing info\ 2024-05-14 12:00:10.155672-0500 localhost kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][DISPLAY ] Display Pipe Underrun occurred on pipe(s) A\ boot.log WhateverGreen.kext.zip Edited May 14 by Mastachief Added missing kext Link to comment Share on other sites More sharing options...
benmacfreak Posted May 14 Share Posted May 14 (edited) ok so with whatevergreen enabled it shows 7mb vram but it does show intel iris xe graphics in about this mac and system info and my 9a68 device id but no kext loaded though. and i have wifi, bluetooth, and sound working also. BUT no trackpad but my keyboard works. i did try the device properties shown above but they didnt do any better than nblue sadly, same hang and/or panic. Edited May 14 by benmacfreak Link to comment Share on other sites More sharing options...
Mastachief Posted May 14 Share Posted May 14 Does anyone know how to change the values below: the hackintool kext method does not work: big@MacBook-Pro ~ % ioreg -l -x -w0 | grep DisplayProductID | | | | | "DisplayProductID" = 0x9c7c big@MacBook-Pro ~ % ioreg -l -x -w0 | grep DisplayVendorID | | | | | "DisplayVendorID" = 0x30e4 Does anyone know how to change these values on boot? using whenvergreen or otherwise? I wanna get applebacklightdisplay instead of appledisplay under display0. Link to comment Share on other sites More sharing options...
jalavoui Posted May 14 Share Posted May 14 (edited) device props in oc maybe as data type 00 00 7c 9c the edid injection is interesting. it breaks the i2c connection (maybe can be patched) can you try with other ig-platforms. with the ig-platforms defaults you get diferent setups for port count, memory etc with framebuffer zero do you get a kernel panic on restart/shutdfown ? for backlight you need pnlf + some patches that i think whatevergreen can do.i avoid this cause of power issues but give it a try i publish a whatevergreen with edid injection capabilities that allow force usage of applebacklight class but as no tigerlake code gonna copy it and add the code here it is - i removed old patches and kept sonoma patch in the plist you will find a default override of appledisplay to applebacklight display just fix the display product/vendor id in the plist other nblue patches can be added to anyone willing to test them can you check if CD Clock PLL is locked\ seen in logs is a bios setting ? this is related to ig-platform settings [IGFB][ERROR][GTPM_SLICESWITCH] : Invalid fRingTables, check if AGPM driver is loaded hacked in nblue with simulator properties injection funny thing is although you completely break aux code the display still works benmacfreak i tested tpad with other xosi values made with ssdttime and it doesnt work. maybe this is the problem Edited May 20 by jalavoui Link to comment Share on other sites More sharing options...
Mastachief Posted May 14 Share Posted May 14 Yes, I get the kernel panic on shutdown, Black screen, so only logs Link to comment Share on other sites More sharing options...
jalavoui Posted May 14 Share Posted May 14 (edited) right idk if you wanna do this for wahtevergreen but you can avoid that kp with this calls from nblue {"__ZN21AppleIntelFramebuffer18prepareToEnterWakeEv",prepareToEnterWake}, {"__ZN21AppleIntelFramebuffer17prepareToExitWakeEv",prepareToEnterWake}, this logic disables those functions. there's 1 call for shutdown problem with backlight is (i think) they just wont work for us without many patches i'm trying to ignore camelia code and patch hwSetPanelPower() but so far no results for ghidra study kext i use kexts from Kernel_Debug_Kit_13.6.5_build_22G621.dmg cause they decompile very well then for real patches i use decompkernelcache (not tested on sonoma) cause KDK bytes aren't the same as cache kexts i'm not on sonoma yet cause i know it bring new bugs. better focus on ventura for patching i think i delete from nblue but i remenber uint8 AppleIntelFramebufferController::hwShutdown (AppleIntelFramebufferController *this,AppleIntelFramebuffer *param_1) can be ignored and making it return 0 will avoid the panic i dont remenber if prepareToEnter/exitSleep need tobe disabled (but code is still in nblue) Edited May 15 by jalavoui Link to comment Share on other sites More sharing options...
Mastachief Posted May 15 Share Posted May 15 Thabks for the advice, your thoughts are the same as mine, let's continue with the original aim of this thread.Since we are a little along with the framebuffer, backlight is not a priority in terms of bugs QE/CI is. Once you turn up or down brightness before booting using opencore, the brightness level is maintained.I'll take a look at nblue, to get an idea regarding the shutdown, I can only use ghidra as official ida is $$$. Link to comment Share on other sites More sharing options...
benmacfreak Posted May 15 Share Posted May 15 (edited) 7 hours ago, jalavoui said: device props in oc maybe as data type 00 00 7c 9c the edid injection is interesting. it breaks the i2c connection (maybe can be patched) can you try with other ig-platforms. with the ig-platforms defaults you get diferent setups for port count, memory etc with framebuffer zero do you get a kernel panic on restart/shutdfown ? for backlight you need pnlf + some patches that i think whatevergreen can do.i avoid this cause of power issues but give it a try i publish a whatevergreen with edid injection capabilities that allow force usage of applebacklight class but as no tigerlake code gonna copy it and add the code here it is - i removed old patches and kept sonoma patch WhateverGreen.kext.zip 281.48 kB · 2 downloads WhateverGreen-master.zip 1.91 MB · 0 downloads in the plist you will find a default override of appledisplay to applebacklight display just fix the display product/vendor id in the plist other nblue patches can be added to anyone willing to test them can you check if CD Clock PLL is locked\ seen in logs is a bios setting ? this is related to ig-platform settings [IGFB][ERROR][GTPM_SLICESWITCH] : Invalid fRingTables, check if AGPM driver is loaded hacked in nblue with simulator properties injection funny thing is although you completely break aux code the display still works benmacfreak i tested tpad with other xosi values made with ssdttime and it doesnt work. maybe this is the problem right idk anything about dsdt and ssdt editing, so idk how to edit said files. I am still trying to figure out what deviceproperties to put in for my IGPU, i tried almost all of the ones you all used, no luck, same with the common ones on the github. no change. just added my laptop's deviceID to nblue i got a panic doing that, idk if it helps but here's a screenshot of said panic. it was added to the icl framebuffer line, that's how i was able to get this panic. NootedBlue.kext.zip Edited May 15 by benmacfreak panic assertion from my iphone 14 pro Link to comment Share on other sites More sharing options...
cecobald Posted May 15 Share Posted May 15 (edited) Hi guys Let me share my experience so far :). My laptop (model in sugnature) has working wifi, bluetooth, sound, kbd backlid and function keys. I can't seem to get my touchpad to work (neither polling nor GPI0). I'm not sure how to patch dsdt so any help is appreciated. I have framebuffer enabled with nblue (thx @jalavoui) though there's a cursor glitch. dsdt.aml IOService.zip HWID.txt Edited May 15 by cecobald Link to comment Share on other sites More sharing options...
Mastachief Posted May 15 Share Posted May 15 (edited) I am able to boot with applebacklightdisplay using the latest kext, ill keep using it for now, did you remove the other settings that could be set under IOProviderMergeProperties, or should i manually add the keys, and should i used a modified EDID, or the original id\f i do so, seeking a few recommendations, otherwise ill have to test it. I was also able to press sleep and it not power off the display, prefer it this wy for now, otherwise i would have to keep restarting when the screen goes black after a sleep. I'm going to use the MacBookAir9,1 SMBios as that's the only set of displays with 16:9 ratio. I didnt see any item called "CD Clock PLL" i searched for clock in my "Section_PE32_image_Setup_Setup IFR.txt" However i did see an item called ICC PLL shutdown, since this is a setting to enable this shutdown, ill try to see what happens when i disable it. According to the web, for "ICC PLL Shutdown" "This option controls the programming of the ICC PLL shutdown flow. When enabled, this ICC PM register will be programmed on every non-Sx boot." * ICC Configuration * Use Watchdog Timer for ICC Enable Watchdog Timer operation for ICCIf enabled,Watchdog Timer will be started after ICC related changed This timer detects platform instability caused by wrong clock settingsTurn off unused PCI/PCIe clocks - Disabled:all clocks turned on - Enabled:clocks for empty PCI/PCIe slots will be turned off to save power Platform must be powered off for changes to take effect * Lock ICC registers All registers: all ICC registers will be locked Static only - only static ICC registers will be locked Edited May 15 by Mastachief Link to comment Share on other sites More sharing options...
jalavoui Posted May 15 Share Posted May 15 (edited) benmacfreak you need to inject a apple device id and a valid ig-platform not your card id... (nblue as a default apple device-id and ig-platform) you and cecobald have the same bug - no tpad device in ioreg. try other config for xosi. that's how i made my device show up in ioreg then try the i2c kext i've made few posts back here's a working ioreg Mastachief you can inject any new properties for your display as wish. maybe from hacintool ? goal is use other edid properties if needed the CD Clock PLL idk you can try bios change and them check framebuffer logs your sleep "fix" is interesting. i'll check it is this sleep fix a result of [IGFB][ERROR][AUX ] readAUX for address 0x600 failed with error 0xe00002d6 ?? Edited May 15 by jalavoui Link to comment Share on other sites More sharing options...
Slice Posted May 15 Share Posted May 15 16 hours ago, jalavoui said: i'm not on sonoma yet cause i know it bring new bugs. better focus on ventura for patching What kext from Sonoma do you want to get? Link to comment Share on other sites More sharing options...
jalavoui Posted May 15 Share Posted May 15 (edited) none slice i hate sonoma bugs i'll stay on ventura for now found the linux match for apple code AppleIntelFramebufferController::probeBootPipe (AppleIntelFramebufferController *this,bool *param_1,DDI *param_2) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; int iVar5; long *plVar6; _DAT_00101820 = _DAT_00101820 + 1; uVar1 = ReadRegister32(this,0x6f400); uVar2 = ReadRegister32(this,0x60400); uVar3 = ReadRegister32(this,0x61400); uVar4 = ReadRegister32(this,0x62400); /* Per-pipe DDI Function Control */ #define _TRANS_DDI_FUNC_CTL_A 0x60400 #define _TRANS_DDI_FUNC_CTL_B 0x61400 #define _TRANS_DDI_FUNC_CTL_C 0x62400 #define _TRANS_DDI_FUNC_CTL_D 0x63400 #define _TRANS_DDI_FUNC_CTL_EDP 0x6F400 #define _TRANS_DDI_FUNC_CTL_DSI0 0x6b400 #define _TRANS_DDI_FUNC_CTL_DSI1 0x6bc00 #define TRANS_DDI_FUNC_CTL(tran) _MMIO_TRANS2(tran, _TRANS_DDI_FUNC_CTL_A) then apple code does some check for case _TRANS_DDI_FUNC_CTL_EDP that i think we dont have Edited May 15 by jalavoui Link to comment Share on other sites More sharing options...
Mastachief Posted May 15 Share Posted May 15 (edited) When sifting through the most recent log, the only instance of "aux" is in one line It appears the aux CH issue went away, im not seeing on the second boot using igplatform: 00008A52, device id: 538A0000 (AppleIntelICLLPGraphicsFramebuffer) [IGFB][LOG ][DPCD ] Does NOT require AUX CH handshake?: 0\ boot3.log I do see TRANS_DDI_FUNC_CTL_EDP in my linux logs, what are the checks? regdump.txt Edited May 15 by Mastachief Link to comment Share on other sites More sharing options...
jalavoui Posted May 15 Share Posted May 15 (edited) those are active linux registers. they show we dont use edp connection the aux errors was some log you posted using whatevergreen with injected display properties Edited May 15 by jalavoui Link to comment Share on other sites More sharing options...
benmacfreak Posted May 15 Share Posted May 15 6 hours ago, jalavoui said: benmacfreak you need to inject a apple device id and a valid ig-platform not your card id... (nblue as a default apple device-id and ig-platform) you and cecobald have the same bug - no tpad device in ioreg. try other config for xosi. that's how i made my device show up in ioreg then try the i2c kext i've made few posts back here's a working ioreg Mastachief you can inject any new properties for your display as wish. maybe from hacintool ? goal is use other edid properties if needed the CD Clock PLL idk you can try bios change and them check framebuffer logs your sleep "fix" is interesting. i'll check it is this sleep fix a result of [IGFB][ERROR][AUX ] readAUX for address 0x600 failed with error 0xe00002d6 ?? i couldnt find the i2c kext i looked back, didn't see it. and i dont know any apple deviceID and ig-platfom IDs to use. Link to comment Share on other sites More sharing options...
Mastachief Posted May 16 Share Posted May 16 (edited) SO with the platform id 00008A52 and the device-id 528A0000, the below is observed, i also added the entire section to whenvergreen of the below IOProperties with my EDID modifed by the Fixedid app, as a result the display is now shown as internal. However colors are off no matter what i try, i figure it can be correct by using a different DisplayProductID and DisplayVendorID. boot6.log <key>IOProviderMergeProperties</key> <dict> <key>DisplayProductID</key> <integer>40178</integer> <key>DisplayVendorID</key> <integer>1552</integer> <key>IOClass</key> <string>AppleBacklightDisplay</string> <key>IODisplayConnectFlags</key> <data>AAgAAA==</data> <key>IODisplayEDID</key> <data>AP///////wAGEPKcAAAAABoVAQSVGg54Au8Fl1dUkiciUFQAAAABAQEBAQEBAQEBAQEBAQEBLjaAoHA4H0AwIDUAWMIQAAAaHySAoHA4H0AwIDUAWMIQAAAaAAAA/ABDb2xvciBMQ0QKICAgAAAA/QA4TB5TEQAKICAgICAgAIY=</data> <key>IODisplayGUID</key> <integer>436849163854938112</integer> <key>IODisplayPrefsKey</key> <string>IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/display0/AppleBacklightDisplay-610-9cf2</string> </dict> IOREG Hackintool System Preferences > Displays VRAM at 2048 Edited May 16 by Mastachief Link to comment Share on other sites More sharing options...
jalavoui Posted May 16 Share Posted May 16 (edited) you're right if i choose a imac display i get the correct resolution and colors (doesnt depend on smbios) the ig-platform best fit should have 4 pipes as in linux (not important for framebuffer mode) the error [IGFB][ERROR][DISPLAY ] proAudioWorkLoadCallback called for wrong platform\ is patched in nblue (for ventura) i think this whatevergreen injection might break aux but also "fixs" enter sleep but this is display specific. is this what Mastachief found by accident ? also in whatevergreen in the display injection the overwrite class can be deleted or set back to AppleDisplay if need this might be best idea cause i dont see apple code work in AppleBacklightDisplay for our displays without some eavy patches this is not the same as number of connectors but pipes (as in linux) the icl code seems to use 3 and tgl 4 maybe doesnt matter cause laptop seems tobe atatched to pipe A atm idc for hdmi connection better focus on what matters: - driver config parameters - enable interrupts so acelearator start loading and disable wrong ones Edited May 18 by jalavoui Link to comment Share on other sites More sharing options...
jkbuha Posted May 17 Share Posted May 17 On 5/13/2024 at 9:52 PM, jalavoui said: for those unsuported displays only way to find out is check nblue/whatevergreen/kernel logs the icl logs start with this line kernel[0]: (AppleIntelICLLPGraphicsFramebuffer) PlatformID found: 8a5c0002 (or other id if using device/ig-platform injection) so options are: 1 ) system hangs and no panic log (no chance) 2) panic and log file in /Library/Logs/DiagnosticReports 3) nblue/whatevergreen produce AppleIntelICLLPGraphicsFramebuffer logs (get them after a reboot with nblue/whatevergreen disabled if system hangs) open terminal paste log show --style syslog --predicate 'processID == 0' --last 1h --info --debug > x.log then filter for AppleIntelICLLPGraphicsFramebuffer this is how the driver started to work - we check for bugs and patch them but ofc we need logs todo it NootedBlue.kext.zip 30.25 kB · 8 downloads NootedBlue-master.zip 370.8 kB · 2 downloads panic log files are stored in /Library/Logs/DiagnosticReports don't post panic screenshots they help very little panic file as functions and address calls that we use to patch bugs Will have some downtime this weekend to test this properly, in the meantime however just a quick feedback. Setting the device-id to anything other than its native value (0x46a6) will result in a hang/crash (presumably because the framebuffer is attempting to load) however there are no panic logs in /Library/Logs/DiagnosticReports and no trace of ICLLP in the log file... Link to comment Share on other sites More sharing options...
Recommended Posts