Jump to content
559 posts in this topic

Recommended Posts

5 hours ago, jkbuha said:

Will need your guidance as how to best place the bundle files in /S/L/E. I use OCLP on other machines which unseals root volume so I guess it's a similar process.

I'll generate an EDID bin in the meantime.

To install kexts in /S/L/E you can use MyKextInstaller,  the application will allow you to install .kext and .bundle files.

  • Like 1
5 minutes ago, Mirone said:

To install kexts in /S/L/E you can use MyKextInstaller,  the application will allow you to install .kext and .bundle files.

 

Not needed... TGL i put in LE .. for ICL you can use the already stocked in SLE..

  • Like 1
1 hour ago, Stezza88 said:
I saw a fragmented apple logo flash brief. i'm near the miracle.

Did it freeze? Accelerator crash most likely

 

Try this specific commit, with and without -allow3d

 

https://github.com/becoolio/NootedGreen/commit/382899ed2a1db4bf322d083197162494da93d560

Edited by Mastachief
  • Like 1
2 hours ago, jkbuha said:

Updated logfiles with latest compiled kext from last nights' commits NootedGreen from @Stezza88 

Using DisplayMergeNub.kext as instructed by @Mastachief

 

 

what smbios are you using?

 

what boot-args?

MacBookAir9,1

 

-v debug=0x100 IGLogLevel=8 -liludbg liludump=120 -disablegfxfirmware keepsyms=1 agdpmod=pikera -amfipassbeta -lilubetaall -vi2c-force-polling amfi_get_out_of_my_way=1 -NGreenDebug -disablegfxfirmware -ngreen-dmc -ngreen-path=tgl -ngreen-tglbundle=apple ngreenSched=5 -ngreenConservativeMetal -ngreenConservativeBlit

 

 

4 minutes ago, jkbuha said:

MacBookAir9,1

 

-v debug=0x100 IGLogLevel=8 -liludbg liludump=120 -disablegfxfirmware keepsyms=1 agdpmod=pikera -amfipassbeta -lilubetaall -vi2c-force-polling amfi_get_out_of_my_way=1 -NGreenDebug -disablegfxfirmware -ngreen-dmc -ngreen-path=tgl -ngreen-tglbundle=apple ngreenSched=5 -ngreenConservativeMetal -ngreenConservativeBlit

 

 

 

Test using the following, share logs

-v -liludbg keepsyms=1 debug=0x100 amfi_get_out_of_my_way=1 ngreenSched=5 -NGreenDebug -disablegfxfirmware -allow3d

Had to add back -vi2c to make the trackpad work and IGLoglevel/liludbg/liludump as I wouldnt have had Lilu logs

 

-v -liludbg IGLogLevel=8 liludump=120 keepsyms=1 debug=0x100 amfi_get_out_of_my_way=1 ngreenSched=5 -NGreenDebug -disablegfxfirmware -allow3d -vi2c-force-polling

 

Lilu_1.7.3_24.6.txt x.log

Edited by jkbuha
Posted (edited)

* Improved coexistence with WEG and improved WEG sources. You can find all in first post.


boot-args I'm testing : -v keepsyms=1 debug=0x100 IGLogLevel=8 -wegdbg -NGreenDebug -liludbg liludump=135 ngreen-dmc=skip -allow3d -disablegfxfirmware -ngreenAllowMetal -nbwegcoex -igfxdvmt
 

config.plist I'm trying (I'm A7A08086 but I'm spoofing to 9A49)


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>AAPL,ig-platform-id</key>
    <data>AABJmg==</data>
    <key>device-id</key>
    <data>SZoAAA==</data>
    <key>AAPL,slot-name</key>
    <string>built-in</string>
    <key>built-in</key>
    <data>AA==</data>
    <key>hda-gfx</key>
    <string>onboard-1</string>
    <key>model</key>
    <string>Intel Iris Xe Graphics</string>
    <key>enable-metal</key>
    <data>AQAAAA==</data>
    <key>force-online</key>
    <data>AQAAAA==</data>
    <key>complete-modeset</key>
    <data>AQAAAA==</data>
    <key>rps-control</key>
    <data>AQAAAA==</data>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>disable-gpu</key>
    <true/>
</dict>
</plist>


... in this order I'm using

 

<string>Lilu.kext</string>
<string>WhateverGreen.kext</string>
<string>NootedGreen.kext</string>

 

Note: Still boot in black screen + cursor and at the end tv untuned effect..
 

config.plist Lilu_1.7.2_23.6.txt fb.log x.log

Edited by Stezza88

Update:

 

lol,

anyhow, take a look at the following and see if you can follow,

  1. replace the info.plist inside of AppleIntelTGLGraphics.kext in /L/E with the one I have attached, if your are spoofing another card non 9A49, you can first try spoofing you card via device properties onto the 9A49

Info.plist.zip

  1. Make sure your LE looks like the below: NOTE the file sizes to know if you have the right kexts from teh original see_internal set,

image.png.10f7bed8a2ba7b447e3714d41d113465.png

3. Also make sure to update the boot-args: start with these as the baseline.

-liludbg keepsyms=1 debug=0x100 -NGreenDebug ngreenSched=5 -ngreenNoMetal

4. Use this version of the kext.

NootedGreen.kext.zip

 

5. Add DisplayMergeNub.kext to EFI/OC/Kexts, don't add it before lilu, nootedgreen or virtualsmc

DisplayMergeNub.kext.zip

 

Don't forget to update kernel cache when you to the info.plist replacement!


may also need this, it depends...

image.thumb.png.ecf3f4876439d6ab8185fca87a0538c2.png

image.png

image.png

Edited by Mastachief
fixed images
Posted (edited)

* Big refinements this evening. Check sources.

 

34 minutes ago, Mastachief said:

Update:

 

lol,

anyhow, take a look at the following and see if you can follow,

  1. replace the info.plist inside of AppleIntelTGLGraphics.kext in /L/E with the one I have attached, if your are spoofing another card non 9A49, you can first try spoofing you card via device properties onto the 9A49

Info.plist.zip 2.65 kB · 0 downloads

  1. Make sure your LE looks like the below: NOTE the file sizes to know if you have the right kexts from teh original see_internal set,

image.png.10f7bed8a2ba7b447e3714d41d113465.png

  1. Make sure your /S/L/E looks like the below image:

image.thumb.png.eef98631b671885471a0b899ee2cae2a.png

&

image.thumb.png.98cc736657188bd105404dea3d8c89b7.png

  1. Also make sure to update the boot-args: start with these as the baseline.

-liludbg keepsyms=1 debug=0x100 -NGreenDebug ngreenSched=5 -ngreenNoMetal

  1. Use this version of the kext.

NootedGreen.kext.zip 85.65 kB · 0 downloads

 

6. Add DisplayMergeNub.kext to EFI/OC/Kexts, don't add it before lilu, nootedgreen or virtualsmc

DisplayMergeNub.kext.zip 19.34 kB · 0 downloads

 

Don't forget to update kernel cache when you to the info.plist replacement!


may also need this, it depends...

image.thumb.png.ecf3f4876439d6ab8185fca87a0538c2.png

 

i will take in consideration everything you everybody are saying to me later... now i'm navigating in deep sea

Edited by Stezza88

i have found very interesting metal patches for tgl. gonna publish it as i have found it some time ago in nblue. it's made for ventura but i think it will help a lot as instaling metal libs to /S/L/E insta crash and i fix the acess for ventura

 

updated nblue source. here the 2 key patches that allow tgl acelerator files in /S/L/E to "work"

 

this is for ventura but easy port other os versions

image.png.500ff0a54e94c521da60deab35b6fb8f.png

and for tglacelerator blit mem fix

image.png.de6174053ac42daae6a8121f040c16c6.png

 

btw for non guc the flag -disablegfxfirmware help disable junk atm i use as default

as for hookcase i patched the framebufer to avoid some bugs but i think the miissing code will eventually need tobe handled (for some displays)

 

so i take look at ngreen code and i found some interesting things. anyway i would revert to nblue info.plist injection logic as it helps config all kexts (frame and acelerator)

 i think before acelerator load the issue of preparing the display and make link training work comes first. 

if somehow the linux lib i posted on other thread can be mixed with ngreen all this can be solved

