Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

DirectX Errors after update? (Error only occurs in Unity Games)

Discussion in 'General Discussion' started by SGpro, Oct 11, 2018.

?

What Caused this error?

Poll closed Nov 11, 2018.
  1. Unity

    0 vote(s)
    0.0%
  2. Nvidia

    0 vote(s)
    0.0%
  3. Hardware

    0 vote(s)
    0.0%
  4. Windows

    100.0%
Multiple votes are allowed.
Thread Status:
Not open for further replies.
  1. SGpro

    SGpro

    Joined:
    Oct 11, 2018
    Posts:
    7
    Just after dealing with DirectX updates a while back on my Windows 10, everything worked the way it should be, but upon launching games ran by Unity, none of the games worked...
    I tried compatibility mode, DDU in safe mode (Display Driver Uninstaller), deleting all Nvidia related folder and registry files, installing the DirectX 9 from Microsoft, and I failed every one of them.
    I started wondering if this has to do with the engine and the GPU itself, so I removed all Nvidia related things and the game was able to launch, of course, without the GPU, it was unplayable...
    Researching deeper into this, I checked Event Viewer and the game folder analysis, a file named "output_log.txt" contains some critical information about this error, here's the code:

    Initialize engine version: 2017.1.2p4 (d597d0924185)
    GfxDevice: creating device client; threaded=1
    d3d11: failed to create device and context (887a0004).
    GfxDevice: creating device client; threaded=1
    d3d: no support for this device type (accelerated/ref)
    GfxDevice: creating device client; threaded=1
    d3d11: failed to create device and context (887a0004).
    GfxDevice: creating device client; threaded=1
    d3d: no support for this device type (accelerated/ref)
    Failed to initialize Direct3D.
    Make sure you have at least DirectX 9.0c installed, have drivers for your
    graphics card and have not disabled 3D acceleration
    in display settings.
    InitializeEngineGraphics failed
    PlayerInitEngineGraphics: InitializeEngineGraphics failed

    Since I'm an outsider, I don't really know what to expect, I tried replacing d3d11.dll in system32 downloaded off the internet (checked the DLL version, the original file was few megabytes off from the one I downloaded from the web) and still didn't work...


    Here's some background information about my computer (Don't think it has anything to do with my hardware tho):
    CPU: AMD - Ryzen 5 2600 3.4GHz 6-Core Processor
    Motherboard: ASRock - X470 Master SLI/AC ATX AM4 Motherboard
    Memory: G.Skill - Sniper X 16GB (2 x 8GB) DDR4-3600 Memory
    Storage: Samsung - 860 Evo 500GB 2.5" Solid State Drive
    Video Card: EVGA - GeForce GTX 1060 6GB 6GB SC GAMING Video Card
    Case: Phanteks - Eclipse P350X (Black) ATX Mid Tower Case
    Power Supply: Corsair - RMx (2018) 550W 80+ Gold Certified Fully-Modular ATX Power Supply

    And the game I tested on (where the log files come from) is called "Getting Over It with Bennett Foddy"
     
  2. Zuntatos

    Zuntatos

    Joined:
    Nov 18, 2012
    Posts:
    612
    Downloading dll's from the internet is rarely a good idea. Same for deleting driver files manually. Did you try (re)installing the nvidia graphics drivers from their website? You say you uninstalled it all / deleted the files, not whether you have reinstalled it afterwards.
     
  3. SGpro

    SGpro

    Joined:
    Oct 11, 2018
    Posts:
    7
    Yes, DLL method was the last thing I tried.
    I’ve tried uninstalling the Nvidia drives and reinstalling with the official installer hosted on their site, still up to no good.
     
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,944
  5. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    887a0004 means DXGI_ERROR_UNSUPPORTED. It's very likely the driver isn't functioning properly. If you changed system DLLs off the internet and didn't make a backup, I highly recommend reinstalling windows from scratch, as your system might be compromised. And don't enter any passwords anywhere before you do that.
     
    angrypenguin and Ryiah like this.
  6. SGpro

    SGpro

    Joined:
    Oct 11, 2018
    Posts:
    7
  7. SGpro

    SGpro

    Joined:
    Oct 11, 2018
    Posts:
    7
    I always make sure the files I downloaded is legitimate, I have Sophos installed and ran VirusTotal for the files from 3rd party sources.
     
  8. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,644
    Scanning files with anti virus isn't a foolproof way of making sure that files are legitimate. I can easily write a program that will not get detected by anything but will steal your data.

    Anyway, that particular DLL is tied to a particular OS version you are on. If you change it, all sorts of hell will unleash. Windows is not designed in a way that lets you piece together incompatible system components. I stand by my recommendation to reinstall windows at this point.
     
  9. SGpro

    SGpro

    Joined:
    Oct 11, 2018
    Posts:
    7
    Just a new update, I did the same thing, I disabled the “NVIDIA GeForce GTX 1060 6GB” driver and the game’s graphics ran as 32 bit and used the CPU for graphics calculation, here’s the logs (Although I think it’s unnecessary)
    https://pastebin.com/1id2DfVT

    And I added some information from the DirectX Diagnostic Tool incase you need it
    https://pastebin.com/wcn8vqnw
     
  10. SGpro

    SGpro

    Joined:
    Oct 11, 2018
    Posts:
    7
    I selected the right version/bit/OS for the DLL and it was the same problem, it’s not incompatible, just doesn’t work...

    Check out the logs, may help this a bit.
     
  11. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    That doesn't protect you much.

    Virus scanners can't understand the intent behind code. For instance, software that listens for keypresses could be doing it for many, many legitimate and beneficial reasons. Or it could be trying to steal your passwords. A piece of software can't reliably tell the difference.

    So, in simplified terms, virus scanners specifically look at whether or not a piece of code attempts to spread itself. So if you manually install a piece of malicious code that doesn't try to infect things itself then your virus scanner can't do anything about it.
     
  12. SGpro

    SGpro

    Joined:
    Oct 11, 2018
    Posts:
    7
    Well, I have kept a back up of the original DLL file, ran the game and didn’t work, then replaced the original file back...
    However, if “it” isn’t in system32 anymore to be ran by the game engine or the system, most malicious programs will try to “spread” itself to startup, which is registry/user startup/system startup for long term uses, and that’ll surely trigger some kind of mechanism within the antivirus itself.

    I’m just looking for a way to solve this problem, I appreciate your concern about this, but I can’t give less of my time and effort to defend my self from a potential malicious program, sorry if I sound rude.
     
  13. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,042
    At this point you should seek advice ina more specialized area of the internet. Theses forums are game development and use of unity. I would suggest a local computer company or service to assist you with your computer problems. Good luck.
    Closing.
     
Thread Status:
Not open for further replies.