시스템 사양 선택 | 1번 |
---|
https://www.insanelymac.com/forum/topic/334899-intel-framebuffer-patching-using-whatevergreen/
제목의 원문입니다.
프레임버퍼를 패칭하는 이 방법은 커피레이크 이후, Whatevergreen과 lilu가 버전업되면서 그 이전의 패치 방법이 문제가되자
나온 방법이라고 알고 있습니다.
이전에도 한분이 이 글을 소개하셨는데
거기에 덧붙인다고 생각하고 보시면 되겠습니다.
물론 커피레이크 이전이나 이후의 CPU에도 당연히 적용됩니다.
제가 참고한 원 글타래는 미친맥 이었습니다.
아래는 원문에서 풀어나가면서 몇가지 방법을 제시하는데 그중에서 편한 쪽으로 저는 택하여 작업하였고 그걸 안내해 드리겠습니다.
제 글과 원문을 비교하면서 보시면 상호 보완되리라 생각합니다. 참고로 저도 이 원문을 완전히 이해했다고 보지 않습니다. 그래서 잘못된 사항이 있으면 댓글로 알려주시면
고맙겠습니다.
A) lilu와 whatevergeen을 이용한 프레임버퍼 패치를 하기 위한 선결조건.
(패치를 위한 것이지 lilu와 whatevergreen을 쓰기 위하여서는 이렇게 해야된다가 아닙니다. 하지만 경험상 이렇게 하는 것이 여러 문제가 없었습니다)
1. 제거(kext):
- FakePCIID_Intel_HD_Graphics
- IntelGraphicsFixup
- NvidiaGraphicsFixup
- CoreDisplayFixup
- Shiki
2. 클로버 인젝션 끄기:
- config.plist/Graphics/Inject/ATI=NO
- config.plist/Graphics/Inject/Intel=NO
- config.plist/Graphics/Inject/NVidia=NO
- config.plist/Graphics/ig-platform-id=값없음
- config.plist/Devices/FakeID/IntelGFX=값업음
3. 클로버의 DSDT항목 끄기:
- AddHDMI
- FixDisplay
- FixIntelGfx
- AddIMEI
4. UseIntelHDMI 끄기
5. boot argument제거: -disablegfxfirmware(제거)
6. 다음중 IGPU 와 HDMI 에 관계된 항목 제거:
- config.plist/Devices/Arbitrary
- config.plist/Devices/Properties
- config.plist/Devices/AddProperties
7. SSDT 와 DSDT 에 있는 IGPU and HDMI와 관계된 모든 항목 제거 :
- CLOVER/ACPI/patched에 있는것.
8. GFX0 -> IGPU 이름변경(whatevergreen이 이 문제를 자동으로 해결해 주지만 whatevergreen 내에 포함되어 있지 않은 것들이 있다면 변경해야함.)
B)Lilu와 whatevergreen 컴파일하기
제가 쓴 방법만 올리겠습니다
1. X-code 설치(AppStore)하고 1회 실행후 종료하기.(1번이라도 실행하지 않으면 X-code가 작동하지 않습니다)
3. build_lilu.sh 다운받기 https://headsoft.com.au/download/mac/build_lilu.zip
4. 터미널을 열고 build_lilu.sh를 창으로 끌어다 놓으면 자동으로 X-code를 이용해 컴파일을 시작합니다. 끝이나면 홈디렉토리에
이렇게 디버그 버전과 릴리즈 버전이 생성이 됩니다. 디버그 버전과 릴리즈 버전은 나중에 각기 따로 쓰입니다.
C) 패치과정
1)gfxutil을 다운 받아 터미널로 옮겨 실행합니다.
그러면 다음과 같거나 유사한 결과가 나옵니다.
DevicePath = PciRoot(0x0)/Pci(0x2,0x0)
값이 틀려도 자신의 devicePath이니 기록해 둡니다.
2)여기서 부터는 plistPro를 쓰거나 X-code를 쓰는게 편합니다.
plistpro를 실행하여 패치를 실행합니다. 몇가지 방법이 있는데 나머지는 원문을 참조하시고 저는 한가지 방법만 올리겠습니다.
1. Arbitrary (Recommended)
framebuffer-patch-enable (required to enable below)
framebuffer-framebufferid (optional; defaults to current platform-id)
(all below are optional)
framebuffer-mobile
framebuffer-pipecount
framebuffer-portcount
framebuffer-memorycount
framebuffer-stolenmem
framebuffer-fbmem
framebuffer-unifiedmem
framebuffer-cursormem (Haswell only)
framebuffer-conX-enable (required to enable below)
framebuffer-conX-index
framebuffer-conX-busid
framebuffer-conX-pipe
framebuffer-conX-type
framebuffer-conX-flags
패치의 종류입니다. 두부분으로 나뉘어져 있는데 상단은 선택할수 있는 옵션메뉴이기에 하지 않아도 관계없지만 하단은 필수 사항입니다.
저기에 conX라는 부분의 번호와 그 값을 찾는게 사실 가장 중요한 일입니다.
CPU버전과 자신의 보드에 맞는 따른 정확한 값을 찾아야 하는데 원문을 보시면 cpu의 세대에 따른 값이 일일이 나열되어 있습니다.
하지만 자신의 보드에 몇번이 connect되는지 찾아서 쓰기에 너무 번거롭고 복잡한데(IOresistry Explorer로 현재 매치되어 있는 모니터와 포트의 넘버가 확인 가능합니다)
FB Patcher를 쓰면 이 과정을 상당히 줄일 수 있습니다 .Intel FB-Patcher
다운받아서 보시면
아무 값도 생성되지 않은 상태로 있을 겁니다. 상단의 메뉴에서 Framebuffer를 보시면 current version이라고 체크되어 있을텐데 여기에 자신에게 맞는 버전을 체크해 주시고
패처에 자신의 CPU종류 Intel Gen이라고 표기되어 있는곳을 눌러 자신의 값을 택합(Coffe Lake등등)니다.
플랫폼아이디는 coffelake의 desktop모델은 3EE9B0007이며 여타의 세대는 원문을 참조하여 주시기 바랍니다.
위와같이 적용하고 나면
위의 그림처럼 내용이 바뀌어 있을 겁니다.
세번째 그림을 보시면 1,2,3번 항목이 다 DP라고 되어 있는 것이 보이실 겁니다. 이것이 UHD630의 기본 포트 출력타입 입니다.
이걸 자신에게 맞게 수정하셔야 합니다.
항목들은 통째로 드래그하여 서로 밀어올리거나 내릴 수 있어서 순서를 바꿀 수 있고 type의 아래위 화살표를 눌러보면 타입도 바꿀 수 있습니다.
저는 제게 맞게 네번째 그림처럼 바꿔봤습니다.
-1로 표시하면 쓰지않는 포트로 인식합니다.
이것을 기초로 이제 패치 작업을 시작합니다. FB-Patcher의 네번째 항목 Patch를 보시면
general과 advance Menu가 있는데
general에서는 Device/Properties를 선택해 주시고(다른 방법은 모하비 이전의 패치방법입니다) 나머지는 옵션입니다.
커넥터, Vram, audio, USB등도 수정할 수 있는데 이야기가 길어질 것 같아서 connector와 vram에 체크 하겠습니다.
advance항목을 보면 여러가지가 있는데 이 옵션은 자신의 보드의 상황에 따라서 달라지므로 여러가지 테스트를 해보시는게 좋습니다.
마찬가지로 저는 port와 그래픽 vram에 관한 사항만 체크하겠습니다. 이 적용의 상단 그림의 마지막 그림입니다. 이제 패치를 실행합니다.
결과는
아래에 패치되어 plist의 형식으로 출력되었습니다. 이 값을 아래그림처럼 clover config.plist의 형식으로 저장하여서 써도 되고
제방식 대로 해도 됩니다.
일단은 제 방식으로 상단의 plist출력된 것을 전부 선택하여 copy합니다.
plistPro를 엽니다. 하단부의 텍스트 모드를 전부 선택하고 지운뒤, 좀전에 복사해 놓은 것을 붙여넣기하고 sync outline을 선택합니다.
좌측은 싱크전 우측은 싱크 후 입니다. 이것은 단지 패치만 적용된 plist이므로 자신들이 쓰는 config.plist등에 적용시켜야 합니다.
자신이 쓰는 config.plist를 열어놓고 상단 우측그림의 properties항목을 복사한다음
자신의 config.plist의 device항목에 paste as Child로 붙여 넣기 합니다. 결과는 다음 그림과 같습니다.(그림은 참고만 하십시오 정확한 값이 아닙니다)
이로서 패치 작업은 다 끝났습니다.
clover configurator로 보면 다음과 같습니다.
하지만 아직 한가지 작업이 남았습니다. 아까 만들어 놓은 lilu와 whatevergreen의 디버그 버전 kext를 clover EFI에 넣고
Boot argument에 -igfxdump를 추가하여 패치결과를 출력해야 합니다. 이 결과값을 나중에 다시 FB Patcher에
가지고 와서 잘못된 것을 수정해야 합니다. 이것은 자신의 부트 루트 디렉토리에 저장이 됩니다.
10.18.0은 수정전, 10.18.2는 수정 후입니다. 이 수정후 파일을 FB Fatcher에 import시켜 잘못된 것을
다시 패치 시킵니다.
패치작업이 깔끔하게 이루어지고 바라는 바 대로 되었으면 kext를 다시 realese버전으로 돌려 놓는 것이
마지막 작업입니다.
원문을 그대로 옮기자니 너무 길어서 원문을 참고하여 제가 했던 방법대로 나열해 보았는데
많이 거칠고 미진합니다. 제 글을 기초로 해서 엑팔육 회원님들이 살을 덧붙여 완성해주셨으면 좋겠습니다.
*추가*
원문에는 lilu와 wahtevergreen을 컴파일 시킨후 프레임 버퍼를 패치하고 디버그버전의 lilu와 wahtevergreen kext를 해당 폴더에 넣고 -igfxdump의 argument 적용후,
덤프결과를 FB-Patcher에 적용시키라고 되어 있습니다.
제가 설명한 방법은 FB-Patcher위주이기 때문에 이 과정을 반대로 한 것입니다. 다시 말하자면 FB-Patcher를 적용시킨후에 그 결과의 덤프값을 보고 수정하는 것으로
했습니다. 왜냐하면 FB-Patcher 자체가 패처이기 때문에 머리아파 하면서 수작업의 패칭을 할 필요가 없기 때문이라고 판단했기 때문입니다.
단, 원문대로 하면 FB-Patcher의 적용이 더 쉽습니다. 원문의 방법과 제 방법이 어느 것이 더 손쉬운지는 각자 알아서 판단하시면 되겠습니다.
저는 전공이 그림쪽이어서 컴퓨터쪽 전공자입장에서는 컴알못이라 어쩌면 말도 안되는오류를 저질렀을 수도 있습니다. 단지 삽든지가 오래되었고(ㅡㅡ;)
영문을 자주 접하는 직업이다보니 용기를 내어 팁게시판에 글을 올린점 이해해 주시면 감사하겠습니다.
답변 감사합니다. 그럼 결국 기기에 맞게 lilu.kext와 whatevergreen.kext를 다시 컴파일 하는건 필수사항이라고 이해하면 되나요?
아니면 릴리스된 즉 컴파일이 완료된 해당파일들로도 해당픽스가 작동한다고 이해해야 하나요?
패치결과를 참조해서 잘못된 패치정보를 추적하기 위해서 즉 패치상태의 모니터링에 필요하기 때문이라는 말씀이시군요
답변 감사합니다.
내장 비활성(구형이니) 으로 당장 해볼 삽질은 아니지만 간만에 뭔가 끔틀거리게 만드는 정보글 너무 좋고 감사합니다.
집에가면 원문이랑 작업 내용이랑 차근차근 이해 해봐야 겠습니다. ^^
답변 감사드려요..근데 dvmt 설정을 어디서 해야되는지 모르겠어요.. custom flag에 -cdfon을 넣으라는 말씀도 어떻게 적용해야되는지 감을 못잡겠습니다. 다시 죄송합니다만 자세히 설명 부탁드려봅니다.
제가 장거리 운전중이라 자세한 답변은 못드리겠지만 bus-id는 IGPU2 바로밑에 appleintelgraphic buffer0, buffer1 이런식으로 되어 있는데 만약 모니터가 활성화되었다면 각각의 프레임버퍼에 display0라는 항목이 생성이 되어있을겁니다. 0는 내장으로 인식되며 1,과2에 원하는 포트가 활성화 되어 있어야 할겁니다. 또 각각의 프레임버퍼 밑에 포트넘버는 conneted-port 0x05 이런 형식으로 확인할수 있습니다
제가 출장중이라 한동안은 자세한 답변 드리지 못할것 같네요. 지금 댓글도 기억에 의존하는거라 다소 부정확 할 수 있습니다. Flag는 저도 확인할 수 없었습니다. .
혹시 해당팁 적용 후에 현재 i3 8100 asrock deskmini310보드 조합에서 모든 포트가 출력가능하신 건지요?
엑팔육에서 uhd630 활성화시켰단 소식까지 듣었는데 아직 제컴에 접근 하지못할 상황이라 테스트 못해봤습니다.
아 그렇군요 저역시도 i3 8100으로 고군분투 중이라 시간되실때 출력부분 확인되시면 피드백 주시면 감사하겠습니다.
답변 감사합니다.
대단하시네요. 저도 시간이 있으면 천천히 따라서 해 보아야겠네요.
좋은 정보에 감사드리며 즐거운 하루 되세요.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +30 | 954 | 24.10.1121:10 | 좌절금지 |
오픈코어 1.0.2 +23 | 587 | 24.10.0900:22 | 줌바이퍼 |
[중급편] 노트북 해킨 +16 | 1417 | 24.07.1219:19 | Stultus |
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +17 | 581 | 24.09.1917:09 | 좌절금지 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +31 | 912 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 4011 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5106 | 24.01.1218:54 | Stultus |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +67 | 5.1만 | 23.01.0913:39 | shl628 |
118 | 24.10.2322:26 | 뿌엥 | |
137 | 24.10.2321:29 | 해킨도전자 | |
120 | 24.10.2319:04 | 사노라맨 | |
806 | 24.10.1412:27 | shl628 | |
706 | 24.10.1316:00 | 수박 | |
349 | 24.10.1222:56 | Stultus | |
954 | 24.10.1121:10 | 좌절금지 | |
741 | 24.10.1115:53 | 수박 | |
587 | 24.10.0900:22 | 줌바이퍼 | |
1417 | 24.07.1219:19 | Stultus | |
1229 | 24.10.0500:31 | 줌바이퍼 | |
569 | 24.10.0410:49 | Tamy | |
754 | 24.09.2923:48 | 머트 | |
629 | 24.09.2822:28 | 머트 | |
465 | 24.09.2808:22 | Tamy | |
896 | 24.09.2321:32 | Stultus | |
995 | 24.09.2210:59 | 좌절금지 | |
648 | 24.09.2203:23 | 누림어멈 | |
1197 | 24.09.1919:17 | 좌절금지 | |
581 | 24.09.1917:09 | 좌절금지 | |
498 | 24.09.1813:37 | Stultus | |
912 | 24.09.1723:58 | 좌절금지 | |
603 | 24.09.1722:40 | 좌절금지 | |
455 | 24.09.1717:13 | 맥가즈아 | |
563 | 24.09.1708:13 | 김경석 | |
234 | 24.09.1617:47 | Panictosh | |
770 | 24.09.1504:35 | Tamy | |
585 | 24.09.1319:18 | Stultus | |
707 | 24.09.1019:44 | 치토 | |
484 | 24.09.0118:13 | 머핀X | |
463 | 24.09.0112:54 | 해킨도전자 | |
547 | 24.08.3115:34 | 머핀X | |
307 | 24.08.2601:42 | 화정큐삼 | |
306 | 24.08.2422:59 | 하나브 | |
321 | 24.08.2316:25 | 화정큐삼 | |
416 | 24.08.1810:56 | CanBe | |
363 | 24.08.1800:04 | 화정큐삼 | |
301 | 24.08.1722:03 | 화정큐삼 | |
201 | 24.08.1710:14 | jbhlyk | |
314 | 24.08.1622:06 | Stultus | |
220 | 24.08.1511:16 | hackillious | |
169 | 24.08.1421:30 | 세유니 | |
419 | 24.08.1419:58 | Stultus | |
377 | 24.08.1311:26 | 오디세이 | |
273 | 24.08.1115:46 | 좌절금지 | |
186 | 24.08.1111:21 | 티타보르 | |
233 | 24.08.1022:46 | Stultus | |
542 | 24.08.1022:10 | 오디세이 | |
168 | 24.08.1019:05 | jbhlyk | |
200 | 24.08.0923:20 | RogerT |
최고십니다 ㅎㅎㅎㅎ