블루스크린

DLL·런타임 오류

드라이버 문제

게임 오류

윈도우 오류

프로그램 오류

광고자리 · 글 위

DXGI_ERROR_DEVICE_HUNG 오류 원인 4가지와 증상별 해결 순서 (0x887A0006 · 윈도우 10·11)

이 글을 3줄로 요약하면

· DXGI_ERROR_DEVICE_HUNG은 그래픽 장치가 명령을 받고 제한 시간 안에 응답하지 못한 상태를 가리키는 코드(0x887A0006)입니다.

· 게임이 튕기는 것은 결과이고, 실제로 일어난 일은 윈도우의 TDR 기능이 그래픽 드라이버를 강제로 재시작시킨 것입니다.

· 한 게임에서만 나는지, 모든 게임에서 나는지가 첫 갈림길입니다. 판별표에서 자기 상황을 먼저 고르세요.

DXGI_ERROR_DEVICE_HUNG은 정확히 무슨 뜻인가

코드 자체가 어디까지를 말하고 어디부터는 말하지 않는지 먼저 정리합니다.

DXGI는 DirectX Graphics Infrastructure의 약자로, DirectX 프로그램과 그래픽 장치 사이를 잇는 계층입니다. 마이크로소프트의 DXGI 오류 목록 문서에서 DXGI_ERROR_DEVICE_HUNG은 값 0x887A0006으로 정의돼 있고, 설명은 "응용 프로그램이 잘못된 형식의 명령을 보내 장치가 실패했다"입니다. 문서는 이어서 이것이 설계 시점에 조사해 고쳐야 할 문제라고 덧붙입니다.

여기서 중요한 점이 하나 있습니다. 이 코드는 원래 게임을 만든 쪽을 향한 코드라는 것입니다. 그래서 플레이어 입장에서는 "내 그래픽카드가 고장났다"로 곧장 읽으면 안 되고, 그래픽 장치가 명령을 받고 응답하지 못한 상태가 관측됐다 정도로 읽는 것이 정확합니다.

비슷한 코드가 셋 있어 헷갈리기 쉽습니다. 0x887A0005 DXGI_ERROR_DEVICE_REMOVED는 장치가 물리적으로 빠졌거나 드라이버가 교체된 경우, 0x887A0006 DXGI_ERROR_DEVICE_HUNG은 장치가 멈춰 응답이 없는 경우, 0x887A0007 DXGI_ERROR_DEVICE_RESET은 실행 중 명령 문제로 장치가 재설정된 경우입니다. 게임 크래시 로그에 어느 쪽이 찍혔는지에 따라 볼 곳이 달라집니다.

화면이 1~2초 얼었다가 검은색 또는 회색으로 깜빡이고 게임이 바탕화면으로 튕기는 흐름은, 실제로는 윈도우의 TDR(Timeout Detection and Recovery)이 동작한 결과입니다. 마이크로소프트 문서 기준으로 TDR의 순서는 다음과 같습니다.

1GPU 스케줄러가 제한 시간을 잰다

GPU 스케줄러(Dxgkrnl.sys)는 GPU에 맡긴 작업이 기본 2초를 넘기면 그 작업을 선점하려 시도합니다.

2선점도 실패하면 멈춘 것으로 판정한다

선점 요청마저 시간을 넘기면 운영체제는 GPU가 정지했다고 진단하고 복구 절차로 넘어갑니다.

3드라이버를 재초기화하고 화면을 되살린다

비디오 메모리 관리자가 비디오 메모리의 할당을 모두 비우고 드라이버가 GPU 상태를 재설정합니다. 이때 화면이 한 번 깜빡이고, 실행 중이던 게임은 장치를 잃어 그대로 종료됩니다.

4알림과 로그가 남는다

"디스플레이 드라이버가 응답을 중지했다가 복구되었습니다" 알림이 표시되고 같은 내용이 이벤트 뷰어에 기록됩니다. 뒤의 진단 섹션에서 이 기록을 찾습니다.

튕김이 아니라 블루스크린으로 끝났다면 다른 글을 봐야 합니다

문서 기준으로 1분 안에 GPU 정지가 5회를 넘고 6번째가 감지되면 운영체제는 복구를 반복하지 않고 0x117 VIDEO_TDR_TIMEOUT_DETECTED로 시스템을 중단시킵니다. 드라이버가 제한 시간 안에 빠져나오지 못한 경우는 0x116 VIDEO_TDR_FAILURE로 끝납니다. 즉 파란 화면까지 갔다면 같은 뿌리에서 한 단계 더 나간 상태입니다.

