nvlddmkm, код події 13 і збої nvlddmkm.sys: скидання драйвера і TdrDelay
Подію 13 від nvlddmkm пише відеодрайвер NVIDIA; Display 4101 означає, що Windows його скинула. Більший TdrDelay лише подовжує кожне зависання.
nvlddmkm — ім'я служби відеодрайвера NVIDIA, nvlddmkm.sys, тож подія з кодом 13 від джерела nvlddmkm — це запис, який сам драйвер робить у журнал System, а подія 4101 від Display у той самий час означає, що драйвер перестав відповідати і Windows його скинула. Збільшення TdrDelay не виправляє ні того, ні іншого: Microsoft каже, що кінцевим користувачам не слід змінювати ключі реєстру TDR, а довша затримка лише довше тримає завислий екран застиглим до скидання. w0a не записує жодного з цих значень; його картка «Відновлення після збою GPU» видаляє їх, щоб знову діяли типові значення Windows.
Що таке nvlddmkm, код події 13 і код події 4101
nvlddmkm.sys — частина відеодрайвера NVIDIA, що працює в режимі ядра: властивості самого файлу описують його як «NVIDIA Windows Kernel Mode Driver», а Windows запускає його як службу nvlddmkm. Події, які драйвер пише в журнал System, мають це ім'я служби як джерело.
Код події щось означає лише разом зі своїм джерелом. У джерела Display 4101 — власний запис Windows про скидання драйвера. Інші джерела використовують той самий номер: на ПК, де перевіряли ці рядки, ще 24 джерела журналу System, серед них Tcpip і Dnscache, визначають свій 4101. У nvlddmkm 13 — номер, який драйвер NVIDIA обрав для себе сам.
Windows не може описати цей код 13 одним реченням. На ПК, де перевіряли цей посібник, із драйвером NVIDIA 621.01, для джерела nvlddmkm не зареєстровано файл повідомлень, тому Event Viewer повідомляє, що не може знайти опис для коду події, а потім виводить той текст, який доклав драйвер. Документація Microsoft щодо TDR теж не перелічує коди NVIDIA, тож цей посібник не вгадує значення: спиратися можна на текст драйвера і час.
А от 4101 від Display розписаний словами. Його текст: «Драйвер дисплея … припинив реагувати, успішно відновлено.», де на місці трикрапки стоїть ім'я драйвера.
Що таке скидання драйвера
Microsoft називає цей механізм виявленням і відновленням після перевищення часу очікування (TDR, Timeout Detection and Recovery). Коли GPU не може ні завершити, ні перервати поточне завдання за час очікування, ОС вважає, що GPU завис, і Windows скидає відеокарту, щоб уся система не перестала відповідати. Час очікування за замовчуванням — дві секунди. Після успішного відновлення Windows показує повідомлення про те, що драйвер дисплея перестав відповідати і був відновлений, і записує це повідомлення в Event Viewer.
Скидання не завжди на цьому закінчується:
- Повторні скидання закінчуються синім екраном. За замовчуванням Windows зупиняє ПК з помилкою (bug check) на шостому зависанні GPU, якщо за одну хвилину виявляє п'ять або більше зависань GPU (0x117) з подальшим відновленням.
- Невдале скидання — одразу синій екран. Помилка 0x116 VIDEO_TDR_FAILURE означає, що спроба скинути драйвер дисплея і відновитися після перевищення часу очікування не вдалася. У прикладі аналізу цього коду зупинки в самої Microsoft збійним модулем названо
nvlddmkm.sys. - Гра може лишитися чорною. Microsoft зазначає, що деякі старі застосунки DirectX наприкінці цього відновлення можуть показувати лише чорний екран, і користувачеві доводиться їх перезапускати.
Знайди події в Event Viewer
- Натисни Windows + R, введи
eventvwr.mscі натисни Enter. - На лівій панелі відкрий Windows Logs і вибери System; українська Windows показує Event Viewer англійською, тому ці назви англійські.
- Клацни заголовок стовпця Source, щоб відсортувати список; записи
Displayіnvlddmkmтепер стоять кожен своїм блоком. - Вибери запис і прочитай вкладку General під списком разом із його часом і полем Event ID.
PowerShell видає той самий список одним рядком, від нових до старих:
Get-WinEvent -FilterHashtable @{ LogName = 'System'; ProviderName = 'Display', 'nvlddmkm' } -MaxEvents 30 | Format-Table TimeCreated, ProviderName, Id -AutoSize
Якщо PowerShell відповідає, що подій не знайдено, жодне з двох джерел уже не має записів у журналі System, і ця сторінка не твій слід: Чому вилетіла гра? розбирає інші записи.
Як читати знайдене
Порівнюй час. 4101 від Display у той момент, коли зображення почорніло й повернулося, — це скидання, яке спрацювало. Запис nvlddmkm у ту саму хвилину належить до того самого випадку. Кілька 4101 за одну хвилину, а слідом перезавантаження, підходять під правило «п'ять за хвилину» вище, а з дампу цього синього екрана продовжує Чому вилетіла гра?.
Що перевірити, по одній зміні за раз
Рішення Microsoft для 0x116 починається з драйвера, а потім перелічує залізо: розігнані компоненти, неправильну сумісність і налаштування компонентів (особливо конфігурацію й таймінги пам'яті), недостатнє охолодження, недостатнє живлення і несправні деталі. Перевіряй після кожного кроку, щоб знати, яка зміна зіграла роль.
- Перевстанови драйвер начисто. За словами Microsoft, може знадобитися встановити останні оновлення драйвера дисплея, щоб він правильно підтримував процес TDR. У NVIDIA app відкрий Драйвери, вибери Повторно встановити для встановленого драйвера, вибери Вибіркове встановлення і познач Нове встановлення; за словами застосунку, цей варіант «Скидає всі налаштування драйверів та профілі до значень за замовчуванням». Чиста інсталяція заради стабільних 1% low проводить через повне перевстановлення драйвера, разом із Display Driver Uninstaller.
- Зніми розгін з відеокарти. Увімкни Режим налагодження в розділі Система > Розширені в NVIDIA app; за словами застосунку, він «Видаляє із графічного процесора всі поточно застосовані налаштування розгону процесора (встановлені користувачем та/або виробником) до перезавантаження системи». Якщо ти застосовував зсув у w0a, кнопка Скинути до стандартних на його сторінці Відеокарта повертає заводські значення.
- Перевір пам'ять на типових налаштуваннях. Конфігурація й таймінги пам'яті є в списку Microsoft, тож профіль XMP чи EXPO або вручну налаштовані таймінги варті однієї перевірки без них. Чи працює RAM на заявленій швидкості? показує, як перевірити профіль і протестувати модулі.
- Перевір охолодження і живлення. Стеж за температурою GPU під навантаженням за посібником Температура процесора і відеокарти в іграх; якщо ПК ще й сам вимикається, бік живлення розбирає ПК перезавантажується або вимикається під час гри.
- Онови гру. Контрольний список Microsoft вимагає, щоб на застосунки з високим графічним навантаженням (наприклад, ігри) були встановлені всі виправлення.
Чому w0a ніколи не записує TdrDelay і TdrLevel
Змінити затримку TDR — означає підняти TdrDelay вище значення за замовчуванням; вимкнути TDR — означає виставити TdrLevel на 0. Довідка Microsoft щодо ключів реєстру TDR прямо каже про обидва: ці ключі потрібні тільки для тестування й налагодження під час розробки драйверів, і кінцевим користувачам не слід чіпати ці ключі реєстру («End users shouldn't manipulate these registry keys.»).
Що роблять ці два значення, випливає з тієї самої сторінки. TdrDelay фактично і є порогом часу очікування, за замовчуванням дві секунди: завислу відеокарту скидають, лише коли цей час спливає, тож більше число не зупиняє зависання, а лише довше тримає екран застиглим до скидання. TdrLevel 0 у таблиці Microsoft значиться як «Detection disabled» (виявлення вимкнено): Windows більше не помічає зависання, тож ніщо не скидає відеокарту.
w0a не записує жодного значення TDR: TdrDelay і TdrLevel у його списку заборонених, який не обходить навіть відновлення з резервної копії. Причина — реальна машина: старі збірки w0a піднімали TdrDelay до 10 секунд, і на ній ці ключі вішали CS2. w0a робить протилежне.
Картка Відновлення після збою GPU на сторінці Fix видаляє TdrLevel, TdrDelay, TdrDdiDelay, TdrLimitCount і TdrLimitTime у HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers. Без цих значень Windows працює на своїх значеннях за замовчуванням: відновлення увімкнене, час очікування 2 секунди, 5 секунд для TdrDdiDelay і п'ять скидань, дозволених за 60 секунд. Введи tdr у поле пошуку на сторінці, щоб знайти картку. Вона просить перезавантаження, якщо щось видалила, і повідомляє, якщо видаляти не було чого.
Картка не заважає GPU зависати. Вона повертає власну страховку Windows, а причина й далі в одному з пунктів перевірки вище.
Детектив фризів рахує події 4101 від Display за останні 24 години і попереджає, якщо TdrLevel 0 вимкнув відновлення.
Поширені запитання
Що означає код події 13 від nvlddmkm?
Це запис, який відеодрайвер NVIDIA зробив від свого джерела, і Windows не має для нього власного опису. Прочитай текст, доданий драйвером, на вкладці General і пошукай 4101 від Display у ту саму хвилину: якщо він є, драйвер було скинуто, і перевірки вище чинні.
Чи зламаний nvlddmkm.sys, якщо його називає синій екран?
Не обов'язково. Власний приклад Microsoft для VIDEO_TDR_FAILURE називає nvlddmkm.sys, а причини в її списку тягнуться від драйвера до розгону, налаштувань пам'яті, охолодження, живлення і несправних деталей. Для драйвера, названого в помилці, порада Microsoft — дізнатися в його виробника про оновлення драйвера.
Чи варто збільшити TdrDelay, щоб вильоти припинилися?
Ні. Microsoft каже, що кінцевим користувачам не слід його змінювати, а довший TdrDelay лише змушує Windows довше чекати, перш ніж скинути завислу відеокарту. Якщо його підняла стара програма, картка «Відновлення після збою GPU» його видалить.
Чи можна вимкнути TDR через TdrLevel 0?
Можна, і в цьому проблема: Microsoft вказує 0 як «Detection disabled» (виявлення вимкнено). Тоді Windows узагалі не виявляє зависання, тож не скидає відеокарту, а скидання існує, щоб уся система не перестала відповідати.
Чому гра лишається чорною, коли зображення повернулося?
Microsoft зазначає, що деякі старі застосунки DirectX наприкінці цього відновлення можуть показувати лише чорний екран і їх треба перезапустити. Перезапусти гру; якщо скидання тривають, пройди перевірки вище по черзі.
Пов'язане
- Чому вилетіла гра? Reliability Monitor і Перегляд подій
- Чиста інсталяція заради стабільних 1% low
- Температура процесора і відеокарти в іграх: що нормально
- Чи працює RAM на заявленій швидкості? XMP, EXPO і двоканальний режим
- ПК перезавантажується або вимикається під час гри: Kernel-Power 41
Якщо античит не запускається, ось як перевірити Secure Boot і TPM 2.0 та ввімкнути їх, не опинившись заблокованим через BitLocker: Secure Boot і TPM 2.0 для античиту (VALORANT, FACEIT): як перевірити й увімкнути
Pro-тріал на 3 дні забирається в застосунку через Discord, без картки: Як працює пробний період
Ця сторінка допомогла?
Чого бракувало або що не спрацювало? Ми читаємо кожну таку відповідь.
Надсилається лише те, що ти напишеш, разом із назвою цієї сторінки. Наш сервер також записує IP-адресу з'єднання, щоб обмежити зловживання, і видаляє її разом із повідомленням. Будь ласка, не користуйся цим полем, якщо тобі менше 16 років. Політика конфіденційності
Якщо ця сторінка не розв'язала проблему, напиши нам — скажи, яку статтю ти читав, і ми виправимо статтю.