Dxgi error driver internal error как исправить
28 мар. 2020 в 7:26
DXGI_ERROR_DEVICE_REMOVED/DXGI_ERROR_DRIVER_INTERNAL_ERROR
Hi, since today I can't play Factorio anymore, when i launch the game I keep getting this message : DXGI_ERROR_DEVICE_REMOVED/DXGI_ERROR_DRIVER_INTERNAL_ERROR
It basically says that they can't find my graphic card, which is weird because i play other games such as Slay the Spire, League of Legends and Borderlands 3 atm perfectly fine so i'm really wondering what's happening, can someone would be so kind to help me please?
It crashes due to internal error in the graphics driver. According to the error code. I never thought I would see this happen in Factorio, since we don't use any advanced functionality of Direct3D, so it gives generic "graphics device was reset" message.
Some DirectX 11 games may fail to launch when Image Sharpening is enabled from the NVIDIA Control Panel
I don't know if that's the issue you are experiencing, but it's worth a shot - try to turn off Image Sharpening in NVIDIA Control Panel or to install the driver hotfix. 28 мар. 2020 в 10:44
post your logs (see pinned topic) so you can help us, help you.
also try adding this to launch options
post your logs (see pinned topic) so you can help us, help you.
also try adding this to launch options
thanks for the log. a dev may be more help to the cause, and a solution. is your directx up to date? your drivers?
it forces the game to use OpenGL instead of D3D (directx)
28 мар. 2020 в 11:40thanks for the log. a dev may be more help to the cause, and a solution. is your directx up to date? your drivers?
it forces the game to use OpenGL instead of D3D (directx)
yes everything is up to date as far as I know, like I said I'm able to play other and more demanding games fine like RDR2, Factorio is the only game that I can't play right now.
thanks for the log. a dev may be more help to the cause, and a solution. is your directx up to date? your drivers?
it forces the game to use OpenGL instead of D3D (directx)
yes everything is up to date as far as I know, like I said I'm able to play other and more demanding games fine like RDR2, Factorio is the only game that I can't play right now. Do not mistake 2D for undemanding, the HD textures are HD after all.
And your GPU seems to be crashing in that log, then your system trying to fall back on the Basic Render Driver that microsoft has that will be lucky to run anything more complex than notepad without issue.
Nvidia drivers are rather touchy, some work very well others break on random games. That is assuming the driver isn't corrupted which can sometimes happen too.
Выясняем, почему возникаем ошибка DXGI_ERROR_DEVICE_REMOVED.
Что означает эта ошибка и почему она возникает?
Обычно эта ошибка появляется во время игры. Причем неважно, какая именно видеоигра запущена. Этот сбой может произойти в любой из них. По факту, код ошибки означает следующее — «Либо видеоадаптер был извлечен из системы, либо его драйвер был обновлен».
Вряд ли вы вытащили видеокарту прямо в ходе игры, да и драйвера в фоне обновляются не так тихо. Так что стоит обратить внимание на другие потенциальные причины сбоя:
- Ошибка в работе драйверов видеокарты.
- Перебои в питании видеоадаптера.
- Ручное изменение тактовой частоты и других характеристик видеочипа.
- Повреждение в разъеме PCI-E, куда вставлена видеокарта (из-за этого система может думать, что адаптер извлекли из компьютера).
- Некорректная работы некоторых программ и сервисов.
- Недостаточно высокая производительность адаптера или других комплектующих.
Далее рассмотрим наиболее эффективные варианты решения проблемы.
Исправляем ошибку DXGI_ERROR_DEVICE_REMOVED
Выставляем подходящие настройки графики в играх
Одна из первых вещей, которые нужно сделать — выставить настройки графики пониже. Иногда видеокарте не хватает энергии и она начинает сбоить при высокой нагрузке. То же самое происходит, когда видеочип оказывается недостаточно мощным. Поставьте минимальные графические настройки в игре, где появляется ошибка и протестируйте ее снова.
Также стоит включить вертикальную синхронизацию, если она выключена.
Отключаем Nvidia Share
Если вы используете видеоадаптер GeForce, то можно попробовать отключить сервис Nvidia Share. Это фирменное ПО Nvidia для трансляции игрового процесса. Если не собираетесь заниматься стримингом, то эта функция вам не пригодится.
- Заходим в приложение Nvidia GeForce Experience (оно устанавливается вместе с драйверами).
- На стартовом экране ищем блок настроек Share.
- Внутри будет тумблер зеленого цвета. Переводим его в положение «Выкл.».
- Сохраняем настройки, нажав «Применить» и закрываем GeForce Experience.
После этого можно перезагрузить компьютер и заново протестировать игры, которые отзывались ошибкой.
Добавляем ключ TdrLevel в реестр Windows
TDR — это система попеременной проверки оборудования. Она отправляет запрос и ждет ответа какое-то время. Если ответ не поступает, то оно посылает соответствующий запрос и провоцирует перезапуск сбойного оборудования. Можно попробовать отключить TDR через реестр и проверить, как будет вести себя видеоадаптер в играх.
That error code is 'incomplete' what is the last work of the code? Hung, removed, reset?
Investigating the cause of device removed errors
- DXGI_ERROR_DEVICE_HUNG: The graphics driver stopped responding because of an invalid combination of graphics commands sent by the app. If you get this error repeatedly, it is a likely indication that your app caused the device to hang and needs to be debugged.
- DXGI_ERROR_DEVICE_REMOVED: The graphics device has been physically removed, turned off, or a driver upgrade has occurred. This happens occasionally and is normal; your app or game should recreate device resources as described in this topic.
- DXGI_ERROR_DEVICE_RESET: The graphics device failed because of a badly formed command. If you get this error repeatedly it may mean that your code is sending invalid drawing commands.
- DXGI_ERROR_DRIVER_INTERNAL_ERROR: The graphics driver encountered an error and reset the device.
- DXGI_ERROR_INVALID_CALL: The application provided invalid parameter data. If you get this error even once, it means that your code caused the device removed condition and must be debugged.
- S_OK: Returned when a graphics device was enabled, disabled, or reset without invalidating the current graphics device. For example, this error code can be returned if an app is using Windows Advanced Rasterization Platform (WARP) and a hardware adapter becomes available.
Edited by 9erRed, 08 October 2014 - 04:35 PM.
I can't run max graphics even if my system has the power because of these errors. Try lowering your settings to medium or lower.Crashing here since this patch too. Was fine last patch. Nothing changed on my system except the patch.
9erRed, on 08 October 2014 - 04:25 PM, said:
That error code is 'incomplete' what is the last work of the code? Hung, removed, reset?
Investigating the cause of device removed errors
- DXGI_ERROR_DEVICE_HUNG: The graphics driver stopped responding because of an invalid combination of graphics commands sent by the app. If you get this error repeatedly, it is a likely indication that your app caused the device to hang and needs to be debugged.
- DXGI_ERROR_DEVICE_REMOVED: The graphics device has been physically removed, turned off, or a driver upgrade has occurred. This happens occasionally and is normal; your app or game should recreate device resources as described in this topic.
- DXGI_ERROR_DEVICE_RESET: The graphics device failed because of a badly formed command. If you get this error repeatedly it may mean that your code is sending invalid drawing commands.
- DXGI_ERROR_DRIVER_INTERNAL_ERROR: The graphics driver encountered an error and reset the device.
- DXGI_ERROR_INVALID_CALL: The application provided invalid parameter data. If you get this error even once, it means that your code caused the device removed condition and must be debugged.
- S_OK: Returned when a graphics device was enabled, disabled, or reset without invalidating the current graphics device. For example, this error code can be returned if an app is using Windows Advanced Rasterization Platform (WARP) and a hardware adapter becomes available.
Thanks for the reply 9erRed. So the error code I get is DXGI_ERROR_DEVICE_REMOVED. Any suggestions on what to do next? I have run the repair tool many times to no avail (even though it finds and repairs errors)
I opened the nvidea control panel as you suggested, but not sure what I was supposed to do once it was opened.
I'm almost ready to dump this game because I'm sick of the crashing. Happens every time I play now. No other games I play have issues.
Is your graphics card factory (or manually, by you) overclocked? If it is, it's likely not stable at its overclocked speed in MW:O. The driver crashes and reloads itself, which is what causes the "device removed" error. You can alleviate the problem by using a graphics card overclocking program (Afterburner, Precision X, or others) to down-clock your card.
Durant Carlyle, on 07 November 2014 - 11:29 PM, said:
Is your graphics card factory (or manually, by you) overclocked? If it is, it's likely not stable at its overclocked speed in MW:O. The driver crashes and reloads itself, which is what causes the "device removed" error. You can alleviate the problem by using a graphics card overclocking program (Afterburner, Precision X, or others) to down-clock your card.Thanks for the feedback. The card is factory. Even if wasn't, there's no way I'd downgrade just to make this game work. I have no problems with all the other games I play.
PGI was being very helpful via a ticket I submitted. Gave some premium time and everything for the pain this has caused. But I haven't heard anything back in a couple weeks now and I still crash often.
Durant Carlyle, on 07 November 2014 - 11:29 PM, said:
Is your graphics card factory (or manually, by you) overclocked? If it is, it's likely not stable at its overclocked speed in MW:O. The driver crashes and reloads itself, which is what causes the "device removed" error. You can alleviate the problem by using a graphics card overclocking program (Afterburner, Precision X, or others) to down-clock your card.If overclocking was the problem he'd have errors in his other games.
Op i'd suggest a fresh install.
Namicus, on 04 December 2014 - 03:42 PM, said:
Thanks for the feedback. The card is factory. Even if wasn't, there's no way I'd downgrade just to make this game work. I have no problems with all the other games I play.
You didn't answer my question. Is it overclocked from the factory? If it is, try down-clocking it.
If it's a factory-overclocked card (for instance, an EVGA GTX 570 SuperClocked or something similar) and the overclock is causing the problem, there is absolutely nothing PGI can do to help you.
Don't overlook something that might be the answer just because of pure stubbornness. "I don't like that answer, so that must not be the problem" never solved anything.
KharnZor, on 04 December 2014 - 05:47 PM, said:
If overclocking was the problem he'd have errors in his other games.Op i'd suggest a fresh install.
Not necessarily. No two games are alike in their exact usage of each GPU's features. I've had overclocks 100% stable for every single game/program I have, except one. And for different GPUs, it was a different game that caused problems.
I'm an expert overclocker, and have been doing it for over 10 years now. If a graphics driver crashes, the first thing I look to is the graphics card itself. Is it overheating? Is it overclocked?
"No other game crashes" isn't a valid reason to discount the graphics card being the problem.
Durant Carlyle, on 04 December 2014 - 08:32 PM, said:
Don't overlook something that might be the answer just because of pure stubbornness. "I don't like that answer, so that must not be the problem" never solved anything.
Wow. Thanks for the help despite my pure stubbornness.
The card is factory and is not overclocked.
KharnZor, on 04 December 2014 - 05:47 PM, said:
If overclocking was the problem he'd have errors in his other games.Op i'd suggest a fresh install.
I thought that might help too. Unfortunately a clean install was the first thing I tried, and it didn't do anything.
Edited by Namicus, 05 December 2014 - 03:32 PM.
Look under the Nvidia control panel, manage 3D settings.
- You'll see two tabs, Global and Program settings.
Under the global tab are the everything default settings, what's set here is 'across the board' for all items using video.
- Only as a sample I'll include a screen cap of what my settings are, if you mouse over the specific setting there will be a description presented at the bottom of the box explaining what it's for or does.
- You may have some different setting available for a higher or lower version card.
(specifically check the 'power management mode' and select 'Max performance', this is a power throttle for the vid card if it's not being tasked while the CPU is busy.)
Latest Nvidia driver installed is ver. 344.75
There are higher values for some of my settings but MWO is stable and runs great with these.
- the second tab is specifically for altering single programs from the default setting, increasing or decreasing the original settings.
- this tab will find the programs that are installed and use video 'enhancements', if not you can add them.
This topic explains how to recreate the Direct3D and DXGI device interface chain when the graphics adapter is removed or reinitialized.
In DirectX 9, applications could encounter a "device lost" condition where the D3D device enters a non-operational state. For example, when a full-screen Direct3D 9 application loses focus, the Direct3D device becomes "lost;" any attempts to draw with a lost device will silently fail. Direct3D 11 uses virtual graphics device interfaces, enabling multiple programs to share the same physical graphics device and eliminating conditions where apps lose control of the Direct3D device. However, it is still possible for graphics adapter availability to change. For example:
- The graphics driver is upgraded.
- The system changes from a power-saving graphics adapter to a performance graphics adapter.
- The graphics device stops responding and is reset.
- A graphics adapter is physically attached or removed.
When such circumstances arise, DXGI returns an error code indicating that the Direct3D device must be reinitialized and device resources must be recreated. This walkthrough explains how Direct3D 11 apps and games can detect and respond to any circumstance where the graphics adapter is reset, removed, or changed. Code examples are provided from the DirectX 11 App (Universal Windows) template provided with Microsoft Visual Studio 2015.
Instructions
Step 1:
Include a check for the device removed error in the rendering loop. Present the frame by calling IDXGISwapChain::Present (or Present1, and so on). Then, check whether it returned DXGI_ERROR_DEVICE_REMOVED or DXGI_ERROR_DEVICE_RESET.
First, the template stores the HRESULT returned by the DXGI swap chain:
After taking care of all other work for presenting the frame, the template checks for the device removed error. If necessary, it calls a method to handle the device removed condition:
Step 2:
Also, include a check for the device removed error when responding to window size changes. This is a good place to check for DXGI_ERROR_DEVICE_REMOVED or DXGI_ERROR_DEVICE_RESET for several reasons:
- Resizing the swap chain requires a call to the underlying DXGI adapter, which can return the device removed error.
- The app might have moved to a monitor that's attached to a different graphics device.
- When a graphics device is removed or reset, the desktop resolution often changes, resulting in a window size change.
The template checks the HRESULT returned by ResizeBuffers:
Step 3:
Any time your app receives the DXGI_ERROR_DEVICE_REMOVED error, it must reinitialize the Direct3D device and recreate any device-dependent resources. Release any references to graphics device resources created with the previous Direct3D device; those resources are now invalid, and all references to the swap chain must be released before a new one can be created.
The HandleDeviceLost method releases the swap chain and notifies app components to release device resources:
Then, it creates a new swap chain and reinitializes the device-dependent resources controlled by the device management class:
After the device and swap chain have been re-established, it notifies app components to reinitialize device-dependent resources:
When the HandleDeviceLost method exits, control returns to the rendering loop, which continues on to draw the next frame.
Remarks
Investigating the cause of device removed errors
Repeat issues with DXGI device removed errors can indicate that your graphics code is creating invalid conditions during a drawing routine. It can also indicate a hardware failure or a bug in the graphics driver. To investigate the cause of device removed errors, call ID3D11Device::GetDeviceRemovedReason before releasing the Direct3D device. This method returns one of six possible DXGI error codes indicating the reason for the device removed error:
- DXGI_ERROR_DEVICE_HUNG: The graphics driver stopped responding because of an invalid combination of graphics commands sent by the app. If you get this error repeatedly, it is a likely indication that your app caused the device to hang and needs to be debugged.
- DXGI_ERROR_DEVICE_REMOVED: The graphics device has been physically removed, turned off, or a driver upgrade has occurred. This happens occasionally and is normal; your app or game should recreate device resources as described in this topic.
- DXGI_ERROR_DEVICE_RESET: The graphics device failed because of a badly formed command. If you get this error repeatedly, it may mean that your code is sending invalid drawing commands.
- DXGI_ERROR_DRIVER_INTERNAL_ERROR: The graphics driver encountered an error and reset the device.
- DXGI_ERROR_INVALID_CALL: The application provided invalid parameter data. If you get this error even once, it means that your code caused the device removed condition and must be debugged.
- S_OK: Returned when a graphics device was enabled, disabled, or reset without invalidating the current graphics device. For example, this error code can be returned if an app is using Windows Advanced Rasterization Platform (WARP) and a hardware adapter becomes available.
The following code will retrieve the DXGI_ERROR_DEVICE_REMOVED error code and print it to the debug console. Insert this code at the beginning of the HandleDeviceLost method:
Testing Device Removed Handling
Visual Studio's Developer Command Prompt supports a command line tool 'dxcap' for Direct3D event capture and playback related to the Visual Studio Graphics Diagnostics. You can use the command line option "-forcetdr" while your app is running which will force a GPU Timeout Detection and Recovery event, thereby triggering DXGI_ERROR_DEVICE_REMOVED and allowing you to test your error handling code.
Читайте также: