Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DirectX 12 provides no video output on AMD Cards [Steins;Gate 0] - And Audio stutter on Interpreter 2/fast #1463

Closed
Davixxa opened this issue Jan 29, 2016 · 18 comments

Comments

@Davixxa
Copy link

Davixxa commented Jan 29, 2016

Hey, I'm trying to run Steins;Gate 0 off the emulator, however, using Windows 10, I've not been able to get DirectX 12 running with video, seems to be an AMD specific issue, my settings are

Interpreter 2
Interpreter (fast)
DirectX 12
AMD Radeon R9 200 Series as D3D Adapter
XAudio2

Console Log using Interpreter 2 at log level Success: http://pastebin.com/rSZnUfSg

Using Recompiler, it seems to fix the stuttering issue, but still no video, trying to close the window results in a crash, so I have to provide the log, which might be too large, so I zipped the log.
RPCS3.zip

@vlj
Copy link
Contributor

vlj commented Jan 29, 2016

Does this PR #1462 fix your issue ?

@Davixxa
Copy link
Author

Davixxa commented Jan 29, 2016

Do you have a built version of that? I don't have Visual Studio installed at the moment, only the redistributables

EDIT: Installing VS 2015 atm. Gimme 15-20 minutes or so

@annahana
Copy link

@Davixxa
Copy link
Author

Davixxa commented Jan 29, 2016

@annahana @vlj Using Recompiler it seems to return a 0x3e6 error in File.cpp:690 in function fs::file::read.

Using Interpreter 2/fast, I seem to get an unhandled Win32 exception:
"---------------------------

Fatal error

Unhandled Win32 exception 0x80000003.
Exception address: 00007FFCD052B72C.
ExceptionInformation[0x0]: 0000000000000000.
Instruction address: 00007FFCD052B72C.
Image base: 00007FF739910000.

Please report this error to the developers. Press (Ctrl+C) to copy this message.

OK
---------------------------"

Again, Log is too large, uploaded Zip. RPCS3.zip

Edit: Realized I forgot to set some settings in Recompiler, give me a moment to test with those enabled.

Edit2: Hangs with 0x0018246c cellSpursJq TODO: cellSpursJobQueuePort2Sync errors and 0x001823ec _cellSpursJobQueuePort2CopyPushJobBody errors at 100% CPU and 1.1 GB ram usage

@kd-11
Copy link
Contributor

kd-11 commented Jan 29, 2016

Ignore the 0x3e6 for now, it happens randomly when using LLE in my experience. If you run it again it may not appear at all.

@Davixxa
Copy link
Author

Davixxa commented Jan 29, 2016

@kd-11 It does not appear anymore, it was an issue with me not entering the LLE, however, I'm still having the issue with it hanging with

{PPU Thread[0x3d] (CRI Server Manager)[0x001823ec]} cellSpursJq TODO: _cellSpursJobQueuePort2CopyPushJobBody {PPU Thread[0x3d] (CRI Server Manager)[0x0018246c]} cellSpursJq TODO: cellSpursJobQueuePort2Sync

errors.

@tambry
Copy link
Contributor

tambry commented Jan 30, 2016

@Davixxa

  1. You shouldn't be using the recompiler. It's inaccurate, and even sometimes slower compared to interpreter 2. Same goes for SPU. You should only use recompilers, if the game works with interpreter(s) and you want a speed-up.
  2. The fatal errors are no use to report without a stacktrace.
  3. All things aren't errors. Some functions are unimplemented because they require a lot of work and need to be implemented as close to the PS3 equivalent as possible. (such as cellSpurs)
    You should currently always use cellSpurs(Sre) and cellSpursJq LLE. You should be able to obtain the firmware files from /dev_flash/sys/external on your PS3. Then place them in the same location on RPCS3 and decrypt them using RPCS3.
  4. The WIN32 error 0x3E6 seems to be a problem with us screwing up somewhere.
  5. Does the new master build fix the problem now?

@tambry tambry added the RSX label Jan 30, 2016
@Davixxa
Copy link
Author

Davixxa commented Jan 30, 2016

Doesn't seem to, I'm getting a 0x3E6 error with 100% reproduction rate regardless of settings, unless I'm using OpenAL, in which case I get a crash

RPCS3 XAudio2.zip

EDIT: Seem to have gotten it booting now on DirectX 12, with video/OpenAL. However, using the interpreters, regardless of which setup and settings I use have always seemed to make audio stutter alot.

@tambry
Copy link
Contributor

tambry commented Jan 30, 2016

@Davixxa
Audio accuracy I think is something we really don't care about currently - audio emulation normally seems to be the focus once everything else is quite good. I personally never use it.
The 0x3E6 is known and there's another issue with the same problem - #1405. I'll open an issue for it.
Also, how did you get it to work?

