Jump to content

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


shl628
682 posts in this topic

Recommended Posts

yeah that was easy to fix.

 

this part of code is where all bad things start to happen and make me patch the plane/scaler calls

gonna waste some time with this

the china code (**(code **)(*(long *)in_RDI[0x948] + 0x130)) looks like a writereg() to me

image.png.29789aee38b4788333b2bb9d318f19d7.png

 

gonna control values from this fastwritereg also

image.png.0955b86643ddf4b718f27b054f92990a.png

Edited by jalavoui
Link to comment
Share on other sites

My database says
0003b198            let field_4a08_1: *mut AppleIntelDisplayPath = ADJ(rax_29)->field_4a08;
0003b19b            data_d97c8 += 1;
0003b1ad            let rax_30: i32 = AppleIntelFramebufferController::getTranscoderOffset(fController_7, rsi_34, field_4a08_1->fPipe, 0x1000);
0003b1b2            let fRegAccessManager_1: *mut AppleIntelRegisterAccessManager = this->fRegAccessManager;
0003b1b9            data_d9050 += 1;
0003b1c0            data_dbeb8 += 1;
0003b1d3            let mut rcx_15: *mut *mut AppleIntelDisplayPath;
0003b1d3            
0003b1d3            if this->field_3fd8 == 0xffffffff {
0003b1ec                data_dbed8 += 1;
0003b1f3                rcx_15 = &this->field_49f0;
0003b1d3            } else {
0003b1d5                data_d9058 += 1;
0003b1dc                data_dbed0 += 1;
0003b1e3                rcx_15 = &this->field_4a08;
0003b1d3            }
0003b1d3            
0003b209            fRegAccessManager_1->vt->WriteRegister32(fRegAccessManager_1, (rax_30 + 0x70008) as u64, *(ADJ(rcx_15)->field_4a08.byte_offset(0x154) as *mut i64));
 

y'know what just take the bndb lol
AppleIntelTGLGraphicsFramebuffer.bndb.tar.zst

Link to comment
Share on other sites

hi joevet

 

it's in the sle_Internal.zip page 24

 

in that folder /lep is the production version that visual is studying

/sle are debug versions

/sle are signed unmodified versions

 

btw i've check your patches and i can't guess how you find out this

are you overwritting apple default in /S/L with user default in /L/E ?

this is very interesting

image.thumb.png.eb07178764b27b9cd0f62db5e60db5b0.png

 

speaking about patches u giys need to follow this 

https://github.com/moraea/non-metal-frameworks

 

this is a very good work

 

also

https://github.com/ChefKissInc/NootedRed

is bug free

 

btw visual do you remenber howto config this ? i mean os x boot args

image.png.6b5e895d420c5480fb282dd59a769c55.png

 

i know there's other tool but i'd like to add this code to nblue

i wrote about it long ago and dont remenber howto setup boot args and most important

which tool to use in terminal to link to network and get live logs

idk why u remove such a great tool from nred

 

i'm also thinking on adding this to nblue

image.png.822ba4be8133187cf2d6ab660de1c6fb.png

idk why but can't get lilu to print results...

old sources from https://github.com/NyanCatTW1/NootedRed/blob/nyanDbg2/NootedRed/kern_nred.cpp

 

any1 as an Apple ethernet driver with kdp protocol ? i kinda miss this

 

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

15 hours ago, jalavoui said:

btw i've check your patches and i can't guess how you find out this

are you overwritting apple default in /S/L with user default in /L/E ?

this is very interesting

image.thumb.png.eb07178764b27b9cd0f62db5e60db5b0.png

 

User overrides are in /L/Displays and system overrides are in /S/L/Displays.

 

SwitchResX modifies user overrides. It can override EDID and some other stuff related to the display. User overrides is used by CoreDisplay.framework to create display modes. If a User override doesn't exist, then it uses system overrides.

 

System overrides is used by displaypolicyd for .mtdd files and for some other settings.

 

I wanted to test changes to .mtdd files. I tried making mtdd files in the user overrides location but nothing happened, so I grepped for the overrides location to find that displaypolicyd was responsible for loading mtdd files and that it wouldn't load mtdd files from the user overrides location. I needed a method to modify system overrides. I figured it would be easier to make displaypolicyd always use user overrides (requires copying system overrides to the user overrides location). I don't think what I wanted to achieve actually worked though (dual tile 4K 144Hz). But there might be a use for this patch.

 