어떤 상황에서 떴는지로 원인 좁히기

한 게임에서만 나는지, 언제부터 시작됐는지가 원인을 반으로 잘라 줍니다.

증상 유력한 원인 먼저 볼 항목
그래픽카드를 바꾸거나 드라이버를 새로 깐 직후부터 시작됐다 이전 드라이버 잔여 파일과 충돌 원인 A → 드라이버 정리 후 재설치
여러 게임에서 공통으로, 오래 켜 둘수록 자주 난다 클럭·전압 설정이 특정 부하에서 불안정 원인 B → 기본값 복귀
특정 맵 진입·해상도 변경·텍스처 로딩 순간에만 난다 한 작업이 제한 시간을 넘김 원인 C → 옵션 낮추기 후 판단
게임뿐 아니라 영상 재생·브라우저에서도 화면이 깜빡인다 DirectX 런타임·시스템 파일 손상 원인 D → sfc·DISM
게임 하나에서만 나고 다른 게임은 멀쩡하다 그 게임의 고사양 옵션 또는 파일 손상 원인 C → 옵션·게임 파일 점검
부하가 걸린 지 몇 분 뒤에만, 팬 소리가 커진 뒤에 난다 온도·전력 여유 부족 원인 B → 온도·전원 점검

표에서 고른 항목부터 보되, 원인 A는 어느 경우든 한 번은 거치는 편이 낫습니다. 드라이버 상태가 정리되지 않은 채로 아래 항목을 건드리면 무엇이 효과가 있었는지 판단할 수 없기 때문입니다.

원인 A그래픽 드라이버가 손상됐거나 버전이 맞지 않는다

그래픽카드 교체·드라이버 갱신 직후 시작됐다면 여기부터입니다.

DXGI 문서가 말하는 "장치가 응답하지 않는 상태"를 만드는 가장 흔한 소프트웨어 요인은 드라이버가 섞여 있는 상태입니다. 기존 드라이버 위에 새 버전을 덮어 설치하면 이전 버전의 구성 요소가 남아 특정 상황에서만 충돌하는 경우가 생깁니다.

1지금 설치된 드라이버 버전을 적어 둔다

제조사 제어판의 시스템 정보에서 버전 번호를 확인해 메모합니다. 되돌릴 지점을 남겨 두는 절차이고, 바꾼 뒤 증상이 더 나빠졌을 때 판단 근거가 됩니다.

2기존 드라이버를 남기지 않고 지운다

제조사 설치 관리자의 깨끗한 설치 옵션을 쓰거나, 제거 도구로 이전 드라이버를 완전히 제거한 뒤 재부팅합니다. 잔여 파일을 남기지 않는 것이 목적입니다.

3제조사 공식 페이지에서 정식 버전을 받는다

그래픽카드 제조사의 드라이버 페이지에서 모델을 검색해 베타가 아닌 정식 버전을 내려받습니다. 노트북은 그래픽카드 제조사보다 노트북 제조사 페이지의 드라이버가 우선입니다. 전원 관리·팬 제어와 맞춰 배포되는 별도 버전이 있기 때문입니다.

4최신 버전에서 시작됐다면 한 단계 이전으로 내린다

"최신이 곧 안정"은 아닙니다. 드라이버를 올린 직후부터 증상이 생겼다면 같은 페이지의 이전 버전을 받아 같은 방식으로 설치해 비교합니다.

이 방법이 안 통하는 경우

드라이버를 정리해 다시 설치했는데도 같은 장면에서 같은 간격으로 반복된다면 드라이버 쪽이 아닙니다. 클럭·전압을 건드린 적이 있으면 원인 B로, 특정 작업에서만 난다면 원인 C로 넘어갑니다.

같이 나오는 오류입니다 VIDEO_TDR_FAILURE 블루스크린 해결 순서 튕김으로 끝나지 않고 파란 화면까지 갔다면 같은 뿌리에서 한 단계 더 나간 상태입니다 · 눌러서 확인하기 →

원인 B오버클럭·저전압 설정이 불안정하다

여러 게임에서 공통으로 나고, 부하가 오래 걸릴수록 잦다면 여기입니다.

클럭이나 전압을 조정한 상태에서는 평소에는 멀쩡하다가 특정 연산 조합에서만 계산이 어긋납니다. 이때 GPU가 명령을 끝내지 못하면 TDR이 개입하고, 게임에는 DXGI_ERROR_DEVICE_HUNG으로 보고됩니다. 튜닝을 한 기억이 없더라도 제조사 유틸리티의 성능 프로필이나 메인보드의 자동 부스트 설정이 켜져 있을 수 있습니다.

