Original Link

@아이뱅크 님께서 링크를 남겨주신 게시물을 따라.. 야밤에 토니맥을 마실 갔다가-
잠도 안오고 해서 한 번 간략하게나마 정리를 해볼까 합니다.

정보 제공해주신 @아이뱅크님, @D'Artagnan 님 감사합니다.

 

첨부 파일
SSDT-1.aml.zip

 

1) DSDT.aml의 GFX포트를 참조해서
2) SSDT-1.aml에서 인젝션 시키는 방식입니다
3) SSDT-1.aml에서 인젝션이 안되면
4) 클로버 부트로더의 ACPI / Drop SSDT table을 선택한 다음 SSDT-1.aml에 선언된
테이블 이름을 입력해주면 됩니다

스크린샷 2016-10-08 오후 12.55.06.png

 

* 주의 *

가) 가장 중요한 점은 최소한 Error 수정을 끝낸 DSDT.aml을 첨부 했을 때 빛을 발휘 합니다!
나) 커스텀 맥을 재부팅하고 부트로더 GUI에서 F4를 누르고 5초 정도 기다려 주세요
다) EFI/Clover/ACPI/origin 폴더에 다량의 aml이 추출됩니다
라) 그 중 OEM으로 추출된 DSDT.aml을 바탕화면으로 복사합니다
마) SSDT-1.aml은 첨부 파일을 참고해서 수정 하도록 합니다
바) 완성된 SSDT-1.aml은 EFI/Clover/ACPI/patched에 넣어 줍니다
사) 완성된 Config.plist는 EFI/Clover/에 넣어 줍니다


이 방법은 4포트가 장착된 그래픽 카드에서 유효합니다.

하지만 패치 이후에는
- 최초 설치 모드에서 nv_disable=1등의 옵션없이 설치 가능합니다.
- 리커버리 모드 진입시 기존 nv_disable=1옵션 없이 진입 가능합니다.

 

A. GPU 로케이션 확인

IOResistryExplorer을 실행하고 display로 검색합니다.
여기에서 중요한건 바로 NPE1 또는 2 또는 3@2로 된 키워드 하단의 IOPP에 속해있는 키워드가
Display@0으로 되어 있다면 그것은 SSDT-1.aml에 그래픽 카드 관련된 문구가 없다는 것입니다.
설령 있다손쳐도  출력 포트에 대응하지 않은 코딩이 되어있을 수 있습니다
IOReg-FindDisplay.jpg
위 스샷에서 AppleACPIPCI는 장치 이름이 아닙니다.
IOPP는 슬롯의 PCI  브릿지  역할을 하는 것이지 추가 장비를 나타내는것이 아닙니다.

우선 NPE3@2라고 표시된 곳에서 여러분의 시스템에선 어떤 문구가 나오는지 보시고 잘 메모해두세요
HP Z420 / Z620 에선 NPE2@2라고 나옵니다. 
 

 

B. DSDT에서 GPU 함수 이름 확인

MaciASL-FindDevice.jpg
바탕화면에 복사해둔 DSDT.aml을 MaciASL로 불러와서 B) 항목에서 메모한 키워드를 검색합니다.
위 스샷은 토니맥에 올라온 스샷입니다만, Z420, Z620의 DSDT에선  NPE2로 나옵니다.
하지만  DSDT.aml을 열어보면 NPE2에 종속된 SLT2이 GPU정보를 로드하는 것을 확인할 수 있습니다.

그래서 그 곳의 정보를 보면 Name (_ADR, Zero)로 표기 됨으로 인해, GPU정보가 네이티브로 구동되지 않는 것을
확인할 수 있습니다. 따라서 아래의 SSDT-1.aml을 그대로 복사하셔서 현재 사용중인 SSDT-1.aml에 넣으시면
Nvidia  GTX 660 / 670 / 760 / 770은 그대로 진행될겁니다.

 

 

C. SSDT-1.aml 수정

 HP Z420 / Z620 유저분 중 Kepler / Maxwell 아키텍처를 사용하는 분을 위한 패치입니다

FF0F842D
/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20100331
 *
 * Disassembly of iASLlsbxUV.aml, Sat Oct  8 12:41:53 2016
 *
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x00000206 (518)
 *     Revision         0x01
 *     Checksum         0x4B
 *     OEM ID           "APPLE "
 *     OEM Table ID     "Devicein"
 *     OEM Revision     0x00015601 (87553)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20100331 (537920305)
 */
