dortania / bugtracker

Dortania Bugtracker
111 stars 7 forks source link

Mobile Icelake issues #17

Open MVDB0110 opened 4 years ago

MVDB0110 commented 4 years ago

After some Troubleshooting I got rid of most of the ACPI errors by adding compiled SSDTs. And came further in the boot process. Now I hang at Still Waiting for Root Device. Now I think the problem has to do with USB, because this laptop uses only USB-C/Thunderbolt, which are initialized but still I get the error Waiting for Root Device. Also I get the error of appleusbxhci unsupported speed mantissa. I get ACPI error: _SB.PCI0.XHC.RHUB.HS09 is in DSDT but cannot be loaded on boot (I'm still in install phase). For current EFI and photos of the error https://www.tonymacx86.com/threads/will-macos-run-on-the-xps-13-7390.285414/page-2#post-2123507

x0sy commented 4 years ago

@schwxr what did you do to get the Trackpad working? GPIO pinning? (Still fishing for your EFI lol)

@ksymmonds Sorry, I won't be sharing my EFI.

If VoodooI2C is not loading for you, you may need to build the kext so that the CML patch applies to the ICL I2C controller. You can view the details of the patch here.

From there, the trackpad can be configured like any other I2C device, which I will not go into as it is outside the scope of this thread.

k-sym commented 4 years ago

@schwxr Thanks, I appreciate any help and pointers (excuse the pun) I can get :) One more question, if I may, about the battery. Did you use the RehabMan 2014 Razer to patch your DSDT or something else?

Thanks in advance.

KhoraLee commented 4 years ago

@KhoraLee not sure if this will help, but add a "device-id" to your PciRoot(0x0)/Pci(0x2,0x0) and try the value of <8A520000>. I found the platform-id alone wasn't sufficient in my case.

Screenshot 2020-06-17 at 17 15 32

I tried adding device-id but i didn't work... Same Kernel Panic happen

MVDB0110 commented 4 years ago

@KhoraLee try adding SMCBatteryManager, SMCLightSensor, SMCProcessor and SMCSuperIO kexts from virtualsmc to your kexts folder. And deleting ACPIBatteryManager.kext from the folder. Then load the config.plist in ProperTree and do CTRL/CMD + Shift + R. Then browse to your "OC" folder.

KhoraLee commented 4 years ago

I fixed this kernel panic with MMIO whitelist I whitelisted MMIO 0xFF600000 region (Address :4284481536)

asfarnazar commented 4 years ago

Trying to install Catalina in Lenovo Yoga c940 (i7 - 1065g7). I am stuck in the same api error (_SB.PCI0.XHC.RHUB.HS09 : AE_NOT_FOUND). I have included SSDT-RHUB-OFF.aml but still the error persists. When I try to drop the xhdell as in MVDB0110's case, all my ssdt tables have the same name (CB-01 ) as shown below. I have attached my acpidump (open core sys report) here https://drive.google.com/file/d/1WSnwk7RlxSRa3K97icWF6Qvp7MFtoIeV/view?usp=sharing and my EFI folder here https://drive.google.com/file/d/1V8lKGSICvb9Q0iyCLAuF7P97SLN-TcjD/view?usp=sharing Can someone help me with this? image

When I set table length to data 0x0a33, I am getting loads of acpi errors and unaligned frame pointer kernel panic.

Landaman commented 4 years ago

@asfarnazar I am getting the same issue on my Microsoft Surface Laptop 3 with the same i7-1065G7. I am currently trying to compile my own SSDT-RHUB based on the guide, I will update if that changes anything

EDIT: Changes nothing, the one linked here and the one that I created based on the guide are literally identical. I wonder if xhDell is going to have to change based on manufacturer or device

asfarnazar commented 4 years ago

@asfarnazar I am getting the same issue on my Microsoft Surface Laptop 3 with the same i7-1065G7. I am currently trying to compile my own SSDT-RHUB based on the guide, I will update if that changes anything

EDIT: Changes nothing, the one linked here and the one that I created based on the guide are literally identical. I wonder if xhDell is going to have to change based on manufacturer or device

Yes, I dropped table id CB-01 with length set to 2611. It caused even more ACPI errors, which may be due to all of my SSDT tables having the same table id.

Landaman commented 4 years ago

Yes, I dropped table id CB-01 with length set to 2611. It caused even more ACPI errors, which may be due to all of my SSDT tables having the same table id.

Odd. I can try that if you think it would help but it would probably only produce another broken result

asfarnazar commented 4 years ago

Yes, I dropped table id CB-01 with length set to 2611. It caused even more ACPI errors, which may be due to all of my SSDT tables having the same table id.

Odd. I can try that if you think it would help but it would probably only produce another broken result

