Files
Getting-Started-With-ACPI/assets/js/8.0ff16c95.js

1 line
5.5 KiB
JavaScript

(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{371:function(t,e,a){t.exports=a.p+"assets/img/gpi0.b0e0b8d8.png"},372:function(t,e,a){t.exports=a.p+"assets/img/gpi0-2.8c3726d3.png"},373:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before.b64846c1.png"},374:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after.9ea3604d.png"},427:function(t,e,a){"use strict";a.r(e);var n=a(25),s=Object(n.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"fixing-trackpads-manual"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#fixing-trackpads-manual"}},[t._v("#")]),t._v(" Fixing Trackpads: Manual")]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),n("h2",{attrs:{id:"finding-the-acpi-path"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),n("p",[t._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),n("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),n("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),n("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),n("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),n("p",[t._v("Next search for "),n("code",[t._v("Device (GPI0)")]),t._v(". Should give you a result similar to this:")]),t._v(" "),n("p",[n("img",{attrs:{src:a(371),alt:""}})]),t._v(" "),n("p",[t._v("What we care about from this is the "),n("code",[t._v("_STA")]),t._v(" method:")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("Method (_STA, 0, NotSerialized)\n{\n If ((GPHD == One))\n {\n Return (0x03)\n }\n\n Return (0x0F)\n}\n")])])]),n("p",[t._v("What we want is for this to always return "),n("code",[t._v("0x0F")]),t._v(" when booting macOS, so we want to make an SSDT that will return "),n("code",[t._v("GPHD == Zero")]),t._v(" in macOS.")]),t._v(" "),n("p",[n("strong",[t._v("NOTE that you may have the other way around where GPHD needs to be set as "),n("code",[t._v("One")]),t._v(" to return "),n("code",[t._v("0x0F")])]),t._v(". And your device name may also be different, don't throw random SSDTs in thinking it'll work")]),t._v(" "),n("p",[t._v("Here's some more examples:")]),t._v(" "),n("p",[n("img",{attrs:{src:a(372),alt:""}})]),t._v(" "),n("p",[t._v("With this example, we can see that we need both "),n("code",[t._v("SBRG")]),t._v(" and "),n("code",[t._v("GPEN")]),t._v(" to return "),n("code",[t._v("One")]),t._v(". If only one is present, it'll create some issues so in our SSDT we'll want to have both of them return "),n("code",[t._v("One")]),t._v(":")]),t._v(" "),n("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),n("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-GPI0.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-GPI0.dsl"),n("OutboundLink")],1)])]),t._v(" "),n("p",[t._v("From the second example, we'll want to set both GPEN and SBRG to "),n("code",[t._v("One")]),t._v(" to allow it to operate in macOS:")]),t._v(" "),n("p",[n("strong",[t._v("Before")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v('If (_OSI ("Darwin"))\n{\n GPEN = One <- Proper variables\n}\n')])])]),n("p",[n("img",{attrs:{src:a(373),alt:""}})]),t._v(" "),n("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),n("p",[n("strong",[t._v("After")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v('If (_OSI ("Darwin"))\n{\n GPEN = One <- Change to the right variables\n SBRG = One <- Change to the right variables\n}\n')])])]),n("p",[n("img",{attrs:{src:a(374),alt:""}})]),t._v(" "),n("h2",{attrs:{id:"compiling-the-ssdt"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),n("p",[t._v("With the SSDT done, you're now "),n("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),n("h2",{attrs:{id:"wrapping-up"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),n("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/cleanup.html"}},[n("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=s.exports}}]);