syscl / XPS9350-macOS

macOS patches for Dell XPS 13 9350 (Skylake)
916 stars 73 forks source link

Weird SSDT Table Names from Dell Bios 1.6.1? #177

Open ggctseng opened 6 years ago

ggctseng commented 6 years ago

Hoping someone can provide some insight or share their experience.

I updated to the XPS 1.6.1 bios over a month(?) ago [NOTE1], but I've noticed that the SSDT tables in my ACPI/(origin and patched) have file names that looks different from other peoples. Is this normal? Consequently, I'm not sure if the patching being done by the Deploy.sh script is being handled correctly, and the generated ACPI/SortedOrder in config.plist has the wrong entries as well as missing tables.

screen shot 2018-02-09 at 4 17 18 pm screen shot 2018-02-09 at 4 17 33 pm screen shot 2018-02-09 at 4 24 54 pm

For example, I checked "SSDT-5-SaSsdt.aml" in Maciasl, and there is still a GFX0 method in there even though I see in the Deploy.sh that it's supposed to be replaced by IGPU.

There are also a few places in the debug log where it says Deploy.sh can't find dsl files:

Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20160422-64(RM) Copyright (c) 2000 - 2016 Intel Corporation

Error 6092 - Could not open file "/Users/gctseng/XPS9350-macOS/DSDT/precompile/.dsl" (Source Input) - No such file or directory

Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20160422-64(RM) Copyright (c) 2000 - 2016 Intel Corporation

Error 6092 - Could not open file "/Users/gctseng/XPS9350-macOS/DSDT/precompile/.dsl" (Source Input) - No such file or directory

Intel ACPI Component Architecture ASL+ Optimizing Compiler version 20160422-64(RM) Copyright (c) 2000 - 2016 Intel Corporation

Error 6092 - Could not open file "/Users/gctseng/XPS9350-macOS/DSDT/precompile/.dsl" (Source Input) - No such file or directory

[ ---> ] Copying SSDT-rmne.aml to ./DSDT/compile... Password: [ ---> ] Installing SSDT-XPS13SKL.aml to ./DSDT/compile... [ ---> ] Installing SSDT-ARPT-RP05.aml to ./DSDT/compile... [ ---> ] Installing SSDT-XHC.aml to ./DSDT/compile... rm: /Users/gctseng/XPS9350-macOS/DSDT/compile/SSDT-*x.aml: No such file or directory rm: /Users/gctseng/XPS9350-macOS/DSDT/compile/.aml: No such file or directory rm: /Users/gctseng/XPS9350-macOS/DSDT/compile/.aml: No such file or directory rm: /Users/gctseng/XPS9350-macOS/DSDT/compile/.aml: No such file or directory

I enclose my Debug log copied from terminal.

Deploy_log_2018-02-09_bios_1.6.1_TB_security_DP_only.zip

[NOTE1] The previous v1.6.1 bios was pulled, then released on 2/6/2018--I think there were bugs with the original version but I haven't replaced my current version with that.

syscl commented 6 years ago

thank you for detailed information!

I will look into it. But I think this issue is due to Clover’s update, I will figure out better solution.

Let me know if you have good idea:)

syscl

ggctseng commented 6 years ago

@syscl Interesting. I didn’t even suspect it would be a clover issue. I can try replacing clover64.efi and dump the tables again.

syscl commented 6 years ago

This is actually not an issue but RehabMan post ed some acpi related change to Clover such that we need to change our config.plist and deploy as well.

ggctseng commented 6 years ago

I’ll take a look when I get home. I’m running the version that was in your latest update (4 days ago?), when you updated the config.plist to add fixheaders. Not sure if it has anything to do with it, but keyboard becomes sluggish in the clover screen—like it won’t respond to key presses for a few seconds and then will respond, then won’t. I need to troubleshoot that too because it just bothers me (plus I need to spam the F4 key a bunch of times to ensure I capture tables).

ggctseng commented 6 years ago

@syscl If I want to test RehabMan's updated Clover (and perhaps re-run Deploy.sh), can I just replace CLOVERX64.efi in the Clover folder?

ggctseng commented 6 years ago

@syscl One other thing. I just tried parsing the patched ACPI tables extracted by patchmatic in the debug report I included in my other post that has SSDT-1.aml to SSDT-14.aml using:

iasl -da -dl DSDT.aml SSDT*.aml

and at first it stopped at SSDT-5.aml with these results:

gctseng$ iasl -da -dl DSDT.aml SSDT*.aml

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20161210-64(RM)
Copyright (c) 2000 - 2016 Intel Corporation

Input file DSDT.aml, Length 0x1FEA0 (130720) bytes
ACPI: DSDT 0x0000000000000000 01FEA0 (v03 APPLE  MacBook  00080001 INTL 20160422)
External object resolution file         SSDT.aml
Input file SSDT.aml, Length 0x315 (789) bytes
ACPI: SSDT 0x0000000000000000 000315 (v01 SataRe SataTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-9.aml
Input file SSDT-9.aml, Length 0x8A (138) bytes
ACPI: SSDT 0x0000000000000000 00008A (v02 CpuRef CpuSsdt  00003000 INTL 20161210)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-8.aml
Input file SSDT-8.aml, Length 0x3FF5 (16373) bytes
ACPI: SSDT 0x0000000000000000 003FF5 (v02 DptfTa DptfTabl 00001000 INTL 20160422)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-7.aml
Input file SSDT-7.aml, Length 0x2BAE (11182) bytes
ACPI: SSDT 0x0000000000000000 002BAE (v02 INTEL  PtidDevc 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-6.aml
Input file SSDT-6.aml, Length 0x290 (656) bytes
ACPI: SSDT 0x0000000000000000 000290 (v02 INTEL  sensrhub 00000000 INTL 20160422)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-5.aml
Input file SSDT-5.aml, Length 0x315 (789) bytes
ACPI: SSDT 0x0000000000000000 000315 (v01 SataRe SataTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
ACPI Error: [STFE] Namespace lookup failure, AE_ALREADY_EXISTS (20161210/dswload-462)
ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20161210/psobject-310)
Could not parse external ACPI tables, AE_ALREADY_EXISTS

Out of curiosity, I thought to remove all SSDT-*.aml files and add them back in one-by-one and parsed again until I hit an error, at which point I removed that specific SSDT file (e.g., SSDT-5.aml), then tried parsing again.

The following SSDT.aml, and SSDT-2, 3, 6, 8, 10, 12, 13, and 14 parsed with DSDT.

Using diffmerge, I found (I don't note any differences in the dsl files such as from comments):

SSDT-5.aml was the same as SSDT.aml SSDT-6.aml had XDSM while SSDT-1.aml had method _DSM SSDT-7.aml was the same as SSDT-2.aml SSDT-8.aml was the same as SSDT-4.aml SSDT-9.aml had DefinitionBlock ("", "SSDT", 2, "CpuRef", "CpuSsdt", 0x00003000) while SSDT-6.aml had DefinitionBlock ("", "SSDT", 1, "PmRef", "CpuPm", 0x00003000) SSDT-11.aml had _S3 system state, which was already in DSDT.aml

I enclose the ACPI tables so you don't have to go to the other post. Maybe this will help you give me guidance as to what's going on with the ACPI tables in the CLOVER folder and/or let me know what I should do to try and manually fix ACPI errors I'm still seeing like "AE_ALREADY_EXISTS", like removing duplicate/unnecessary tables from /ACPI/patched.

debug_17275_ACPI_tables_only.zip

WilliamPrvz commented 6 years ago

Here is the debug files as @ggctseng requested debug_3337.zip

syscl commented 6 years ago

Thank you for detailed information, going to see what's wrong inside it.

I think I may need to modify deploy a bit for both compatible and Clover's upstream support.

syscl

syscl commented 6 years ago

I merged @@maz-1 and @ZombieTheBest 's PR into my git (and resolve some conflicts).

Let me know if the latest deploy work or not.

syscl

ggctseng commented 6 years ago

@WilliamPrvz Any updates? I may have some time this weekend to try out the new deploy.sh, but I have a project due so I have to finish that first.

WilliamPrvz commented 6 years ago

@ggctseng ran deploy.sh :

edit: plugged the usb c monitor back and after a few screen flickering the integrated screen work but not the monitor one, if I unplug it there's a black screen on both of them.