DefinitionBlock ("iASLlsbxUV.aml", "SSDT", 1, "APPLE ", "Devicein", 0x00015601)
{
    External (\_SB_.PCI0, DeviceObj)
    External (\_SB_.PCI0.NPE2, DeviceObj)
    External (\_SB_.PCI0.NPE2.SLT2, DeviceObj)

    Method (XOSI, 1, NotSerialized)
    {
        Name (WINV, Package (0x06)
        {
            "Windows", 
            "Windows 2001", 
            "Windows 2001 SP2", 
            "Windows 2006", 
            "Windows 2006 SP1", 
            "Windows 2009"
        })
        Return (LNotEqual (Match (WINV, MEQ, Arg0, MTR, Zero, Zero), 
            Ones))
    }

    Scope (\_SB.PCI0)
    {
        Device (HDEF)
        {
            Name (_ADR, 0x001B0000)
            Name (_PRW, Package (0x02)
            {
                0x08, 
                0x04
            })
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }

                Return (Package (0x02)
                {
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }
        }
    }

    Scope (\_SB.PCI0.NPE2.SLT2)
    {
        Name (_STA, Zero)
    }

    Scope (\_SB.PCI0.NPE2)
    {
        Device (GFX1)
        {
            Name (_ADR, Zero)
            Name (_SUN, 0x05)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }

                Return (Package (0x0A)
                {
                    "@0,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x04, 0x00, 0x00    /* DP */
                    }, 

                    "@1,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x08, 0x00, 0x00    /* HDMI */
                    }, 

                    "@2,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x02, 0x00, 0x00    /* DVI-SL */
                    }, 

                    "@3,connector-type", 
                    Buffer (0x04)
                    {
                        0x04, 0x00, 0x00, 0x00    /* DVI-DL */
                    }, 

                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }
        }

        Device (HDAU)
        {
            Name (_ADR, One)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }

                Return (Package (0x02)
                {
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }
        }
    }
}



위 코드를 SSDT-1.aml에 그대로 저장하고 컴파일 하신다음,
EFI/Clover/ACPI/patched/에 저장 하시고 리부팅 하시면 됩니다.
 

D. 동작 확인

Screen Shot 2016-01-27 at 8.16.17 PM.png
올바르게 되었다면 GFX1@0으로 표시되는게 정상입니다.
물론 HP Z420과 Z620에서 GTX760은 GFX1@0으로 표시되지만
제 경우처럼 nv_disable=1을 추가해야만 리커버리 / 클린 설치 모드 진입이 가능 했던 것을
SSDT-1.aml의 String을 Devicein이라 만들고 Config.plist에서 Drop해서 부팅시마다 로딩 시킵니다

스크린샷 2016-10-08 오후 1.43.18.png

스샷 상단 우측 두 번 째 Devicein이 Config.plst의 SSDT Drop table에서 로딩할 String입니다.

 

아무쪼록 다시 한 번 재부팅 한 다음, Recovery mode를  npci=0x3000 부트 플래그를 주고 진입해보세요.
정상적이라면 nv_disable=1을 지정했던 옵션을 더이상 필요하지 않은 장점이 있습니다.
장치 관리자에서 보면 HDMI 사운드가 설치도 되어 있고 말이죠? 심지어 VoodooHDA같은 패치 안해도 그래픽카드의 오디오가 설치됩니다.  다만 HP Z420, Z620의 경우 Voodoo Slice를 설치 해주시면 됩니다.

 

토니맥 주소를 처음에 보았지만, 오전에 뉴해킨님의 소스를 토대로 Z420/Z620에 GPU인젝트 글타래를 남겨 봅니다.
 

클럽 : 당주

See the Unseen

★ 글쓴이에게 고마우시면 커피한잔 후원(클릭) ★ 후원 정보를 입력하지 않았습니다.

"HP Z420/620 GPU inject를 통해 nv_disable=1을 벗어나 봅니다"글의 댓글은 현재 3개 있습니다.
비회원은 52분 26초 후에 댓글을 열람할수 있습니다.
로그인 하시면 바로 확인 하실수 있습니다.