@tambry tambry added Won't Fix and removed RSX labels Jan 30, 2016
@Davixxa
Copy link
Author

Davixxa commented Jan 30, 2016

It seems that using Compiled Blocks Exclusion was mandatory, regardless of using LLVM or not, speaking of, which version of Python is required for compiling with LLVM? I'm using 2.7 atm, thuogh my build returned some errors in Visual Studio about not being able to find some input files


Severity    Code    Description Project File    Line    Suppression State
Error   LNK1181 cannot open input file 'LLVMMCJIT.lib'  asmjit (asmjit\asmjit)  C:\Users\w890i_000\Desktop\rpcs3-compile\rpcs3\asmjitsrc\LINK   1   

Severity    Code    Description Project File    Line    Suppression State
Error   LNK1181 cannot open input file 'C:\Users\w890i_000\Desktop\rpcs3-compile\rpcs3\lib\Release - LLVM-x64\asmjit.lib'   rpcs3-tests C:\Users\w890i_000\Desktop\rpcs3-compile\rpcs3\rpcs3-tests\LINK 1   


Severity    Code    Description Project File    Line    Suppression State
Error   LNK1104 cannot open file 'asmjit.lib'   rpcs3   C:\Users\w890i_000\Desktop\rpcs3-compile\rpcs3\rpcs3\LINK   1   

I could try grabbing source once again, to check if that will fix up that compile problem though, as I seem to be able to clutter even the simplest file structure

@tambry
Copy link
Contributor

tambry commented Jan 30, 2016

@Davixxa Compiled Blocks Exclusion simply tells recompiler to not recompile the blocks generated in that range, and instead simply run them using an interpreter. Could be an interpreter 2 bug, which would be very useful to know about.

You could try re-cloning the repository. Also, maybe you forgot to grab the submodules: git submodule update --init? Also try rebuilding.
Compiling LLVM I think requires 2.7.* or 3+. You could try upgrading from the ancient Python to a newer one.

@Davixxa
Copy link
Author

Davixxa commented Jan 30, 2016

It's a bug with both interpreters then. I did grab the submodules, though, doing that again currently to make sure

Edit: Now getting 0x3E6 with Interpreter two, regardless of what I do

@tambry
Copy link
Contributor

tambry commented Jan 30, 2016

@Davixxa I already told you it's likely a HLE bug, but from what I understood, you said that LLVM and Interpreter 2 would fail, but Interpreter 1 worked.

@Davixxa
Copy link
Author

Davixxa commented Jan 30, 2016

Building LLVM would fail, Interpreter 2 fails running. Interpreter 1 worked. Originally, experimenting around with it a bit, I think there might be some SPU issues with this,

Both the regular SPU Interpreters did not boot, while the ASMJIT recompiler did on Interpreter 1. Interpreter 2 currently doesn't boot with ASMJIT, but actually has success logs before halting at said HLE bug.

Interpreter 2 and Interpreter (precise) also seems to return a bootable result.

@tambry
Copy link
Contributor

tambry commented Jan 30, 2016

"while the ASMJIT recompiler did"
If it works with a recompiler, but doesn't work with the interpreters, then discard the results.

If it doesn't work with PPU Interpreter 1 and SPU Interpreter (precise), then it's very very likely that it's not a interpreter problem. Except in cases, when the game uses SPU libraries, for which in some cases the SPU Interpreter could fail due to some unimplemented features.

@Davixxa
Copy link
Author

Davixxa commented Jan 30, 2016

Then it is most likely said thing, At least, during boot I'm seeing alot of SPU Success messages when doing a successful boot

Apparently doesn't happen 100% of the time. My successrate with settings are apparently a bit random now, 2/fast works now, though is spewing out Unsupported SPU Thread options (0x2) errors and cellSaveData (Savedata BLJM61303 considered broken) errors, which if I remmember correctly it always did on a successful boot

@AniLeo
Copy link
Member

AniLeo commented Feb 1, 2016

Hey!
I'm having the same issue (I'm the one who opened the S;G 0 topic in the forums - http://www.emunewz.net/forum/showthread.php?tid=173942)

I have a AMD card and with the latest 4112 build game isn't booting anymore (error 0x6f8).
I have the logs uploaded and description of the issue at the topic.

I did manage to get video output on the 4029 build, but it reproduces the video very, very slowly with barely no audio output at all. I can record a video of it if necessary

@tambry
Copy link
Contributor

tambry commented Feb 1, 2016

Forgot to close this issue.
Closing this, as I already created a more of a proper issue.

@tambry tambry closed this as completed Feb 1, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants