Jump to content

[80% Solved] Iris Xe iGPU on Tiger Lake successfully loaded ICLLP Frambuffer and VRAM also recognizes 1536MB! + However, some issues.


shl628
740 posts in this topic

Recommended Posts

- [EDIT] NB : Now using the rebuilded from clean master Nootedblue my PCIe is seen like an "Intel TigerLake-LP GT2 [Iris Xe Graphics]" ... but still 0 total VRAM either or acceleration either no framebuffer loaded... I'm going crazy.. platform id 0x9A490000 , device id 0x9A498086 (here the config.plist used with nb)

 

 

 

- [EDIT] WG : According to lshbluesky WhateverGreen (using his wg instead of nb), this conf should work but.. it reboots always at middle loading of OS .. it respects his commits... but still not working

I changed no platform id 0x9A490000 but yes device id to 0x8A5A8086 (spoofing like a Tiger Lake) (it's the device-id that make me crash... i know) (here the config.plist used)

 

 

 

His commits

	
	{ 0x9A49, 0x8A52, "Intel Iris Xe Graphics" },
	{ 0x9A40, 0x8A52, "Intel Iris Xe Graphics" },
	{ 0x9A60, 0x8A5A, "Intel Iris Xe Graphics" },
	{ 0x9A68, 0x8A5A, "Intel Iris Xe Graphics" },
	{ 0x9A70, 0x8A5A, "Intel Iris Xe Graphics" },
	{ 0x9A78, 0x8A5A, "Intel Iris Xe Graphics" },
	// Reserved/unused/generic Tiger Lake },

 

(Also applying this https://dortania.github.io/Getting-Started-With-ACPI/Universal/spoof.html doesn't work)

 

- (Also tryed to modify lshbluesky wg and applying only platform id 0x9A490000 (device-id is now 0xA7A08086) this works but no framebuffer loaded

 

This is my commit :

 

{ 0x9A49, 0x8A5A, "Intel Iris Xe Graphics" },
{ 0xA7A0, 0x8A5A, "Intel Iris Xe Graphics" },

)

Edited by ASUS Vivobook
Link to comment
Share on other sites

On 10/20/2024 at 4:14 AM, Mastachief said:

Why does your config.plist look like that for your igpu config. Have you read the entire thread?

 

- WG : Yes, but i've taken my consequences... i'm only trying to make it works for one time.. then i can go deeper in the topic..

It is so bad my config? [I've EDITED IT, now sounds better] 😛

 

- nootedblue i've tryed the *LE drivers with my real device-id 0xA7A08086 ... it stucks on boot.. whats the next step ? @jalavoui

 

 

Edited by ASUS Vivobook
Link to comment
Share on other sites

Check if your machine routes both the igpu and NVDA discrete card on the same channel via switching. If so the method you're trying won't work unless they are identified separately in hackintool.

Also, even if you get the 1536MB VRAM in your "about this Mac" your igpu performance won't increase.

At most it means that that amount of memory can be allocated, however it won't be used as the driver isn't complete.

Link to comment
Share on other sites

I cannot know.. no guide for this.. but if I check the path with https://github.com/acidanthera/gfxutil/releases : igfxutil -f GF0

then exclude the GPU using the path of secondary PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) -> disable-gpu set to true

and bios display select set to auto-select

 

=> IOReg now sounds better ... but still no vram and still framebuffer loaded IONDRVFramebuffer.kext

 

Screenshot 2024-10-20 alle 17.58.16.png

Edited by ASUS Vivobook
Link to comment
Share on other sites

he's doing copy/paste from another thread. but i guess most questions are already answered in this thread. 

 

dumped a fresh linux log. not from latest release but it helps

 

sys.log.zip

 

linux seems to setup a edp connector ?? lookiing at old register values it's not pipe_edp cause pipe_a register is used

 

this is nblue boot testing - with lots of possible patches for slices, clocks,etc. All this is unstable and is ment for testing

 

x.log.zip

Edited by jalavoui
  • Like 1
Link to comment
Share on other sites

On 10/20/2024 at 2:10 AM, ASUS Vivobook said:

- [EDIT] NB : Now using this rebuilded from clean master Nootedblue my PCIe is seen like an "Intel TigerLake-LP GT2 [Iris Xe Graphics]" ... but still 0 total VRAM either or acceleration either no framebuffer loaded... I'm going crazy.. platform id 0x9A490000 , device id 0x9A498086 (here the config.plist used with nb)

 

confignb.plist 37.89 kB · 1 download

 

- [EDIT] WG : According to lshbluesky WhateverGreen (using his wg instead of nb), this conf should work but.. it reboots always at middle loading of OS .. it respects his commits... but still not working

I changed no platform id 0x9A490000 but yes device id to 0x8A5A8086 (spoofing like a Tiger Lake) (it's the device-id that make me crash... i know) (here the config.plist used)

 

configwg.plist 36.31 kB · 1 download

 

His commits

	{ 0x9A49, 0x0000, "Intel Iris Xe Graphics" },
	{ 0x9A49, 0x8A52, "Intel Iris Xe Graphics" },
	{ 0x9A40, 0x8A52, "Intel Iris Xe Graphics" },
	{ 0x9A60, 0x8A5A, "Intel Iris Xe Graphics" },
	{ 0x9A68, 0x8A5A, "Intel Iris Xe Graphics" },
	{ 0x9A70, 0x8A5A, "Intel Iris Xe Graphics" },
	{ 0x9A78, 0x8A5A, "Intel Iris Xe Graphics" },
	// Reserved/unused/generic Tiger Lake },

 

(Also applying this https://dortania.github.io/Getting-Started-With-ACPI/Universal/spoof.html doesn't work)

 

- (Also tryed to modify lshbluesky wg and applying only platform id 0x9A490000 (device-id is now 0xA7A08086) this works but no framebuffer loaded

 

This is my commit :

 

{ 0x9A49, 0x9A49, "Intel Iris Xe Graphics" },
{ 0x9A49, 0xA7A0, "Intel Iris Xe Graphics" },

)

 

Something like a spoof like this.. i cannot reach to find/to have log output or system log related to the graphic fail.. i cannot understand without these informations..

i have found earlier in the topic nobody with this situation..

[EDIT] I'm looking now inside Mac with dmesg or Hackintool... nothing found related to graphic or framebuffer loading..

 

[EDIT] I'm going forward and reaching to understand how nootedblue works.. before i used it without inserting my real device-id that is "0xA7A08086" in info.plist IOPrimaryMatch .. i've updated/erased some early posts

 

[EDIT] tryed nootedblue rebuilded from the master instead of wg with *LE what i should try? It stucks on boot with my real device-id..

i've tryed also signed sle internal with graphicscheduler select 0,1,3, or 5... it stucks or reboots...

 

opencore-2024-10-20-173313.txt

Edited by ASUS Vivobook
Link to comment
Share on other sites

breaking os seal and installing the bundles in /S/L/E will allow to use lilu to patch them.

 

this might help in near future. the dtk bundle seem to help avoid mtl crashes but i'm not sure about usage on other os x versions. DTK are big sur files.

 

btw if you guys have dell hardware take a look at joevt patch

there's a check inside displaypolicyd that uses 0x4147

nice finding!

 

image.thumb.png.e6e8453bd7b6c6cf8bd8b51f0463f899.png

 

Edited by jalavoui
Link to comment
Share on other sites

Jala, should we use the lilu by joevt going forward? also isnt the patch only for Dell 8K Monitors?

 

is it possible to disable dithering and to adjust the fake VBL workaround?  VSync and HSync timings ensure the matching of capabilities of Tiger Lake, however incorrect settings might corrupt display output and is causing the failure of vertical blanking intervals, which are critical for smooth frame rendering. Is it possible to modify or disable the fake vertical blanking patch to observe how the system responds without this workaround?

 

alternatively we could try enforcing real vertical blanking intervals to synchronize the framebuffer correctly with the display, of course this might not work without correct power profiles for Tigerlake AGPM.

 

Last test could be changing the pixel clock, link symbol clock, and color depth,

Edited by Mastachief
Link to comment
Share on other sites

i think there's some AAPL,xxx flag that disables dithering.If you play with tglframebuffer code you will actualy will see the display booting with crazy display settings

the dtk image as less code than other releases. in ventura there's extra code that might "fix" that

 

i'm not sure if linux ignores those settings

 

the patches i found don't help much as they break os x link trainning.

so maybe enable this to disable agdc calls as in old whatevergreen code ?

image.thumb.png.36ec2dd90a3c34ed96b7ea78bb03bf0f.png

 

not sure if tgl enables that vbl hack. but a patch can be made for sure.

 

did u check joevt patches ? maybe some apply to your display

 

as for AGPM i remenber some hacks can be done (maybe just disable it?)

Edited by jalavoui
Link to comment
Share on other sites

12 minutes ago, Mastachief said:

is it possible to disable dithering and to adjust the fake VBL workaround?  VSync and HSync timings ensure the matching of capabilities of Tiger Lake, however incorrect settings might corrupt display output and is causing the failure of vertical blanking intervals, which are critical for smooth frame rendering. Is it possible to modify or disable the fake vertical blanking patch to observe how the system responds without this workaround?

 

From whatevergreen...

 

                        // Equal to AAPL00,Dither
                        // In general you should avoid this property, since it most likely will decrease
                        // visual quality. However, on some displays you may get slightly better picture
                        // with this property set to 1.
                        "@0,display-dither-support",
                        Buffer ()
                        {
                            0x01, 0x00, 0x00, 0x00
                        }

  • Thanks 2
Link to comment
Share on other sites

Should i do it via nootedblue or device properties?

 

Just realized i cant mix lilu kexts nor the kernelsdk as the code is different between joevt and acid

 

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
    <key>@0,display-dither-support</key>
    <data>AQAAAA==</data>
</dict>

 

Edited by Mastachief
Link to comment
Share on other sites

i added dither to this release. i think oc can inject that property

also got this log line - not related as i changed ports,etc

 

image.png.c0cb74244d4b08eaf5599d6b2e7c6489.png

 

does this mean driver is trying hard to play?

 

time to push source code

 

 

Edited by jalavoui
Link to comment
Share on other sites

current info.plist is inside source code posted above.

 

tgl bug might be cause of this

 

Capturadeecr2024-10-23s15_15_22.png.2a6319b5af6b4d1f85e3158bcf68a8c2.pngCapturadeecr2024-10-23s15_15_13.png.9f2c3346c7790ac78e6ad55a200629e8.png

 

no idea why this happens and howto fix it. still i suspect of wrong config settings

Edited by jalavoui
Link to comment
Share on other sites

better start looking at this

 

image.png.3ecefad77461acec9579b071f9182c7c.png

 

need a "working" panel before get working pipes

 

omg look at apple "fix" at ulong __thiscall BanksiaTcon::InitTconHW(BanksiaTcon *this)

image.png.87ebd5632089d7f6dc83342bbe913d95.png

 

so if i don't like the code then "0xdeadbeef"

got it !

 

2nd deadbeef at:

image.png.02f374e33986b804666618427009585f.png

Edited by jalavoui
Link to comment
Share on other sites

since the panel initialization is blocking DPCD (DisplayPort Configuration Data) isnt it easier to assign the edp to index 1 aka Bus ID 0? since EDP has partial support with icelake and gets assigned to pipe0 in previous nooted blue. this all goes back to connectors config.....im putting the key entry i used to get my panel to be seen on pipe 0 with an alldata connector patch, im unable to export all of the tgl connectors info, its a bit jumbled for me and shows 9 connectors. but following what we have, we could null all other 8 connectors using the method below using nblue even though the example is from whatevergreen. we can also use AAPL00,override-no-connect for the MacbookAir modded EDID. Cause edp panels do work with icelake see here --->https://github.com/Lorys89/DELL_VOSTRO_5401-ICE-LAKE

 

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
			<dict>
				<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>AAAAAA==</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>
			</dict>

 

Despite the power issues, we could have unexpected results....

 

All connections that are configured with DPCD end up in pipe 1 according to hackintool, using current nblue. Would it be possible to have it on pipe0 and workaround the power issues for now?

 

image.thumb.png.a773669f233c423fca2bd607f1f59772.png

Edited by Mastachief
Link to comment
Share on other sites

yes masta i already did that-  you can try it just edit the pipes in nblue

tested all this in here + some functions

 

so this can be changed

image.thumb.png.79be1cc55ca37a1620f70d67fde9be44.png

to

image.thumb.png.b1d0153e305de74ea6b783d6339f1263.png

 

etc,etc

Edited by jalavoui
Link to comment
Share on other sites

I only see one set of connectors in that section, I dont see the tgl's nine connectors we spoke about, its in the tgl framebuffer, only seeing three, so should i add the extra one or build an entirely new function for it?

 

The table shows what i came up with, ill convert it back and replace the data and recompile.

 

image.png.74cbf3867d74e47f8121310a79b29da8.png

 

         
           
           
           
Edited by Mastachief
Link to comment
Share on other sites

×
×
  • Create New...