1모든 튜닝 값을 기본값으로 되돌린다

코어 클럭·메모리 클럭·전압 곡선·전력 한계를 한꺼번에 기본값으로 되돌립니다. 하나씩 되돌리면 어느 것이 원인인지 판단하는 데 시간이 오래 걸립니다.

2부팅 때 자동으로 적용되는 프로필을 끈다

튜닝 프로그램의 윈도우 시작 시 적용 옵션을 해제합니다. 값만 되돌리고 자동 적용을 남겨 두면 재부팅 후 원래대로 돌아가 시험이 무의미해집니다.

3부하가 걸린 상태의 온도를 확인한다

게임을 켠 채 모니터링 도구로 온도와 전력을 봅니다. 부하 몇 분 뒤부터 증상이 나온다면 냉각이나 전원 공급 여유 쪽을 함께 의심합니다. 케이스 흡배기, 그래픽카드 보조 전원 케이블 체결 상태도 이때 같이 봅니다.

전압을 낮추는 설정도 오버클럭과 같은 취급입니다

발열과 소음을 줄이려고 전압을 내려 두는 설정은 클럭을 올리는 것과 방향만 다를 뿐 기본값을 벗어난 상태라는 점에서 같습니다. 여유가 부족해지면 특정 부하에서만 연산이 실패하므로, 판단할 때는 함께 기본값으로 되돌립니다.

이 방법이 안 통하는 경우

기본값으로 되돌리고 재부팅했는데도 그대로면 설정 문제가 아닙니다. 특정 장면에서만 반복된다면 원인 C, 게임 밖에서도 화면이 깜빡인다면 원인 D로 갑니다.

원인 C작업이 TDR 제한 시간 안에 끝나지 않는다

특정 맵·해상도·옵션에서만 반복된다면 제한 시간 쪽을 봅니다.

TDR의 제한 시간은 레지스트리로 정해집니다. 마이크로소프트 문서 기준으로 경로는 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers이고, TdrDelay의 기본값은 2초, 드라이버가 빠져나올 때까지 허용하는 TdrDdiDelay의 기본값은 5초, 복구 수준을 정하는 TdrLevel의 기본값은 3(복구)입니다.

문서는 이 값을 일반 사용자가 바꾸는 것을 권하지 않습니다

같은 문서에 "최종 사용자는 이 레지스트리 키를 조작해서는 안 되며, 응용 프로그램도 드라이버 개발 중의 테스트·디버깅 목적이 아니면 건드려서는 안 된다"는 문장이 그대로 들어 있습니다. 값을 늘리면 화면이 멈춰 있는 시간이 길어질 뿐, GPU가 왜 응답하지 못했는지는 그대로 남습니다. 이 글에서도 값 변경은 원인을 확인하는 임시 수단으로만 다룹니다.

그래서 이 섹션의 순서는 레지스트리를 먼저 건드리지 않는 쪽입니다. 같은 지점에서만 난다면, 그 지점의 부하를 줄여 증상이 사라지는지부터 봅니다.

1무거운 옵션부터 한 단계씩 내린다

레이 트레이싱, 프레임 생성, 그림자·텍스처 품질, 해상도 배율을 한 번에 하나씩 낮추고 같은 지점을 다시 지나갑니다. 어느 옵션에서 멈추는지가 곧 어떤 연산이 제한 시간을 넘겼는지에 대한 단서입니다.

2창 모드와 전체 화면을 바꿔 본다

전체 화면 전용 모드와 테두리 없는 창 모드는 화면 전환 방식이 달라, 해상도가 바뀌는 순간에만 나던 증상이 한쪽에서는 나타나지 않는 경우가 있습니다.

3게임 파일 무결성을 확인한다

한 게임에서만 같은 지점에서 난다면 셰이더 캐시나 리소스 파일이 깨졌을 수 있습니다. 스팀은 속성 → 설치된 파일 → 게임 파일의 무결성 확인, 다른 런처도 비슷한 복구·검사 기능을 제공합니다.

4여기까지 다 해도 같으면, 제한 시간을 임시로만 늘려 본다

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
이름 : TdrDelay  ·  형식 : DWORD(32비트)  ·  값 : 8

값을 만들고 재부팅한 뒤, 같은 지점에서 증상이 사라지면 "제한 시간을 넘기는 작업이 있다"는 사실이 확인된 것입니다. 확인이 끝나면 만든 값을 삭제해 기본 상태로 되돌립니다. 늘려 둔 채로 쓰면 진짜 문제가 생겼을 때 화면이 더 오래 멈춥니다.

