1234wangxinxin 发表于 2017-6-21 21:36

-----------------2017.6.21更新--------------
DSDT 打补丁:Patches marked with are credits ofRehabMan, taken from his superb Laptop Patches repo. You are encouraged to usethem off the live repo. They are reported here for persistence andexact-version matching purposes.(译者注:懒得翻译了) Rename _DSM methods to XDSMinto_all method label _DSM set_label begin XDSM end;
into_all method code_regex _DSM replaceall_matched begin XDSM end;
*Notes: this is a generic prep-patch.*
Brightness fixinto_all device label PNLF remove_entry;
into definitionblock code_regex . insert
begin
Scope (_SB)\n
{\n
    Device (PNLF)\n
    {\n
      Name (_ADR, Zero)\n
      Name (_HID, EisaId ("APP0002"))\n
      Name (_CID, "backlight")\n
      Name (_UID, 10)\n
      Name (_STA, 0x0B)\n
    }\n
}\n
end;
*Notes:这个补丁可以在MacOS里开启盒盖睡眠和亮度调节。但这个不能全范围调节亮度,详情见下面的“keyboardpatch”和”OSIS patch”. Fix _WAK Arg0 v2into method label _WAK code_regex ([\s\S]*) replace_matched
begin
If (LOr(LLess(Arg0,1),LGreater(Arg0,5))) { Store(3,Arg0) }\n
%1
end;

into method label \_WAK code_regex ([\s\S]*) replace_matched
begin
If (LOr(LLess(Arg0,1),LGreater(Arg0,5))) { Store(3,Arg0) }\n
%1
end;
*Notes:这个可能在10.12中不是必须的。 Fix Mutex with non-zero SyncLevelinto_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
*Notes: this is a generic prep-patch.* HPET Fixinto method label _STA parent_hid PNP0103 remove_entry;
into device name_hid PNP0103 code_regex Name\s\(_STA\,\s+0x0F\) remove_matched;
into device name_hid PNP0103 insert
begin
Name (_STA, 0x0F)\n
end;

into method label _CRS parent_hid PNP0103 remove_entry;
into device name_hid PNP0103 insert
begin
Method (_CRS, 0, NotSerialized)\n
{\n
    Return (BUF0)\n
}\n
end;

*Notes: this is a generic prep-patch.*
*Notes: this is a generic prep-patch.* IRQ Fixinto device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{.*\} removeall_matched;
into device name_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\).*\n\s+\{((?:.|\n)*)\}\) replace_matched
begin
Name (%1, ResourceTemplate()\n
{\n
    IRQNoFlags() { 0, 8, 11, 15 }\n
%2
})\n
end;
*Notes: this is a generic prep-patch.* RTC Fixinto device name_hid PNP0B00 code_regex (IO\s\((?:\s*[^,]+,\s*(?:\/\/\s.*)?\s*\n)+\s*)(\dx\d+)(,\s*(?:\/\/\s.*)?\s*\n\s*\)) replace_matched begin %10x02%3 end;*Notes: this is a generic prep-patch.* Skylake LPCinto method label _DSM parent_adr 0x001F0000 remove_entry;
into device name_adr 0x001F0000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
      "compatible", "pci8086,9cc1",\n
    })\n
}\n
end;
*Notes: this is a generic prep-patch.* SMBUS Fixinto device label BUS0 parent_adr 0x001F0003 remove_entry;
into device name_adr 0x001F0003 insert
begin
Device (BUS0)\n
{\n
    Name (_CID, "smbus")\n
    Name (_ADR, Zero)\n
    Device (DVL0)\n
    {\n
      Name (_ADR, 0x57)\n
      Name (_CID, "diagsvault")\n
      Method (_DSM, 4, NotSerialized)\n
      {\n
            If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
            Return (Package() { "address", 0x57 })\n
      }\n
    }\n
}\n
end;
*Notes: this is a generic prep-patch.* usb_prw_0x6d_xhc_sklinto device label XHC1 name_adr 0x00140000 remove_entry;

into method label _PRW parent_adr 0x00140000 remove_entry;
into method label _PRW parent_adr 0x00140001 remove_entry;
into method label _PRW parent_adr 0x001F0003 remove_entry;

into method label _PRW parent_adr 0x00190000 remove_entry;
into method label _PRW parent_adr 0x001F0006 remove_entry;

into method label _PRW parent_label _SB.PCI0.EHC1 remove_entry;
into method label _PRW parent_label _SB.PCI0.EHC2 remove_entry;
into method label _PRW parent_label _SB.PCI0.XHC remove_entry;
into method label _PRW parent_label \_SB.PCI0.EHC1 remove_entry;
into method label _PRW parent_label \_SB.PCI0.EHC2 remove_entry;
into method label _PRW parent_label \_SB.PCI0.XHC remove_entry;

into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00140001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001F0003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched;

into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00140001 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x001F0003 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;
into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched;

into device name_adr 0x00140000 insert begin Method(_PRW) { Return(Package() { 0x6D, 0 }) } end;
into device name_adr 0x00140001 insert begin Method(_PRW) { Return(Package() { 0x6D, 0 }) } end;
into device name_adr 0x001F0003 insert begin Method(_PRW) { Return(Package() { 0x6D, 0 }) } end;
into device name_adr 0x00190000 insert begin Method(_PRW) { Return(Package() { 0x6D, 0 }) } end;
into device name_adr 0x001F0006 insert begin Method(_PRW) { Return(Package() { 0x6D, 0 }) } end;

