[목표]
• 삼성 노트북 AMD Radeon HD 8700M 외장 그래픽 드라이버 사용하기

[목차]
1. 개발환경
2. 그래픽 드라이버 기초설명
3. 그래픽 드라이버에 연결된 모니터 확인방법
4. 그래픽 드라이버 외장/내장 쉽게 구분하는 방법
5. 내장 그래픽 드라이버 사용하기
6. 외장 그래픽 드라이버 사용하기

7. 외장 그래픽 드라이버 게임 이용 시 Power관련 설정

8. 내용 정리

1. 개발 환경

Operating System: Windows 10 Pro 64-bit (10.0, Build 18363) (18362.19 h1_release.190318-1202)

System Manufacturer: SAMSUNG ELECTRONICS CO., LTD.

System Model: 530 U4 E/540 U4 E

- Processor: Intel(R) Core(TM) i5-3337U CPU @ 1.80 GHz (4 CPUs), ~1.8 GHz

• Card name: Intel(R) HD Graphics 4000

• Card name: AMD Radeon HD 8700M Series

 

2. 그래픽 드라이버 기초설명

• 노트북은 내장/외장 그래픽 드라이버가 존재한다.
• INTEL: 내장 그래픽 드라이버(노트북 주 모니터) + 확장 모니터(HDMI)

• AMD: 외장 그래픽 드라이버

• 결론: 노트북 CPU가 INTEL인 경우 INTEL 내장 그래픽 드라이버를 사용한다고 이해하자.

 
• 일단 아래의 그림에서 내장/외장 구분 없이 그래픽 드라이버가 어디에 몇 개가 있는지만 확인하자.

장치 관리자(가장 기본으로 장치 구조보기)

 

 

3. 그래픽 드라이버에 연결된 모니터 확인방법

그래픽 드라이버와 연결된 모니터를 직관적으로 확인할 수 있다.

 

 

4. 그래픽 드라이버 외장/내장 쉽게 구분하는 방법

dxdiag 실행

단축키: Windows 버튼 + r

 


• INTEL 내장 그래픽 드라이버 확인

디스플레이 탭에서 확인

 

 

AMD 외장 그래픽 드라이버 확인

랜더링 탭에서 확인

 

5. 내장 그래픽 드라이버 사용하기

• 별도 설정이 없는 경우 INTEL 내장 그래픽 드라이버를 사용된다.

 

5-1. 내장 그래픽 드라이버 사용 유무 확인

• 작업 관리자를 실행 시 내장 그래픽 드라이버가 표기되지 않고 외장 그래픽 드라이버만 표시된다. 데스크톱 경우 내장/외장 그래픽 드라이버가 모두 표시된다.


• 결론: 외장 그래픽 드라이버를 사용하는 경우 GPU 사용량이 표시된다.

 

5-2. 작업 관리자로 GPU 사용량 확인

현재 외장 그래픽 드라이버를 설정하지 않았기 때문에 GPU가 올라가지 않는다.

 

5-3.Direct3D 샘플로 GPU 사용량 확인

가장 확실한 방법이다. 

노란글씨 확인 INTEL 내장 그래픽 드라이버 사용!!

 • Direct3D Settings으로도 확인이 가능하다.

디바이스 설정에서 확인 INTEL 내장 그래픽 드라이버 확인

 

6. 외장 그래픽 드라이버 사용하기

• AMD 그래픽 관련 프로그램을 설치한다. (화면을 참고해서 설치 바람)
• 결론: 외장 그래픽 드라이버를 사용하려면 원하는 응용프로그램을 설정을 하면 된다. 예를 들어 고성능 게임 응용프로그램을 설정 시 선택한 게임이 고성능 외장 그래픽 드라이버에서 처리된다.

 

• 외장 그래픽 드라이버 설정 화면

PIXGameDebugging.exe(기존 DirectX샘플)이 절전 또는 할당되지 않음 경우 내장 그래픽 카드 사용을 말함.

 

6-1. 외장 그래픽 드라이버 설정 방법