이 방법이 안 통하는 경우

옵션을 최저로 내려도, 값을 늘려도 같은 간격으로 반복된다면 특정 작업의 문제가 아닙니다. 원인 D의 시스템 파일 점검으로 넘어가고, 그래도 남으면 진단 섹션에서 어느 구성 요소가 기록됐는지 확인합니다.

원인 DDirectX 런타임·시스템 파일이 손상됐다

게임이 아닌 곳에서도 화면이 깜빡인다면 시스템 쪽을 봅니다.

여러 게임에서 동시에, 게다가 영상 재생이나 브라우저 가속 상황에서도 같은 깜빡임이 있다면 특정 게임의 문제로 보기 어렵습니다. 이때는 그래픽 스택이 올라타 있는 시스템 파일 쪽을 점검합니다.

1시스템 파일 검사

sfc /scannow

시작 버튼을 우클릭해 터미널(관리자)로 실행합니다. "손상된 파일을 발견해 복구했습니다"가 나오면 재부팅 후 다시 시험합니다. "복구할 수 없습니다"가 나오면 아래 2단계를 먼저 돌리고 sfc를 한 번 더 실행합니다.

2구성 요소 저장소 복구

DISM /Online /Cleanup-Image /RestoreHealth

sfc가 참고하는 원본이 이 저장소입니다. 원본이 깨져 있으면 sfc는 몇 번을 돌려도 같은 실패를 냅니다. 완료 후 sfc를 다시 실행하는 것까지가 한 묶음입니다.

3선택적 업데이트까지 적용한다

Win + I → Windows 업데이트에서 업데이트를 확인하고, 고급 옵션 → 선택적 업데이트에 남아 있는 항목까지 설치한 뒤 재부팅합니다. 그래픽 관련 구성 요소가 여기에 들어 있는 경우가 있습니다.

4DirectX 진단 도구로 오류 항목을 확인한다

dxdiag

Win + R에 입력해 실행하고 디스플레이 탭을 엽니다. 드라이버 버전·날짜와 기능 사용 상태를 확인하고, 아래쪽 메모 칸에 문제가 적혀 있는지 봅니다. "문제 없음"이면 이 경로에서는 더 볼 것이 없습니다.

구버전 DirectX 런타임은 별개입니다

DirectX 12 자체는 윈도우 업데이트로 관리되지만, 오래된 게임이 쓰는 DirectX 9·10·11 계열 보조 런타임은 게임 설치 폴더의 런타임 설치본이나 마이크로소프트의 최종 사용자 런타임으로 따로 설치됩니다. 특정 구형 게임에서만 문제가 있다면 이쪽을 함께 확인합니다.

이 방법이 안 통하는 경우

sfc와 DISM이 모두 손상을 찾지 못했다고 끝났다면 시스템 파일은 정상입니다. 네 원인을 모두 지나왔다는 뜻이므로, 다음 섹션에서 로그에 무엇이 기록됐는지 확인해 하드웨어 쪽으로 판단 범위를 옮깁니다.

어느 쪽이 멈췄는지 로그로 확인하는 법

추측을 줄이는 유일한 자료는 윈도우가 스스로 남긴 기록입니다.

앞에서 본 대로 TDR이 동작하면 그 사실이 이벤트 뷰어에 기록됩니다. 게임 실행 파일 이름만 보고 게임 탓으로 결론 내리기 전에, 어떤 구성 요소가 기록됐는지를 눈으로 확인하는 편이 빠릅니다.

1이벤트 뷰어의 시스템 로그를 연다

eventvwr.msc

Win + R에 입력해 실행하고 Windows 로그 → 시스템을 엽니다. 우측 현재 로그 필터링에서 이벤트 수준 오류를 체크하면 목록이 짧아집니다.

2튕긴 시각과 같은 시각의 항목을 찾는다

원본(Source)이 Display로 표시되고 "디스플레이 드라이버가 응답을 중지했다가 복구되었습니다"라는 문구가 들어 있는 항목이 TDR 기록입니다. 문구 안에 어떤 드라이버가 재시작됐는지가 함께 적힙니다.

3간격과 반복 횟수를 센다

같은 항목이 짧은 시간에 여러 번 몰려 있으면 앞서 설명한 5회 기준에 가까워지고 있다는 신호입니다. 반대로 며칠에 한 번이고 항상 같은 게임의 같은 장면이라면 원인 C 쪽으로 좁혀집니다.

