В последнее время пользователи часто сталкиваются с такими ошибками, как D3D11 CreateDeviceAndSwapChain Failed, "Failed to initialize DirectX 11", "Cannot run the program because d3dx11 file.dll отсутствует на вашем компьютере" и подобные. Чаще это происходит в Windows 7, но при определенных условиях вы можете столкнуться с этой проблемой и в Windows 10.
Как видно из текста ошибки, проблема заключается в инициализации DirectX 11, а точнее Direct3D 11, за который отвечает файл d3d11.dll. В то же время, несмотря на то, что, пользуясь инструкциями в интернете, вы уже могли заглянуть в dxdiag и увидеть, что DX 11 (или даже DirectX 12) установлен, проблема может сохраниться. В этой инструкции — подробности о том, как исправить ошибку D3D11 CreateDeviceAndSwapChain Failed или d3dx11.Эта dll не установлена на вашем компьютере.
Исправление ошибок D3D11
Причиной возникновения рассматриваемой ошибки могут быть различные факторы, наиболее распространенными из которых являются
- Ваша видеокарта не поддерживает DirectX 11 (однако, если вы нажмете Win+R и введете dxdiag, то увидите, что установлена либо 11, либо 12 версия). При этом ничего не говорится о том, поддерживает ли видеокарта эту версию — только то, что файлы этой версии установлены на компьютере).
- Не установлены последние оригинальные драйвера на видеокарту — в этом случае начинающие пользователи часто пытаются обновить драйвера с помощью кнопки "Обновить" в диспетчере устройств, это неправильный метод: сообщение о том, что "Драйвер не нуждается в обновлении" при таком методе обычно мало что значит.
- Не установлены необходимые обновления для Windows 7, это может привести к тому, что даже если у вас установлен файл DX11, d3d11.Несмотря на отсутствие поддержки со стороны материнской платы и видеокарты, игры, такие как Dishonored 2, продолжают сообщать об этой ошибке.
Первые два пункта взаимосвязаны и могут возникнуть одинаково у пользователей Windows 7 и Windows 10.
Правильная процедура устранения ошибки в этом случае следующая:
- Вручную скачайте оригинальные драйверы видеокарты с официальных сайтов AMD, NVIDIA или Intel (см., Например, Как установить драйвера NVIDIA в Windows 10) и установить их.
- Зайдите в dxdiag (нажмите Win+R, введите dxdiag и нажмите Enter), откройте вкладку "Экран" и в разделе "Драйверы" обратите внимание на поле "DDI для Direct3D". При значениях 11.1 или выше вы не должны получать ошибки D3D11. Если меньше — скорее всего, дело в отсутствии поддержки со стороны видеокарты или ее драйверов. Или, в случае Windows 7, при отсутствии необходимого обновления платформы, следующим образом.
Вы также можете увидеть отдельно установленную и поддерживаемую оборудованием версию DirectX в некоторых сторонних программах, например, AIDA64 (см. также. Как узнать версию DirectX на вашем компьютере).
В Windows 7 ошибки инициализации D3D11 и DirectX 11 при запуске современных игр могут появляться даже в том случае, если установлены необходимые драйвера и видеокарта не из старых. Вы можете исправить ситуацию следующим образом.
Как загрузить D3D11.dll для Windows 7
Ее можно загрузить и установить (или обновить, если она уже есть на вашем компьютере) с официального сайта Microsoft, как часть обновлений, выпущенных для 7. Не рекомендую скачивать этот файл отдельно со сторонних сайтов (или брать его с другого компьютера), вряд ли это исправит ошибки d3d11.dll при запуске игры.
- Для правильной установки необходимо загрузить обновление платформы Windows 7 (для Windows 7 SP1) — https://www.microsoft.com/en/download/details.aspx?id=36805.
- После загрузки файла запустите его и подтвердите установку обновления KB2670838.
После завершения установки и перезагрузки компьютера, библиотека, о которой идет речь, будет находиться в правильном месте (C:\ Windows\ System32\ ), а ошибки, связанные с тем, что d3d11.dll или отсутствует на вашем компьютере или D3D11 CreateDeviceAndSwapChain Failed, не появляется (при условии, что у вас достаточно современное оборудование).