시스템 사양 선택 | 3번 |
---|
안녕하세요.
여기에서는 랩탑(Laptop, 이하 노트북)의 출력 장치 설정에 관한 내용을 다룹니다.
※ 본문에 들어가기 전에
- 이 글은 개념의 이해 같은 원론적인 얘기는 다루지 않고, 방법론적인 측면에서 진행합니다.
- 오픈코어(Opencore) 사용을 전제로 합니다.
- 사진은 클릭하면 커집니다.
1. 내장 디스플레이
1-1. Platform ID
(데스크탑에서는 DP, HDMI, DVI 등의 단자를 통해 외부 디스플레이와 연결되는데 반해) 노트북은 eDP, LVDS 등의 커넥터(Connector)를 통해 내장 디스플레이와 연결됩니다. 따라서 같은 세대, 같은 내장 그래픽(iGPU)을 사용하는 (인텔) CPU인데도 그 설정값(Platform ID)이 다릅니다.
인텔 8세대 시스템을 예로 들어보면, Dortania Guide에 나온 것처럼 데스크탑과 노트북의 설정값이 다른 것을 볼 수 있습니다.
Desktop Coffee Lake | OpenCore Install Guide (dortania.github.io)
Laptop Coffee Lake and Whiskey Lake | OpenCore Install Guide (dortania.github.io)
그렇다면 어떤 Platform ID를 사용해야 하는지 그리고 관련 커넥터 정보를 어디에서 확인할 수 있을까요? 바로 'WhateverGreen 설명서(Manual)'에서 찾을 수 있습니다.
WhateverGreen/Manual/FAQ.IntelHD.en.md at master · acidanthera/WhateverGreen · GitHub
위 사진에서 'Mobile'로 표시된 노란색 상자는 노트북용 설정값이고 그 외는 데스크탑용입니다. 해당 위치에서 표 바로 아래를 보면 다음 사진과 같이 각 Platform ID(Framebuffer)의 구성 내용이 나와 있습니다.
만약 내장 그래픽으로 UHD 630을 사용하는 노트북인데, Dortania Guide에 나온 Platform ID로 화면 출력이 안 되면 어떻게 해야 할까요?
위 사진들처럼 'WhateverGeen 설명서'에서 Platform ID와 커넥터 정보를 살핀 후, 맞는 설정값('LVDS'가 있는 Platform ID)을 EFI에 주입하면 됩니다. (Platform ID와 Framebuffer의 관계는 초급편에서 이미 다루었기 때문에 따로 언급하지 않습니다.)
GUIDE - How to Check Laptop Internal Display Connector | EliteMacx86 Forum
WhateverGreen//FAQ.IntelHD.en.md at master · acidanthera/WhateverGreen · GitHub
1-2. 해상도 (Resolution)
QHD, UHD 등 FHD(1920x1080)를 초과하는 최대 해상도를 가진 디스플레이를 사용할 때 제대로 화면 출력이 안 되는 경우가 있습니다. 이 때에는 'config.plist - NVRAM - Add - 7C436110-... - boot-args'에 '-igfxmpc' 옵션을 추가합니다. 만약 해당 옵션만으로 해결이 안 되면 '-igfxmlr' 옵션도 추가합니다.
1-3. 밝기 조절 (Backlight Control)
Dortania Guide에서 관련 내용은 다음과 같습니다.
Fixing Backlight (SSDT-PNLF) | Getting Started With ACPI (dortania.github.io)
Fixing Backlight: Prebuilt | Getting Started With ACPI (dortania.github.io)
위의 내용처럼 범용(Prebuilt) 'SSDT-PNLF.aml'을 사용해도 대부분 잘 작동하므로, 따로 가공하기보다 해당 파일을 사용하는 걸 추천합니다. 만약 'SSDT-PNLF.aml' 주입 후에도 밝기 조절이 안 되는 경우(즉, ASL Device가 없는 경우) 'SSDT-ALS0.aml'도 추가합니다.
'SSDT-ALS0.aml'의 역할은 'Fake ALS(Ambient Light Sensor) Device'를 주입하는 것으로, macOS 10.15 Catalina부터 ALS Device가 인식되어야 노트북 내장 디스플레이의 밝기 조절이 정상적으로 작동합니다.
OpenCorePkg/Docs/AcpiSamples/Source/SSDT-ALS0.dsl at master · acidanthera/OpenCorePkg · GitHub
'SSDT-PNLF.aml'과 'SSDT-ASL0.aml' 모두 오픈코어 패키지(Opencore Pkg)에 포함되어 있습니다.
여기서 잠깐! Dortania Guide에는 각 시스템별로 필요한 SSDT 목록과 해당 SSDT가 어떤 역할을 하는지 설명도 함께 나옵니다. 따라서 해킨 시 이런 자료들을 그냥 넘기기보다 적어도 한 번은 훑어보시길 권합니다.
Prebuilt SSDTs | Getting Started With ACPI (dortania.github.io)
1-4. Fn 키를 이용한 밝기 조절 ※ macOS 설치 후 안정화 단계에서 진행 권장
밝기 조절 Fn 키 설정을 위해 'BrightnessKeys.kext'를 사용합니다.
Releases · acidanthera/BrightnessKeys (github.com)
만약 켁스트 주입으로 작동하지 않는 경우 직접 DSDT에서 밝기 조절 Fn 키를 담당하는 부분을 패치해야 하는데, 관련 내용은 아래 링크로 대신합니다.
[해결완료] 밝기 조절 Fn 키가 동일한 _Q6E 내의 EC Query 에서 처리하는 경우의 Fn Key Remap 관련 문의 (x86.co.kr)
2. 외장 디스플레이
2-1. 영상 출력
노트북의 HDMI, USB-C 단자 등을 통해 외장 디스플레이를 연결하여 사용할 때가 있습니다. 이 때 '커넥터 패치(Patching Connector Types)'를 해야 화면이 출력되는 경우가 있는데, Dortania Guide에 관련 내용이 잘 나와 있습니다.
Patching Connector Types | OpenCore Post-Install (dortania.github.io)
사진에 보이는 바와 같이 USB-C 단자는 내부적으로 DP로 인식, (아래 사진과 같이 사용하는 Platform ID의 해당 커넥터가 DP인 경우) 별도의 커넥터 패치는 필요하지 않습니다.
그러나 HDMI 단자는 (macOS에서 자동으로 인식하지 않으므로) 커넥터 패치를 해야 외장 디스플레이로 출력이 되는데, 예를 통해 알아보겠습니다.
제 노트북은 HD 4400 내장 그래픽에 1개의 HDMI 출력 단자가 있는 인텔 4세대 시스템으로 내장 그래픽 설정은 다음과 같습니다.
'WhateverGreen 설명서'에서 해당 Platform ID를 찾아보면 3개의 커넥터로 구성되어 있고 0번은 LVDS, 1과 2번은 모두 DP로 설정되어 있습니다.
'IORegistryExplorer(이하 IOReg)'에서 외부 디스플레이가 몇 번 커넥터에 연결되어 있는지 확인할 수 있습니다.
내장 그래픽(iGPU@2) 하위의 'AppleIntelFramebuffer@x'에 'display' 항목이 아래 사진처럼 있으면 외장 디스플레이가 해당 커넥터에 연결되어 있는 것입니다. (좌절금지님 고스트 파일 사용 시 USB의 'UTIL' 폴더에 IOReg 있음)
아래 사진의 경우 외장 디스플레이는 1번 커넥터에 연결되어 있음을 알 수 있습니다.
Patching Connector Types | OpenCore Post-Install (dortania.github.io)
다시 돌아와서 외장 모니터와 연결하기 위해 노트북의 HDMI 출력 단자를 패치하였고, 그 내용은 사진과 같습니다.
Patching Connector Types | OpenCore Post-Install (dortania.github.io)
위에서 설명한 내용이 진짜 맞는지 예를 통해 확인해봅시다.
우선 0번 커넥터는 LDVS 즉, 내장 디스플레이입니다. 따라서 (별도의 설정은 안 했지만 사용한 Platform ID의 구성에 의해) 커넥터 타입이 '02 00 00 00'으로 표시되어야 하는데, 아래 사진을 보면 그렇게 나옵니다.
다음으로 외장 디스플레이 사용을 위해 1번 커넥터를 HDMI로 패치했는데, 사진을 보면 '08 00 00 00'으로 설정된 것으로 나옵니다.
마지막으로 (0번과 마찬가지로) 2번 커넥터도 별도의 설정을 안 했으니 DP로 표시되어야 하는데, 사진을 보면 '04 00 00 00'으로 설정된 것으로 나옵니다.
이렇게 노트북에서 지원하는 출력 단자를 알맞게 패치해주면 외장 디스플레이를 사용할 수 있습니다.
한편 커넥터 패치로도 외장 디스플레이 출력이 안 되는 경우가 있습니다. 이 때에는 Bus ID를 추가로 패치해야 하는데, 관련 내용은 링크 참고 바랍니다.
Patching Bus IDs | OpenCore Post-Install (dortania.github.io)
2-2. 소리(Sound) 출력
여기에서는 (내장 스피커가 아닌) 외장 디스플레이에서 소리 출력에 대한 내용을 다룹니다. 그리고 따로 언급은 안 하지만 'layout-id'는 사전에 설정되어 있어야 합니다.
내장 스피커 또는 'layout-id' 관련 정보는 아래 링크 참고 바랍니다.
초급편 - 오디오 설정, 다중 채널, AppleALC (x86.co.kr)
외장 디스플레이의 소리 출력은 'AppleALC.kext'와 함께 그래픽 가속이 활성화되면 자동으로 'HDAU(HDMI Audio)' Device를 인식하지만, 그렇지 않은 경우 패치가 필요합니다.
패치 방법으로 두 가지 경로 즉, 내장 그래픽 PCI 경로와 소리 PCI인 'HDEF(High Definition Audio)' PCI 경로에 관련 항목을 추가해야 합니다.
(인텔 CPU 5세대 이하는 'PciRoot(0x0)/Pci(0x1B,0x0)'에 그리고 6세대 이상은 'PciRoot(0x0)/Pci(0x1F,0x3)'에 HDEF Device 위치)
먼저 내장 그래픽 PCI 경로인 'PciRoot(0x0)/Pci(0x2,0x0)'에 사진과 같이 'hda-gfx' 속성을 주입합니다.
다음으로 HDEF(소리) PCI 경로인 'PciRoot(0x0)/Pci(0x1B,0x0)' 또는 'PciRoot(0x0)/Pci(0x1F,0x3)'에 'hda-gfx' 속성을 주입합니다.
인텔 4, 5세대 CPU의 경우 예외적으로 HDEF가 아닌 HDAU PCI 경로에 'hda-gfx'와 'layout-id'를 추가로 주입해줘야 합니다.
가끔 위의 내용에 추가하여 HDEF Device ID로 Fake ID를 주입해야 소리가 나는 경우가 있습니다. 이 때에는 HDEF PCI 경로에 'device-id = 0C0A0000 (Data)' 속성을 직접 입력하거나, 두 켁스트 'FakePCIID.kext'와 'FakePCIID_Intel_HDMI_Audio.kext'를 추가하면 됩니다.
RehabMan / OS-X-Fake-PCI-ID / Downloads — Bitbucket
내용은 여기까지입니다.
동일 주제로 해킨정보 게시판이나 해킨질답 게시판에 위에 언급한 것 이외에 추가 설명 등이 나와 있는 글(댓글)들이 있으니 관련 단어로 검색해보시면 많은 도움이 될 것 같습니다.
(누락 또는 잘못된 내용이나 오탈자 등 오류가 있는 경우 댓글로 말씀해주시면 수정하겠습니다.)
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +28 | 727 | 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 | |
727 | 24.10.1121:10 | 좌절금지 | |
401 | 24.10.1115:53 | 수박 | |
540 | 24.10.0900:22 | 줌바이퍼 | |
1363 | 24.07.1219:19 | Stultus | |
1167 | 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 |
감사합니다!