Emulator Issues #9350
closedDX12 renderer selected: opening Graphics panel or starting a game randomly crashes Dolphin
Added by wistfulmunching about 9 years ago. Updated over 7 years ago.
0%
Description
Sorry if this is a known bug. Since my texture corruption issue (#9348) seems to not be a universal problem I thought I should report this as well in case the two are related.
With the renderer set to DX12, if I open the Graphics panel there's a random chance Dolphin will crash. Same for if I try to start a game. If I switch the renderer back to OpenGL these crashes don't occur.
I've uploaded a video demonstrating the random crashing in DX12 and stability in OGL: https://www.youtube.com/watch?v=ZnTARBlN8xY (first crash happens immediately and Dolphin doesn't crash again until 0:40)
What steps will reproduce the problem?
Select DX12 renderer, repeatedly try opening Graphics panel or starting a game.
If OpenGL renderer or DX11 renderer is selected, Dolphin doesn't crash.
Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?
All DX12-enabled versions I've tried have this issue when DX12 renderer is selected: 8947, 8950, 8961
What are your PC specifications? (CPU, GPU, Operating System, more)
Windows 10 Professional, 64-bit
Asus Z97-A/USB3.1
GTX 970, driver version 361.91
Intel i5-4690K
16GB RAM
Samsung 840 Evo 500GB SSD
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
I performed complete uninstall and DDU sweep of my Nvidia drivers in safe mode and reinstalled the latest version (361.91) but this didn't help the issue.
I'm experiencing another DX12-only problem I documented as a separate issue: https://bugs.dolphin-emu.org/issues/9348
Files
mfaa2.PNG (11.4 KB) mfaa2.PNG | MFAA problem example | wistfulmunching, 03/25/2016 07:36 PM | |
mfaa3.PNG (6.53 KB) mfaa3.PNG | MFAA problem example | wistfulmunching, 03/25/2016 07:36 PM | |
mfaa1.PNG (95.2 KB) mfaa1.PNG | MFAA problem example | wistfulmunching, 03/25/2016 07:36 PM | |
mfaa5.PNG (201 KB) mfaa5.PNG | MFAA problem example | wistfulmunching, 03/25/2016 07:36 PM | |
mfaa4.PNG (104 KB) mfaa4.PNG | MFAA problem example | wistfulmunching, 03/25/2016 07:36 PM | |
mfaa-off.PNG (503 KB) mfaa-off.PNG | MFAA off, no problems | wistfulmunching, 03/25/2016 07:36 PM |
Updated by JMC4789 about 9 years ago
please test 3647 -> https://dl.dolphin-emu.org/prs/pr-3647-dolphin-latest-x64.7z
Updated by JMC4789 about 9 years ago
- Status changed from New to Fixed
Fixed in 4.0-9045 -> https://dolphin-emu.org/download/dev/07ff8379ba7b6451e7fbfa3fc2bd62f3822ede57/
Updated by wistfulmunching about 9 years ago
Unfortunately I'm still experiencing the random crashes with DX12 enabled on 9050. The other issue I opened (texture corruption) is fixed but this one isn't.
I still randomly get crashes sometimes when opening the graphics panel, or when starting xenoblade chronicles, when the background scene in the xenoblade chronicles menu changes, or when attempting to load a game. None of these are issues when OGL is selected.
Updated by wistfulmunching about 9 years ago
With all logging options enabled, here's what I get from starting Dolphin and then repeatedly re-opening the graphics panel with DX12 selected until Dolphin crashes as shown in the video:
56:22:337 NANDContentLoader.cpp:153 W[DIO]: CreateFromDirectory: error opening C:/Users/username/Documents/Dolphin Emulator/Wii/title/00000001/00000002/content/title.tmd
56:22:539 HW\WiimoteReal\WiimoteReal.cpp:657 N[Wiimote]: WiimoteReal::Initialize
56:34:412 HW\WiimoteReal\WiimoteReal.cpp:680 N[Wiimote]: WiimoteReal::Shutdown
Seems like whatever's causing the crash doesn't get logged, as it's basically the same as me just opening and closing Dolphin:
59:52:497 NANDContentLoader.cpp:153 W[DIO]: CreateFromDirectory: error opening C:/Users/username/Documents/Dolphin Emulator/Wii/title/00000001/00000002/content/title.tmd
59:52:679 HW\WiimoteReal\WiimoteReal.cpp:657 N[Wiimote]: WiimoteReal::Initialize
00:00:509 HW\WiimoteReal\WiimoteReal.cpp:680 N[Wiimote]: WiimoteReal::Shutdown
00:00:509 ConfigManager.cpp:85 N[BOOT]: Saving settings to C:/Users/username/Documents/Dolphin Emulator/Config/Dolphin.ini
Here I do the same thing but with OGL selected:
04:03:016 NANDContentLoader.cpp:153 W[DIO]: CreateFromDirectory: error opening C:/Users/username/Documents/Dolphin Emulator/Wii/title/00000001/00000002/content/title.tmd
04:03:202 HW\WiimoteReal\WiimoteReal.cpp:657 N[Wiimote]: WiimoteReal::Initialize
04:05:835 HW\WiimoteReal\WiimoteReal.cpp:680 N[Wiimote]: WiimoteReal::Shutdown
04:05:835 ConfigManager.cpp:85 N[BOOT]: Saving settings to C:/Users/username/Documents/Dolphin Emulator/Config/Dolphin.ini
Here's a log from me starting xenoblade and it immediately crashing Dolphin:
02:09:812 NANDContentLoader.cpp:153 W[DIO]: CreateFromDirectory: error opening C:/Users/username/Documents/Dolphin Emulator/Wii/title/00000001/00000002/content/title.tmd
02:10:021 HW\WiimoteReal\WiimoteReal.cpp:657 N[Wiimote]: WiimoteReal::Initialize
02:19:492 ConfigManager.cpp:85 N[BOOT]: Saving settings to C:/Users/username/Documents/Dolphin Emulator/Config/Dolphin.ini
02:19:565 Main.cpp:498 N[Wiimote]: Not connected
And here's a log when xenoblade started correctly (after 5 or so tries) then crashed when I attempted to load a savegame:
14:52:596 NANDContentLoader.cpp:153 W[DIO]: CreateFromDirectory: error opening C:/Users/username/Documents/Dolphin Emulator/Wii/title/00000001/00000002/content/title.tmd
14:52:782 HW\WiimoteReal\WiimoteReal.cpp:657 N[Wiimote]: WiimoteReal::Initialize
14:53:518 ConfigManager.cpp:85 N[BOOT]: Saving settings to C:/Users/username/Documents/Dolphin Emulator/Config/Dolphin.ini
14:53:594 Main.cpp:498 N[Wiimote]: Not connected
14:54:783 Boot\Boot.cpp:248 N[BOOT]: Booting C:\Users\username\Documents\Dolphin Emulator\ISO/Xenoblade Chronicles.gcz
14:54:787 HLE\HLE_OS.cpp:47 N[OSREPORT]: 81200614->81300000|
Apploader Initialized.
14:54:788 HLE\HLE_OS.cpp:47 N[OSREPORT]: 81200630->81300000| This Apploader built Jun 22 2009 18:54:04 for RVL
14:56:628 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - EXI release build: Feb 27 2009 10:02:03 (0x4302_145) >>
14:56:628 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - SI release build: Feb 27 2009 10:04:44 (0x4302_145) >>
14:56:630 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]:
14:56:630 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: Revolution OS
14:56:630 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: Kernel built : Feb 27 2009 10:04:29
14:56:630 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: Console Type : NDEV 2.1
14:56:631 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: Firmware : 53.16.17 (6/25/2007)
14:56:631 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: Memory 88 MB
14:56:631 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: MEM1 Arena : 0x8067b560 - 0x817fa380
14:56:631 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: MEM2 Arena : 0x90000800 - 0x93ae0000
14:56:631 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - OS release build: Feb 27 2009 10:04:29 (0x4302_145) >>
14:56:659 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - SC release build: Feb 27 2009 10:05:17 (0x4302_145) >>
14:56:660 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - NAND release build: Feb 27 2009 10:05:16 (0x4302_145) >>
14:56:663 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - DVD release build: Feb 27 2009 10:01:59 (0x4302_145) >>
14:56:671 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: ProgArea (aaa0 / 686000)
14:56:672 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - VI release build: Feb 27 2009 10:04:46 (0x4302_145) >>
14:56:724 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - GX release build: Feb 27 2009 10:04:13 (0x4302_145) >>
14:56:748 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - WPAD release build: Jun 22 2009 18:33:21 (0x4302_145) >>
14:56:749 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - KPAD release build: Jun 22 2009 18:32:13 (0x4302_145) >>
14:57:185 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - AI release build: Feb 27 2009 10:01:30 (0x4302_145) >>
14:57:185 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - AX release build: Feb 27 2009 10:01:36 (0x4302_145) >>
14:57:186 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - DSP release build: Feb 27 2009 10:01:57 (0x4302_145) >>
14:57:196 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << NW4R - G3D final build: Nov 20 2008 03:23:14 (0x4199_60831) >>
14:57:196 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << NW4R - LYT final build: Aug 21 2008 05:21:58 (0x4199_60831) >>
14:57:201 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << RVL_SDK - ENC release build: Feb 27 2009 10:05:42 (0x4302_145) >>
14:58:101 Main.cpp:498 N[Wiimote]: Connecting...
15:00:602 Main.cpp:498 N[Wiimote]: Wiimote Connected
15:11:794 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << NW4R - SND final build: Nov 20 2008 03:40:00 (0x4199_60831) >>
15:36:377 HW\EXI_DeviceIPL.cpp:339 N[OSREPORT]: << NW4R - SND final build: Nov 20 2008 03:40:00 (0x4199_60831) >>
I doubt any of this was helpful... if there's a more verbose debugging-oriented build of Dolphin I could use I'd be happy to take logs using it.
Updated by JMC4789 about 9 years ago
Yeah, none of those logs are useful. It's probably a driver crash of some sort. The only reason I could think of it crashing is if you had one of the unsupported features enabled. Bounding Box or XFB in this case.
Updated by wistfulmunching about 9 years ago
That would explain the crashes on starting the game but what about when opening the graphics panel?
I have "disable bounding box" enabled, and "external frame buffer (XFB)" disabled, as recommended. Anywhere there's a recommended setting I've stuck with it, with these exceptions:
- speed up disc transfer rate (enabled)
- hide mouse cursor (enabled)
- vsync (enabled)
- fullscreen resolution (1920x1080 instead of auto)
- internal resolution (3x)
- anti-aliasing (4x msaa)
- anisotropic (16x)
- per-pixel lighting (enabled)
- force texture filtering (enabled)
- load custom textures & prefetch custom textures (enabled)
I set all of these back to their defaults just now and xenoblade still crashed on startup.
Uh, I think I just stumbled upon a workaround but it's so jaw-droppingly stupid and random I want to do an exhaustive test before I say what it is so I don't look like an ass. It also solves the graphics panel crash. It's coming up on 4AM now though, I'll try and see if this allows me to successfully launch the game maybe a hundred times in a row tomorrow. This might be "monthly progress report"-tier strangeness if it's really the case. A real head-scratcher...
Updated by wistfulmunching about 9 years ago
Well, here it is: turning on MFAA reliably stops DX12 crashes when starting games or opening the graphics panel. I made a video to demonstrate: https://www.youtube.com/watch?v=kj4rO_j7Oos
Updated by Stenzek about 9 years ago
Putting this down to an nvidia driver bug. I managed to reproduce the crash when opening the graphics panel, however only with shadowplay activated.
The crash occurs at different locations in the nvidia user-mode driver, when releasing the D3D12 device. This happens when enumerating AA modes, which creates the device then releases it immediately afterwards (after grabbing the modes), so we're not even doing anything with it.
Not really sure what else we can do here about this one, apart from disabling shadowplay?
Updated by JMC4789 about 9 years ago
- Has duplicate Emulator Issues #9427: Access violation when using Directx12 added
Updated by wistfulmunching about 9 years ago
- File mfaa1.PNG mfaa1.PNG added
- File mfaa2.PNG mfaa2.PNG added
- File mfaa3.PNG mfaa3.PNG added
- File mfaa4.PNG mfaa4.PNG added
- File mfaa5.PNG mfaa5.PNG added
- File mfaa-off.PNG mfaa-off.PNG added
Yeah, I can confirm this is a workaround. Disabling shadowplay in DX12 mode avoids the random crashing on game startup and when opening the graphics panel.
Strange, I've re-enabled shadowplay now and, while Dolphin will still randomly crash as usual when I open the graphics panel or start Xenoblade, it doesn't crash when loading savegames anymore on the occasions when Xenoblade does load successfully. I didn't test savegame loading prior to disabling shadowplay today since I was confident it was still broken so take your pick: A) random nvidia stuff, B) random Windows stuff, C) I'm running Dolphin-9109 now and something was fixed in the meantime, D) if I reboot it could start crashing again because computers.
I'm guessing your position on this issue is (understandably) "it's a driver bug and only affects an experimental feature so it's not our problem", but I hope that if a workaround can't be found (or isn't worth the bother) you'll consider providing a warning of some sort in Dolphin that Shadowplay should be disabled for DX12 mode. It makes the experimental DX12 mode unreliable at best, and Shadowplay is used by a lot of people.
I suggest a one-time warning when DX12 mode is enabled and the Geforce Experience application is detected running. Although Geforce Experience being installed doesn't guarantee Shadowplay is enabled, it would warn users in advance that they currently shouldn't use that feature in conjunction with Dolphin's experimental DX12 renderer.
The Shadowplay-associated crashing aside, would it be appropriate for me to open a new issue regarding the problem with MFAA in DX12 mode? Since I can get savegames to load now, I see that MFAA also causes other rendering artifacts besides just blurry textures. It's a separate problem but maybe it's not even worth documenting at this stage. Could just be a driver bug, who knows.
If you decide to add a Shadowplay warning message maybe you could also warn users not to enable MFAA when running Dolphin in DX12 mode.
Updated by Anonymous about 9 years ago
Resident Evil 3 (GLEE08) is crashing emulator after loading save state (F1) and accessing in-game inventory. D3D11/OpenGL works fine.
I'm using R7 360 with 16.3.1 drivers and Windows 10 with latest updates. Emulator closes itself without any error box.
Updated by JosJuice about 9 years ago
@tapcio: That doesn't sound like this issue. Please make a new issue report.
Updated by JMC4789 over 7 years ago
- Status changed from New to Fixed
Good news, we removed D3D12 so this issue is gone.