X86.CO.KR

100% 당첨매일매일 출석 도장 찍고 포인트 받아가세요
  • 일반모드 다크나이트모드 다크모드
    직구 지름 도우미
    미국 달러
    1 USD 1000 KRW
    1132.69 1000
    1 0.883
    113.436 100.147
    6.9076 6.098
    0.88422 0.781
    0.79441 0.701
    7.8134 6.898
    4.18504 3.695
    1.37704 1.216
    Sun Dec 16 2018 2:37:39 UTC Informational purposes only.
    Extra Form
    첨부
    공유레벨 글쓴이가 전체공개한 글 입니다.

    먼저 KsJ님께 감사의 말씀을 드립니다.

    [글을 처음부터 다시 쓰게 되어서 내용이 약간 바뀐 점 양해바랍니다.]

     

    기본적으로 스피드스텝 확인용으로 AppleInteinfo.kext 등을 이용해여 터미널에서 8~38까지 배수가 촘촘히 나오는지 확인만 하는 단계였습니다.

    저 또한, 이런 방식으로 스피드스텝이 잡혔다고 생각했으나 인텔 파워 가젯을 통해 스피드스텝이 잡히지 않음을 알 수 있었습니다.

    P-states에서 배수는 전부 나왔지만, 인텔 파워 가젯에서 CPU 프리퀀시는 3.0 아래로 내려온 적이 없었습니다. 아무것도 안하는데 CPU에 과부하가 걸리는 것이나 다름없으므로 실질적으로는 스피드스텝이 잡히지 않은 것입니다.

     

    따라서 이런 이상현상을 고쳐주기 위해 별도의 kext를 로드시켜주어야 합니다. 여기서 말하는 kext는 AppleLPC.kext와 ACPI_SMC_PlatformPlugin.kext 입니다.

    그리고 이 과정에서 두 가지의 선택지가 있습니다.

    하나는 dsdt를 통해 DTGP 문구를 추가하여 패치하는 방법입니다.

    다른 하나는 FakeSMC.kext에 패치하여 로드하는 방법입니다.

     


    [로드 방법에 앞서 결과론적 이야기부터 말씀드립니다.]

    지금도 커스텀맥 초보이지만, 옛날에는 더 초보였습니다. 그 때는 가끔 커스텀맥 로딩 게이지가 느리게 올라갈 때가 있음을 느꼈는데, 정확한 이유를 판단하지 못하였습니다. 다만 스피드스텝 패치 이후에 자주 발생하였던 문제로 항상 의심을 하고 있었습니다.

    하지만, 로딩 속도에 영향을 주는 kext가 존재하였습니다. 바로 ACPI_SMC_PlatformPlugin.kext 이 녀석입니다.

     

    내용추가: 만약 AppleLPC.kext 로드만으로 스피드 스텝이 잡힌다면 ACPI_SMC_PlatformPlugin.kext는 패치하지 않으셔도 됩니다. 로딩속도만 늦어집니다.

     

    AppleLPC.kext만을 로딩하면 인텔 파워 가젯에서 0.8GHz 이상의 모든 프리퀀시가 표시됩니다.

    그러나 AppleInteinfo.kext를 이용하여 P-states 배수를 찍어보면 8, 20, 21, 22 - 중간에 비는 배수가 너무 많게 됩니다.

    SSDT에 수동으로 TDP를 패치하여도 결과는 똑같습니다. ACPI_SMC_PlatformPlugin.kext 로드가 안되었기 때문에, 병목현상이라 말할 수 있겠습니다.

     

    ACPI_SMC_PlatformPlugin.kext를 로드하면 맥의 부팅속도가 약간 느려집니다. 즉, 게이지가 차는 속도가 중간 부분에서 약간 더딘다고 하는게 맞겠습니다.

    리얼맥을 쓰시면 아시겠지만, 리얼맥의 게이지 차는 속도도 중간 부분에서 약간 더딥니다. 제가 사용하는 맥프레 15년형 13인치에서는 ACPI_SMC_PlatformPlugin.kext 대신에 X86 시리즈 kext를 로드하는 차이만 있을 뿐

    실제로, IOResistryExplorer로 보면 AppleACPICPU 하위 디렉토리에  ACPI_SMC_PlatformPlugin.kext 혹은 X86시리즈 kext가 로드되는 사실을 확인할 수 있었습니다.

     

    - 전력 공급에 한계가 있는 맥북과 고성능을 중요시 하는 맥프로를 비교해봤을 때,

    - 그리고 ACPI_SMC_PlatformPlugin.kext 가 맥프로에서 사용되는 사실로 미루어 볼 때

     

    사실상 CPU의 전력관리를 하는 부분에 있어서는 ACPI_SMC_PlatformPlugin.kext 와 같은 역할을 하기 때문에 일맥상통합니다.

     

    패치 이후에 1~2초 부팅속도가 늦어진다고 해도 원래 당연히 로드되어야 할 kext가 그간 로드되지 않았기 때문에

    바람직한 패치로 봐주시면 감사하겠습니다.

     


    [AppleLPC.kext, ACPI_SMC_PlatformPlugin.kext 를 로드하는 방법]

    1. AppleLPC.kext를 로드하기 위한 방법으로 먼저, IOResistryExplorer로 LPCB를 찾아야 합니다.

    스크린샷 2016-02-29 오후 9.00.39.png

    Property: Name에서 pcixxxx,xxxx를 확인할 수 있습니다. 저는 pci8086,8c50 이군요.

    이 값에 따라서 자동적으로 AppleLPC.kext가 로드가 될 수도 있고, 그렇지 않을 수도 있습니다.

    만약 AppleLPC.kext가 로드되어 있는 분이라면 잠시 뒤에 설명할 ACPI_SMC_PlatformPlugin.kext 로드만 해주시면 되겠습니다.

     

    2. /S/L/E로 이동을 합니다. 먼저 AppleLPC.kext를 찾아보겠습니다.

    kext 내부에 있는 info.plist를 불러온 후 아래와 같은 IOKitPersonalities - AppleLPC - IONameMatch로 이동하면 아래와 같이 확인할 수 있습니다.

    스크린샷 2016-02-29 오후 8.53.07.png

    여기서 0~19까지 다양한 Name이 있습니다. 1번에서 우리가 확인했던 값과 일치를 하지 않으면 AppleLPC.kext가 로드되지 않습니다.

    IONameMatch를 제외한 나머지 정보는 필요하므로 info.plist 내부에 있는 AppleLPC를 복사하겠습니다. kext가 아니라 plist내부에 있는 구문을 의미합니다.

     

    3. /E/E/clover/kexts/10.11/FakeSMC.kext로 이동을 합니다. kext 내부에 있는 info.plist를 열어줍니다.

    별도로 FakeSMC.kext에 작업을 하지 않았다면 IOKitPersonalities 하위 디렉토리에 AppleLPC 관련 구문이 없습니다.

    따라서 하위 디렉토리에 2번에서 방금 복사하였던 구문들을 넣어줍니다.

     

    단, IONameMatch에서 0~19번의 pci값들은 전부 지우고, 1번에서 확인한 본인의 pcixxxx,xxxx값을 넣어주어야 합니다.

     

    4. ACPI_SMC_PlatformPlugin.kext를 로드하기 위해 /S/L/E/IOPlatformplugin.kext/Contents/Plugins/ACPI_SMC_PlatformPlugin.kext로 이동합니다. kext 내부에 있는 info.plist를 불러옵니다.

     

    2번과 같은 방법으로 IOKitPersonalities 하위에 있는 ACPI_SMC_PlatformPlugin 관련 구문들을 전부 복사합니다.

    이후에 3번과 같은 방법으로 FakeSMC.kext 내부에 있는 info.plist에 복사한 정보를 붙여넣기 합니다.

     

    성공적으로 패치한 FakeSMC.kext 내부의 info.plist는 다음과 같이 변형됩니다.

    스크린샷 2016-02-29 오후 8.52.12.png

     


    [AppleLPC.kext, ACPI_SMC_PlatformPlugin.kext 로드 파악 여부]

    재부팅 이후에, 확장파일에서 로드여부를 확인할 수 있습니다.

    스크린샷 2016-03-01 오후 2.00.41.png

     

    스크린샷 2016-03-01 오후 2.00.37.png

     

    또한, 시스템 환경설정 - 에너지 절약 탭에서 컴퓨터 잠자기 메뉴바가 자동적으로 생성됩니다.

    스크린샷 2016-02-29 오후 8.56.33.png

     

     

    [파워냅과 관련한 정보]

    아이뱅크님의 댓글을 보고 추가적인 내용을 작성합니다.

    파워냅 기능을 사용하기 위해서는 AppleLPC.kext가 로드된 상황에서 X86PlatformPlugin와 X86PlatformShim kext가 로드되어야 합니다.

    또한, 정상적으로 파워냅을 사용하기 위해서는 Hibernate=0, darkwake=10 옵션을 주어야 합니다.

    darkwave=1 을 주었을 경우 잠자기 모드로 전환해도 실제로는 컴퓨터의 전원이 꺼지지 않습니다.

    darkwave=10을 주었을 경우 랜포트를 제외한 나머지 전원은 모두 꺼지게 됩니다.

    Hibernate=0 대기모드로 전환을 방지하는 역할을 합니다.

     

    다만 한 가지 의문점이 있습니다. 리얼맥과 비교했을 때, ACPI_SMC_PlatformPlugin.kext 는 로드되지 않고, X86PlatformPlugin와 X86PlatformShim kext가 로드된 것으로 확인하였습니다.

    그만큼 예민한 부분이므로 FakeSMC.kext에 X86PlatformPlugin와 X86PlatformShim 관련 패치를 한다고 하여도 제대로 로드가 되지 않습니다.

     

    따라서 이 글은, 스피드스텝 및 CPU Frequency, 전력관리 등을 순수하게 안정화 하는 작업 정도로 봐주시면 감사하겠습니다.

    DArtagnan 님의 SIGNATURE

    profile

    I) CPU & Graphics: Intel i5-4690, Galaxy Nvidia Geforce GTX 960 2GB [Main]

    Motherboard: Asrock B85M PRO 4 :: ALC892, AppleIntelE 1000e v3.1.0

    Display: 27MU67


    II) CPU & Graphics: Intel i3-6100, MSI GTX 760 2GB

    Motherboard: Asrock H110M-HDV :: ALC 887, Realtek8111

    Display: DELL S2240


    III) CPU & Graphics: Intel i3-8100, GiGABYTE GTX 1060 6GB

    Motherboard: GIGABYTE B360M
    Display: ULTRON 3279UH HDR 4K UHD


    IV) CPU & Graphics: RYZEN 1700X, GIGABYTE RX 560 8GB

    Motherboard: GIGABYTE GA-AX370-Gaming K5
    Display: 29UM58E

    댓글 37
    댓글 쓰기 권한이 없습니다.
  • 다음글 [CPU] SpeedStep의 진실과 SSDT, 그리고 잠자기에 관하여 [번외편 - 상] [53]
  • 이전글 [CPU] SpeedStep의 진실과 SSDT, 그리고 잠자기에 관하여 [번외편 - 중] [19]
  • 0    커맥공통 지금 보시는 곳은 커스텀맥 설치 및 안정화 팁 공유 게시판 입니다. Mactopia 36
    18 커맥공통 입문자 안내서보충 69 아이뱅크 5639
    89 커맥공통 입문자를 위한 x86 안내서 237 아이뱅크 104845
    4    인텔칩셋 인텔 USB 3.0 포트 가지런하게 정리하기 (ft. USBInjectAll.kext) 5 5 ZISQO 62
    4    인텔칩셋 기가바이트 Z3xx/2xx/1xx 칩셋용 알파인 릿지 SSDT 인젝션 Part 2. 21 5 ZISQO 179
    0    인텔칩셋 SMBIOS는 코스매틱이 아니었습니다. 17 때군 373
    11 인텔칩셋 intel speedshift 적용 여부 파악하기 17 ClimbJoe 294
    5    인텔칩셋 macOS의 사소한 렉을 없애보자 25 Kailker 585
    5    인텔칩셋 i7 8750H UHD 630 성공사례(?) - 논의중입니다. 24 때군 476
    6    인텔칩셋 하우스웰이후 부터 스피드스텝 쉽게 잡으세요. 10 ClimbJoe 220
    4    인텔칩셋 Lilu.kext의 친구 CPUFriend.kext로 FrequencyVector 추가 11 스톤콜드 435
    0    인텔칩셋 G4405U에서 설치 팁 2 박정한 189
    3    인텔칩셋 6세대 Skylake 노트북에서X86Platform 로드 하기 9 goldbat 1051
    7    인텔칩셋 CPU 최저클럭이 1Ghz인 경우 800Mhz로 수정하는 방법입니다. (freqVectorsEdit) 8 Uetax 1258
    1    인텔칩셋 Intel Power Gadget 이 멈추는 현상에 대한 고찰 1 스티븐안 488
    1    인텔칩셋 XCPM 기능 적용시 bootargs -xcpm 해제해주세요. 14 개발인생40년 1111
    7    인텔칩셋 Xnu CPU Power Management 에 관하여 그리고 제온에서의 XCPM 버그 30 개발인생40년 2819
    8    인텔칩셋 [연재] Intel 社 CPU 파헤치기 (下) rev161202 2 KsJ 1017
    13 인텔칩셋 [연재] Intel 社 CPU 파헤치기 (上) rev.161129 6 KsJ 1546
    1    인텔칩셋 스피드스텝, 제값이 출력돼야 과연 좋은 걸까요? 6 송준섭 1371
    1    인텔칩셋 스피드스텝 이후 잠자기에서 깨어나지 않을 때 조치 방법중 하나입니다. 2 ZISQO 1582
    2    인텔칩셋 시피유표시 메모리 표시가 달라서 정확하게 표시하기 5 아이뱅크 646
    2    인텔칩셋 잠자기가 안될때 간단한 해결방법! 7 홍대퀸카 2083
    3    인텔칩셋 [CPU] SpeedStep의 진실과 SSDT, 그리고 잠자기에 관하여 [번외편 - 하] 17 KsJ 2034
    6    인텔칩셋 [CPU] SpeedStep의 진실과 SSDT, 그리고 잠자기에 관하여 [번외편 - 중] 19 KsJ 1878
    12 인텔칩셋 [CPU] 스피드스텝 :: AppleLPC.kext, ACPI_SMC_PlatformPlugin.kext 를 로드하는 방법... 37 2 DArtagnan 4372
    14 인텔칩셋 [CPU] SpeedStep의 진실과 SSDT, 그리고 잠자기에 관하여 [번외편 - 상] 53 KsJ 5057
    9    인텔칩셋 [CPU] SpeedStep의 진실과 SSDT, 그리고 잠자기에 관하여 [하] 30 KsJ 1989
    8    인텔칩셋 [CPU] SpeedStep의 진실과 SSDT, 그리고 잠자기에 관하여 [중] 14 KsJ 1207
    13 인텔칩셋 [CPU] SpeedStep의 진실과 SSDT, 그리고 잠자기에 관하여 [상] 9 KsJ 1870
    20 인텔칩셋 스피드스텝 측정하는 3가지 방법 합침 8 Mactopia 4589
    10 인텔칩셋 ssdtPRGen.sh 최신버전을 통해 ssdt을 추출하여 dsdt에 인젝션시키는 방법 16 KsJ 3398
    4    인텔칩셋 지원되는 메인보드 하이퍼 스레딩 켜고 끄기 7 kim 1309
    2    인텔칩셋 CPU TYPE - 올바른 CPU 표기를 위한 추가 정보 (아래 Fake CPU ID 에 대한 내용에 이어서) 2 Mactopia 1297
    3    인텔칩셋 CPU ID - FAKE CPU ID Table list 및 사용법 9 Mactopia 1776
    3    인텔칩셋 [재업로드] 스피드 스텝 확인 방법 및 KEXT 구분 - kext 에 관해서 혼선(?) 이 있네요. 12 Mactopia 2672
    3    인텔칩셋 iMac SMBIOS 을 유지하면서 Mac Pro 처럼 스피드스텝 효율을 올리는 방법 (중요내용 추가) 9 DArtagnan 1214
    8    인텔칩셋 4세대 CPU 스피드 스텝 (전원관리, SSDT) 적용하는 법 43 terminator 8578
    1    인텔칩셋 CPU 별 스피드 스텝 Config 추천 설정 10 Mactopia 5057
    1    인텔칩셋 CPU Power Management에 대한 정보(Speedstep 관련) 3 HackBook 2084
    8    인텔칩셋 DSDT에 SSDT를 추가하는 방법 (for Speed Step) 24 KsJ 4921
    1    인텔칩셋 Asus P8Z68-v lx Speedstep 잡기 9 LeeDeaRi 916
    3    인텔칩셋 제온 E3-1230v2 CPU 에 대한 정리 9 라자 4472
    4    인텔칩셋 IvyBridge 사용자는 보세요. ssdtPRGen v12 및 사용 방법 32 Mactopia 6689
    0    인텔칩셋 IVY 이상 Native PM 지원을 받기 위한 방법 2 Mactopia 1653
    2    인텔칩셋 안정화 테스트 6 - 스피드 스텝 확인용 - AppleIntelCPUPowerManagementInfo.kext 12 HackBook 5182
    4    인텔칩셋 해킨토시 설치 이후 안정화 테스트 2 - 스피드스텝 측정 - MSRDUMP 34 Mactopia 12922
    1
    서버에 요청 중입니다. 잠시만 기다려 주십시오...