추가사양 및 설치(할)OS | 10.12.6 |
---|---|
공지숙지/증상설명 | 숙지 |
안녕하세요!
DSDT를 완전 삭제하고 필요한 부분만 SSDT 작업중입니다..
다른게 아니라 내장사운드 및 HDMI를 사용하고 싶은데..
이게 DSDT...를 쓸땐 살아있었는데.. SSDT로 도저히 어떻게 적용시키는지 모르겠습니다..
일단 DSDT 상에서 사운드 패치는 이렇습니다..
Device (HDEF)
{
Name (_ADR, 0x001F0003) // _ADR: Address
OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
Field (HDAR, WordAcc, NoLock, Preserve)
{
VDID, 32
}
Field (HDAR, ByteAcc, NoLock, Preserve)
{
Offset (0x54),
Offset (0x55),
PMEE, 1,
, 6,
PMES, 1
}
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
Store (Arg0, PMEE)
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x6D, 0x04))
}
Method (GPEH, 0, NotSerialized)
{
If (LEqual (VDID, 0xFFFFFFFF)) {}
If (LAnd (PMEE, PMES))
{
ADBG ("HDEF GPEH")
Store (One, PMES)
Notify (HDEF, 0x02)
}
Return (Zero)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
If (LNotEqual (VDID, 0xFFFFFFFF))
{
VMMH (Zero, One)
}
If (CondRefOf (\_SB.PCI0.HDEF.PS0X))
{
PS0X ()
}
Return (Zero)
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
If (LNotEqual (VDID, 0xFFFFFFFF))
{
VMMH (Zero, Zero)
}
If (CondRefOf (\_SB.PCI0.HDEF.PS3X))
{
PS3X ()
}
Return (Zero)
}
Name (NBUF, ResourceTemplate ()
{
QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
0x0000000000000001, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y25, AddressRangeACPI, TypeStatic)
})
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
ADBG ("HDEF _INI")
If (LGreaterEqual (OSYS, 0x07D6))
{
CreateQWordField (NBUF, \_SB.PCI0.HDEF._Y25._MIN, NBAS) // _MIN: Minimum Base Address
CreateQWordField (NBUF, \_SB.PCI0.HDEF._Y25._MAX, NMAS) // _MAX: Maximum Base Address
CreateQWordField (NBUF, \_SB.PCI0.HDEF._Y25._LEN, NLEN) // _LEN: Length
Store (NHLA, NBAS)
Add (NHLA, Subtract (NHLL, One), NMAS)
Store (NHLL, NLEN)
If (LNotEqual (VDID, 0xFFFFFFFF))
{
VMMH (Zero, One)
}
}
Return (Zero)
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x10)
{
"AAPL,slot-name",
"Built In",
"name",
"Realtek Audio Controller",
"model",
Buffer (0x21)
{
"Realtek ALC1220 Audio Controller"
},
"device_type",
Buffer (0x11)
{
"Audio Controller"
},
"layout-id",
Buffer (0x04)
{
0x0B, 0x00, 0x00, 0x00
},
"MaximumBootBeepVolume",
Buffer (One)
{
0x01
},
"PinConfigurations",
Buffer (Zero) {},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}
}
이걸 그대로 ssdt로 적용하니까 안붙네요..ㅠ_ㅠ...
혹시 가능한 방법이 있을까요?
SSDT로 많은것을 할수가 있습니다. device를 넣을수도 있고 disable시킬수도 있습니다. 또한 method, debug코드도 넣을수 있습니다.
원본 dsdt를 알수가 없어 정확한 내용을 알려 드릴수는 없겠지만 일반적인 방법을 알려 드립니다.
원본 dsdt 와 MaldLon이 패치해준 dsdt의 사운드 부분을 비교하여 차이점을 비교합니다. 만일 차이점이 Method (_DSM,xxx) 이고 device name이 HDAS라고 한다면 원본 dsdt를 손대지 않고 패치하는 방법은 아래와 같습니다.
1. 클로버 부트로더의 config.plist에서 DSDT->Patches에서 HDAS -> HDEF로 패치하는 hex를 넣습니다.
2. ssdt-audio.aml 이러한 포맷으로 ssdt파일을 하나 만듭니다. HDAS는 PCI0에 있으므로 아래와 같은 포맷으로 ssdt에 넣어 줍니다.
만일 원본 dsdt에 device내에 같은 method name이 존재한다면 working하지 않습니다. 같은 이름의 method에 패치가 된것이라면 기존의 method 의 이름을 바꾸고 dsdt의 method 이름으로 ssdt에 넣고 바꾼 이름의 method를 call해야 되는 약간의 trick이 필요합니다.
위에 언급하신 방법으로 기존의 HDEF의 코드를 넣는것은 코드내에 있는 모든 변수를 모두 external로 import해야 하는 문제가 있습니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +270 | 11만 | 17.07.3020:49 | 달쇠 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | 12만 | 17.02.1014:21 | Mactopia |
Hot 램 증설.. 그리고 자꾸 재부팅되는 PC.. +9 | 119 | 24.10.2513:02 | 김밉상 |
Hot 고수분들 제발 도와주세요 +2 | 114 | 24.10.2513:28 | 희밍현수님 |
114 | 24.10.2513:28 | 희밍현수님 | |
119 | 24.10.2513:02 | 김밉상 | |
64 | 24.10.2421:15 | 활주로임 | |
62 | 24.10.2322:21 | 활주로임 | |
88 | 24.10.2318:25 | 헷인토시 | |
76 | 24.10.2317:01 | 활주로임 | |
127 | 24.10.2315:51 | 배고픈사람 | |
154 | 24.10.2308:19 | 미찌콘 | |
126 | 24.10.2213:48 | 아킬리오 | |
101 | 24.10.2210:36 | MCMC | |
75 | 24.10.2200:57 | 헷인토시 | |
187 | 24.10.2123:22 | 마요네즈 | |
1481 | 24.10.1914:54 | 활주로임 | |
208 | 24.10.2017:21 | RTings | |
1520 | 24.10.2000:14 | Kylee | |
127 | 24.10.1921:50 | 루이코아낭 | |
1123 | 24.10.1918:03 | Gastone | |
90 | 24.10.1721:28 | Oscar | |
213 | 24.10.1712:11 | 희밍현수님 | |
77 | 24.10.1612:42 | SystemShock | |
324 | 24.10.1517:37 | Gastone | |
1327 | 24.10.1517:20 | 물만두 | |
1679 | 24.10.1317:18 | 물만두 | |
1283 | 24.10.1315:07 | Steer | |
882 | 24.10.1004:51 | Steer | |
199 | 24.10.0920:24 | KImET | |
941 | 24.10.0915:49 | lesmi | |
186 | 24.10.0911:23 | LumOS | |
77 | 24.10.0902:16 | lesmi | |
913 | 24.10.0822:09 | 애플맨 | |
1323 | 24.10.0810:58 | soullees | |
123 | 24.10.0723:26 | 오십견 | |
1247 | 24.10.0723:14 | Steer | |
126 | 24.10.0721:40 | 서재희 | |
82 | 24.10.0704:04 | g2030h61 | |
94 | 24.10.0704:00 | g2030h61 | |
102 | 24.10.0620:14 | SystemShock | |
119 | 24.10.0617:57 | 늘심심 | |
1564 | 24.10.0601:48 | 아스타틴 | |
1279 | 24.10.0515:04 | lesmi | |
137 | 24.10.0422:58 | 낡은기계 | |
553 | 24.10.0315:33 | oreo | |
121 | 24.10.0315:26 | 매치포인트 | |
185 | 24.10.0313:01 | 매치포인트 | |
158 | 24.10.0311:30 | KAKU | |
404 | 24.10.0207:44 | 데스맥 | |
258 | 24.09.3014:22 | 민준송 | |
204 | 24.09.2922:21 | oreo | |
136 | 24.09.2917:58 | 수박 | |
116 | 24.09.2913:21 | 루마루 |
SSDT는 CPU 관련된 내용으로 사운드랑 아무런 상관 없는걸로 알고있습니다.
DSDT가 메인보드 관련 내용이라 사운드는 DSDT로 잡으셔야합니다