Open juliotux opened 6 years ago
Hello @juliotux, please copy your system information from steam (Steam
-> Help
-> System Information
) and put it in a gist, then include a link to the gist in this issue report.
When Banished runs in fullscreen it will result in a black screen when the mouse leaves the window. i3wm and dual monitor setup. Haven't tried with a non tiling window manager. Works fine in window mode though.
System information: https://gist.github.com/qqwa/9557dd5c5d22f84134b950463c955b9f
Audio doesn't work here. The game is completely silent. My sysinfo: https://gist.github.com/laloch/e160eb5d347f02f87d970695eef42264
Played for about 45 minutes, and worked well for me. No issues at all.
Regarding the audio issue @laloch mentioned, the game did indeed start with no audio. Toggled output source and then back to primary, and audio started. Probably a bug with Pulse.
Sysinfo: https://gist.github.com/jackfms/82f4b688d19bd27e26ff3bfce44bfd22
... , the game did indeed start with no audio. Toggled output source and then back to primary, and audio started.
Can't confirm. Pulseaudio shows an active source, but the game stays silent no matter what I do with the source.
Looks like that, for some users, xact is needed, as reported in the community driven survey. https://docs.google.com/spreadsheets/d/1DcZZQ4HL_Ol969UbXJmFG8TzOHNnHoj8Q1f8DIFe8-8/htmlview?usp=sharing&sle=true#
Same for me, looks to work perfectly graphically, even better than on windows since fps spiked up so fast, tried it in the past with wine and had several issues. But still no sound, what is this about needing xact and how do we get it?
Just noticed that it had indeed no sound... xact fixed it.
@Gfurst You need to run this command:
WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/242920/pfx winetricks xact
You're right, thanks worked well, however a little strange issue, sound only seems to be coming out on one side of the stereo. And also worth noting, the compatdata folder is relative to steam library.
Can confirm @qqwa solution. Running a pretty clean installation of Antergos. Had no audio, ran winetricks and installed xact and now have audio. Thank you!
Oh and let me correct myself too, I said that there was only audio on one side, I think it was actually just a bad connection on the cable, so forget about that.
Doesn't work on Arch 64-bit. I get an error message with Proton 3.7-4 Beta
A fatal error has occurred and the application cannot continue.
InputDevice: The application failed to create a DirectInput interface
I get this error whether or not I have used the WINEPREFEX with xact or not
System info gist: https://gist.github.com/stratus-ss/73e90ae7dcc42caf324190ea36e979cc
Log gist: https://gist.github.com/stratus-ss/936415e6ccf3799e3d7b5e516d97de9d
@stratus-ss: Works for me on Arch 64-bit. I have only two issues with the game: 1) it needs manual installation of xact in order for the audio to work. 2) Proton can't handle screen resolution changes at all.
Runs perfectly fine with Arch & x64 using ...
WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/242920/pfx winetricks xact
... like qqwa described.
stratus@stratus-desktop ~ $ WINEPREFIX=/big_space/Steam/steamapps/compatdata/242920/pfx winetricks xact
------------------------------------------------------
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.
------------------------------------------------------
Using winetricks 20180815 - sha256sum: 9343f9174146c0fa4d34e18e05269ae772a45ba78e3d8786829fa21895f6f7f4 with wine-3.13 (Staging) and WINEARCH=win64
Executing w_do_call xact
xact already installed, skipping
stratus@stratus-desktop ~ $ uname -r
4.18.5-arch1-1-ARCH
I deleted the game and am redownloading it right now. Not sure exactly what the problem is
EDIT: nope same problem on a fresh uninstall/reinstall of banished:
InputDevice: The application failed to create a DirectInput interface
I see this in the logs now though
119864.393:0008:0009:trace:module:load_builtin_dll Trying built-in L"dinput.dll"
119864.393:0008:0009:err:module:load_builtin_dll failed to load .so lib for builtin L"dinput.dll": /big_space/Steam/steamapps/common/Proton 3.7 Beta/dist/bin/../lib64/wine/dinput.dll.so: undefined symbol: SDL_JoystickGetVendor
119864.393:0008:0009:warn:module:load_dll Failed to load module L"C:\\windows\\system32\\dinput.dll"; status=c000007a
119864.393:0008:0009:err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"C:\\windows\\system32\\dinput.dll"
119864.393:0008:0009:err:ole:CoGetClassObject no class object {25e609e0-b259-11cf-bfc7-444553540000} could be created for context 0x1
119864.393:0008:0009:err:dinput:DirectInput8Create CoCreateInstance failed with hr = 0x80070005
I was able to get this working on a laptop with Optimus graphics (gtx 1050)
I did have to do
protontricks 242920 xact
So I am not sure what is the difference between the two systems. They are both running Arch from the same repos...
I only played a few minutes, but so far it runs perfectly. For what its worth, I've never had trouble with this game. Meaning perfect out of the box.
...still it's a shame the guy cancelled the native port. He wrote his own engine - props for that! Still it wouldn't have been so much trouble if he would have used SDL. :'/
So I dont get a CTD anymore with protno 3.7-5. I haven't played long enough to comment on stability just noted that the game doesnt crash immediately for me anymore
I tried the WINEPREFIX solution mentioned above to no avail, ended up finding protontricks that stratus mentioned on github soon after.
Here is what worked for me:
wget https://raw.githubusercontent.com/Sirmentio/protontricks/master/protontricks && chmod +x protontricks
sudo mv protontricks /usr/bin/protontricks
protontricks 242920 xact
protontricks 242920 winecfg
click on libraries and add xact and xaudio2_7, leave them with native, builtin https://i.imgur.com/lvguBoG.png
this is with Ubuntu 18.04, WINEPREFIX solutions did not work for me in this case, but this did.
With Proton 3.16-5 and FAudio Banished now crashes on main menu. @flibitijibibo
System Info: https://gist.github.com/NoXPhasma/c69b8988a35383bc6f9a452872dbdfb2 Proton Log: steam-242920.log
Sounds about right - try a build with FFmpeg enabled:
My distribution does not offer SDL 2.0.9, only SDL 2.0.8.
Possible line of interest: INFO: Assertion failed: 0 && "xWMA is not supported!"
So, I was able to build FAudio with ffmpeg, but with SDL 2.0.8, so no idea if that is a problem. Anyway, Banished doesn't crash, connects to pulseaudio but doesn't play any audio.
So, I build FAudio again, now with debug and set FAUDIO_LOG_ERRORS=1
to the launch parameters. Now I get this error message:
WARN:
Assertion failure at FAudio_FFMPEG_init (/home/noxp/build/FAudio/src/FAudio_ffmpeg.c:83), triggered 1 time:
'0 && "WMAv2 codec not supported!"'
I have no idea why it says that ffmpeg would not support wmav2, when it is clearly in the list of codecs:
$ ffmpeg -codecs | grep wma
D.A..S wmalossless Windows Media Audio Lossless
D.A.L. wmapro Windows Media Audio 9 Professional
DEA.L. wmav1 Windows Media Audio 1
DEA.L. wmav2 Windows Media Audio 2
D.A.L. wmavoice Windows Media Audio Voice
Seems there's a problem with your libavcodec, here's the line that's troublesome:
https://github.com/FNA-XNA/FAudio/blob/master/src/FAudio_ffmpeg.c#L75
As I wrote, this is the official package of Ubuntu 18.04. Of course I could build ffmpeg on my own, but this won't help anyone beside me. Also this is the output of the build config of ffmpeg:
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
Maybe the Steam runtime is causing a problem - if they ship their own libavcodec that's likely getting priority over what's on your system.
That could be the reason, the Steam Runtime ships libavcodec indeed. However, because of ancient libs the Steam client needs, I can't run it without Steam runtime.
There's a way to pin certain libraries to avoid this, but I don't entirely remember what the process is... a brute-force method would be to simply delete the FFmpeg files from the runtime directories. I don't know what depends on those files though, so maybe keep backups just in case.
You can add a symlinks to what you need in <steam dir>/ubuntu12_32/steam-runtime/pinned_libs_*
and if there's a problem you can delete the pinnedlibs* folders and Steam will regenerate the folder on the next start.
I moved all libva*
files from the steam-runtime/amd64/usr/lib/x86_64-linux-gnu
folder, without success. I still get the same error message.
3.16-6 game works again, but no sound again.
By the size of the libFAudio.so
I guess it's build with FFMpeg support this time. But is still unable to use the wma codec.
FFmpeg support still isn’t built in, you’ll still have to rebuild. You can verify this with ldd
.
Okay.
I've built latest FAudio again with ffmpeg and debug, this is what it says now:
WARN:
Assertion failure at FAudio_FFMPEG_init (/home/noxp/build/FAudio/src/FAudio_ffmpeg.c:98), triggered 1 time:
'0 && "FFmpeg codec not supported!"'
WARN:
Assertion failure at FAudioSourceVoice_SubmitSourceBuffer (/home/noxp/build/FAudio/src/FAudio.c:1889), triggered 1 time:
'(voice->src.ffmpeg != ((void *)0) && pBufferWMA != ((void *)0)) || (voice->src.ffmpeg == ((void *)0) && pBufferWMA == ((void *)0))'
Proton Version: 3-16-6 steam-242920.log
$ ffmpeg -codecs | grep wma
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
D.A..S wmalossless Windows Media Audio Lossless
D.A.L. wmapro Windows Media Audio 9 Professional
DEA.L. wmav1 Windows Media Audio 1
DEA.L. wmav2 Windows Media Audio 2
D.A.L. wmavoice Windows Media Audio Voice
After I've installed this FFMPEG 4 PPA and build FAudio with FFMPEG support against it, audio works!
At least music and environment audio works. UI audio still won't work.
I haven't played long enough to comment on stability just noted that the game doesn't crash immediately, it works fine on architecture 64 Bit.
Audio still does not work for me with the most recent proton.
Also the performance is pretty bad, but that's probably because the game is not optimized that well ?
I am just testing this on one of super old machine of mine. Crashing on startup https://gist.github.com/klemenoslaj/1e2e8d5891663847eaefb0874afa044d
Hello @klemenoslaj, these are the lines of interest from your log: err:vulkan:wine_vk_instance_load_physical_devices Failed to enumerate physical devices, res=-3
err:vulkan:wine_vkCreateInstance Failed to load physical devices, res=-3
This tells us that Vulkan failed to initialize on your system. Please copy your system information from Steam (Steam
-> Help
-> System Information
) and put it in a gist, then include a link to the gist in this issue report.
Hello @klemenoslaj, these are the lines of interest from your log:
err:vulkan:wine_vk_instance_load_physical_devices Failed to enumerate physical devices, res=-3
err:vulkan:wine_vkCreateInstance Failed to load physical devices, res=-3
This tells us that Vulkan failed to initialize on your system. Please copy your system information from Steam (
Steam
->Help
->System Information
) and put it in a gist, then include a link to the gist in this issue report.
@kisak-valve thanks for super fast reply :+1: Here is the system info: https://gist.github.com/klemenoslaj/abc726dd235671a9c4d574f37e5a21f9
I have to mention as well that on a newer linux machine everything works as a charm with Manjaro Linux as well. Could be old hardware, I can't say.
So, the Intel Sandybridge generation GPU in your system does not support Vulkan.
You can try adding PROTON_USE_WINED3D=1 %command%
to the game's launch options to tell Proton to use the DirectX to OpenGL render path, but this considered unsupported and comes with a significant performance penalty.
So, the Intel Sandybridge generation GPU in your system does not support Vulkan.
You can try adding
PROTON_USE_WINED3D=1 %command%
to the game's launch options to tell Proton to use the DirectX to OpenGL render path, but this considered unsupported and comes with a significant performance penalty.
That explains working newer machine :+1:
With the options provided it indeed works, thanks a lot. To my surprise it even appears to be playable.
Banished (Steam version) run via Proton 7.0-4 doesn't take any input from virtual keyboard on a Steam Deck.
Banished is working perfectly via Proton. This game is (I think) in OpenGL. It should be whitelisted.
System information: https://gist.github.com/juliotux/3a0f54caaa38bb349fb2229d0d520157