전원 탭으로 이동 → 전환 가능 그래픽 응용 프로그램 설정 → PIXGameDebugging.exe(기존 Direct3D샘플)

을 '고성능'으로 설정 후 적용 끝!!
☆ 드디어 외장 그래픽 드라이버 설정 완료.

PIXGameDebugging.exe(기존 DirectX샘플) 을 '고성능' 설정

 
• PIXGameDebugging.exe Direct3D 샘플 다시 실행한다.

노란글씨 확인 AMD 외장 그래픽 드라이버 표시(기존 INTEL → AMD로 변경확인)

 • Direct3D Settings으로 다시 확인

디바이스 설정에서 확인 AMD 외장 그래픽 드라이버 확인

 

• 드디어 AMD 외장 그래픽 드라이버의 GPU 사용량이 올라간다.

AMD 외장 그래픽 드라이버 사용량 확인

 

• PIXGameDebugging.exe 프로세스가 AMD 외장 그래픽 드라이버를 사용하는 경우 GPU 엔진 탭에 'GPU 0 - 3D'에 표기된다.

GPU 엔진 탭: GPU0 -3D 확인

7. 외장 그래픽 드라이버 게임이용시 Power관련 설정

우선 '6. 외장 그래픽 드라이버 사용하기' 설정한다.

• 전원 탭에서 '전환 가능 그래픽 전역 설정 을 클릭 후 배터리: 최대 성능 으로 설정한다.

• 전원 탭에서 '전환 가능 그래픽 전역 설정을 클릭 후 전원 사용:  최대 성능 으로 설정한다.

• 기존 내장 그래픽 드라이버에서 외장 그래픽 드라이버로 동작하기 때문에 훨씬 성능이 뛰어나다. ^^

 

8. 내용 정리

• 내장 그래픽 드라이버 경우 INTEL을 사용하고, 외장 그래픽 드라이버 경우 AMD를 사용하는 방법을 배워보았다. 


도움이 되었나요? 

docs.microsoft.com/en-us/windows-hardware/drivers/kernel/managing-hardware-priorities

Managing Hardware Priorities - Windows drivers

Managing Hardware Priorities

docs.microsoft.com

[심플한 설명]
드라이버 함수(DDK, WDK) 사용시 우선순위 확인하기.

ex) AddDevice() 루틴에 함수 사용시 PASSIVE_LEVEL만 허용한다.

[MS 설명]
PASSIVE_LEVEL
Interrupts Masked Off — None.

Driver Routines Called at PASSIVE_LEVEL — DriverEntry, AddDevice, Reinitialize, Unload routines, most dispatch routines, driver-created threads, worker-thread callbacks.

APC_LEVEL
Interrupts Masked Off — APC_LEVEL interrupts are masked off.

Driver Routines Called at APC_LEVEL — Some dispatch routines (see Dispatch Routines and IRQLs).

DISPATCH_LEVEL
Interrupts Masked Off — DISPATCH_LEVEL and APC_LEVEL interrupts are masked off. Device, clock, and power failure interrupts can occur.

Driver Routines Called at DISPATCH_LEVEL — StartIo, AdapterControl, AdapterListControl, ControllerControl, IoTimer, Cancel (while holding the cancel spin lock), DpcForIsr, CustomTimerDpc, CustomDpc routines.

DIRQL
Interrupts Masked Off — All interrupts at IRQL<= DIRQL of driver's interrupt object. Device interrupts with a higher DIRQL value can occur, along with clock and power failure interrupts.

 

[축약 정리]

- PASSIVE_LEVEL: 0 (amd64)

- APC_LEVEL: 1 (amd64)

- DISPATCH_LEVEL: 2 (amd64)

- DIRQL: 3-11 (amd64)

[출처]
마이크로소프트

'Windows Drivers' 카테고리의 다른 글

Windows Driver Model (기초 책)  (0) 2022.07.15
Display Drivers  (0) 2022.07.15
File system driver samples  (0) 2022.07.15
File systems driver design guide  (0) 2022.07.15
whql certification (교차 인증서 종료 안내)  (0) 2022.05.27

+ Recent posts