Frogging-Family / wine-tkg-git

The wine-tkg build systems, to create custom Wine and Proton builds
859 stars 155 forks source link

Compiling an experimental_6.3 tkg Build Fails #363

Closed ThisNekoGuy closed 3 years ago

ThisNekoGuy commented 3 years ago
make: Entering directory '/home/neko-san/wine-tkg-git/proton-tkg/external-ressources/Proton/build/steam.win32'
wineg++ -m32 -c -fpermissive -Wno-attributes -O2 -g  -I/home/neko-san/wine-tkg-git/proton-tkg/proton_dist_tmp/include/wine/windows/ -I/home/neko-san/wine-tkg-git/proton-tkg/proton_dist_tmp/include/ -I/home/neko-san/wine-tkg-git/proton-tkg/../wine-tkg-git/src/wine-mirror-git/include/ -I/home/neko-san/wine-tkg-git/proton-tkg/Proton/build/lsteamclient.win32/steamworks_sdk_142/   -o jsoncpp.o jsoncpp.cpp
wineg++ -m32 -c -fpermissive -Wno-attributes -O2 -g  -I/home/neko-san/wine-tkg-git/proton-tkg/proton_dist_tmp/include/wine/windows/ -I/home/neko-san/wine-tkg-git/proton-tkg/proton_dist_tmp/include/ -I/home/neko-san/wine-tkg-git/proton-tkg/../wine-tkg-git/src/wine-mirror-git/include/ -I/home/neko-san/wine-tkg-git/proton-tkg/Proton/build/lsteamclient.win32/steamworks_sdk_142/   -o steam.o steam.cpp
steam.cpp:56:10: fatal error: openvr.h: No such file or directory
   56 | #include "openvr.h"
      |          ^~~~~~~~~~
compilation terminated.
winegcc: /usr/bin/ccache failed
make: *** [Makefile:89: steam.o] Error 2
make: Leaving directory '/home/neko-san/wine-tkg-git/proton-tkg/external-ressources/Proton/build/steam.win32'
cp: cannot stat 'Proton/build/steam.win32/steam.exe.so': No such file or directory

I'm trying to make a tkg build using the latest Proton experimental so that I can play (the) Resident Evil Village (demo) because experimental updated VKD3D to be able to run it but it has media foundation issues.

However, attempting to compile it with the script fails.

Tk-Glitch commented 3 years ago

That's not how it works. Please use the default branch (proton_6.3) to build. We are not using anything from the proton tree for re8 demo except the media converter and we have all the changes needed as local patches for wine-tkg. Using the experimental branch breaks the script for zero benefit. Using default settings with no change should be all that's needed for it (as well as gst plugins and gst-libav).

ThisNekoGuy commented 3 years ago

Well, I have done basically as you said prior, and it still didn't work so I don't know why it isn't working? :/ And when I did make changes, they were pretty minor and I don't see how they would have affected compatibility with the game.

Kerrung commented 3 years ago

Well, I have done basically as you said prior, and it still didn't work so I don't know why it isn't working? :/ And when I did make changes, they were pretty minor and I don't see how they would have affected compatibility with the game.

Can you please show us what error messages you are seeing now with the default branch (proton_6.3)?

Tk-Glitch commented 3 years ago

Well, I have done basically as you said prior, and it still didn't work so I don't know why it isn't working? :/ And when I did make changes, they were pretty minor and I don't see how they would have affected compatibility with the game.

Your issue is probably elsewhere then. The game seems to be quite picky, and fails to run on some people's machines. Please provide logs so we can try to investigate.

Tk-Glitch commented 3 years ago

See https://github.com/Frogging-Family/wine-tkg-git/commit/c20386943c132c007788c5b5b826fcfccc97a086

ThisNekoGuy commented 3 years ago

Sorry, I was asleep when you guys responded last night and was just now able to get back to you on this. steam-1541780.log @Tk-Glitch @Kerrung

Also note: I had the mfplat patches enabled because recent RE games all require it

ThisNekoGuy commented 3 years ago

Following https://github.com/Frogging-Family/wine-tkg-git/commit/c20386943c132c007788c5b5b826fcfccc97a086 , I installed gst-plugins-ugly and ran the game again with the same build.

In this state, the game runs and gets to the main menu but the "RE Engine" logo video makes aggressive static noises and the "Display" (graphics) menu in the settings doesn't work. steam-1541780.log

Tk-Glitch commented 3 years ago

Both issues are known and have no workaround as of yet. The first one is a gstreamer issue and possibly not fixable on the wine side (hard to tell since it doesn't work without proton's media-converter), the second one is being worked on.

Regarding mfplat patches, considering DMC5 and RE7 are working fine with the current implementation we have, I would believe RE2/3 remakes are fine as well with no external patch needed.

ThisNekoGuy commented 3 years ago

I personally get issues with regular Proton 6.3 regarding that with RE7, that so Idk (it enters a multi-colored screen then skips to the main menu)

But okay :+1: Does that mean every non-engine cutscene video would have aggressive static then? Because that would be... undesirable?

Tk-Glitch commented 3 years ago

The multi-colored screen is a video the steam runtime doesn't have a codec for (for legal reasons). Since -tkg doesn't build against the runtime and uses host system libraries instead, we can use problematic codecs as long as the user has them installed.

So far it seems to be the only video suffering from this issue. You shouldn't have bad surprises during the actual playthrough.

Tk-Glitch commented 3 years ago

The initial issue regarding building with an experimental branch set for proton libs/tools should be fixed with https://github.com/Frogging-Family/wine-tkg-git/commit/74f63e0052a3d5ab275fcf5b817626a75ea004b6 . Again, there is nothing in there doing anything for us vs non-experimental since we are using our own wine tree and patchsets, as well as master dxvk/vkd3d-proton. From the proton tree, we're using the media-converter, steam-helper and steamclient lib.. And that's about it since we have disabled steamvr support lately. Those haven't been updated between stable and experimental branches. But now you can enable it without everything breaking down :frog:

ThisNekoGuy commented 3 years ago

@Tk-Glitch One last question, out of curiosity: The PKGBUILD version doesn't actually install the tkg Proton to compatibility folder for me; is this intended? It just installs it to my system packages and, to my understanding, can't be run in Steam that way?

Tk-Glitch commented 3 years ago

Pacman packages can't be installed in the home dir as is without hacks. It's also hugely problematic if you have multiple users. The makepkg version of proton-tkg is installed in /usr/share/steam/compatibilitytools.d/ which is a valid path that is checked by steam since an update of the client, and will show up in steam as "proton-tkg makepkg". You can't have multiple of them installed at the same time though, and it's a bit hacky to bypass inherent limitations of packages.

ThisNekoGuy commented 3 years ago

So, the bash script is just better then?

Tk-Glitch commented 3 years ago

It's cleaner and respects what steam expects for a proton build. It's up to you to consider that as better or not. I'm not using makepkg builds myself btw :frog: