*적용중인 도장
안녕하세요.
Samsung Galaxy Book NT750XDA-KF59U 노트북의 macOS 해킨토시 설치 후기입니다.
macOS Catalina 10.15.7 버전부터 macOS Sonoma 14 Beta 버전까지 설치해 보았지만,
설치 후기글에서는 macOS Ventura 13.x & Sonoma 14 Beta 버전의 사진만 첨부하였습니다.
Intel 11th Gen Tiger Lake 의 Intel Iris Xe Graphics 내장 그래픽은 모든 버전의 macOS 에서 지원되지 않지만,
QE/CI 그래픽 가속 활성화를 제외하고 나머지 다른 안정화 작업에 대하여 기록을 남기고자 설치 후기글을 작성하였습니다.
⬛️ BIOS 설정 변경
삼성 노트북이어서 BIOS 에서 변경할 수 있는 항목이 매우 제한적입니다.
아래의 두 가지 항목을 제외하고는 변경할 항목이 없습니다.
- Boot
- Secure Boot Control : Off
- Fast BIOS Mode : Off
고급적인 설정 항목은 거의 대부분 숨겨져 있어서 변경하기가 어렵기 때문에 RU.efi 를 사용하여
다음과 같은 BIOS 설정 항목의 Offset 값을 강제로 변경하였습니다.
- CpuSetup (VarStore : 0x2)
- CFG Lock (Variable : 0x43) : Disabled (Value : 0x0)
- SaSetup (VarStore : 0x5)
- DVMT Pre-Allocated Memory (Variable : 0x84) : 64MB (Value : 0x2)
- CD Clock Frequency (Variable: 0x47) : 648 Mhz (Value: 0x7) / 652.8 Mhz (Value: 0x8)
RU.efi 를 사용하여 BIOS 설정에서 특정 Offset 의 값을 강제로 변경하는 과정은 아래의 글을 참고해주세요.
https://x86.co.kr/info/7731400
⬛️ Intel 11th Gen Tiger Lake CPU 에 대하여 추가로 필요한 설정
EFI 폴더를 Intel 10th Gen Ice Lake 사양에 적합하게 만들고 아래의 설정을 추가하면 됩니다.
1. Fake CPU ID 적용.
저는 Intel 10th Gen Ice Lake CPU ID 에 해당하는 0x0706E5 로 Fake CPU ID 를 적용하였습니다.
2. Config.plist 의 Kernel - Quirks 에서 AppleXcpmExtraMsrs 를 True 로 설정.
Kernel - Quirks 의 AppleXcpmExtraMsrs 를 True 로 설정하지 않으면
[EB|#LOG:EXITBS:START] 로그에서 부팅이 멈추는 문제가 발생합니다.
3. Config.plist 의 NVRAM - Add 에서 boot-args 에 -igfxvesa 부트 옵션 추가.
⬛️ Intel Iris Xe Graphics 내장 그래픽의 QE/CI 그래픽 가속 활성화 시도 & 연구
macOS 에서 Intel 11th Gen Tiger Lake CPU 와 Intel Iris Xe 내장 그래픽이 기본적으로 지원되지 않으므로
/S/L/E 경로에 해당 그래픽 드라이버가 존재하지 않지만,
여러 가지 시도해보고 싶은 부분과 궁금한 부분이 있어서 삽질을 해 보았습니다.
1. macOS Catalina 10.15.7 버전에서
1-A. ICLLP Framebuffer 로드 시도
1-A-가. device-id = 528A0000 (Data) 속성을 사용하여 장치 ID 를 0x8A52 로 Fake ID (Spoof) 적용
결과 : Unsupported CD Clock Frequency 커널 패닉 발생
모든 Platform ID 를 사용하여도 Unsupported CD Clock Frequency 커널 패닉이 발생합니다.
1-A-나. device-id = 05FF0000 (Data) 속성을 사용하여 장치 ID 를 0xFF05 로 Fake ID (Spoof) 적용
결과 : Unsupported ICL Sku 커널 패닉 발생
1-B. KBL/CFL Framebuffer 로드 시도 (Intel Iris Plus 655 내장 그래픽의 Platform ID & Device ID 사용)
결과 : 부팅 과정의 후반부(그래픽 관련 인식/로드 부분) 근처에서 부팅 멈춤 또는 busy timeout IGPU 로그 무한 출력
1-C. BDW Framebuffer 로드 시도 (Intel Iris Pro 6200 내장 그래픽의 Platform ID & Device ID 사용)
결과 : Overflow(오버플로우) 커널 패닉 발생
1-D. Azul Framebuffer 로드 시도 (Intel Iris Pro 5200 내장 그래픽의 Platform ID & Device ID 사용)
결과 : 커널 패닉 발생
2. macOS Big Sur 11+ 이상의 버전에서
2-A. ICLLP Framebuffer 로드 시도
2-A-가. device-id = 528A0000 (Data) 속성을 사용하여 장치 ID 를 0x8A52 로 Fake ID (Spoof) 적용
결과 : 부팅 과정의 후반부(그래픽 관련 인식/로드 부분) 근처에서 부팅 멈춤
macOS Catalina 10.15.7 버전과 달리 부팅 후반부의 그래픽 인식 과정 근처에서 부팅이 멈추는 증상이 발생합니다.
2-A-나. device-id = 05FF0000 (Data) 속성을 사용하여 장치 ID 를 0xFF05 로 Fake ID (Spoof) 적용
결과 : Unsupported ICL Sku 커널 패닉 발생
2-B. KBL/CFL Framebuffer 로드 시도
결과 : busy timeout IGPU 로그 무한 출력
위의 삽질 과정을 통하여 발견한 점은 iGPU 의 장치 ID 를 0xFF05 로 Fake ID (Spoof) 적용하면
[IGPU] ~ 로그가 출력되면서 어느 정도 ICLLP Framebuffer 가 로드되다가 Unsupported ICL Sku 커널 패닉이 발생한다는 점입니다.
그리고, iGPU 의 장치 ID 를 0xFF05 가 아닌 다른 일반적인 ID (0x8A52, 0x8A5A 등) 로 Fake ID (Spoof) 적용하면
macOS Catalina 10.15.7 버전에서는 Unsupported CD Clock Frequency 커널 패닉이 발생하고
macOS Big Sur 11+ 이상의 버전에서는 부팅 후반부의 그래픽 인식 과정 근처에서 부팅이 멈춘다는 점입니다.
또한, macOS 에서 ICLLP Framebuffer 드라이버는 BIOS 설정에서
DVMT Pre Allocated Memory 항목과 CD Clock Frequency 항목의 설정과 밀접한 연관이 있습니다.
DVMT Pre Allocated Memory 항목이 32 MB 의 정배수(32, 64, 96, 128, 160, ...)로 설정되어 있지 않으면
Unsupported ICL Sku 커널 패닉이 발생합니다.
Intel 10th Gen Ice Lake 이전의 대부분의 노트북은 BIOS 에서
DVMT Pre Allocated Memory 항목이 기본적으로 32 MB 로 설정되어 있지만,
WhateverGreen.kext 의 kern_igfx_memory.cpp 소스 코드를 보면
Ice Lake 노트북부터는 BIOS 에서 DVMT Pre Allocated Memory 항목이
대부분 32 MB 의 배수가 아닌 60 MB 로 설정되어 있으며 60 은 32 의 배수가 아니므로 커널 패닉이 발생한다고 합니다.
https://github.com/acidanthera/WhateverGreen/blob/master/WhateverGreen/kern_igfx_memory.cpp#L96~L108
CD Clock Frequency 항목이 648 MHz 이상으로 설정되어 있지 않으면
Unsupported CD Clock Frequency 커널 패닉이 발생합니다.
WhateverGreen.kext 의 kern_igfx_clock.cpp 소스 코드에서 확인할 수 있습니다.
https://github.com/acidanthera/WhateverGreen/blob/master/WhateverGreen/kern_igfx_clock.cpp#L438~L443
그래서, WhateverGreen.kext 에도 Intel 10th Gen Ice Lake 의
Intel Iris Plus Graphics 내장 그래픽에 대하여 -igfxcdc -igfxdvmt 등의 부트 옵션 패치를 제공합니다.
하지만, -igfxcdc -igfxdvmt 부트 옵션을 적용해 보아도 해결되지 않았습니다.
또한, -igfxdvmt 부트 옵션은 kern_igfx_clock.cpp 소스 코드를 보면 노트북의 CPU 가 Ice Lake 시스템이 아닌 경우에는 -igfxdvmt 부트 옵션을 추가하여도 작동하지 않도록 설계되어 있습니다.
https://github.com/acidanthera/WhateverGreen/blob/master/WhateverGreen/kern_igfx_memory.cpp#L36~L40
그래서, Xcode 로 직접 소스 코드를 수정하여 강제로 작동하도록 수정하고
직접 WhateverGreen.kext 를 빌드하여 적용해 보았지만 그래도 안 되었습니다.
다른 방법으로는, RU.efi 를 사용하여 BIOS 에서 DVMT Pre Allocated Memory 항목을
강제로 64 MB 로 설정해 보기도 하였지만 여전히 Unsupported ICL Sku 커널 패닉이 발생하였습니다.
이렇게, Intel Iris Xe Graphics 내장 그래픽의 QE/CI 그래픽 가속 활성화에 대하여
Framebuffer 자체의 부트 옵션, 커넥터 패치, Framebuffer 플래그 수정, EDID 인젝션 등
삽질해 볼 수 있는 여러 가지 경우의 수와 시도를 해 보았지만,
그래도 안 되는 것을 보아... 저는 여기까지만 하고 삽질을 그만 두었습니다.
해외의 다른 분은 Intel Iris Xe Graphics 내장 그래픽에서
ICLLP Framebuffer 를 완전히 로드하는 데에는 성공하였지만, Black Screen 문제가 발생한 사례가 하나 있습니다.
나중에, NootedBlue.kext 에서 Intel 11th Gen Tiger Lake 내장 그래픽에 대한 지원 및 패치가 추가될 지 지켜보아야 할 것 같습니다.
https://x86.co.kr/info/7995236
https://github.com/NootInc/NootedBlue/issues/6
⬛️ Realtek ALC 256 내장 사운드 출력
Config.plist 의 Device Properties 에서 HDEF 장치인 PciRoot(0x0)/Pci(0x1F,0x3) 항목에
device-id = C8340000 (Data) 속성을 추가하여 Ice Lake 의 사운드 장치 ID 로 Fake ID (Spoof) 를 적용하면 됩니다.
자세한 내용은 아래의 글을 참고해주세요.
⬛️ CPUFriendDataProvider.kext 생성 및 적용
Speed Step & Power Management 전력 관리가 QE/CI 그래픽 가속이랑 일부 연관되어 있습니다.
즉, Intel Iris Xe Graphics 내장 그래픽의 QE/CI 그래픽 가속이 활성화되지 않았기 때문에
완전한 Power Management 전력 관리는 작동하지 않습니다.
단, CPUFriendDataProvider.kext 생성하여 적용하였더니 Speed Step 은 부분적으로 작동하는 것으로 보입니다.
⬛️ Intel Wi-Fi 6 AX201 무선 네트워크 및 블루투스
Intel Wi-Fi 6 AX201 의 Device ID 인 0xA0F0 은 AirportItlwm & itlwm 에서 지원되는 장치가 맞지만,
삼성 갤럭시북 NT750XDA-KF59U 모델의 Intel AX201 무선 랜카드는 Subsystem Device ID 가 0x6074 입니다.
AirportItlwm / itlwm 이 로드가 되었음에도 불구하고 Wi-Fi 가 작동하지 않아서 로그를 확인해 보니
No config found for PCI dev a0f0/6074, attach fail 이라는 로그가 출력되었습니다.
그래서, OpenIntelWireless 공식 GitHub 의 Issues 에 글을 작성하였더니
Itlwm 개발자인 zxystd 님이 소스 코드에 0xA0F0:0x6074 에 대한 AX201 모델의 PCI ID 지원을 추가해 주었습니다.
https://github.com/OpenIntelWireless/itlwm/issues/870
이제, AirportItlwm & itlwm 모두 v2.2.0 Stable 버전부터는 Wi-Fi 가 정상적으로 작동합니다.
Intel AX201 무선 랜카드의 블루투스도 정상적으로 작동합니다.
아래의 속성을 NVRAM - Add 에서 boot-args 가 존재하는 부분에 같이 추가하면 됩니다.
블루투스 스피커로 사운드 출력이 잘 되는 것을 확인하였습니다.
⬛️ USB 3.x & USB Port Map
macOS 를 설치하기 전에 Windows 에서 USBToolBox 를 사용하여
미리 USB Port Mapping 작업을 진행하고 생성된 USBMap.kext 를 적용하였습니다.
⬛️ 배터리 잔량 표시
삼성 갤럭시북 NT750XDA-KF59U 모델은 OEM ACPI 상에서 배터리와 관련된 FieldUnitObject 가 모두
EmbeddedControl Region 이 아닌 SystemMemory Region 에 정의되어 있습니다.
즉, 8 Bit 로 세분화하는 배터리 패치를 굳이 진행하지 않아도
SMCBatteryManager.kext 만 적용하면 배터리 잔량이 정상적으로 표시됩니다.
⬛️ I2C 방식의 터치패드 및 제스처
Atmel 사의 I2C 터치패드이며 OEM ACPI 상에서 터치패드에 해당하는 Device 이름은 SPTP 입니다.
터치패드의 모델명은 ATML3000 이지만 IOReg 에서는 ELAN0B00 으로 표시됩니다.
VoodooI2C + VoodooI2CHID 조합으로 사용하면 됩니다.
Intel 11th Gen Tiger Lake 에서는 VoodooI2C.kext 의 Info.plist 에 PCI ID 를 직접 추가하고
I2C 방식의 터치패드를 Polling 모드로 작동시켜서 사용할 수 있습니다.
자세한 내용은 아래의 글을 참고해주세요.
https://x86.co.kr/info/7651395
단, VoodooI2C 공식 GitHub 사이트의 VoodooGPIO 저장소를 보면
TigerLake-LP 의 GPIO Controller 지원을 추가하는 Pull Request 가 Merge(병합)되어 있지만,
https://github.com/VoodooI2C/VoodooGPIO/pull/14
아직 VoodooI2C 의 새 버전이 Release 되지 않아서 다음 버전이 나올 때까지는 Polling 모드를 사용하려고 합니다.
원래, 제가 Xcode 로 VoodooI2C 를 직접 빌드해서 사용해 보려고 하였지만, 빌드가 잘 안 되네요... ㅜㅅㅠ
⬛️ 마무리
Intel Iris Xe Graphics 내장 그래픽의 QE/CI 그래픽 가속만 활성화된다면 좋을 것 같습니다. 🍀
OpenCore r0.9.3 버전의 EFI 폴더를 업로드하고 마치겠습니다. :)
SMBIOS 에서 Serial Number 등의 항목은 직접 생성한 후에 사용해주세요.
https://github.com/lshbluesky/Samsung-NT750XDA-KF59U-Hackintosh
✅ 작동하는 것
- Realtek ALC 256 내장 사운드 출력
- Speed Step (XCPM, 일부 작동)
- Intel Wi-Fi 6 AX201 160MHz
- Intel AX201 Bluethooth
- USB 3.x & USB Port Map
- USB 내장 웹캠
- 배터리 잔량 표시
- I2C 방식의 터치패드 및 제스처 (Polling 모드만 가능)
❌ 작동하지 않는 것
- Intel Iris Xe Graphics G7 QE/CI
- Realtek ALC 256 내장 마이크 입력
- 완전한 Power Management 전력 관리
- 내장 디스플레이 밝기 조절
- Fn 키 디스플레이 밝기 & 사운드 음량 조절
- 잠자기 & 깨우기
Intel AX201 무선 랜카드의 블루투스는 아직 테스트하지 않아서
일부 설정을 추가하고 방금 테스트해보니 잘 작동합니다.
기대했던 글입니다.(만,,iris 활성화는 아직이네요.. 언젠가 방법이 나올걸 기대합니다.)계속 수정,개선, 안정화 기대합니다.
역시 shl628님의 도전정신을 응원합니다. 새로운 정보와 글 감사합니다.
airportitlwm 을 사용하시나요? 아님 itlwm +heliport 로 하시나요
오랜만에 접속했네요.
https://github.com/lshbluesky/Samsung-NT750XDA-KF59U-Hackintosh/discussions/15
올려주신 EFI 레포의 discussion에서 Iris Xe의 가속을 시도하는 사람들이 1년 가까이 의논 중입니다.
최근에는 뭔가 진전이 생길까 말까하는 분위기네요. 그중에는 "가속이 됐지만, 5초만에 커널패닉을
마주했다"는 경험담도 있었습니다. 저것이 사실이라면 어마어마한 비약이긴 하지만, 아직 검증이 필요합니다.
현재 메인 랩탑이 엘더레이크 젠북이라, 조만간 저도 시도해보려고 합니다.
정말 실낱같은 희망이지만, Iris Xe로 해킨토시를 돌릴 수 있으면 좋겠어요.
Intel 12th Gen Alder Lake 노트북에서 시도해보실 예정이시면 WhateverGreen 소스 코드를 수정하고 직접 빌드하여 사용해야 할 것 같습니다.
kern_igfx.cpp 에서 아래의 코드와 같이 ICLLP Framebuffer 로 지정되어 있지 않으면 -igfxcdc 부트 옵션이 작동하지 않는 것 같습니다.
currentGraphics = &kextIntelICL;
currentFramebuffer = &kextIntelICLLPFb;
NootedBlue로 시도해볼까 합니다. discussion에 "opencore 개발자한테 물어보니 NootedBlue가 tigerlake에서 동작함을 확인했다"는 카더라가 있습니다. 개발자와의 대화내역을 올린 거 같은데, 이미지가 제대로 업로드되지 않아 진위확인이 현재 안되고 있습니다. 다만, 해당 유저가 efi 파일을 첨부해서 한번 써보라고 권하네요. 준비 갖춰서 해보겠습니다.
원래, ChefKissInc 공식 GitHub 사이트에 NootedBlue 저장소가 있었는데
NootedBlue 저장소를 Private(비공개)으로 전환하거나 삭제한 것 같습니다.
단, NootedBlue 프로젝트가 완전히 중단된 것은 아니며,
AMD 와 관련된 LegacyRed 등의 프로젝트 개발에 더 중점을 두기 위하여 그런 것 같습니다.
기존의 ChefKissInc - NootedBlue 저장소를 Fork 한 다른 사용자의 NootedBlue 저장소는 아직 존재합니다.
제가 Intel 12th Gen Alder Lake 노트북의 Intel Iris Xe 내장 그래픽에서도 작동하도록
WhateverGreen 소스 코드를 수정하고 컴파일 & 빌드하여 저의 GitHub 저장소에 업로드해 놓았습니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +28 | 728 | 24.10.1121:10 | 좌절금지 |
오픈코어 1.0.2 +22 | 540 | 24.10.0900:22 | 줌바이퍼 |
[중급편] 노트북 해킨 +16 | 1363 | 24.07.1219:19 | Stultus |
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +16 | 557 | 24.09.1917:09 | 좌절금지 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +31 | 889 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 3975 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5032 | 24.01.1218:54 | Stultus |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +67 | 5.1만 | 23.01.0913:39 | shl628 |
451 | 24.10.1412:27 | shl628 | |
583 | 24.10.1316:00 | 수박 | |
320 | 24.10.1222:56 | Stultus | |
728 | 24.10.1121:10 | 좌절금지 | |
401 | 24.10.1115:53 | 수박 | |
540 | 24.10.0900:22 | 줌바이퍼 | |
1363 | 24.07.1219:19 | Stultus | |
1168 | 24.10.0500:31 | 줌바이퍼 | |
562 | 24.10.0410:49 | Tamy | |
731 | 24.09.2923:48 | 머트 | |
622 | 24.09.2822:28 | 머트 | |
446 | 24.09.2808:22 | Tamy | |
876 | 24.09.2321:32 | Stultus | |
990 | 24.09.2210:59 | 좌절금지 | |
626 | 24.09.2203:23 | 누림어멈 | |
1158 | 24.09.1919:17 | 좌절금지 | |
557 | 24.09.1917:09 | 좌절금지 | |
496 | 24.09.1813:37 | Stultus | |
889 | 24.09.1723:58 | 좌절금지 | |
590 | 24.09.1722:40 | 좌절금지 | |
450 | 24.09.1717:13 | 맥가즈아 | |
555 | 24.09.1708:13 | 김경석 | |
226 | 24.09.1617:47 | Panictosh | |
758 | 24.09.1504:35 | Tamy | |
577 | 24.09.1319:18 | Stultus | |
693 | 24.09.1019:44 | 치토 | |
482 | 24.09.0118:13 | 머핀X | |
447 | 24.09.0112:54 | 해킨도전자 | |
536 | 24.08.3115:34 | 머핀X | |
299 | 24.08.2601:42 | 화정큐삼 | |
300 | 24.08.2422:59 | 하나브 | |
315 | 24.08.2316:25 | 화정큐삼 | |
411 | 24.08.1810:56 | CanBe | |
358 | 24.08.1800:04 | 화정큐삼 | |
297 | 24.08.1722:03 | 화정큐삼 | |
197 | 24.08.1710:14 | jbhlyk | |
309 | 24.08.1622:06 | Stultus | |
214 | 24.08.1511:16 | hackillious | |
161 | 24.08.1421:30 | 세유니 | |
416 | 24.08.1419:58 | Stultus | |
375 | 24.08.1311:26 | 오디세이 | |
253 | 24.08.1115:46 | 좌절금지 | |
184 | 24.08.1111:21 | 티타보르 | |
231 | 24.08.1022:46 | Stultus | |
521 | 24.08.1022:10 | 오디세이 | |
166 | 24.08.1019:05 | jbhlyk | |
192 | 24.08.0923:20 | RogerT | |
336 | 24.08.0717:18 | 좌절금지 | |
129 | 24.08.0609:17 | RogerT | |
568 | 24.08.0606:14 | 줌바이퍼 | |
86 | 24.08.0523:34 | jbhlyk | |
260 | 24.08.0521:10 | 수인과윤슈 | |
880 | 24.08.0521:08 | 좌절금지 | |
603 | 24.08.0221:07 | Stultus | |
389 | 24.07.3019:12 | Tamy | |
340 | 24.07.2915:37 | 해킨도전자 | |
272 | 24.07.2813:52 | june119 | |
301 | 24.07.2112:43 | Stultus | |
4030 | 23.05.0502:19 | BlueGuerrilla | |
3727 | 21.08.0213:10 | 김태국 | |
275 | 24.07.1122:47 | Stultus | |
211 | 24.07.1020:44 | Stultus | |
247 | 24.07.0921:44 | Stultus | |
370 | 24.07.0820:57 | Stultus | |
198 | 24.07.0811:28 | 의정이 | |
381 | 24.07.0721:25 | Stultus | |
357 | 24.07.0604:41 | bsiugr | |
643 | 24.07.0509:56 | 애플브리크 | |
2434 | 24.02.1715:21 | 광호 | |
470 | 24.06.2723:24 | 치토 | |
239 | 24.06.2617:24 | talas | |
155 | 24.06.2120:58 | 블루사탕 | |
551 | 24.06.1609:01 | gtrfxdsp | |
387 | 24.06.1401:04 | Mactopia | |
848 | 24.06.1120:40 | Stultus | |
762 | 24.06.1115:07 | 새콤칠리 | |
118만 | 23.02.2118:35 | 좌절금지 | |
311 | 24.06.1001:11 | Steer | |
210 | 24.06.0810:09 | Door | |
466 | 24.06.0107:41 | Tamy |
좋은 정보 감사합니다. AX201 블루투스도 잘 작동하는지 궁금합니다.