into method label _DSM parent_adr 0x00140000 remove_entry;
into device name_adr 0x00140000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
      "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n
      "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n
      "AAPL,current-available", 2100,\n
      "AAPL,current-extra", 2200,\n
      "AAPL,current-extra-in-sleep", 1600,\n
      "AAPL,device-internal", 0x02,\n
      "AAPL,max-port-current-in-sleep", 2100,\n
    })\n
}\n
end;
*Notes:打完这个补丁后就能为苹果设备输出更大的电流,在10.12中,即使系统属性说没有连接苹果设备后输出大电流,每个usb接口输出的也都为1A。
Fix Shutdown->rebootinto method label _PTS code_regex ([\s\S]*) replace_matched
begin
If (LNotEqual(Arg0,5)) {\n
%1\n
}\n
end;
*Notes:这个补丁修复了当usb设备插入电脑后睡眠立马唤醒的问题。 MATH device (credit syscl)into method label _STA parent_hid PNP0C04 remove_entry;

*Notes: this is a generic prep-patch.*

Set OSIS to linux (credit VBO)

into_all method code_regex If\s+\([\\]?_OSI\s+\(\"Linux\"\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI("Linux"))) end;

into_all method code_regex If\s+\([\\]?_OSI\s+\(LINX\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI(LINX))) end;
*Notes:这需要IntelBacklight ad VoodooPS2Controller kexts内核文件和亮度健的正确运行相结合。亮度等级非常灵活,亮度可以变得非常非常小,几乎看不见。没有显著的PWM. Keyboard patch (credit VBO)into method label SMEE replace_content
begin
      Local0 = Arg0\n
      Local0 = GENS (0x11, Zero, Zero)\n
      If ((\_SB.OSID () >= 0x20))\n
      {\n
            If ((Local0 & 0x04))\n
            {\n
                // Brightness up\n
                Notify(\_SB.PCI0.LPCB.PS2K, 0x0206)\n
                Notify(\_SB.PCI0.LPCB.PS2K, 0x0286)\n
                EV5 (One, Zero)\n
            }\n
            If ((Local0 & 0x02))\n
            {\n
                // Brightness down\n
               Notify(\_SB.PCI0.LPCB.PS2K, 0x0205)\n
               Notify(\_SB.PCI0.LPCB.PS2K, 0x0285)\n
               EV5 (0x02, Zero)\n
            }\n
      }\n
      If ((Local0 & 0x08))\n
      {\n
            Local0 = GENS (0x1D, Zero, Zero)\n
            EV16 (Local0, Zero)\n
      }\n
end;
*Notes:这需要在"OSIS Linux patch"生效后才会使亮度快捷键生效。
保存打过补丁的DSDT.aml。一定要记得保存原来的和修改过的DSDT.dsl,以防你以后需要应用或还原某些补丁。将打过补丁的DSDT.aml和在我附件里所有的SSDT*.aml放到CLOVER/ACPI/patched文件夹。所有的.aml文件将会被自动加载。不要将原始的SSDT复制到/patched文件夹里,我们不会删除原始的SSDT,所以你不需要再次注入它们,会出现问题

jssyjcs 发表于 2017-7-4 12:07

谢谢,楼主继续

xtyyy 发表于 2017-7-4 12:15

真是绝世好贴 我好好学习 顺带谢谢您

aaabbb192 发表于 2017-7-4 23:28

支持你,你辛苦是我们前进的动力

sphinx_yun 发表于 2017-7-18 14:36

记号,谢谢!!!

imEgo 发表于 2017-7-18 15:50

你好问下楼主,楼主网卡换了么,换的什么型号的
我换了DW1560后,在win10下每次待机Wifi就不能上网需要断开重连下才行,不知道是不是个例

smartliuchao 发表于 2017-7-18 16:24

1234wangxinxin 发表于 2017-6-16 10:39 https://www.pcbeta.com/static/image/common/back.gif
我不知道怎么修改帖子啊= =....先在下面更了,希望有人能告诉我如何修改自己发过的帖子------------------- ...

楼主,改帖子,点论坛用户名进入个人空间,空间里左边找主题,点进去看到你所有的帖子列表,点一篇,下面有编辑,点。

灵之守护 发表于 2017-7-20 13:50

关注收藏学习!谢谢楼主!加油!

smdk000 发表于 2017-7-20 19:04

楼主,你的耳机带识别是如何做到的?还有楼主是6代U还是7代的?亮度调节如何做到的?我是燃7000的机子,我也想用耳机,和屏幕调节,还有HDMI输出这两个功能
可以帮忙一下吗?楼主!~

a541615244 发表于 2017-7-23 16:15

做个记号、楼主有心了、加油!

soryer 发表于 2017-7-23 21:16

真的很感谢楼主 而且这对自己的英语能力也能有提升~

artedu 发表于 2017-10-4 21:17

记号一个。感谢楼主

动漫小子555 发表于 2017-10-18 10:22

顶楼主!!!感谢分析翻译!!!

suizhen 发表于 2017-11-26 19:35

我也是XPS 13 9360的用户,不过与楼主不同的是,屏幕是3K触摸屏,也想试一下黑苹果,想占位学习一下。

iisyii 发表于 2017-12-4 22:28

感谢分享,这个确实不错,谢谢

ayaoweb 发表于 2018-2-28 19:46

好文,先收藏了。!

小石头__ 发表于 2018-3-15 16:08

多谢楼主~准备买9360了~

370768409 发表于 2018-3-15 17:04

读条完就正常了

370768409 发表于 2018-3-15 17:04

读条完就正常了

giox 发表于 2018-3-16 09:16

MArk一下。入手了9350.
页: 1 [2] 3
查看完整版本: (汉化)戴尔xps13 9360 安装MacOS Sierra 10.12.x 长期支持 教程