Project

General

Profile

Actions

Emulator Issues #11673

closed

The Legend of Zelda: The Wind Waker - Unknown Opcode/GPU Desync with Custom Textures

Added by Alkaris about 5 years ago. Updated over 1 year ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-16099

Description

Game Name?

Legend of Zelda: Wind Waker

Game ID? (right click the game in the game list, Properties, Info tab)

GZLE01

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)

d8e4d45af2032a081a0f446384e9261b

What's the problem? Describe what went wrong.

The game keeps hanging and crashing at random when loading up the game, in the console log it shows warnings and errors about GFX FIFO for Unknown Opcode errors for opcode decoding.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Dolphin 5.0-9413 [current available version on https://lutris.net]

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

[...]
51:12:103 Common/MsgHandler.cpp:92 E[MASTER]: Warning: GFX FIFO: Unknown Opcode (0x04 @ 0x7fbcbc60e61c, preprocess=false).
This means one of the following:
* The emulated GPU got desynced, disabling dual core can help
* Command stream corrupted by some spurious memory bug
* This really is an unknown opcode (unlikely)
* Some other sort of bug

Further errors will be sent to the Video Backend log and
Dolphin will now likely crash or hang. Enjoy.
51:12:103 Common/MsgHandler.cpp:92 E[MASTER]: Warning: Illegal command 04
CPBase: 0x00419f60
CPEnd: 0x004b9f40
CPHiWatermark: 0x0009c000
CPLoWatermark: 0x00050000
CPReadWriteDistance: 0x00000160
CPWritePointer: 0x004656c0
CPReadPointer: 0x00465560
CPBreakpoint: 0x00000000
bFF_GPReadEnable: true
bFF_BPEnable: false
bFF_BPInt: false
bFF_Breakpoint: false
bFF_GPLinkEnable: true
bFF_HiWatermarkInt: true
bFF_LoWatermarkInt: false

51:12:103 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc60e61c, preprocessing = no)
51:12:103 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc60ec93, preprocessing = no)
51:12:103 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc60f30a, preprocessing = no)
51:12:103 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x3f @ 0x7fbcbc60f987, preprocessing = no)
51:12:115 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc61197a, preprocessing = no)
51:12:115 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc611ff1, preprocessing = no)
51:12:115 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc612668, preprocessing = no)
51:12:115 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x3f @ 0x7fbcbc612ce5, preprocessing = no)
51:12:132 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc614cd8, preprocessing = no)
51:12:132 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc61534f, preprocessing = no)
51:12:132 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc6159c6, preprocessing = no)
51:12:132 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x3f @ 0x7fbcbc616043, preprocessing = no)
51:12:149 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc618036, preprocessing = no)
51:12:149 VideoCommon/OpcodeDecoding.cpp:241 E[Video]: FIFO: Unknown Opcode(0x04 @ 0x7fbcbc6186ad, preprocessing = no)
[...]

What are your PC specifications? (CPU, GPU, Operating System, more)

Intel® Core™ i7-7700K
ASUS GTX 1070 Snow Edition OC (8GB)
Linux Mint 19.1 64-bit (Cinnamon)
Nvidia drivers 418.56

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

Might be issues with loading custom texture packs, not too sure. Using Wind Waker HD Texture Pack thats shown available from Dolphin-Emu Wiki page for the game. https://wiki.dolphin-emu.org/index.php?title=GZLE01

Actions #1

Updated by Alkaris about 5 years ago

Hypatia HD Texture Pack

Actions #2

Updated by Techjar about 5 years ago

Please try it on the latest development version available from our downloads page. Also try it without the texture pack, though I doubt that's related.

Actions #3

Updated by Stenzek about 5 years ago

Also try with dual core disabled.

Actions #4

Updated by Alkaris about 5 years ago

Stenzek wrote:

Also try with dual core disabled.

Tried wth dual-core enabled and disabled, it makes no difference.

Techjar wrote:

Please try it on the latest development version available from our downloads page. Also try it without the texture pack, though I doubt that's related.