Edited by jalavoui
  • Like 1
On 4/20/2026 at 11:35 PM, jalavoui said:

i have found very interesting metal patches for tgl. gonna publish it as i have found it some time ago in nblue. it's made for ventura but i think it will help a lot as instaling metal libs to /S/L/E insta crash and i fix the acess for ventura

 

updated nblue source. here the 2 key patches that allow tgl acelerator files in /S/L/E to "work"

 

this is for ventura but easy port other os versions

image.png.500ff0a54e94c521da60deab35b6fb8f.png

and for tglacelerator blit mem fix

image.png.de6174053ac42daae6a8121f040c16c6.png

 

btw for non guc the flag -disablegfxfirmware help disable junk atm i use as default

as for hookcase i patched the framebufer to avoid some bugs but i think the miissing code will eventually need tobe handled (for some displays)

 

so i take look at ngreen code and i found some interesting things. anyway i would revert to nblue info.plist injection logic as it helps config all kexts (frame and acelerator)

 i think before acelerator load the issue of preparing the display and make link training work comes first. 

if somehow the linux lib i posted on other thread can be mixed with ngreen all this can be solved


NBlue logic is broken.. multiple kexts are needed not only one at a time..

On 4/19/2026 at 9:50 PM, Mastachief said:

Update:

 

lol,

anyhow, take a look at the following and see if you can follow,

  1. replace the info.plist inside of AppleIntelTGLGraphics.kext in /L/E with the one I have attached, if your are spoofing another card non 9A49, you can first try spoofing you card via device properties onto the 9A49

Info.plist.zip 2.65 kB · 7 downloads

  1. Make sure your LE looks like the below: NOTE the file sizes to know if you have the right kexts from teh original see_internal set,

image.png.10f7bed8a2ba7b447e3714d41d113465.png

3. Also make sure to update the boot-args: start with these as the baseline.

-liludbg keepsyms=1 debug=0x100 -NGreenDebug ngreenSched=5 -ngreenNoMetal

4. Use this version of the kext.

NootedGreen.kext.zip 85.65 kB · 3 downloads

 

5. Add DisplayMergeNub.kext to EFI/OC/Kexts, don't add it before lilu, nootedgreen or virtualsmc

DisplayMergeNub.kext.zip 19.34 kB · 2 downloads

 

Don't forget to update kernel cache when you to the info.plist replacement!


may also need this, it depends...

image.thumb.png.ecf3f4876439d6ab8185fca87a0538c2.png

image.png

image.png

 

Ok so now we're getting somewhere. With your NootedGreen kext and the Info.plist, I get a partially scrambled screen but I can ssh and scp the required log files:

Lilu_1.7.3_24.6.txt x.log

you guys need to use same logic as original nred add extensions configs in info.plist it is working since day zero.

 

also ngreen code base is old nblue and lacks lots of fixs i've done so

 

just start over grab current nblue + i915_xe_extracted and the ai will write very nice code with proper linux structures and patches. plus linux bonus of workarounds

 

and a final advice i did spend some time patching AppleIntelTGLGraphicsFramebuffer and acelerator only to find out it as several bugs like missing variables declarations, etc

so now that ai can patch binarys just forget bugged AppleIntelTGL kexts and use stable and working AppleIntelICLLPGraphicsFramebuffer + acel that exist already in every mac os versions

all it takes is use i915_xe_extracted + patching binary

 

here's a sample of using linux structures instead of generic injected address patch 

image.png.9d3c0924b2def5fe8444607d7c12b9b2.png

 

Edited by jalavoui
14 hours ago, jkbuha said:

 

Ok so now we're getting somewhere. With your NootedGreen kext and the Info.plist, I get a partially scrambled screen but I can ssh and scp the required log files:

Lilu_1.7.3_24.6.txt 137.38 kB · 0 downloads x.log 3.35 MB · 0 downloads

 

Sorry, I got the scanlines and scrambled screen issue fixed.

 

remove the boot-args that are blocking metal if you get the yellow tint in the background.

 

Use this version, it also has the blit mem fix from nblue as well to lower the window server usage was over 150% usage.

 

I had a version that booted and started the ioaccelerator and intelaccelarator, but its missing code.

 