No 제목 조회 닉네임 등록일
화제의 글 AMD RX480 단독 부팅 관련 글타래 요약 Part.1 [Desktop Style] 32 file 586 zisqo 05.20
화제의 글 B150M-DS3H 사운드 노이즈 문제 해결 팁 17 update 262 SunkiMoon 05.19
864 팁/안정화| usb 없이 해킨 설치하기! 3 1106 대낮의호롱불 10.24
863 macOS팁| MAC을 처음 사용하시나요? 468 Mactopia 10.23
862 macOS팁| 시리 호출 단축키 변경방법 1 258 Mactopia 10.22
861 팁/안정화| aspire v3 571g + bcm94352 업그레이드버전 344 하수 10.21
860 팁/안정화| Cosmetic) SSDT EFI String Injection 6 898 zisqo 10.18
859 팁/안정화| [HP Z420] FL1100 USB 3.0 인식 시키기 (와이파이 모듈 충돌 회피) 4 822 zisqo 10.16
858 팁/안정화| 아이메시지 문자전달 코드 안될 때 해결 방법 8 1073 각시수련 10.14
857 팁/안정화| 간편하게 Trim을 활성화 하는 방법 (클로버 부트로더) 7 1306 zisqo 10.14
856 팁/안정화| 시에라 USB3.0 관련 SSDT INJECTION+클로버 패치 1822 Mactopia 10.13
855 팁/안정화| SSD가 링크 속도 3기가로 뜰 경우 해결 방법 7 499 zisqo 10.13
854 팁/안정화| config.plist를 clover configurator어플 이용방법 4 3572 아이뱅크 10.12
853 팁/안정화| (NSRangeException) 디스플레이 환경설정 패널을 로드할 수 없습니다 문제 해결하기 4 832 하늘처럼 10.11
852 macOS팁| 시에라 - 모든곳에서 다운로드한 앱 허용 1 881 Mactopia 10.11
851 팁/안정화| rx480 시에라에서 기본 잡기 입니다. 28 2191 아이뱅크 10.11
850 macOS팁| 맥 OS 바탕화면 사이트 404 Mactopia 10.10
849 강좌/연재| 2016 ~ 2017 맥북시리즈 예상 라인업 6 1162 KsJ 10.10
848 macOS팁| 앱스토어 다운로드 이슈 - 캐시삭제 461 Mactopia 10.09
847 팁/안정화| Nvidia GPU를 SSDT-1.aml에 인젝션하는 글타래입니다. 63 3340 zisqo 10.08
846 macOS팁| 씨에라용 Nvidia 드라이버 4 1157 마음의창 10.08
» 팁/안정화| HOT HP Z420/620 GPU inject를 통해 nv_disable=1을 벗어나 봅니다 3 972 zisqo 10.08
844 팁/안정화| HP Z420 / Z620 디스플레이 블랙아웃 회피 방법입니다. 7 1156 zisqo 10.08
843 macOS팁| 106키 한국어키보드에서 한영키 인식시키기 11 2262 안녕하세요 10.07
842 팁/안정화| 퓨리온님의 시에라&엘캐피탄 16GB 용량초과문제 & dd명령 더 빠르게 2 698 안녕하세요 10.07
841 팁/안정화| 키보드 언어변경 1 411 아이뱅크 10.05
840 팁/안정화| 디스플레이 EDID 정보 편집 방법입니다. 5 1261 zisqo 10.04
839 팁/안정화| rx480 관련 글타래 6 1185 KsJ 10.04
838 팁/안정화| 스피드스텝 이후 잠자기에서 깨어나지 않을 때 조치 방법중 하나입니다. 1 915 zisqo 10.04
837 macOS팁| 맥의 키보드 및 디스플레이 설정 초기화 5 914 XEXEX 10.04
836 팁/안정화| [시에라 성공]b150-ds3h 사운드 잡기 alc887 2 1416 SeungHanKim 10.04
835 팁/안정화| VGA -> DVI 컨버터 쓰지 마세요! 2 604 SangHoMetHackin 10.03
834 macOS팁| macOS 또는 OS X에서 Caps lock 키 지연시간 제거방법 (Elimination of Caps lock key delay on 10.11 +) 542 D'Artagnan 09.30
833 팁/안정화| [임시 글타래] RX 480으로 1순위 부팅 이슈 66 1218 D'Artagnan 09.30
832 macOS팁| macOS에서 블루투스 이어폰 사용 시 aptX 코덱을 강제로 활성화하는 방법 3 297 Mactopia 09.29
831 팁/안정화| AGDPfix.app 사용할 필요 없이 바로 그래픽 활성화  5 2566 아이뱅크 09.29
830 팁/안정화| rx480 모니터 케이블 분리 안해도 되는 팁 17 754 comed78 09.29
829 팁/안정화| 시에라 전용 최신 버전 웹드라이버에 문제가 있습니다. (잠자기 이슈, 디스플레이 연결 유실 등) 36 2912 D'Artagnan 09.29
828 팁/안정화| 10.12.1 베타2 에서 AmdRadeonX4100.kext 안정화 작업이 있었네요 4 610 comed78 09.28
827 팁/안정화| 썬더볼트3 지원설정 13 1170 아이뱅크 09.28
826 팁/안정화| rx480 깊은 잠자기 테스트 10 808 comed78 09.27
825 팁/안정화| 시에라(Sierra)에서 잠재우기 및 깨우기 설정 2 1635 terminator 09.27
서버에 요청 중입니다. 잠시만 기다려 주십시오...