4게임의 크래시 로그와 대조한다

게임이 남긴 크래시 로그에 DXGI_ERROR_DEVICE_HUNG이 아니라 DXGI_ERROR_DEVICE_REMOVED가 적혀 있다면 앞서 정리한 대로 다른 상황입니다. 두 로그의 시각과 코드를 함께 봐야 방향을 잘못 잡지 않습니다.

여기까지 왔는데 드라이버를 정리해도, 기본값으로 되돌려도, 시스템 파일도 정상이고 로그에는 같은 항목만 계속 쌓인다면 판단 범위를 하드웨어로 옮깁니다. 다른 그래픽카드로 바꿔 꽂았을 때 증상이 사라지는지, 다른 파워서플라이에서도 같은지처럼 부품 하나를 바꿔 비교하는 방식이 가장 확실합니다.

자주 묻는 질문

판단이 갈리는 지점만 모았습니다.

Q.이 오류가 뜨면 그래픽카드가 고장난 것인가요?

A.코드 자체는 고장을 뜻하지 않습니다. 문서상 정의는 장치가 명령을 끝내지 못했다는 상태 보고이고, 실제 원인은 드라이버·설정·특정 작업까지 넓게 걸쳐 있습니다. 다만 기본값으로 되돌리고 드라이버를 정리했는데도 온도·전력 이상과 함께 반복된다면 하드웨어 쪽을 확인할 단계가 맞습니다.

Q.TdrDelay 값을 늘려 두고 계속 써도 되나요?

A.권장되지 않습니다. 마이크로소프트 문서는 최종 사용자가 TDR 레지스트리 키를 조작해서는 안 된다고 명시합니다. 값을 늘리면 응답을 더 오래 기다릴 뿐이라, 실제로 문제가 생겼을 때 화면이 멈춰 있는 시간만 길어집니다. 원인 확인용으로만 쓰고 확인 뒤에는 값을 지웁니다.

Q.게임 하나에서만 뜨는데도 원인이 같은가요?

A.겉으로 보이는 코드는 같아도 볼 곳은 달라집니다. 한 게임에서만 난다면 그 게임의 고사양 옵션과 파일 무결성부터 보고, 여러 게임에서 공통이라면 드라이버와 시스템 파일 쪽입니다. 판별표의 첫 두 줄이 그 갈림길입니다.

Q.노트북인데 드라이버를 어디서 받아야 하나요?

A.노트북 제조사 지원 페이지가 우선입니다. 노트북은 전원 관리와 팬 제어가 그래픽 드라이버와 함께 묶여 배포되는 경우가 많아, 그래픽카드 제조사의 일반 드라이버를 넣으면 절전 복귀나 발열 제어에서 다른 문제가 생기기도 합니다. 제조사 페이지에 최신 버전이 없을 때만 일반 드라이버를 검토합니다.

Q.깨끗한 설치와 일반 업데이트는 무엇이 다른가요?

A.일반 업데이트는 기존 구성 위에 새 버전을 덮습니다. 이전 설정과 남은 구성 요소가 함께 유지되므로 충돌 가능성이 그대로 남습니다. 깨끗한 설치는 이전 항목을 지우고 시작하기 때문에, "드라이버가 원인인가"를 판단할 때는 이쪽이 훨씬 명확한 답을 줍니다.

Q.모니터를 두 대 쓰는데 관련이 있나요?

A.주사율이 서로 다른 모니터를 함께 쓰거나 케이블·허브를 거쳐 연결한 상태에서 해상도·주사율이 바뀌는 순간에만 증상이 나오는 경우가 있습니다. 판별에 도움이 되므로, 한 대만 연결한 상태로 같은 지점을 다시 지나가 비교해 보는 것이 좋습니다.

함께 보면 좋은 글

같은 그래픽 스택에서 이어지는 오류들입니다.

디스플레이 드라이버 응답 없음(TDR) 오류 해결법 게임이 튕기지 않고 화면 깜빡임으로만 끝날 때 보는 글입니다 · 눌러서 확인하기 → 장치관리자 코드 43 오류 해결법 드라이버를 정리하는 도중 그래픽카드가 아예 안 잡히기 시작했다면 함께 봅니다 · 눌러서 확인하기 → 배틀그라운드 치명적 오류(Fatal Error) 해결 순서 한 게임에서만 튕길 때 게임 쪽 점검 항목을 정리한 글입니다 · 눌러서 확인하기 →

광고자리 · 글 아래