Tried out the latest dev build and it still seems to happen on there too. The game will boot and show the logos at the beginning, but as soon as it reaches the start screen of the game or just as its about to load the start screen is where it hangs itself. When it does start loading the start screen or does become fully loaded it'll jitter for a few seconds sometimes and hang there too. I did also try see what happens if I load without custom textures, and it does seem to run fine there at start up vs when they are loaded is where it begins to have loading issues. I also tested to see if it would do the same if I loaded the game up without the custom textures being loaded, and then load them after, which does seem to work OK then.

Actions #5

Updated by haliinen about 5 years ago

I can confirm this issue, running from a randomized build of the game. It seems to be related to, in my case, Hypatia's HD texture pack also pre-loaded to System RAM.
I could always reproduce this problem when approaching Windfall Island using said texture pack, turning off the texture pack in graphics settings resulted in no crash from my experience.

Dual core ON or OFF makes no difference like stated above (I always use Single Core mode otherwise). This was tested on the very latest Dolphin build (5.0-9986 as of now).
Running on Windows 10 Home 1809 build, Core i7 7700, GTX 1080 with 425.31 geforce drivers (Always using DDU before installing new drivers) and 16 GB DDR4 System RAM.
D3D 11 backend with synchronous ubershaders and all hacks disabled.

I assume the issue here is because of the texture packs ridiculous size? It's over 9 GB and could be one reason?

I have played Super Mario Sunshine using custom textures w/o any issues, but the size of the HD texture pack for Mario Sunshine is below 1 GB as well.
Same settings as above.

Dolphin prints out these warnings:
GFX-FIFO: Unknown opcode (0x17 @ 000001574CC80D1F, preprocess=false).

Illegal command 17
CPBase: 0x0041b800
CPEnd: 0x004bb7e0
CPHiWatermark: 0x0009c000
CPLoWatermark: 0x00050000
CPReadWriteDistance: 0x00009ce0
CPWritePointer: 0x004a01a0
CPReadPointer: 0x004964c0
CPBreakpoint: 0x00000000
bFF_GPReadEnable: true
bFF_BPEnable: false
bFF_BPInt: false
bFF_Breakpoint: false
bFF_GPLinkEnable: true
bFF_HiWatermarkInt: true
bFF_LoWatermarkInt: false


Hope the solution can be found!

Actions #6

Updated by haliinen almost 5 years ago

Okay so, enabling pre-load custom textures to RAM seems to cause this problem.
I have tested this issue on the very latest dev build to date and it's still happening.
Turning off pre-load custom textures to RAM seems to not cause any issues.
I noticed that loading Windfall Island would cause the RAM used by Dolphin to spike from around 600 MB to 1100 MB,
to go back to around 600-700 MB of RAM used again in a few seconds when the island is loaded.
This is all I have found, the solution for me is to not pre-load the textures to RAM when using Hypatia's HD custom textures.

Tested on 430.64 Nvidia drivers as well.

Actions #7

Updated by Alkaris almost 5 years ago

If the issue is due to texture pack size I wonder if this might be a limitation of Dolphin being unable to fully support texture packs bigger than 1GB despite having sufficient memory for it. I too have about 16GB of RAM available, and when Hypatia's Texture Pack is loaded it may sometimes crash on start-up, and usually having the Pre-Loaded Custom Textures thing enabled is suppose to help with load times.

Actions #8

Updated by william_homyk almost 4 years ago

Was this ever fixed? My system has an i5-8600k / 1080 Ti / 16gb memory and my current theory is that the Hypatia HD Texture pack requires more memory since when I first load in the game rivatuner is showing around 13.5 gb of memory being used. I ordered 32gb of ram and I'm going to test to see if that fixes the problem.

Actions #9

Updated by JMC4789 over 3 years ago

  • Subject changed from Video Opcode Hang to The Legend of Zelda: The Wind Waker - Unknown Opcode/GPU Desync with Custom Textures
  • Status changed from New to Questionable

Using a custom texture pack can actually leak into the game state and cause GPU desyncs. I don't know why/how this happens unfortunately.

Marking as Questionable until I can determine if this belongs with another issue or not.

Actions #10

Updated by JMC4789 over 1 year ago

  • Status changed from Questionable to Fixed
  • Fixed in set to 5.0-16099

This was fixed.

Might still be broken on Android?

Actions

Also available in: Atom PDF