엔비디아 옵티머스 적용된 노트북에서 외장그래픽 비활성화하기
- 손한솔
- 739
- 3
손한솔님의 기기정보
시스템 사양 선택 | 1번 |
---|
grep -l _OFF *.dsl
엔비디아 옵티머스 그냥 설명만 들어보면 매우 좋은 기능 같은데..
윈도우에서는 게임 성능 깍아먹는 원인이기도 하고 macOS 에서는 사용이 불가능합니다.
해킨 노트북에서 사용이 불가능한 외장그래픽을 비활성화 하는 이유는 두가지인것 같네요.
하나는 아무것도 안하면서 배터리 타임을 거의 1시간 가까이 짧게 만든다는것,
두번째는 발열이 생긴다는것
저는 그냥 위 두가지를 보고 비활성화 했는데 잠자기 후에 모니터가 안나와서 포기했던 잠자기가 정상적으로 되네요.
- 이글은 전문적인 지식 없이 그냥 가이드를 따라하고 나서 그 가이드를 하기 편하게 정리한겁니다. 틀린게 있을수도 있어요. -
우선 ssdt가 필요한데 클로버에서 f1키를 누른후 f4키를 누르면 추출할수 있습니다. (아무런 변화가 없는것 같이 뜰거에요.)
그리고 나서 수정하기 위한 도구들이 필요합니다.
- iasl https://bitbucket.org/RehabMan/acpica/downloads/
- MaciASL https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/
터미널을 열어주신뒤
cd Downloads
sudo cp iasl /usr/bin
을 해주세요. 만약 복사가 안된다면 해킨툴을 열어서 게이트키퍼를 비활성화 시켜주신뒤 다시 하면 잘 됩니다.
이제 수정을 하려면 ssdt가 있어야겠죠? EFI를 마운트 해주신뒤 ACPI/origin 폴더를 어디단가 복사해 주세요.
터미널을 열고 복사한 폴더로 이동해 다음과 같이 입력해 주세요.
iasl -da -dl DSDT.aml SSDT*.aml
그러고 나면 복사한 origin 폴더 안에 확장자가 dsl인 파일들이 많이 생겼을 겁니다.
grep -l _OFF *.dsl
입력하고 실행하면 _OFF가 있는 ssdt가 나올겁니다.
저같은 경우는 SSDT-8 안에 _OFF가 들어있습니다.
grep -l _INI *.dsl
이번엔 _INI가 들어있는 SSDT가 나올겁니다.
전 DSDT.dsl, SSDT-3, SSDT-8에 들어있네요.
이건 SSDT-3에 있는 _INI 입니다. 이거 말고
이렇게 그래픽카드 경로가 나온 _INI가 필요합니다. 저같은 경우에 이건 SSDT-8 이였구요.
저기 SB.PCI0 이런식으로 나온게 경로이기 때문에 외워두세요.
_OFF는 8밖에 안나왔기 때문에 파일 하나에 둘다 들어있습니다.
우선 컴파일을 한번 해봅시다.
오류가 이런식으로 날텐데 오류난 줄은 그냥 주석처리 해줍시다.
Patch 를 누른뒤 Patch Text에
into method label _INI parent_label \_[DGPU_LOCATION] insert
begin
External(\_[DGPU_LOCATION]._OFF, MethodObj)\n
_OFF()\n
end;
를 붙여넣어준뒤 [DGPU_LOCATION]을 그래픽카드 경로로 바꿔준뒤 패치해줍시다.
_INI가 이렇게 변했을겁니다.
이제 ssdt 파일을 저장할건데 dsl이 아니라 aml로 저장하시면 됩니다.
그리고 efi의 ACPI/Patched에 넣어주시면 됩니다.
재부팅 하고 나면
이렇게 외장그래픽이 인식 안된걸 보실수 있습니다.
글 쓰고나서 다시 보니까 얼마 안되는 짧은건데도 몇시간동안 해매면서 했던거네요 ㅎㅎ..
손한솔
댓글 3
근데 파일을 저장해서 패치폴더로 복사하면
아래 내용이
Store (Zero, \_SB.PCI0.PEG0.PEGP._ADR)
External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)
_OFF()
이렇게 2번째 줄 내용이 자동으로 없어지고 저장이 어버립니다 ㅜㅜ
Store (Zero, \_SB.PCI0.PEG0.PEGP._ADR)
_OFF ()
혹시 해결책 있을까요