Open ThisNekoGuy opened 2 years ago
PROTON_WINETRICKS=1
).wm9 codecs aren't compatible with 64-bit prefixes
that's expected, but it's not exactly a true failure, just a warning.lavfilters
should not throw an error as long as it's installed in silent mode.I can get the game to run with wmp9
, quartz
, d3dx11_43
& d3dcompiler43
but I'll get a crash (just a plain back to desktop with no error) a couple seconds after reaching the main menu (which might be due to the 7.0.r1 build I used to test this).
@Tk-Glitch Sorry about being silent for so long, I had to replace my motherboard
That's odd; that aside, I rebuilt Proton-tkg with WIne-Staging 7.5 this time based on Proton 7 (where reports say that the game runs but without audio for videos out-of-the-box) Out-of-the-box for this build, it makes it to the first video but then crashes upon attempting to play it? I'll try with Protontricks again but I expected consistency to at least play the video? Maybe it's because of a dependency?
PROTON_WINETRICKS=1
crashed for me so I used protontricks 1113000 -q wmp9 quartz d3dx11_43 lavfilters
and the result was a hard-crash without the error message the game usually throws :/
Edit: Stepping through this, I reproduced that result with just wmp9
Using wmp11
lets me play the game but with no audio at all
(My proton-tkg.cfg.zip)
I rebuilt Proton-tkg with WIne-Staging 7.5 this time based on Proton 7
The proton branch selection only affects the external tooling (lsteamclient libs and steam helper) and nothing else. With all the recent change upstream to quartz and winegstreamer the situation is technically worse than it has been for a long time from a user standpoint, so with this game being a huge PITA of a corner case, it's not really expected to go smoothly just yet. If you want to build against Valve's wine from Proton 7.0, you'll need to set _LOCAL_PRESET="valve"
in your .cfg.
I switched the branch to valve-exp
since reports say that plain Proton 7.0 has a similar problem, but then the script threw some errors:
-> Using pba patchset
-> Installing to /home/neko-san/.steam/root/compatibilitytools.d/proton_tkg
-> Cloning and preparing sources... Please be patient.
-> Cleaning wine source code tree...
==> WARNING: Disabling any known to be broken community patch on valve proton tree
==> WARNING: Disabling Shell32-CreateDirectoryInDestinationInFileOp-Move-multiop.mypatch on mainline
fatal: Not a valid commit name 8091f3a0b8463d41049ed4ade98c79f82c86ebbc
-> Cloning community-patches repo into \'/mnt/extraStorage/community-patches\'...
Cloning into '/mnt/extraStorage/community-patches'...
remote: Enumerating objects: 1173, done.
remote: Counting objects: 100% (542/542), done.
remote: Compressing objects: 100% (369/369), done.
remote: Total 1173 (delta 342), reused 326 (delta 173), pack-reused 631
Receiving objects: 100% (1173/1173), 2.42 MiB | 902.00 KiB/s, done.
Resolving deltas: 100% (743/743), done.
fatal: Not a valid commit name 656edbb508d51cbe3155d856ee3f2c27a6cd4cba
-> Applying ffxiv-launcher-workaround.patch
-> ######################################################
->
-> Applying your own plain-wine patch /mnt/extraStorage/wine-tkg-git/wine-tkg-git/0002-futex_waitv.mypatch
->
-> ######################################################
-> ######################################################
->
-> Applying your own plain-wine patch /mnt/extraStorage/wine-tkg-git/wine-tkg-git/0003-ldap_fix.mypatch
->
-> ######################################################
-> ######################################################
->
-> Applying your own plain-wine patch /mnt/extraStorage/wine-tkg-git/wine-tkg-git/Add-SORT_DIGITSAS-UMBERS-flag-to-CompareStringsEx.mypatch
->
-> ######################################################
==> ERROR: Patch application has failed. The error was logged to /mnt/extraStorage/wine-tkg-git/wine-tkg-git/prepare.log for your convenience.
-> Removed BIG_UGLY_FROGMINER - Ribbit
-> Removed Proton-tkg token - Valve Ribbit
-> exit cleanup done
It's because that community patch you set isn't compatible. I'll add it to the list of ignored patches when using upstream Proton.
Got a steam.cpp
compile error near the end... Not sure why?
make: Leaving directory '/mnt/extraStorage/wine-tkg-git/proton-tkg/external-resources/Proton/build/lsteamclient.win32'
'Proton/build/lsteamclient.win64/lsteamclient.dll.so' -> 'proton_dist_tmp/lib64/wine/x86_64-unix/lsteamclient.dll.so'
'Proton/build/lsteamclient.win32/lsteamclient.dll.so' -> 'proton_dist_tmp/lib/wine/i386-unix/lsteamclient.dll.so'
'Proton/build/lsteamclient.win64/lsteamclient.dll.fake' -> 'proton_dist_tmp/lib64/wine/x86_64-windows/lsteamclient.dll'
'Proton/build/lsteamclient.win32/lsteamclient.dll.fake' -> 'proton_dist_tmp/lib/wine/i386-windows/lsteamclient.dll'
Winemaker 0.8.4
Copyright 2000-2004 François Gouget <fgouget@codeweavers.com> for CodeWeavers
Copyright 2004 Dimitrie O. Paun
Copyright 2009-2012 André Hentschel
Scanning the source directories...
Generating project files...
.
make: Entering directory '/mnt/extraStorage/wine-tkg-git/proton-tkg/external-resources/Proton/build/steam.win32'
wineg++ -m32 -std=gnu++11 -c -Wno-attributes -O3 -march=znver2 -mtune=native -minline-all-stringops -g -I/mnt/extraStorage/wine-tkg-git/proton-tkg/proton_dist_tmp/include/wine -I/mnt/extraStorage/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include -I/mnt/extraStorage/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include/wine -I/mnt/extraStorage/wine-tkg-git/proton-tkg/Proton/lsteamclient/steamworks_sdk_142/ -I/mnt/extraStorage/wine-tkg-git/proton-tkg/openvr/headers/ -o jsoncpp.o jsoncpp.cpp
wineg++ -m32 -std=gnu++11 -c -Wno-attributes -O3 -march=znver2 -mtune=native -minline-all-stringops -g -I/mnt/extraStorage/wine-tkg-git/proton-tkg/proton_dist_tmp/include/wine -I/mnt/extraStorage/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include -I/mnt/extraStorage/wine-tkg-git/proton-tkg/../wine-tkg-git/src/ValveSoftware-winegit/include/wine -I/mnt/extraStorage/wine-tkg-git/proton-tkg/Proton/lsteamclient/steamworks_sdk_142/ -I/mnt/extraStorage/wine-tkg-git/proton-tkg/openvr/headers/ -o steam.o steam.cpp
steam.cpp:59:10: fatal error: openvr.h: No such file or directory
59 | #include "openvr.h"
| ^~~~~~~~~~
compilation terminated.
winegcc: /usr/bin/ccache failed
make: *** [Makefile:88: steam.o] Error 2
make: *** Waiting for unfinished jobs....
make: Leaving directory '/mnt/extraStorage/wine-tkg-git/proton-tkg/external-resources/Proton/build/steam.win32'
'Proton/build/steam.win32/steam.exe.fake' -> 'proton_dist_tmp/lib/wine/i386-windows/steam.exe'
cp: cannot stat 'Proton/build/steam.win32/steam.exe.so': No such file or directory
neko-san@ARCH /m/e/w/proton-tkg (master)>
@Tk-Glitch The OpenVR folder is empty, it seems; which is probably the reason why :thinking: Don't know why it is though
Just ended up cloning openvr
manually
With that experimental build, it also runs into the same problem, except it's even worse because wmp11
doesn't even get it to work now either
With the valve
preset, I just get this:
And the link takes me to this:
Which really hurts because I've been trying to get this game to work for months (back before my old board broke) and this game still isn't playable for me
This is Denuvo for you. You'll need to wait 24 hours before giving it another try.
@Tk-Glitch Curious, does it contact online to "validate" or is it local and can be bypassed by reinstalling? It baffles me why a single-player game would have online validation... I'm afraid of possibly tripping it again at some point :woozy_face:
Online validated only. Switching wine versions/updating prefix 5 times in 24 hours will trip it. It can't be bypassed by reinstalling. I have triggered that a dozen times myself, it's a real annoyance with zero benefit..
Omg, that's awful :skull_and_crossbones:
@Tk-Glitch Using Proton-5 to install those protontricks verbs with:
protontricks --no-bwrap 1113000 -q wmp9 quartz d3dx11_43 lavfilters
then upgrading to Proton-tkg (I used proton_tkg_7.5.r3.g2f728605.-noNVapi
- using wine-staging) allows the game to be run partially with sound, with the following exceptions:
otherwise, the audio seems to work, but it's pretty jarring to not have SFX Lol
A log, if that helps at all: steam-1113000.log
I could try the valve
preset, without and with this process, to see if it makes any difference though
Out of the box with the valve preset, it doesn't make any difference (doesn't run), but performing this process with it actually does work with one caveat: the audio sounds like stuttery @$$ and the video still doesn't have sound
Which is still an improvement over no audio though, but still not great steam-1113000.log proton-tkg.cfg.zip
The audio issue seems to be due to staging. Try with _staging_pulse_disable="true"
in your .cfg.
Eh, that didn't make it better; though, I didn't delete the old prefix (out of fear from triggering Denuvo) and old build from compatibilitytools.d
(the new build produced the same version and overwrote into the same folder)
PULSE_LATENCY_MSEC=60
in the launch options fixed the stuttering audio for me, though
@Tk-Glitch I rebuilt plain Wine Proton 7.6-tkg again after about an hour or so ago and PROTON_WINETRICKS=1
works for me now, so I tried it but hit a snag on wmp9
that caused winetricks to exit:
Executing w_do_call wmp9
Executing mkdir -p /mnt/extraStorage/Gaming/SteamLibrary/steamapps/compatdata/1113000
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_wmp9
------------------------------------------------------
warning: This package (wmp9) is broken in wine-7.6-211-ge254680ed15. Broken since 6.6. See https://bugs.winehq.org/show_bug.cgi?id=52772 for more info. Use --force to try anyway.
------------------------------------------------------
Substituting it with wmp11
does work but, again like before, no audio still (probably because of upstream like you said)
Although, I did notice that gstreamer (compiled) throws a lot of errors and there's a lot of "stack overrun" errors later on:
steam-1113000.log
(Could the gstreamer errors be because the game is 32-bit?)
Whoops, didn't mean to click that
On a separate note:
I'll never understand why this happens to me, but I just rebuilt the default Proton 7.0 prefix again today and it decided to work without any intervention at all, only video audio being the exception though. I don't even know what to make of this anymore; nothing changed between this morning and last night.
Also, it seems P4G doesn't like Async DXVK?
GE-Proton 7.14
works with it perfectly fine, huh... :thinking:
Some of their fixes for it seem to be custom though (the appended "ge" suffixes):
""" Game fix for Persona 4 Golden
"""
#pylint: disable=C0103
from protonfixes import util
def main():
""" installs devenum, quartz, wmp9 and adjust pulse latency
"""
# Fix pre-rendered cutscene playback
util.protontricks('xactengine3_7_ge')
util.protontricks('wmp9_ge')
util.protontricks('d3dx11_43')
util.protontricks('d3dcompiler_43')
util.protontricks('klite')
util.protontricks('quartz')
util.set_environment('WINEDLLOVERRIDES','mfplay=n')
GE base is valve's proton (7.0 expérimental bleeding edge), and not wine upstream. Upstream is a moving target and much has changed between 7.0 and 7.6, with new stuff breaking and getting fixed daily. The whole wmv/mf situation is not good right now for sure.
The _ge suffixed installers are bypassing some winetricks checks (also, klite was removed from winetricks for a while, so it's likely using an older winetricks build). You can try to build bleeding edge (we have a profile for that) and see if it works better with it than current upstream (which is pretty much a given at this point).
I had tried experimental but couldn't get it to work before without jumping through odd hoops; though, I suppose I could try again, but those custom winetricks verbs are discouraging
Normally,
protontricks --no-runtime 1113000 -q wmp9 quartz devenum lavfilters
(--no-runtime because tkg Proton) would be enough to fix this problem but several issues occur:wm9
anddevemum
throws permission denied errors (supposedly due to symlinks)lavfilters
throws a lavfilters error windowAfter all is done, the result is the same: the game will just throw a cryptic error message on launch.