Try with your equivalent table id. You can find it by dumping your acpi and checking the ssdt tables. Let me know.

asfarnazar commented 4 years ago

I fixed this kernel panic with MMIO whitelist I whitelisted MMIO 0xFFB00000 region (Address :4284481536)

I set table length with number (2611) instead of hex (0x0a33) which the solved ACPI errors. Now in the same kernel panic as @KhoraLee. Whitelisting MMIO - how to find the address? If I whitelist the same address I get a new kernel panic.

image

Landaman commented 4 years ago

I fixed this kernel panic with MMIO whitelist I whitelisted MMIO 0xFFB00000 region (Address :4284481536)

I set table length with number (2611) instead of hex (0x0a33) which the solved ACPI errors. Now in the same kernel panic as @KhoraLee. Whitelisting MMIO - how to find the address? If I whitelist the same address I get a new kernel panic.

image

Oh nice. I'll give this a try soon.

EDIT: In my case the table dropped in xhDell does not exist, so my table names are preserved. I will try dropping the table that contains the RHUB list as you did though

Landaman commented 4 years ago

I dropped my equivalent of that table and it changed nothing. The APCI error was eliminated but I still end up "waiting for root device". I also have SSDT-RHUB and USBINJECTALL present and enabled.

EDIT: Reinstalling SSDT-RHUB and USBINJECTALL somehow fixed this, lol

Landaman commented 4 years ago

I ended up with the clock ID error too, can confirm that -igfxvesa works as a fix, or at least it did for me. Thanks guys

asfarnazar commented 4 years ago

I dropped my equivalent of that table and it changed nothing. The APCI error was eliminated but I still end up "waiting for root device". I also have SSDT-RHUB and USBINJECTALL present and enabled.

EDIT: Reinstalling SSDT-RHUB and USBINJECTALL somehow fixed this, lol

Can you share your config.plist ?

Landaman commented 4 years ago

Sure. Here is my OC folder. This EFI won't work rn as I'm working out issues with SSDT-GPI0

Landaman commented 4 years ago

Has anyone gotten any luck enabling acceleration? I have booted and have my graphics device as "Intel Iris Graphics Plus" with 12mb VRAM but no acceleration

asfarnazar commented 4 years ago

Sure. Here is my OC folder. This EFI won't work rn as I'm working out issues with SSDT-GPI0

Thank you. I am still stuck at waiting for boot device error. I don't think anyone has got working ICL graphics yet.

KhoraLee commented 4 years ago

my laptop's graphics maybe? Because SideCar is working sidecar

KhoraLee commented 4 years ago

I fixed this kernel panic with MMIO whitelist I whitelisted MMIO 0xFFB00000 region (Address :4284481536)

I set table length with number (2611) instead of hex (0x0a33) which the solved ACPI errors. Now in the same kernel panic as @KhoraLee. Whitelisting MMIO - how to find the address? If I whitelist the same address I get a new kernel panic.

