解決安裝10.13時(shí)會(huì)卡在Service only ran for 0 seconds. Pushing respawn out by 10 second裙盾。我的獨(dú)立顯卡AMD Radeon R5 M330或者其他獨(dú)立顯卡 用 現(xiàn)成hotpatch??SSDT-Disable_DGPU 屏蔽獨(dú)顯不成功,所以自己摸索著嘗試修改(參考:http://bbs.pcbeta.com/viewthread-1760215-1-1.html)
簡(jiǎn)單的說就是:現(xiàn)成hotpatch??SSDT-Disable_DGPU.aml文件里面不包含此電腦關(guān)閉顯卡的方法,自己提取?ACPI 表單他嫡,找到關(guān)閉顯卡的代碼番官,添加到SSDT-Disable_DGPU.aml文件里面就搞定了。
下面開始分享我的經(jīng)驗(yàn),提供各位參考.
提取自己的 ACPI 表單 找到關(guān)閉顯卡的代碼钢属,提取ACPI文件徘熔,并反編譯它們,再給它們打補(bǔ)丁淆党。參考網(wǎng)址:https://www.cnblogs.com/eaglexmw/p/4908877.html酷师,例如我的在 SSTD-19里(機(jī)器不懂代碼所在位置也不同)。
首先染乌,對(duì)于提取好的文件(你可以下載貼子提供的例子進(jìn)行練習(xí))山孔。用iasl同時(shí)反編譯所有文件。iasl -da -dl *.aml? ? ?接下來荷憋,開始對(duì)dsl文件打補(bǔ)丁台颠。
接著找到關(guān)閉獨(dú)顯的方法,關(guān)閉代碼的主目錄?\_SB.PCI0.RP01.PXSX或\_SB.PCI0.RP05.PEGP這段文字代碼(很重要)怎么找出包含了_OFF方法的SSDT呢勒庄?我們可以用grep命令做到:grep -l _OFF *.dsl
對(duì)于我們給的文件蓉媳,會(huì)顯示如下結(jié)果:
SSDT-5.dsl
下面打開SSDT-Disable_DGPU把這段文字加入SSDT-Disable_DGPU 代碼中,如下:注意代碼對(duì)齊.之后點(diǎn)擊 Compile 看看 有沒有錯(cuò)誤.沒有錯(cuò)誤就可以用了锅铅。
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20161210-64(RM)
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to non-symbolic legacy ASL operators
*
* Disassembly of iASL5Do6wV.aml, Fri Feb? 2 22:04:42 2018
*
* Original Table Header:
*? ? Signature? ? ? ? "SSDT"
*? ? Length? ? ? ? ? 0x00000583 (1411)
*? ? Revision? ? ? ? 0x02
*? ? Checksum? ? ? ? 0xDE
*? ? OEM ID? ? ? ? ? "hack"
*? ? OEM Table ID? ? "NDGP"
*? ? OEM Revision? ? 0x00000000 (0)
*? ? Compiler ID? ? ? "INTL"
*? ? Compiler Version 0x20161210 (538317328)
*/
DefinitionBlock ("", "SSDT", 2, "hack", "NDGP", 0x00000000)
{
? ? External (_SB_.PCI0.PEG0.PEGP._OFF, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.PEG0.PEGP._ON_, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.PEG2.PEGP._OFF, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.PEG2.PEGP._ON_, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.PEG_.VID_._PS0, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.PEG_.VID_._PS3, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.PEG_.VID_.XDSM, MethodObj)? ? // 4 Arguments (from opcode)
? ? External (_SB_.PCI0.PEGP.DGFX._OFF, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.PEGP.DGFX._ON_, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.RP01.PEGP._OFF, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.RP01.PEGP._ON_, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.RP01.PXSX._OFF, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.RP01.PXSX._ON_, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.RP05.PEGP._OFF, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.RP05.PEGP._ON_, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.RP05.PXSX._OFF, MethodObj)? ? // 0 Arguments (from opcode)
? ? External (_SB_.PCI0.RP05.PXSX._ON_, MethodObj)? ? // 0 Arguments (from opcode)
? ? Device (DGPU)
? ? {
? ? ? ? Name (_HID, "DGPU1000")? // _HID: Hardware ID
? ? ? ? Name (RMEN, One)
? ? ? ? Method (_INI, 0, NotSerialized)? // _INI: Initialize
? ? ? ? {
? ? ? ? ? ? _OFF ()
? ? ? ? }
? ? ? ? Method (_ON, 0, NotSerialized)? // _ON_: Power On
? ? ? ? {
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.PEG2.PEGP._ON))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.PEG2.PEGP._ON ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.PEG0.PEGP._ON))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.PEG0.PEGP._ON ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.PEGP.DGFX._ON))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.PEGP.DGFX._ON ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.RP05.PXSX._ON))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.RP05.PXSX._ON ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.PEG.VID._PS0))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.PEG.VID._PS0 ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.RP01.PXSX._ON))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.RP01.PXSX._ON ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.RP01.PEGP._ON))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.RP01.PEGP._ON ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.RP05.PEGP._ON))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.RP05.PEGP._ON ()
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? Method (_OFF, 0, NotSerialized)? // _OFF: Power Off
? ? ? ? {
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.PEG2.PEGP._OFF))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.PEG2.PEGP._OFF ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.PEG0.PEGP._OFF))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.PEG0.PEGP._OFF ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.PEGP.DGFX._OFF))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.PEGP.DGFX._OFF ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.RP05.PXSX._OFF))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.RP05.PXSX._OFF ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.PEG.VID._PS3))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.PEG.VID.XDSM (ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0"), 0x0100, 0x1A, Buffer (0x04)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? 0x01, 0x00, 0x00, 0x03? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? \_SB.PCI0.PEG.VID._PS3 ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.RP01.PXSX._OFF))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.RP01.PXSX._OFF ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.RP01.PEGP._OFF))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.RP01.PEGP._OFF ()
? ? ? ? ? ? }
? ? ? ? ? ? If (CondRefOf (\_SB.PCI0.RP05.PEGP._OFF))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? \_SB.PCI0.RP05.PEGP._OFF ()
? ? ? ? ? ? }
? ? ? ? }
? ? }
}