[LG Ultra PC 15U480-KA56K 노트북] i5 - 8250U, UHD 620, Mac OS Catalina 10.15.5 설치와 안정화 중점 후기 + OpenCore r0.5.9
- shl628
- 9972
- 56
shl628님의 기기정보
시스템 사양 선택 | 3번 |
---|---|
후기사양 직접 입력 | ★ LG Ultra PC 2018 15U480 - KA56K NoteBook :D ♬ CPU : Intel Kaby Lake Refresh Core i5 - 8250U 3.40 GHz MainBoard : LG 15U480 - KA56K ( Intel Sunrise Point - LP ) Graphics : Intel UHD Graphics 620 Memory : DDR4 PC4-19200 2400 MHz 8GB Sound : Realtek HD Audio ALC 255 Wireless Network : Qualcomm Atheros QCA6174 Wireless LAN & Bluetooth Combo Wired Network : Realtek PCIe GBE Family Controller |
설치필수파일첨부 | 첨부 |
글제목양식 및 공지숙지 | 숙지 |
shl628
댓글 56
오지랖이 문젠데...ㅠㅠ
HPET은 비교적 구형 컴퓨터들에 제대로 패치되어야 하는 장치입니다.
https://www.insanelymac.com/forum/topic/338516-opencore-discussion/?do=findComment&comment=2676273
구형 컴퓨터는 IRQ 충돌이 있고 맥에서 크게 작용하기 때문에 클로버에서는 FixHPET을 해주거나 SSDTTime을 사용해서 충돌을 없애주어야 AppleALC를 통한 소리가 작동하고 AppleHPET을 로딩시켜야 전력활용에 도움되는 것이 맞습니다. (VoodooHDA는 간혹 IRQ를 무시하고 소리를 잘 활성화시켜주긴 합니다.) 그리고 SSDTTime은 윈도우 IRQ까지 패치합니다. (큰 영향은 안 미치는 것으로 보이긴 하지만요...) 최신 맥에서는 HPET 장치가 항상 비활성화 되어 있으며, 따라서 사용되지 않는 HPET 장치의 IRQ와 다른 IRQ 장치들을 패치할 필요는 없을거예요.
https://applelife.ru/threads/dampy-originalnyx-makov.2943712/
이 링크 보시면 IOReg나 DSDT에 예전 모델들은 HPET이 활성화되고, 최신 모델들은 비활성화된 것을 확인하실 수 있습니다.
만약에 IRQ 패치를 계속 활용하신다면 윈도우에는 패치 적용하지 않는 것으로 진행해보실 수도 있습니다.
https://github.com/daliansky/OC-little/tree/master/21-%E5%A3%B0%E5%8D%A1IRQ%E8%A1%A5%E4%B8%81
위 글에도 구형 컴퓨터에 해당하는 패치라고 적혀있구요. 참고로...HPET이 적극 활용되어야 하는 구형 컴퓨터에서는 HPET 이름이 HPE0 등으로 다르면 맥 부팅 후 얼마 후에 패닉으로 재부팅되는 경우가 종종 있습니다. 그래서 저는 SNB 노트북에 SSDTTime으로 어떤 IRQ를 패치해야 되는지 확인하구 맥에서는 RTC, TIMR 장치 비활성화, HPET._CRS 패치, RTC0, TIM0 장치 활성화로 IRQ 충돌 패치해서 AppleALC 사용하고 윈도우에서는 기존 HPET.XCRS, RTC, TIMR 활용합니다.
https://github.com/whatnameisit/Toshiba-Satellite-C665-on-10.13.6-10.15.1/blob/master/OpenCore%20EFI/EFI/OC/ACPI/SSDT-HPET.dsl
잘 사용하고 계신데 쓸데 없는 태클주저리를 한 것 같군요허헣ㅎㅠ
성공 축하드려요~ 위 회원님 말씀대로 골든빌드 가즈아~~
아니에요, 피드백으로 감사하게 생각합니다.
설치 후기 읽어주셔서 감사합니다. :)
HPET 와 IRQ 에 대한 새로운 정보와 지식도 배우게 되었습니다. ✨
❝applealc 관련 오픈코어 사운드 잡기 (helpㅠㅠ)❞
저도 어제 밤늦게까지 스카이레이크 노트북(x1 yoga/skylake/hd520) 설치준비중인데, ssdt파일 몇개 준비하는데도 오래걸리더라구요.
달랑 4개 준비하는데도 말이죠..
근데, ssdt가 엄청많네요. 저정도로 안정화시키려면 공부를 많이 해야될것같습니다.
북마크했뒀네요. 잘 참고하겠습니다.
안정화 엄청 고생하셨겠네요.. 언젠가 험한 애들 도전하게 되면 많이 참조하겠습니다.
고생 많으셨습니다.
❝죄송하지만 한 가지 질문이 더 있습니다..❞
설치만 잘하고 사용하는 입장에서 안정화는 참 복잡하게 느껴지네요..
신세계 감사합니다.
❝[Catalina 10.15.6 + OC r0.5.9] GA-B250M-DS3H, i3 - 7100, HD 630, Mac OS Catalina 10.15.6 업데이트 설치 후기❞
❝오픈코어로 넘어가기_vesa모드로도 부팅에러(설치화면 보지 못하네요)❞
❝DSDT를 넣으면 윈도우10 부팅이 안됩니다 ㅠㅠ 도와주실 분 있으신가요?❞
❝윈도우10 부팅을 위한 DSDT 패치 도와주실 분 있으신가요?❞
❝삼성 갤럭시북 이온 NT950XCR-G58A, i5-10210u, OC 0.6.1, 10.15.7 (빅서 가능)❞
❝오픈코어 부트로더로 멀티부팅시 (윈도우10) 블루스크린 현상❞
❝[Big Sur 11.0.1 + OC r0.6.4] GA-B250M-DS3H, i3 - 7100, HD 630, macOS Big Sur 11.0.1 설치 후기❞
❝LG 그램 14Z990-GA50K 카탈리나 클로버&오픈코어 진입 실패❞
❝노트북 배터리 패치를 포함한 dsdt, ssdt 패치 관련 질문❞
Debug 버전의 OpenCore 에서 Misc - Debug - SysReport 옵션을 사용하여 OEM ACPI Tables 를 추출할 수 있습니다.
SysReport 옵션을 True 로 설정하고 다시 부팅하면 EFI 파티션 - SysReport - ACPI 폴더에
OEM DSDT 와 OEM SSDT Tables 등의 OEM ACPI Tables 가 추출되어 있을 거예요.
현재 버전이 Debug 버전인 지 몰라서 그냥 옵션 주었는데 추출이 되지 않았네요
노트북마다 모두 다릅니다.
EmbeddedControl Region 이 OEM DSDT 에 존재한다면 DSDT 를 수정해야 하고
EmbeddedControl Region 이 특정 OEM SSDT Table 에 존재한다면 SSDT 를 수정해야 합니다.
MaciASL 에서 DSDT 를 실행하였을 때 상단의 Firmware Error (ACPI) 는 그냥 무시하면 됩니다.
❝[LG Ultra PC 15U480-KA56K 노트북] i5-8250U, UHD 620, macOS Big Sur 11.2.1 설치 후기 + OpenCore r0.6.6❞
❝배터리 DSDT 핫패치화하려는데 머리 터질거 같아요❞
❝삼성 노트북9 메탈 빅서 RC2 업데이트❞
HP 800 G1 이 Colver에서는 Audio가 잘 되던게 OC에서는 안되어서 찾다가 이 글을 찾았네요. 수준이 안되어 잘 이해는 못하지만, HPET관련 내용으로 패치하여, HP800G1 OC에서 내장 Audio를 사용할 수 있게 되었습니다. 정말 고맙습니다. 글을 두고두고 보며 수준을 높이도록 하겠습니다 ㅎㅎ...
그리고, 제목을 ACPI튜닝 전문가 가이드로 하시는게 더 어울릴 것 같습니다.
❝HP 800 G1 Twr, OC 0.6.9, BigSur 11.2.3 설치 + ALC221 문제해결❞
❝bigsur 11.5.1 오픈코어 0.72 부팅 중 오류❞
❝[Monterey 12.0.1/OC 0.7.6] 삼성 노트북 플러스 NT350XCR-AD5AS, i5-10210U, UHD620 빌드후기❞
올려주신 글 덕분에 설치를 잘 하고 있습니다.
궁금한게 있는데요. DSDT 에서 배터리 패치(EmbeddedControl 부분)를 했습니다. 부팅 후에도 잘 나오는거 같은데요.
궁금한건 SSDT-BATT로 분리해서 배터리 부분 처리를 하셨고, 오픈코어에서도 DSDT를 사용하는게 아니라 SSDT로 하는걸 권장한다고 했는데
DSDT에서 배터리 부분을 어떻게 분리 해야 하나요? SSDT-BATT.aml 은 찾아보면 있긴 한데 그건 해당 모델인 경우일거구요.
MaciASL 에서 SSDT 를 새로 작성해야 합니다.
원본 DSDT 와 배터리 패치가 완료된 DSDT 를 서로 비교하여 다른 부분을 SSDT 로 가져와야 합니다.
이 내용을 본 설치 후기글의 노트북을 예시로 하여 작성한 것이 본 글의 안정화 목차 중 배터리 부분의 내용입니다.
처음에 저는 아래의 글에서 배터리 부분을 참고하여 배터리 패치를 위한 SSDT 를 새로 작성하였습니다.
https://x86.co.kr/info/3629426
SSDT 를 사용하여 배터리 패치를 하는데에 어려움이 있다면 ECEnabler.kext 를 사용해보세요.
자꾸 질문해서 죄송합니다.
배터리 패치를 다 완성했습니다 ㅎㄷㄷ
그러나 기존 DSDT.aml을 빼고 SSDT-BATT.aml 을 넣고 부팅하니 배터리 표시가 안되는게 패치가 안먹는거 같네요.
그래서 shl님 것과 비교해보니 배터리 패치를 하고 config 상에 Method Rename을 하셨더군요.
글의 링크 글을 읽어 보면 DSDT에 hex주소 값을 찾아서 해주는건 알겠는데 그 rename이 왜 필요한지 모르겠습니다.
DSDT.aml 이 먼저 로드 되어 SSDT-BATT.aml이 나중에 읽히게 되면 잘못 동작하게 될 수 있어서 패치한 메서드를 리네임 하는 건가요?
그러면 SSDT-BATT.aml 상에 메서드 이름이 바뀐걸로 되어야 할텐데 기존거 그대로 사용되었더군요.
예를 들면 WMAB to XMAB 리네임을 했는데 XMAB라는 메서드는 SSDT-BATT.aml 은 없고 DSDT.aml 에 존재하게 될텐데요.
그럼 그런건가요? DSDT가 먼저 로드되면서 해당 메서드를 실행해 버리면 나중에 SSDT-BATT로 오버라이드 하더라도 아무 소용이 없어서 DSDT상의 메서드를 이름뿐인 걸로 바꿔주는 효과 인가요? 그렇다면 윈도우와 DSDT공유해서 사용하는 취지와 완전 상관 없겠네요.
If(_OSI = drawin) 이런거 구지 할 필요가 없는거 아닌가요? 어차피 MacOS에 맞춰진 DSDT 니까 말이죠. 그리고 리네임 대상이 DSDT가 되는건지 SSDT-BATT가 되는건지 구분은 어떻게 하는건가요? 그냥 config상 리네임 패치는 DSDT에 먹는건가요?
ACPI Rename 패치가 필요한 이유는 동일한 이름의 Method 가 존재하면 안 되기 때문입니다.
이는 ACPI Source Language (ASL) 상에서 오류입니다.
그래서, DSDT 에 있는 기존의 WMAB Method 이름을 XMAB 등으로 변경해야 하는데
WMAB Method 를 정의하는 Object 만 Rename 패치를 적용해야 합니다.
Config.plist 의 ACPI Rename 패치는 DSDT 에만 적용됩니다.
제 DSDT 를 예시로 하면 배터리 관련 Device 인 BAT0 이나 BAT1 을 보면 _BIF, _BST 등의 Method 가 있을 거예요.
그 Method 의 내부 내용을 보면 UPBI, UPBS 등의 Method 를 Call(호출) 합니다.
배터리 패치할 때 EC Field 에 정의된 배터리 관련 변수를 세분화하고 패치했었던 Method 죠.
여기에서 중요한 점은 _BIF, _BST 등의 Method 에 있는 UPBI, UPBS 등의 Method 를 Call(호출)하는 부분은 Rename 패치가 적용되면 안 됩니다.
기존의 DSDT 에는 배터리 패치가 안 된 UPBI Method 가 있고
macOS 에서 배터리 잔량 표시가 작동하도록 배터리 패치를 적용한 UPBI Method 가 SSDT 에도 있는데
이름이 중복되면 안 되기 때문에 위에서 말씀드렸듯이 Config.plist 에서 DSDT 에 있는 Method 를 Rename 패치를 적용했었습니다.
그러면, _BIF, _BST 등의 Method 에서 UPBI, UPBS Method 를 Call(호출)하면 DSDT 에 있는 UPBI, UPBS Method 호출하게 될까요?
아니면, 배터리 패치해준 SSDT 에 있는 UPBI, UPBS Method 호출하게 될까요?
답은 배터리 패치해준 SSDT 에 있는 UPBI, UPBS Method 호출하게 됩니다.
macOS 에서 실질적으로 필요한 부분은 배터리 패치가 완료된 SSDT 에 있는 내용이겠죠.
DSDT 에 있던 기존의 Method 는 macOS 에서 필요하지 않기 때문에 Rename 패치를 적용했었습니다.
그런데, OpenCore 는 Clover 와 달리 수정 및 패치한 ACPI 설정과 넣어준 DSDT, SSDT 등의 ACPI Table 을 모든 OS 에 적용하여 부팅합니다.
OpenCore 에서 Windows 나 Linux 등으로 부팅하면 macOS 를 위해 배터리 패치한 SSDT 내용을 사용하게 됩니다.
물론, 배터리 패치가 잘 되었다면 부팅에는 문제가 없을 수도 있지만 ACPI 코드 내용이 많아지면 부팅 시간이 조금 더 미미하게 증가할 수도 있으며
배터리와 관련된 Object 말고도 DSDT 에 정의된 _OSI Method 가 다른 이름으로 변경되거나 Windows 상에서 호환되지 않는 ACPI 내용이면
Windows 부팅이 불가능하거나 ACPI_BIOS_ERROR 라는 오류 코드와 함께 블루 스크린이 뜨기도 합니다.
아래의 설치 후기글에서 ACPI 관련 부분의 내용을 참고해보세요.
그래서, If (_OSI ("Darwin")) 구문을 사용하여 Windows 와 macOS 에서 수행할 내용을 분리하는 것입니다.
Windows 로 부팅하면 위의 If 문은 False (거짓)이고 그 부분에 해당하는 중괄호 { , } 사이에 Windows 에서 수행할 내용을 넣어주면 되는데
여기에서 DSDT 에서 Rename 패치를 적용해줬었던 Method 를 Call(호출)하면 되겠죠.
기존의 DSDT 에 있었던 XPBI Method 는 이름만 바꿔주었고 배터리 패치를 하지 않은 원래의 내용이므로
macOS 가 아닌 Windows 나 Linux 등의 OS 에서는 그대로 XPBI Method 만 호출해서 사용하면 되니까요.
저도 ACPI 가 처음에는 복잡하고 어렵지만 이해하고 계속 다뤄보니 신기하고 재밌습니다. :)
두서없는 질문에 친절히 답해주셔서 감사합니다.
이제 뭔가 조금 알거 같습니다.
그렇다면 리네임 패치를 해서 다른 이름으로 로드되는 메서드는 기존 시스템과 어떤 영향이 없나요? 기능만 하면 되는건가요?
그건 제가 직접해보겠습니다.
저는 어차피 윈도우10과 듀얼 부팅이라 리네임 패치만 하고 바로 실행해 보면 되니까요.
감사합니다. (__)
배터리 패치는 완성했습니다. SSDT-BATT.aml 과 config 상에 rename 패치까지 했고
MacOS 부팅시 배터리 표시, 상태 등 잘 되는거 같습니다.
문제는 제가 앞 리플에도 말한것처럼 윈도우로 부팅했을때 였는데요.
결론은 windows 부팅은 ACPI 에러 나면서 안됩니다.
찾아보니
https://x86.co.kr/qa/5894221#comment_5894400
이런 글이 있군요.
If(_OSI("Drawin") 에 MacOS 부분과 else 에 windows 부분을 모두 작성해야 하는군요.
OC는 DSDT, SSDT 패치하면 무조건 반영되기 때문에 If(_OSI("Drawin") 만 한건 의미가 없는게 되겠네요.
https://x86.co.kr/qa/5546458#comment_5546984
이렇게 else 에 윈도우용을 따로 기입해줘야 하네요. 간단한거면 모르겠는데 배터리 패치는 그 양이 방대해서 해야하나 싶네요.
아무튼 이렇게 DSDT, SSDT는 shl님 덕분에 아주 잘 공부했습니다.
정말 감사합니다
한가지 실험해볼만한게 있을거 같아서 남깁니다.
지금 문제시 되는게 윈도우와 맥을 멀티부팅 했을때 부트로더로 OC를 사용하기 때문입니다.
OC는 DSDT, SSDT 패치 했을 경우(MacOS 최적화) 윈도우에서 안먹힌다는 것이었죠.
그렇다면! 윈도우 최초 설치부터 OC로 부팅해서 설치하면 될까요?
그러면 윈도우는 OC로 패치된 ACPI를 가지고 설치가 될거고 그러면 OC부트로더로 윈도우, 맥 모두 사용할 수 있을거 같은데요 ㅋ
제 착각일까요? ㅋㅋㅋ
한번 해보겠습니다.
항상 도움 많이 받고 있습니다^^