On my case, Kernel panic said Invaild Frame Pointer, and troubleshooting section said whitelist MMio(https://dortania.github.io/OpenCore-Desktop-Guide/troubleshooting/troubleshooting.html#kernel-panic-on-invalid-frame-pointer).

And on kernel panic, CR2 registor is the address where page fault occurs. (CR2:0x00000000ff6be058) On opencore's debug log i can find memory map My case: 16:223 00:004 OCABC: MMIO devirt start 16:229 00:005 OCABC: MMIO devirt 0x80800000 (0x4F800 pages, 0x8000000000000001) skip 0 16:232 00:003 OCABC: MMIO devirt 0xFC800000 (0x2000 pages, 0x8000000000000001) skip 0 16:236 00:003 OCABC: MMIO devirt 0xFED00000 (0x1 pages, 0x8000000000000001) skip 0 16:239 00:003 OCABC: MMIO devirt 0xFED10000 (0x8 pages, 0x8000000000000001) skip 0 16:242 00:003 OCABC: MMIO devirt 0xFEDA0000 (0x2 pages, 0x8000000000000001) skip 0 16:245 00:003 OCABC: MMIO devirt 0xFEE00000 (0x1 pages, 0x8000000000000001) skip 0 16:248 00:003 OCABC: MMIO devirt 0xFF600000 (0xA00 pages, 0x8000000000000001) skip 1 16:251 00:003 OCABC: MMIO devirt end, saved 1335344 KB

So i whitelisted 0xFF600000 region. (0xFF600000 -> 4284481536, Hexadecimal to Decimal)

Landaman commented 4 years ago

my laptop's graphics maybe? Because SideCar is working sidecar

Yea you've got it working... Hackintool shows QE/CI as yes. What are your graphics options in your config.plist? You also don't have the G7 the rest of us have so it may be different

KhoraLee commented 4 years ago

my laptop's graphics maybe? Because SideCar is working sidecar

Yea you've got it working... Hackintool shows QE/CI as yes. What are your graphics options in your config.plist? You also don't have the G7 the rest of us have so it may be different

        <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
        <dict>
            <key>AAPL,ig-platform-id</key>
            <data>AABaig==</data>
        </dict>

Only AAPL,ig-platform-id is present on my config

++ AABaig== (0000528A) is for G4 Graphics

Landaman commented 4 years ago

I had to put in device-id and some framebuffer info simply to boot. So that solution will not work for us G7 users. Odds are WEG needs a patch, and that is way beyond anything I can accomplish

RickTaylor79 commented 4 years ago

I believe you're the first to get any kind of GPU acceleration on Ice lake, Khora. Well done. Surely there has to be prize for that? :)

I'm trying replicate your success on my HP-15s-fq1505na with i5-1035G4. The MMIO part of the debug log reads:

192:448 00:073 OCABC: MMIO devirt start 192:530 00:081 OCABC: MMIO devirt 0xC0000000 (0x10000 pages, 0x800000000000100D) skip 0 192:614 00:084 OCABC: MMIO devirt 0xFE000000 (0x11 pages, 0x8000000000000001) skip 0 192:699 00:084 OCABC: MMIO devirt 0xFEC00000 (0x1 pages, 0x8000000000000001) skip 0 192:784 00:084 OCABC: MMIO devirt 0xFED00000 (0x1 pages, 0x8000000000000001) skip 0 192:886 00:102 OCABC: MMIO devirt 0xFEE00000 (0x1 pages, 0x8000000000000001) skip 0 192:989 00:102 OCABC: MMIO devirt 0xFF000000 (0x1000 pages, 0x800000000000100D) skip 0 193:073 00:084 OCABC: MMIO devirt end, saved 278608 KB

So far whitelisting 4278190080 and setting platform-id to 0000528A leads to the CD Clock panic mentioned previously..

Still, this looks really promising.

MVDB0110 commented 4 years ago

So far whitelisting 4278190080 and setting platform-id to 0000528A leads to the CD Clock panic mentioned previously..

When using framebuffer 1000528A, the cd clock frequency is fixed, but I get unsupported ICL SKU.

Landaman commented 4 years ago

@MVDB0110 I was able to fix that by putting in device-id framebuffer-fbmem and framebuffer-patch-enable as was mentioned previously. Unfortunately this does not get me HW acceleration, as I said WEG probably needs a patch

MVDB0110 commented 4 years ago

Okay I know why we can boot with device-id. The device-id is read different from what it is saying, because when I type 8A520000. My device-id when booted becomes 528A8086. When I put 528A0000 in device-id then I get the kernel panic, but my device-id is read right....

MVDB0110 commented 4 years ago

@KhoraLee could you share your EFI folder, maybe you have a QUIRK enabled what I don't. Or a specific ACPI patch.

MVDB0110 commented 4 years ago

@modularsamples could you try platform-id: 00005a8a as this is more compatible with the G4 Ice Lake GPU

RickTaylor79 commented 4 years ago

@modularsamples could you try platform-id: 00005a8a as this is more compatible with the G4 Ice Lake GPU

It doesn't seem to make a difference. You can see the attempts I've made here: https://docs.google.com/spreadsheets/d/1yMaRnmw9oxqhVPZgYmQ2oNFnqI4j_4gdSERMbM5BM50/edit?usp=sharing

KhoraLee commented 4 years ago

EFI.zip This is my EFI Folder / Still stuck at I2C Touchpad and Sound

@modularsamples Did you changed DVMT to 64mb on Bios? I think this might be a problem

RickTaylor79 commented 4 years ago

Sorry, didn't set correct permission on the spreadsheet. It should work for everyone now..

https://docs.google.com/spreadsheets/d/1yMaRnmw9oxqhVPZgYmQ2oNFnqI4j_4gdSERMbM5BM50/edit?usp=sharing

RickTaylor79 commented 4 years ago

@modularsamples Did you changed DVMT to 64mb on Bios? I think this might be a problem

I don't have that option unfortunately, the BIOS is very limited on this machine.

KhoraLee commented 4 years ago

@modularsamples Did you changed DVMT to 64mb on Bios? I think this might be a problem

I don't have that option unfortunately, the BIOS is very limited on this machine.

You don't need to whitelist mmio. Because you can boot without them

I don't have DVMT option neither, but i changed that value with other ways...

There is some instruction to change that value (ex : https://www.tonymacx86.com/threads/guide-broadwell-hd5500-setting-dvmt-in-insydeh20-bios-laptops.165104/ or something...) Try changing DVMT-preallocated value but i can't take any responsibility about this...

++ I followed other instruction but i can't find that link...

RickTaylor79 commented 4 years ago

Thanks, I have an AMI BIOS but I guess this should still be possible. I'll look into it later today.

KhoraLee commented 4 years ago

Thanks, I have an AMI BIOS but I guess this should still be possible. I'll look into it later today.

https://www.bilibili.com/read/mobile/4646116

This is written in chinese but this will be helpful to you

Landaman commented 4 years ago

I have a custom Surface BIOS (MS puts them on these) so I doubt I can easily flash it... If that ends up being the solution I can give it a try

x0sy commented 4 years ago

When using framebuffer 1000528A, the cd clock frequency is fixed, but I get unsupported ICL SKU.

As per the WEG Intel manual, 0x8A520010 is not a valid framebuffer..

As long as the framebuffer-stolenmem and framebuffer-fbmem WEG patches are configured correctly, there should be no reason to fool around with the DVMT settings in BIOS. For peace of mind, I've tried patching the expected memory allocation to <32MB even with 64MB set in BIOS, and the KP still occurs.

Seeing some success in the G4 prompted me to spoof the device-id for other ICL SKUs supported by WEG. No luck on that front.

MVDB0110 commented 4 years ago

Could this have something to do with EDID?

Landaman commented 4 years ago

Could this have something to do with EDID?

Possibly. I can confirm that my internal display is read as external in macOS

khronokernel commented 4 years ago

For those experiencing clock ID related kernel panics, latest WEG commit should resolve this with the boot-arg -igfxcdc: https://github.com/acidanthera/WhateverGreen/commit/6319f826f7c4c0c2f9b8097cea847ad5265e8946

If you need a prebuilt binary, see here: Build Repo

ghost commented 4 years ago

Hello, I tried latest WEG prebuilt binary booting with -igfxcdc on a HP Pavilion 15-cs3004nq with i7-1065g7, but now it gives me black screen after after IOConsoleUsers: gIOScreenLock3. I even tried booting with agdpmod=pikera but with no luck.

ati46 commented 4 years ago

@khronokernel Hello,After I used this update, I skipped the cd clock. But encountered a new problem Unsupported ICL Sku. can you help me? https://github.com/ati46/temp/blob/master/4b7e3c8f-0274-48cb-8bd9-bec908a4daf9.jpg

x0sy commented 4 years ago

Kudos to 0xFireWolf.. i7-1065G7 getting acceleration with the 0x8A520001 framebuffer. There is still some work for us to do, but it's working.

Screen Shot 2020-08-23 at 9 45 39 PM

ghost commented 4 years ago

Kudos to 0xFireWolf.. i7-1065G7 getting acceleration with the 0x8A520001 framebuffer. There is still some work for us to do, but it's working.

Screen Shot 2020-08-23 at 9 45 39 PM

How did it work? I get unsupported ICL SKU

ghost commented 4 years ago

@schwxr How did you make it work?

x0sy commented 4 years ago

@schwxr How did you make it work?

All I did was update OC and the appropriate kexts, including the WEG binary khronokernel linked. With the -igfxcdc boot-arg, framebuffer 0x8A520000 gave me the black screen issue, so I just tried other values from the WEG Intel manual.

I have only ever run into the unsupported ICL SKU kernel panic when using the -igfxvesa boot-arg prior to the frequency fix (it doesn't KP with the fix enabled). I am not sure what the problem might be for your setup.

ghost commented 4 years ago

Hello, I tried latest WEG prebuilt binary booting with -igfxcdc on a HP Pavilion 15-cs3004nq with i7-1065g7, but now it gives me black screen after after IOConsoleUsers: gIOScreenLock3. I even tried booting with agdpmod=pikera but with no luck.

This was actually working. The black screen was on startup but only for 2-3 minutes! Thanks! I now have full graphics acceleration! Also, will be there soon a fix for this black screen issue because it is also caused when trying to put my laptop in sleep mode, but here the black screen is permanent.

0xFireWolf commented 4 years ago

For those who are still stuck at the kernel panic of unsupported ICL SKU, please give a try to my latest fix and see whether it solves your issues. A sample panic can be found at here https://github.com/acidanthera/bugtracker/issues/1118

https://www.insanelymac.com/forum/topic/344939-discussion-public-tests-unsupported-icl-sku-kernel-panic-on-macos-catalina/

ghost commented 4 years ago

Hello @0xFireWolf ! For me (I7-1065G7) the issue was fixed, however the screen was a total mess! Please note that the unsupported ICL SKU error kernel panic is caused on my laptop only when using 1000528A framebuffer. If I use the 0000528A framebuffer, this kernel panic doesn't occur and I have full graphics acceleration, only with the black screen issues I talked about! 20200826_131927