I have a script to get a list of all the properties that exist in the overrides. I need to make a list of all the properties that CoreDisplay and displaypolicyd use (search for CFDictionaryGetValue?) and compare to see which are unique to each.

 

 

15 hours ago, jalavoui said:

any1 as an Apple ethernet driver with kdp protocol ? i kinda miss this

 

Maybe you can add a serial COM port?

https://github.com/acidanthera/bugtracker/issues/1954

 

Or maybe Firewire kprintf or fwkdp or fwkpfv?


I haven't tried either recently.

 

  • Like 1
Link to comment
Share on other sites

this is from old thread. most of us don't have a apple driver for our etherner cards and as such we miss iokerneldebugger and can't do proper debugging

visual can you check what parts of this code is needed so it will work on RealtekRTL8111 ? it's mieze driver

i can't decompile this better...

image.png.b013d7f345a6973ebe3fbf0126fc8819.png

 

omfg i just can't belive this. the kext still works on ventura

i loaded in opencore. just added my card id

but acer physically disable the cable connector so i can't use this

 

image.thumb.png.be271dde3490685dea8f411acf835142.png

 

here's the kext if someone wanna use iokerneldebugger

parameters are in the 2016 thread above

 

AppleRTL8169Ethernet.kext.zip

 

Edited by jalavoui
Link to comment
Share on other sites

i'm doing a review on nblue dependencies

 

so to build nblue first get some files from (type this in terminal)

git clone --recursive https://github.com/ChefKissInc/NootedRed.git

 

files will be on your home folder (NootedRed). next move Lilu + MacKernelSDK from nred to nblue folder (replace)

then build nblue. no need build lilu

image.png.736d9386abd04b4e3d1046fd53ecabc7.png

 

 

bug, etc complain to this guy

image.png.d51027df8199715cf4a122942c417066.png

 

great now can't load nblue... fixing...

so kp+kp+kp -> fixed by using nred base xcode.proj

...

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

tks. now that i ported nred base to nblue i'm getting all sort of lilu bugs.

i wonder how it was working b4. hmm maybe cause i have al kexts installed and lilu didnt crash cause of that

 

pain continues

 

got this theory and i would like an opinion.

all working igpus have this property with a non zero value (this is nred sample)

image.png.1ec109c0cdb872553785a2c21eca0425.png

 

this apple driver at start() do something to config space (same as nred as seen in logs)

image.png.2e7be6e28a538e223a2fc0e6414f1a56.png

 

i there a way to enable this iopciexpresslinkstatus() for the igpu. maybe this is checked by os x and a lot of things depend on this setting

 

this is my new lilu issue...

image.png.897b84ec96f8b99592be0bd67736e896.png

 

image.png.92ac15832a492a30c47a2735a1a21d51.png

Edited by jalavoui
Link to comment
Share on other sites

well old nblue as this guy name

 

image.png.4f32a47bb58d2900b117dc5558668054.png

 

and new nblue

 

image.png.fbb4f31699d73efddf584f968e082184.png

 

and ofc it is crashing

 

renaming didnt solve the issue. same kp

gonna try debug it

 

wonder what changed from old xcodeproj to new nred proj

 

hmm i doubt this kp address is correct

 

image.png.6e9c432a42b8620677fc2f85d8904aba.png

 

code is fresh from nred

image.png.917981f3b1954083b54f6312957a630c.png

 

 

 

 

 

any1 with older source plz upload it -  i got no backup of old code

Edited by jalavoui
Link to comment
Share on other sites

All Lilu based kexts need to be built with the same version of Lilu that is injected by Open Core.

I use sym links for MacKernelSDK and Lilu for building each of the Lilu based kexts with my forks.

 

myprojects=/Volumes/Work/Programming/KextProjects
lilukext="$myprojects/Lilu/joevt-Lilu/DerivedData/Lilu/Build/Products/Debug/Lilu.kext"
# build lilu with Xcode
mkdir -p "$myprojects/WhateverGreen"
cd "$myprojects/WhateverGreen"
git clone https://github.com/joevt/WhateverGreen.git "joevt-WhateverGreen"
cd "$myprojects/WhateverGreen/joevt-WhateverGreen"
rm Lilu.kext    2> /dev/null ; ln -s "$lilukext" "Lilu.kext"
rm MacKernelSDK 2> /dev/null ; ln -s "$myprojects/MacKernelSDK/joevt-MacKernelSDK" "MacKernelSDK"

 

Link to comment
Share on other sites

×
×
  • Create New...