X86 통합검색
X86.CO.KR
100% 당첨매일매일 출석 도장 찍고 포인트 받아가세요
  • 공유레벨 글쓴이가 전체공개한 글 입니다.
    좋아요2개  팔로우 0명 팔로잉 0명 싫어요0

    안녕하세요


    그 동안 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,#추가,#자체,#생성

    와우! 인기글을 향해
    40%
    40%
    좋아요2개  팔로우 0명 팔로잉 0명 싫어요0

    And That's The Bottom Line 'Cause Stone Cold Said So!

    https://x86.co.kr/@스톤콜드 [ Lv5 | 5학년 | 팔로우 0 | 팔로잉 0 | 글 16 | 댓글 100 | 포인트 3000P | 가입 1112일 | bb72e]
  • 스톤콜드 profile


  • 등록일 제목 조회 그룹 글 작성
    09.06 클로버 컨피규레이터 기본 사전 17.09.07 69 4360
    02.03 입문자를 위한 x86 안내서 139 82407
    07.14  | 팁공통 | 4 2 148
    07.13  | 팁공통 | 8 1 109
    07.11  | 그래픽 | 8 1 257
    07.10  |  | 팁공통 | 36 5 894
    »»»  | CPU | 10 2 212
    07.09  | 그래픽 | 6 1 162
    07.07  | 팁공통 | 2 4 189
    07.07  |  | 팁공통 | 21 3 360
    07.06  | 사운드 | 3 3 140
    07.06  | 팁공통 | 4 2 166
    07.06  | 그래픽 | 1 1 96
    07.06  | 그래픽 | 3 85
    07.05  | 그래픽 | 17 5 358
    07.04  | 그래픽 | 13 4 421
    07.03  | 그래픽 | 16 5 397
    07.03  | 기타 | 2 4 77
    07.02  | 팁공통 | 4 1 226
    07.01  | 팁공통 | 9 1 252
    06.30  | 그래픽 | 1 169
    06.30  | 팁공통 | 12 3 383
    06.28  | 기타 | 7 2 98
    06.26  | CPU | 8 2 150
    06.26  | 팁공통 | 16 1 287
    06.25  | 팁공통 | 3 4 159
    06.21  | 기타 | 3 5 173
    06.21  | 그래픽 | 1 1 188
    06.21  | touchid  | 기타 | 1 3 52
    06.21  | 팁공통 | 1 99
    06.20  | 팁공통 | 2 202
    06.20  | 기타 | 1 66
    06.18  | 메인보드 | 5 1 166
    06.17  | 팁공통 | 6 2 201
    06.15  | 팁공통 | 1 78
    06.13  | 팁공통 | 15 6 195
    06.12  | 팁공통 | 7 2 288
    06.11  | touchid  | 사운드 | 19 6 328
    06.09  | 팁공통 | 20 3 552
    06.07  | 그래픽 | 6 1 146
    06.05  |  | 팁공통 | 32 1 493
    06.04  | 메인보드 | 3 2 401
    06.04  | 팁공통 | 4 3 182
    06.04  | 팁공통 | 14 3 497
    06.04  | 팁공통 | 7 4 485
    06.03  | 기타 | 1 67
    06.02  | 기타 | 2 2 146
    05.31  | 팁공통 | 8 9 591
    05.31  | 팁공통 | 11 5 256
    05.29  | 메인보드 | 7 1 247
    05.29  | 팁공통 | 4 1 160
    05.28  | touchid  | 기타 | 5 2 104
  • 서버에 요청 중입니다. 잠시만 기다려 주십시오...