NootedGreen.kext.zip

 

Edited by Mastachief
Posted (edited)
8 hours ago, jalavoui said:

you guys need to use same logic as original nred add extensions configs in info.plist it is working since day zero.

 

also ngreen code base is old nblue and lacks lots of fixs i've done so

 

just start over grab current nblue + i915_xe_extracted and the ai will write very nice code with proper linux structures and patches. plus linux bonus of workarounds

 

and a final advice i did spend some time patching AppleIntelTGLGraphicsFramebuffer and acelerator only to find out it as several bugs like missing variables declarations, etc

so now that ai can patch binarys just forget bugged AppleIntelTGL kexts and use stable and working AppleIntelICLLPGraphicsFramebuffer + acel that exist already in every mac os versions

all it takes is use i915_xe_extracted + patching binary

 

here's a sample of using linux structures instead of generic injected address patch 

image.png.9d3c0924b2def5fe8444607d7c12b9b2.png

 

 

I'm so happy to see you !!!! Big jala, what do you think about this enhanced library? (Born from your working nblue lib)

 

Logic is preserved.

TGL-first profile order is explicit in Info.plist:65 with PreferredOrder = TGL, then ICL.
Kext path policy is explicit in kern_gen11.cpp:10:
TGL kexts point to /Library/Extensions in kern_gen11.cpp:27 and kern_gen11.cpp:35
ICL fallback kexts point to /System/Library/Extensions in kern_gen11.cpp:12 and kern_gen11.cpp:19
Runtime fallback guard is still there:
If TGL FB is loaded, ICL FB is skipped in kern_gen11.cpp:146
If TGL HW is loaded, ICL HW is skipped in kern_gen11.cpp:643
Also for Metal bundle discovery, DYLD still checks /Library/Extensions first (patched from GPUBundles) with /System/Library/Extensions as fallback in DYLDPatches.cpp:81.

Edited by Stezza88
Posted (edited)

* Removed enableComboPhyEv hook and applied some dev_start Sonoma patches to kern_green and fix to getGPUInfo method
* Added-ngreenfullmtl boot arg and m booting with :

-v keepsyms=1 debug=0x100 IGLogLevel=8 -NGreenDebug -liludbg liludump=152 ngreen-dmc=skip -allow3d -disablegfxfirmware -ngreenexp -ngreenfullmtl
Edited by Stezza88

careful using com.xxxxx.driver.AppleIntelTGLGraphics that is old patch i've done. the original com.apple.driver.AppleIntelTGLGraphics is signed and maybe make os x happy.

 

if AppleIntelTGLGraphics loads in /L/E and the metal plugin gets load maybe it can work otherwise only path is /S/L/E

 

gonna try explain better why u might need revert ngreen

this patch in ngreen lacks a var fix

image.png.ec6de3a4a2c9001c2c385a2b7b6f6dd3.png

 

done on nblue

image.png.c40a3690f55517ce09f4b4f0eb8af871.png

 

this is just a sample idk how long ai wil take to see this and other stuff

 

the info.plist of ngreen lacks all the properties that the kexts need. e.g

in ngreen

image.png.5176548bdb756ccb17bda2df8b04e9fa.png

 

in nblue and nred logic u use the base kext properties, change as need  and just add pci ids in iopciprimarymatch if u want osx to load at boot

in /L/E u change iopciprimarymatch to 0x12345678 so it doesnt auto load

image.png.4adf534fda9fee5735e40f0f44bd24cb.png

 

masta kext as that logic - good !

omfg masta how did u miss copy all kext properties ??? it will never work needs this also

image.png.2b8dfb27a2021cc2cddb34022f0053f2.png

Edited by jalavoui
8 minutes ago, jalavoui said:

careful using com.xxxxx.driver.AppleIntelTGLGraphics that is old patch i've done. the original com.apple.driver.AppleIntelTGLGraphics is signed and maybe make os x happy.

 

if AppleIntelTGLGraphics loads in /L/E and the metal plugin gets load maybe it can work otherwise only path is /S/L/E

 

i've forked Lilu to load forcely Kexts .. bulletproof loading in L/E

×
×
  • Create New...