안녕하세요
그 동안 Clover의 P-State, C-State Generate 기능으로 SpeedStep 잘쓰다가 무슨 바람이 들었는지 갑자기 XCPM 써보고 싶어서 삽질하다가
간단하게 Clover kext 로 FrequencyVectors를 추가하는 방법이 있어서 공유 드립니다.
0-1. 대상
MacPro6,1으로 XCPM을 써보고자 하는 아이비브릿지, 하스웰, 브로드웰 사용자
- 카비레이크, 스카이레이크는 필요없다고 하는데 안써서 잘모릅니다....
- 아이비브릿지 이전은 XCPM이 지원하지 않습니다. (아이비브릿지도 10.12 까지 커널 패치가 있었는데 HighSierra용은 못찾겠습니다...
- MacPro6,1은 CPU Scaling을 위한 FrequencyVectors가 없어서... SpeedStep이 비정상 동작, 부팅중 오류 메시지 발생 한다고 합니다. 이부분을 다른 Model의 FrequencyVectors를 쓰게 하는 방식입니다.
0-2. 준비
ssdtPRGen.sh (https://github.com/Piker-Alpha/ssdtPRGen.sh)
Lilu.kext (https://github.com/acidanthera/Lilu)
CPUFrend.kext (https://github.com/PMheart/CPUFriend)
freqVectorsEdit (https://github.com/Piker-Alpha/freqVectorsEdit.sh)
MaciASL (https://sourceforge.net/projects/maciasl/)
0-3. 경고
잘못하면 Clover로 부팅 자체가 안될수 있습니다.
USB로 부팅할 수 있게 USB에 Clover 설치해 두세요.
반드시... 꼭, 만들고, 만들어서 부팅해보세요.
CPUFrendDataProvider 방식이면 아마 -cpufoff 옵션을 줘서 부팅이 가능할 수도 있습니다....
1. 부팅중 오류 메시지 확인
X86PlatformShim::start - Failed to send stepper
```
log show --predicate "processID == 0" --style compact --debug --info --color=always --start $(date +%Y-%m-%d) | less
```
위 명령어로 확인시 오류 메시지 있을때 적용
https://github.com/Piker-Alpha/ssdtPRGen.sh/issues/65
2. SSDT.aml 생성
후술할 데이터를 생성법중 SSDT.aml 수정에 쓰일 파일입니다.
기존 파일이 있으면 그걸 쓰시면 되고 CPUFriendProvider.kext 생성해서 쓰시려면 이 단계는 필요없습니다.
간단하게 ssdtPRGen.sh 받아서 실행하시면 SSDT.aml이 생성 됩니다. 이걸 복사해 오면 됩니다.
- 꼭 -x 1 옵션을 주세요... XCPM 활성화 옵션입니다.
```
rm -rf ~/ssdtPRGen.sh ~/ssdt.aml
curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
chmod +x ~/ssdtPRGen.sh
./ssdtPRGen.sh -x 1
cp ~/Library/ssdtPRGen/ssdt.aml ./
```
3. 벡터 이미지 선택
간단하게 freqVectors.sh 실행하여 목록 패치를 수행합니다.
- S/L/E 수정을 막기위해 로컬로 복사하는 작업이 있고 약간의 패치가 있습니다.
```
rm -rf ~/freqVectorsEdit.sh
curl -o ~/freqVectorsEdit.sh https://raw.githubusercontent.com/Piker-Alpha/freqVectorsEdit.sh/master/freqVectorsEdit.sh
chmod +x ~/freqVectorsEdit.sh
/usr/bin/sed -i "" -e "s/^\(gExtensionsDirectory\)=.*$/\1=\"~\/\"/g" freqVectorsEdit.sh
cp -r /System/Library/Extensions/IOPlatformPluginFamily.kext ~/
./freqVectorsEdit.sh
```
결과 조회 후 모델 plist를 선택합니다.
- 아래와 같은 목록이 나오면 제일 맞는 모델을 확인합니다.
- 보통 29번에 있는 Macmini7,1을 많이 선택합니다. (솔직히 뭐가 잘맞는 모델인지는 모릅니다....)
- 아이비 제온은 MacBookAir6,2 도 선택한다고 합니다.
- 완료하고 재부팅 무시하세요....
4. CPUFrend 다운로드
CPUFriend와 ResourceConverter.sh를 다운로드합니다.
```
rm -rf ~/CPUFrend-1.1.3.RELEASE.zip ~/ResourceConverter.sh ~/CPUFriend.kext ~/CPUFriendDataProvider.kext
curl -o ~/CPUFrend-1.1.3.RELEASE.zip -L https://github.com/PMheart/CPUFriend/releases/download/1.1.3/1.1.3.RELEASE.zip
unzip ~/CPUFrend-1.1.3.RELEASE.zip
curl -o ~/ResourceConverter.sh https://raw.githubusercontent.com/PMheart/CPUFriend/master/ResourceConverter/ResourceConverter.sh
chmod +x ~/ResourceConverter.sh
```
여기서 부터 두가지 방법이 있습니다. (https://github.com/PMheart/CPUFriend/blob/master/Instructions.md 참고)
5-1. CPUFriendProvider.kext 생성
간단한 방법입니다. 다운로드 받은 CPUFriend.kext와 ResourceConvert.sh 로 생성되는 CPUFriendDataProvider.kext를 Clover kext에 추가하여 사용하는 벙법입니다.
```
~/ResourceConverter.sh --kext ~/X86PlatformPlugin.kext/Contents/Resources/Mac-F60DEB81FF30ACF6.plist
```
이렇게하면 CPUFriendDataProvider.kext 가 생성 됩니다.
CPUFriend.kext와 CPUFriendProvider.kext 두 파일을 Clover kext에 복사하시면 됩니다.
5-2. SSDT.aml 수정
FreqVectors를 SSDT에 추가하는 방식입니다.
우선
```
~/ResourceConverter.sh --acpi ~/X86PlatformPlugin.kext/Contents/Resources/Mac-F60DEB81FF30ACF6.plist
```
ssdt_data.dsl이 생성됩니다.
위에서 생성한 SSDT.aml (또는 기존에 사용하는 던 SSDT.aml)과 ssdt_data.dsl을 MaciASL로 열어 줍니다.
```
open SSDT.aml ssdt_data.dsl
```
ssdt_data.dsl에서 아래 영역을 복사합니다.
- Methd (Package (0x04) { ... }) 입니다.
복사한 영역을 SSDT.aml 에 넣어줍니다.
- 복사할 위히는 Scope (\_PR.CPU0) 의 마지막 블럭으로 _DSM으로 검색하시면 나오는 블럭입니다.
- ssdtPRGen.sh 실행시 -x 1 옵션이 있으면 plugin-type 까지 있을 것이고 cf-frequency-data 를 추가해 주시면됩니다.
- ssdt.aml 이 열리지 않으면 ssdt.dsl로 열고 compile, saveas로 SSDT.aml로 저장하시면 됩니다.
SSDT.aml 생성 후 Clover /ACPI/patched에 SSDT.aml 로 저장하세요.
- MaciASL 저장시 dsl로 저장하시면 안됩니다. 반드시 aml 로 저장하세요.
CPUFriend.kext를 Clover kext에 추가하세요.
6. 확인
X86PlatformShim::start - Failed to send stepper
```
log show --predicate "processID == 0" --style compact --debug --info --color=always --start $(date +%Y-%m-%d) | less
```
다시 재부팅 후 로그에 Failed to send stepper 오류가 발생했는지 확인하면 됩니다.
오류가 없으면 우선은 FreqVectors가 적용 된것입니다.
7. 추가
추가로 Ivy Xeon (일명 짭제) 쓰고 있는데 Unsupported CPU 경고가 나오는데... 이건 아직 해결 못했습니다.
......
The end....
#FrequencyVector,#cpufoff,#CPUFrendDataProvider,#CPUFriend,#CPUFrend,#freqVectorsEdit,#SSDT,#FreqVectors,#FrequencyVectors,#Clover,#Piker,#PlatformShim,#MaciASL,#XCPM,#아이비브릿지,#아이비,#processID,#추가,#자체,#생성
감사합니다
아.. 스크립트는 추가가되었습니다
에러는 부트로그에서 telemetry인가에서 나는 오류인데...
원인도모르겠습니다
스카이레이크나 캐비레이크 뿐아니라, 아이비이후 시퓨는 config에 generate option> PluginType Check만해주시면 오버클럭에 상관없이 Speedstep잡힙니다. 더이상 P, C state 설정필요가 없습니다. 리하브만형님이 오래전에 컨펌했습니다. XCMP도 최근까지 맥프로에서 사용했지만, 10.13.3넘어오면서 더이상 필요없이 되더라구요. 하지만, 좀 더 자세하게 파고 들어 빠릿하게 다이내믹하게 해내기 위해서 필요한 작업인듯 합니다. 수고하셨습니다.
컥... 새로운방법이 있었네요
시도해봐야겠습니다
클로버는기능변경이너무많아 못따라가네요
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +30 | 952 | 24.10.1121:10 | 좌절금지 |
오픈코어 1.0.2 +23 | 586 | 24.10.0900:22 | 줌바이퍼 |
[중급편] 노트북 해킨 +16 | 1414 | 24.07.1219:19 | Stultus |
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +17 | 580 | 24.09.1917:09 | 좌절금지 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +31 | 912 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 4009 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5103 | 24.01.1218:54 | Stultus |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +67 | 5.1만 | 23.01.0913:39 | shl628 |
116 | 24.10.2322:26 | 뿌엥 | |
135 | 24.10.2321:29 | 해킨도전자 | |
116 | 24.10.2319:04 | 사노라맨 | |
806 | 24.10.1412:27 | shl628 | |
699 | 24.10.1316:00 | 수박 | |
346 | 24.10.1222:56 | Stultus | |
952 | 24.10.1121:10 | 좌절금지 | |
739 | 24.10.1115:53 | 수박 | |
586 | 24.10.0900:22 | 줌바이퍼 | |
1414 | 24.07.1219:19 | Stultus | |
1228 | 24.10.0500:31 | 줌바이퍼 | |
569 | 24.10.0410:49 | Tamy | |
753 | 24.09.2923:48 | 머트 | |
629 | 24.09.2822:28 | 머트 | |
465 | 24.09.2808:22 | Tamy | |
895 | 24.09.2321:32 | Stultus | |
995 | 24.09.2210:59 | 좌절금지 | |
648 | 24.09.2203:23 | 누림어멈 | |
1193 | 24.09.1919:17 | 좌절금지 | |
580 | 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 | 맥가즈아 | |
562 | 24.09.1708:13 | 김경석 | |
234 | 24.09.1617:47 | Panictosh | |
770 | 24.09.1504:35 | Tamy | |
584 | 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 | |
313 | 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 | |
540 | 24.08.1022:10 | 오디세이 | |
168 | 24.08.1019:05 | jbhlyk | |
200 | 24.08.0923:20 | RogerT |
아마 아주 오래전에 그의 블로그에서 본걸로 기억하는데.
7 번은 개발자인 Pika 가 무슨 연유인지 CPU 지원 리스트에 안 넣는 것으로 알고 있습니다. 실제 스크립트를 생성하는데는 영향을 미치지 않는다고 합니다.