질문용 시스템 사양 | 2번 |
---|---|
추가사양 및 설치(할)OS | monterery |
공지숙지/증상설명 | 숙지 |
이 글은 저의 삽집에 shl628님께서 선생님의 마음으로 도움을 주시어 ㅠㅠ
하나씩 문제가 해결되어 가는 과정을 담은 엄청난 글입니다 ㅎㅎ (2024년 2월 14일 기준, 스페셜땡스 Stultus님, 온유님)
-----------------------------------------------------------------------------
지난번 데스크탑 (E1240v2 + Z77MX D3H TH + RX570) 조합의 성공으로,
이제 랩탑으로 도전을 옮겼습니다 ㅎㅎ
노트북이 역시 더 고 난이도네요...
타겟은 몬터레이로 잡았고, 첨부와 같이 오픈코어로 EFI를 작업하였는데 부팅 후,
몬터레이 설치를 누르면 아래 스크린샷까지 한참 로드하고 멈춰 버립니다 ㅠㅠ
제 추측상에는 X1 1세대가 저장소 슬롯이 독특해서
msata를 브릿지에 연결해서 쓰는데 그게 문제가 되는건아닌지 조심스럽게 추측해보고 있습니다.
(samsung EVO850 Msata 250gb)
추측 검색 중 : apfs module start 에서 멈추는 현상
일단 인스톨 select 창이 뜨고
몬터레이(v12.7.3)를 클릭하면, (BOOTx64.efi 는 문제가 없는듯 합니다)
부팅 명령어는 아래와 같이 넣었습니다.
<key>boot-args</key>
<string>-v debug=0x100 keepsyms=1 alcid=35 -no_compat_check</string>
-v
-v -f -s
-v -s
옵션등을 바꿔가며 도전중입니다.
5년만에 한번 성공하고 깨달음을 얻었다고 생각했는데,
큰 착각이였네요 ㅠ
혹시 제가 다른 조취로 도전할 수 있는 명령어나 방법이 있을까요?
머핀X님의 새글 알림을 받으실려면 구독
직접 작성하진 않고, 다른 곳에서 가져온 EFI를 일부 수정한 것으로 보입니다. 반드시 Dortania를 토대로 재검토해보시기 바랍니다.
Laptop Ivy Bridge | OpenCore Install Guide (dortania.github.io)
해당 오류의 경우 EC, PCI, IRQ, RTC 등 여러 원인이 있을 수 있습니다. 우선 SSDT-EC-LAPTOP을 주입해보세요.
Fixing Embedded Controllers: Prebuilt | Getting Started With ACPI (dortania.github.io)
그래도 안 되는 경우 아래 내용을 참고해보세요.
Kernel Issues | OpenCore Install Guide (dortania.github.io)
엑팔 검색법은 아래 내용 참고 바랍니다.
github에서 카탈리나 성공시킨 버전을 수해서 만든것입니다^^;;
Dortania가 무엇인지부터 알아야겠네요 ㅎㅎ
SSDT-EC-LAPTOP 은 저녁에 바로 확인해보겠습니다~!
Dortania는 Dortania's OpenCore Install Guide를 뜻하는 것으로, 맨 윗 댓글의 첫 링크입니다.
그리고 아래 shl628님이 진짜 초고수입니다. 저보다 shl628님 댓글을 정독하면 보다 쉽게 해결하실 수 있을 겁니다.
감사합니다 ㅠㅠ 두 분 댓글 참고해서 제 10년된 Gen1 X1 Carbon 반드시 성공시키겠습니다 ㅎㅎ
-f 부트 옵션은 macOS 를 부팅할 때 Kernel Cache 를 무시하고 Kext 를 직접 다시 로드하여 부팅하는 옵션입니다.
-f 부트 옵션은 OS X Mavericks 10.9.5 버전까지는 적용되지만,
OS X Yosemite 10.10 버전부터는 -f 부트 옵션을 적용하여도 의미가 없는 것으로 알고 있습니다.
OS X Yosemite 10.10 버전부터는 No Cache (NC) 부팅을 지원하지 않으며
Prelinked Kernel 을 로드해야만 부팅할 수 있습니다.
또한, macOS Big Sur 11 버전부터는 Prelinked Kernel 이 아닌 Kernel Collection (~.kc 파일) 입니다.
그리고, -s 부트 옵션은 macOS 를 부팅하는 도중에 Shell 모드로 진입하는 옵션입니다.
현재 부팅이 되지 않는 문제를 해결하는 것과는 관련이 없는 부트 옵션입니다.
1. Broadcom 무선 랜카드를 사용하고 계신 것이 아니므로
BrcmFirmwareData.kext, BrcmPatchRAM3.kext 는 필요하지 않습니다.
2. macOS Big Sur 11 버전부터는 NoTouchID.kext 가 작동하지 않으며 필요하지 않습니다.
3. DSDT.aml 파일의 내용을 확인해보니 EC 계열 장치의 이름이 이미 EC 입니다.
H_EC / EC0 / ECDV 와 같은 이름이 아니고 이미 EC 인 경우에는 Fake 의 EC Device 를 인젝션할 필요가 없습니다.
하지만, SSDT-EC-LAPTOP.aml 파일의 내용을 확인해보면
If ((!CondRefOf (\_SB.PCI0.LPCB.EC) && !CondRefOf (\_SB.PCI0.LPC.EC))) 구문으로
EC 계열 장치의 이름이 이미 EC 라면 EC Device 를 인젝션하지 않으므로 SSDT-EC-LAPTOP.aml 을 사용하여도 무방합니다.
4. SMBIOS 를 MacBook Air 6,x 또는 MacBook Pro 11,x 모델로 변경하고 -no_compat_check 부트 옵션을 제거해주세요.
댓글 감사합니다! 말씀하신대로 보강해서 재도전해보겠습니다.
그런데 -no_compat_check은 빼면 부팅이 안되더라구요...
실수로 SMBIOS 를 macOS Big Sur 11.x 버전 기준으로 알려드렸네요... ㅜㅅㅠ
MacBook Pro 11,4 또는 MacBook Pro 11,5 모델로 변경하면 macOS Monetery 12.x 버전에서도 부팅될 것입니다.
또한, 본문에 첨부하신 로그 사진에서 부팅이 멈추는 문제는
USB Port Map 과 관련된 문제로 부팅이 되지 않은 것일 수도 있습니다.
USBInjectAll.kext 대신에 USBToolBox.kext 와 UTBDefault.kext 를 사용해보세요.
추가로, Intel HD Graphics 4000 내장 그래픽은 공식적으로 macOS Big Sur 11.x 버전까지만 지원되며
macOS Monetery 12 버전부터는 Chris1111 님의 패치나 OCLP 패치를 적용해야 QE/CI 그래픽 가속 활성화가 가능합니다.
제가 질문자님의 노트북 사양에 적합하게 필수적인 파일만 구성하여 EFI 폴더를 만들어 보았습니다.
아래에 첨부한 EFI 폴더로 교체하고 다시 부팅해보세요.
Config.plist - UEFI - Quirks - IgnoreInvalidFlexRatio 옵션을 True 로 설정하고 다시 부팅해주세요.
IgnoreInvalidFlexRatio 옵션을 True 로 설정하는 것을 깜빡했네요... ㅜㅅㅠ
IgnoreInvalidFlexRatio 옵션을 True 로 설정 후 여기서 정지 되었습니다 ㅠㅠ
apfs_module_start:2590 <--- 이게 Msata하고 연관이 왠지 있는 것 같은대 맞는지 체크중입니다 ㅠ
apfs_module_start 로그는 정상적인 부팅 과정에서도 출력되는 로그이며 오류는 아닙니다.
또한, mSATA 문제는 아닌 것 같습니다.
그 위에 있는 USBToolBox 의 로그에 주목해야 합니다.
아마도 USB 와 관련된 문제인 것으로 보입니다.
혹시, BIOS 설정에서 XHCI Hand Off 를 Enabled 로 설정할 수 있나요?
또한, Windows 에서 USB Port Mapping 작업을 진행하여 생성된 USB Port Map Kext 를 적용하고 다시 부팅해보세요.
바이오스 메뉴에 XHCI는 없었지만 일단 전부 enabled 해둔 후,
재부팅 후 보니 부팅까지 성공했습니다 ! ㅠㅠ
넵. mac installer 에러만 안나길 바라면서 기다리고 있습니다.
덕분에 수월하게 진행되고 있어 정말 감사드립니다 (- -)(_ _)
x1 yoga 1세대모델에 빅서까지 shl628님 도움으로 성공했던 기억이 가물가물 생각나네요.반갑네요.설치 꼭 성공하십시요.화이팅입니다.
2024 / 02 / 12 진행상황 !
몬터레이 인스톨 완료 / EFI USB 없이 부팅 완료
macOS 의 하단 Dock 바에 Blur 효과가 작동하지 않고 VRAM 이 5 MB 로 표시되는 것은
QE/CI 그래픽 가속이 활성화되지(잡히지) 않은 것입니다.
Config.plist 의 Device Properties 에 QE/CI 그래픽 가속이 활성화되도록 속성을 입력하지 않았다면 입력해주세요.
질문자님의 노트북 내장 디스플레이 해상도가 1600x900 이므로
Capri Framebuffer 의 Platform ID 중에서 0x01660004 를 사용하면 됩니다.
또한, 댓글에 말씀하신 것 외에도 다음과 같은 다른 안정화 작업들도 진행해보세요.
추가로, 질문자님의 노트북은 질문글의 로그 사진을 보니 터치패드가 Synaptics 사의 SMBus 방식의 터치패드입니다.
VoodooPS2 대신에 VoodooSMBus & VoodooRMI 를 사용하면 터치패드와 제스처 조작감이 훨씬 더 부드러워 집니다.
단, 터치패드 제스처가 정상적으로 작동하려면 배터리 패치를 먼저 진행하여 배터리 잔량 표시가 정상적으로 작동해야 합니다.
말씀하신대로 넣고 몇번 안되서 리서치해보니!
shl628님께서 다른분에게 말씀해주신 부분의 조언을 참고하여 부팅옵션 삭제하니까 바로 잡혔습니다.
-igfxvesa (삭제)
해킨은 쾌감이 있네요 ㅎㅎㅎㅎ
나머지는 저녁에 또 시간내서 도전하겠습니다.
정말 감사합니다 ㅠㅠ
USB를 통한 유선랜 사용 가능해짐
블루투스 자체 완료
WIFI 삽질중...
와이파이는 해결점을 찾아보고 있는데 시간이 많이 걸릴 것 같네요.
랜카드가 아주 특이한 규격의 제품이라 대체제품을 찾아봐야할 것 같습니다 ㅠㅠ
x1 yoga 1세대 랜카드가 제 요가에 붙어있던거랑 다르네요. 제글도 한번 참고해보시면 어떨까요? 참고삼아서요.
넵 참고해보겠습니다~!
참고로
Yoga Gen1 은 6세대 인텔이고,
지금 이 삽을 든 제품은 3세대 인텔입니다 ㅎㅎ
Intel Centrino Advanced-N 6205 무선 랜카드는 AirportItlwm & itlwm 으로 지원되는 모델입니다.
AirportItlwm.kext 만으로 WiFi가 잡혀 버렸습니다 ㅎㅎㅎ
itlwm는 추후 추가 안정화때 조사하고 도전하는걸로 하고 이젠 최우선중의 마지막 사운드로 가겠습니다!
AirportItlwm 으로 잘 작동한다면 그대로 계속 사용하면 됩니다.
AirportItlwm 과 itlwm 은 둘 다 동시에 같이 사용하면 안 되며,
itlwm 은 HeliPort 라는 별도의 앱을 사용하여 Wi-Fi 에 연결해야 합니다.
또한, Intel 3rd Gen Ivy Bridge 시스템이므로 HPET Device 의 IRQ 충돌을 패치해야 합니다.
HPET Device 와 RTC, TIMR, IPIC 등의 장치와의 IRQ 충돌이 있으면 Layout ID 를 적용하여도 AppleALC 를 통한 사운드 출력이 작동하지 않을 수 있습니다.
SSDTTime 을 사용하여 패치하거나 아래의 사이트를 참고해보세요.
https://github.com/5T33Z0/OC-Little-Translated/tree/main/01_Adding_missing_Devices_and_enabling_Features/IRQ_and_Timer_Fix_(SSDT-HPET)
흠... 점점 난이도가 올라가네요 ㅠㅠ
설치후에 아래와 같이 명령어들이 나왔는데 사운드관련이 어떤건지 감이 안옵니다 ㅠㅠ
HPET Device 의 IRQ 충돌을 패치해야 하는 것이므로 1. FixHPET 메뉴를 선택하면 됩니다.
그 이후 단계에서는 C 로 입력하면 됩니다.
말씀하신대로 1로 들어가니 drag and drop으로 acpi 폴더를 넣으라고 떠서 넣었더니 다시 초기화면으로 갑니다 ㅠㅠ
이후 상단에 보니 지정은 된거 같은대 메뉴에 C는 없어서 우야할까요
OpenCore 의 EFI - ACPI 폴더가 아닌,
질문자님의 노트북에서 직접 추출한 DSDT.aml 또는 OEM ACPI Tables 가 담긴 폴더를 지정해야 합니다.
MaciASL 앱을 실행하고 열린 DSDT 를 .aml 확장자 파일로 저장하고 그 DSDT.aml 파일을 드래그해주세요.
해당사이트에서 .dsl 3개를 받은 후, maciASL로 변환 저장해서 넣어봤는데
미동이 없네요 ㅠㅠ
문서를 조금 더 읽어봐야겠습니다.
1. SSDT-HPET_RTC_TIMR-fix.aml 과 SSDT-IRQ_FIXES_THINK.aml 을 같이 사용하는 것은 옳지 않습니다.
또한, SSDT-IPIC.aml 은 HPET Device 의 IRQ 충돌이 IPIC Device 에서도 일어날 경우에 사용하는 것입니다.
SSDTTime 에서 DSDT 를 지정하고 패치를 진행한 결과의 로그를 보면 충돌이 있는지 확인할 수 있습니다.
2. 혹시, OpenCore 의 EFI - OC - ACPI 폴더에 SSDT 를 추가한 후에 Config.plist - ACPI - Add 에도 추가하셨나요?
Config.plist - ACPI - Add 에 추가하지 않으면 ACPI 폴더에 SSDT 를 넣어도 로드되지 않습니다.
3. HPET Device 의 IRQ 충돌을 패치하는 SSDT 를 적용한 후에 Layout ID 도 올바르게 입력하셨나요?
4. HPET Device 의 IRQ 충돌을 패치하는 SSDT 가 잘 적용되었는지 확인하는 방법은
IORegistryExplorer 앱에서 Fake 의 HPE0, RTC0, TIM0 장치가 존재하는지 확인하면 됩니다.
5. 질문자님의 노트북에서 추출한 수정하지 않은 원본 상태의 DSDT.aml 을 압축하여 댓글로 보내주시면, 제가 HPET Device 의 IRQ 충돌을 패치해 보겠습니다.
어제 계속 츄라이 하다가 일단 GG 상태인데 또 이렇게 도움을 주셔서 감사합니다!
2.config.plist에는 스샷과 같이 반영해두었습니다 ~! ㅠㅠ
1. MaciASL 앱을 실행하면 열리는 System DSDT 를 DSDT.aml 로 저장한 파일도 보내주세요.
2. Config.plist - Device Properties 에서 #PciRoot(0x0)/Pci(0x2,0x0) 2 항목은 사용되지 않으므로 삭제해주세요.
3. VoodooSMBus & VoodooRMI 관련 Kext 로드 순서를 아래와 같이 정렬하고 VoodooPS2 아래로 이동해주세요.
그 후에, VoodooPS2 의 플러그인으로 포함된 VoodooInput.kext 와 MII2C.kext 는 필요하지 않으므로
플러그인 폴더에서 삭제하거나 Enabled 를 False 로 설정하여 비활성화해주세요.
4. 혹시, Layout ID 는 35 번 말고도 아래에 제시된 번호 모두 시도해 보셨나요?
질문자님의 Lenovo ThinkPad X1 Carbon 1st Gen 노트북은 Realtek ALC269 코덱인 것으로 보입니다.
Layout ID = 35 번은 Samsung NP350V5C-S0URU 모델의 Realtek ALC269 코덱에 맞게 만들어진 것입니다.
Realtek ALC269 코덱의 Layout ID 중에서 Lenovo 브랜드의 노트북에 맞게 만들어진 것으로 사용해보세요.
18, 23, 28, 29, 39, 40, 55, 138, 188 번 총 9개가 Lenovo 노트북의 Realtek ALC269 코덱에 맞게 만들어진 Layout ID 입니다.
https://github.com/acidanthera/AppleALC/blob/master/Resources/ALC269/Info.plist
넵 하필 이럴때 야근 크리라 ㅠㅠ 제가 다시 츄라이해보고 올리겠습니다!
1. 새벽에 업로드 하겠습니다.
2. Config.plist - Device Properties 에서 #PciRoot(0x0)/Pci(0x2,0x0) 2 삭제 완!
3.
02-13 7:50
18, 23, 28, 29, 39, 40, 55, 138, 188 번 총 9개가 Lenovo 노트북의 Realtek ALC269 코덱에 맞게 만들어진 Layout ID 는 부팅에서 acid="" 에 수정해서 넣어봤으나, 전부 실패했습니다.
제가 처음에 35번으로 해두었던것은 github에서 35로 성공했다고 적혀있어 맹목적으로 믿고 ㅎㅎ
해본 것입니다 ㅠㅠ
4.
VoodooSMBus & VoodooRMI 관련해서는
배터리 패치가 선행되지 않아서인지 부팅이 먹통이 되어 일단 rollback 시켜두었습니다.
이 이슈는 제일 마지막에 처리해보겠습니다.
야근이 이제 끝나서 이제야 업로드합니다~! 만...
DSL을 변환 시 에러 메시지가 계속 떠서 일단 DSL로 올립니다 ㅠㅠ
ACL269가 안될때 voodooHDA 2.9.7로 해결했다는 글도 일단 스크랩해두었습니다
ㅎㅎㅎ 패치 성공했습니다 !!
이게 개념으로 접근하는게 아니라 무한 삽질로 해결 중이라 뒷걸음질중에 얻어 걸린 느낌입니다 ㅋㅋ
acid=29 였습니다.
중간점검차 업로드!
해결되었다니 다행입니다. :)
VoodooHDA 는 AppleALC 에서 지원되지 않는 사운드 코덱에 주로 사용합니다.
하지만, AppleALC 로 작동한다면 VoodooHDA 보다는 AppleALC 를 사용하는 것이 좋습니다.
VoodooHDA 는 AppleALC 보다 상대적으로 음질이 좋지 않을 수 있으며 잡음도 들리는 경우가 있습니다.
1. DSDT 에서 컴파일 오류가 발생하는 부분을 확인해보니 _IRC 라는 IntObj 형식의 변수가 예약어인데 Method 로 정의되어 있지 않아서 발생한 오류입니다.
그런데, 이 변수는 다른 부분에서 참조되지 않고, 그냥 지우면 오류가 해결되는 것을 보아 필요하지 않은 변수인 것 같습니다.
ACPI 컴파일러 버전이 높아서 오류로 인식하거나 Lenovo 측의 ACPI 설계 미스인 것 같습니다.
하지만, 부팅하는 데에 문제는 없기 때문에 그냥 무시하면 됩니다.
추가로, DSDT.aml 을 ACPI 폴더에 넣을 필요는 없습니다.
2. SSDTTime 으로 DSDT.aml 을 지정해서 HPET Device 의 IRQ 충돌을 확인해보니
RTC, TIMR, PIC 장치에서 충돌이 발생하였습니다.
또한, DSDT 에서 HPET Device 의 _STA Method 내용을 확인해보면
아래의 사진과 같이 If ((WNTF && !WXPF)) 구문이 있습니다.
HPET Device 의 IRQ 충돌을 패치하는 SSDT 는 SSDT-IRQ_FIXES_THINK.aml 만 사용하면 됩니다.
SSDT 는 SSDT-IRQ_FIXES_THINK.aml 파일의 내용을 보면
Fake 의 IPI0 Device 가 있기 때문에 SSDT-IPIC.aml 은 필요하지 않으며,
SSDT-IPIC.aml 은 LPC 장치의 이름이 LPCB 이므로 질문자님의 노트북과 ACPI 경로가 일치하지 않습니다.
SSDT-HPET_RTC_TIMR-fix.aml 도 필요하지 않으며 삭제해도 됩니다.
추가로, 저는 SSDT 이름이 너무 길어서 SSDT-IRQ_FIXES_THINK.aml 파일 이름을
SSDT-HPET.aml 로 변경하는 것이 더 깔끔할 것 같습니다.
물론, Config.plist - ACPI - Add 에서도 이름을 변경해줘야 합니다.
3. ACPIBatteryManager.kext 와 SMCBatteryManager.kext 를 둘 다 같이 사용하는 것은 옳지 않습니다.
배터리 관련 Kext 는 SMCBatteryManager.kext 를 사용하면 됩니다.
FakeSMC 를 사용할 때에는 ACPIBatteryManager.kext 를,
VirtualSMC 를 사용할 때에는 SMCBatteryManager.kext 를 사용하는 것을 권장합니다.
또한, ACPI 에 배터리 패치를 진행하지 않는 대신에 ECEnabler.kext 를 사용하는 방법이 있습니다.
ECEnabler.kext 는 ACPI 에서 EmbeddedControl Region 에 정의되어 있는
배터리 관련 FieldUnitObject 를 8 Bit 씩 읽을 수 있게 해주는 역할을 합니다.
단, ECEnabler.kext 를 사용하여도 배터리 잔량 표시가 정상적으로 작동하지 않는 경우에는
ACPI 에 배터리 패치를 직접 진행하는 방법 밖에 없습니다.
4. YogaSMC.kext 가 오래된 구버전입니다.
YogaSMC 공식 GitHub 사이트에서 최신 버전을 다운로드할 수 있습니다.
또한, YogaSMC 사용 방법도 아래의 사이트에 설명되어 있습니다.
5. Config.plist - Device Properties 에서 PciRoot(0x0)/Pci(0x1b,0x0) 항목에 있는 AAPL,ig-platform-id 속성은 삭제해주세요.
HDEF 내장 사운드 장치에 Intel 내장 그래픽에 대한 속성을 입력하는 것은 옳지 않습니다.
6. Config.plist 의 Kernel - Add 에서 Kext 로드 순서를
Lilu, VirtualSMC, WhateverGreen, AppleALC, SMC Plugins, YogaSMC, 나머지 Kext 순서로 다시 정렬해주세요.
나중에, 시간 있으실 때 천천히 진행하셔도 괜찮습니다. :)
이렇게까지 써주시다니 정말 감사합니다 ㅠㅠ
전부 알아듣지는 못하지만 설명해주신것에 절반은 이해했습니다!
이제 실사용에 기본기는 덕분에 거의 다 잡혔습니다. 정말 감사합니다!
이번주까지 남은 미션들 퇴근 후 ㅎㅎ
진행해보겠습니다!
20240214 Log
마이크가 잡혔습니다 -ㅇ-
반영
ECEnabler.kext 반영 후 배터리 표기 ! ( 이제 VoodooRMI & VodooSMBus 조합으로 넘어가볼까 합니다)
미반영
패치 내역 (스크린샷)
- 내장 디스플레이 밝기 조절
macOS Catalina 10.15 부터는 ACPI 에서 Ambient Light Sensor Device 가 존재해야
노트북의 내장 디스플레이 밝기 조절이 정상적으로 작동합니다.
DSDT 를 확인해보니 ALSD Device 와 같은 광센서 또는 조도 센서 장치가 없으므로 SSDT-ALS0.aml 를 추가해주세요.
그리고, SSDT-PNLF.aml 을 SSDTTime 으로 생성한 것으로 교체해주세요.
기존의 SSDT-PNLF.aml 은 Intel 내장 그래픽 장치의 ACPI 경로가 \_SB.PCI0.GFX0 으로 되어 있지만,
Lenovo ThinkPad 노트북은 특이하게도 GFX0 이 아닌 VID 로 정의되어 있어서
PNLF Device 가 인젝션되지 않는 것 같습니다.
추가로, Lilu + WhateverGreen 이 자동으로 IGPU 로 이름을 변경하기 때문에 IOReg 상에서는 IGPU 로 보입니다.
- 밝기 조절 Fn 키 Remapping
위의 내장 디스플레이 밝기 조절 패치가 완료되어야 밝기 조절 Fn 키를 패치할 수 있습니다.
DSDT 를 확인해보니 질문자님의 노트북에서 밝기 조절 Fn 키를 담당하는 EC Query 는 _Q14 & _Q15 Method 입니다.
밝기 조절 Fn 키 Remapping 패치도 배터리 패치처럼 ACPI 에 직접 패치하는 대신에
BrightnessKeys.kext 를 사용하는 방법도 있습니다.
그런데, If 구문의 조건식에 NBCF 라는 변수가 사용되고 있습니다.
해당 If 구문 하위에서 아래와 같은 코드가 BrightnessKeys.kext 에서 사용됩니다.
Notify (^^^VID.LCD0, 0x86)
Notify (^^^PEG.VID.LCD0, 0x86)
다른 Lenovo ThinkPad 노트북의 설치 사례 EFI 폴더를 찾아보니 SSDT-NBCF.aml 을 사용하여
macOS 로 부팅한 경우에는 NBCF 변수에 One (1) 값을 할당하여
해당 If 문의 조건이 True (참)이 되면서 BrightnessKeys.kext 가 작동할 수 있도록 하였네요.
- 부팅음
아래의 사이트를 참고해주세요.
- 터치패드 및 제스처 활성화
제가 위의 댓글에서 링크해드린 안정화 작업 목록 및 글타래 모음 총정리 글과
VoodooRMI 공식 GitHub 와 아래의 사이트를 참고해보세요.
https://github.com/5T33Z0/OC-Little-Translated/tree/main/05_Laptop-specific_Patches/Trackpad_Patches
- YogaSMC.kext 최신 받아두었으나 인식 아직 못 시킴. (패치가 필요한 것일까요?)
혹시, Config.plist - ACPI - Patch 에서 Rename _Qxx to XQxx 패치를 넣은 이유가 무엇인가요?
이는 Hot Patch & Override 방식의 ACPI 패치에서 사용하는 ACPI Rename 패치이며
해당 Rename 패치와 연관된 SSDT 를 같이 사용해야 합니다.
ACPI 에서 변수 이름이 언더바 _ 로 시작하는 것들은 ACPI 에서 특별한 목적으로 사용되는 예약어(키워드)입니다.
(예시 : _CRS, _DSM, _HID, _OSI, _STA, _UID, _Qxx 등)
즉, 이러한 예약어 변수들은 Windows 또는 macOS 와 같은 운영 체제에서 필요로 하며 사용됩니다.
그런데, _Q14 Method 의 이름을 XQ14 Method 로 바꿔버리면
Fn + F9 키를 눌러도 _Q14 Method 를 Call(호출)하지 못 하게 되므로 밝기가 증가하지 않는 문제가 발생합니다.
Hot Patch & Override 방식의 ACPI 패치는 쉬운 내용이 아니며 조금 어려울 수 있습니다.
기본적으로 ACPI 와 DSDT & SSDT 에 대한 지식이 있어야 이해하기가 수월합니다.
이에 대한 내용도 제가 위의 댓글에서 링크해드린 안정화 작업 목록 및 글타래 모음 총정리 글의 세 번째 목차에 있습니다.
그리고, YogaSMC 공식 GitHub 사이트를 확인해보면 Rename _Qxx to XQxx 패치가 없어야 한다고 나와 있습니다.
장문을 글을 써주시다니 ㅠㅠ
정독 후 3가지 항목 반드시 해결해보겠습니다!
하지만 이제 천천히 할게요 ㅠㅠ
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|
모니터(오류화면) 사진 찍을 때 팁(소소함) +269 | 달쇠 | 17.07.3020:49 | 11만 |
빠르고 정확한 답변을 받는 팁 및 질답자의 매너, EFI폴더 압축법 +90 | Mactopia | 17.02.1014:21 | 12만 |
세콰이어 질문드려요 +11 | Nelson | 24.09.1815:34 | 258 |
세콰이어 신기능 아이폰 미러링 잘 되시나요? +8 | 에잉 | 24.09.2022:16 | 123 |
OpenCore Configurator 2.76.2.0 다운 받을수 없는건가요...?? +6 | SUNWAYFOTO | 24.09.1822:20 | 107 |
머핀X | 24.02.2320:20 | 2877 | |
머핀X | 24.02.1117:55 | 2438 | |
머핀X | 24.02.0819:29 | 3054 | |
머핀X | 24.02.0320:44 | 4059 |
실수로 SMBIOS 를 macOS Big Sur 11.x 버전 기준으로 알려드렸네요... ㅜㅅㅠ
MacBook Pro 11,4 또는 MacBook Pro 11,5 모델로 변경하면 macOS Monetery 12.x 버전에서도 부팅될 것입니다.
또한, 본문에 첨부하신 로그 사진에서 부팅이 멈추는 문제는
USB Port Map 과 관련된 문제로 부팅이 되지 않은 것일 수도 있습니다.
USBInjectAll.kext 대신에 USBToolBox.kext 와 UTBDefault.kext 를 사용해보세요.
추가로, Intel HD Graphics 4000 내장 그래픽은 공식적으로 macOS Big Sur 11.x 버전까지만 지원되며
macOS Monetery 12 버전부터는 Chris1111 님의 패치나 OCLP 패치를 적용해야 QE/CI 그래픽 가속 활성화가 가능합니다.