ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.88k stars 1.04k forks source link

Fallout 4 (377160) #308

Open smirgol opened 6 years ago

smirgol commented 6 years ago

Requires xact dlls in order to play voices and some other sounds.

WINEPREFIX=/media/Volume/Steam/steamapps/compatdata/377160/pfx winetricks xact

Requires change to config, so mouse won't jump around:

Fallout4Custom.ini

[Controls]
bBackgroundMouse=1

Two issues remain: The mouse will leave the window when turning the character around. As soon as the mouse leaves the game window, the character does no longer turn around. I've tried to set "Capture mouse in fullscreen" and also to set a virtual desktop with winecfg, but both to no avail. Setting the virtual desktop caused new problems, but this is what used to fix the problem for me when using WINE - without I have the same problem there and only when using DXVK.

Then, no Bethesda game is ever complete without mods. In order to make the Fallout 4 (and Skyrim) script extender work, a patch is required to allocate memory from top down, so there are free memory addresses before the Fallout4 binary which the script extender needs to inject itself. Wine allocates the memory for the game binary at the very first address, so there is no space before that to inject anything.

See discussion here: https://github.com/doitsujin/dxvk/issues/363 See patch here: https://github.com/hdmap/wine-hackery/tree/master/f4se

In an ideal world, wine/proton would simply leave some memory unallocated before the binary, or solve the issue in a different way, but mapping top down also does the trick and did not cause any issues for me so far.

Besides these things it does start up for me without the audio hack that is required in WINE, which is a big plus for proton. :+1:

cjwijtmans commented 6 years ago

54

solenum commented 6 years ago

I get the exact same mouse issue, done lots of digging and found no current workaround. As far as I can tell it's specific to multimonitor setups (could be otherwise though, I've seen users with single monitors not having these issues).

I think setting wine to emulate a virtual desktop is a viable fix for the mouse issue, but for me (and others, it seems) it causes everything to render as black boxes and I cannot get past the launcher.

smirgol commented 6 years ago

Yes, I'm on a three monitor setup, which I forgot to mention. I'm always amazed by so many developers seemingly having only one monitor. I could not live and code without three monitors anymore. :)

solenum commented 6 years ago

Update on this,

I'm using the latest beta of Proton (which you can enable via settings->steam play on the steam client), and running the game in a virtual desktop now works, and with the 'capture mouse in fullscreen' solves the mouse issue as long as you apply the config changes mentioned by @smirgol

WINEARCH=win64 WINEPREFIX='/path/to/steam/steamapps/compatdata/377160/pfx' winecfg

Edit; It seems that this is only true when I let it load up the virtual desktop on my left-most monitor, doing it on any other results with the same black rendering and inability to get past the launcher :/

smirgol commented 6 years ago

I can confirm that. When enabling the virtual desktop, it will only work if it is started on the first monitor (left), not on the second (middle), not on the third (right).

As a workaround I disabled my first monitor, so my middle monitor is now the first one, and then it works - also enabled "capture mouse in fullscreen".

Maybe someone can look into why virtual desktop only works on the first monitor?

HughPH commented 6 years ago

My mouse issue was that it behaved like a gamepad joystick (so moving the mouse left would make the character spin - at high speed - until moving it back to centre) but it was solved with the same changes described above regarding emulated desktop and capturing the mouse. I did not need to change my fallout config.

I still don't get voices (and some other sounds) even with xact.

solenum commented 6 years ago

@smirgol Perhaps we should check other Proton games we have installed with a virtual desktop and see if they behave the same way? I'm pretty sure its a bug effecting all games on a multi-monitor setup.

bobintetley commented 6 years ago

Fallout 4 fails to start after the launcher for me with Proton 3.7.3 and 3.7.4 beta due to missing nvapi64:

(Debian 9.5 stable, GTX 1080, driver 384.130)

167480.850:0030:0031:trace:module:load_dll looking for L"C:\windows\system32\nvapi64.dll" in L"Z:\home\gaming\.steam\steam\steamapps\common\Fallout 4;C:\Program Files (x86)\Steam;C:\windows\system32;C:\windows\system;C:\windows;.;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 167480.851:0030:0031:trace:module:get_load_order looking for L"C:\windows\system32\nvapi64.dll" 167480.851:0030:0031:trace:module:get_load_order_value got standard key n,b for L"nvapi64" 167480.851:0030:0031:trace:module:load_builtin_dll Trying built-in L"nvapi64.dll" 167480.851:0030:0031:warn:module:load_builtin_dll cannot open .so lib for builtin L"nvapi64.dll": /home/gaming/.steam/steam/steamapps/common/Proton 3.7 Beta/dist/lib/wine/nvapi64.dll.so: cannot open shared object file: No such file or directory 167480.851:0030:0031:warn:module:load_dll Failed to load module L"C:\windows\system32\nvapi64.dll"; status=c0000135 167480.851:0030:0031:trace:seh:NtRaiseException code=c0000005 flags=0 addr=0x141d1783c ip=141d1783c tid=0031 167480.851:0030:0031:trace:seh:NtRaiseException info[0]=0000000000000000 167480.851:0030:0031:trace:seh:NtRaiseException info[1]=0000000000000000 167480.851:0030:0031:trace:seh:NtRaiseException rax=0000000140003110 rbx=0000000000018130 rcx=0000000000000000 rdx=000000000023f8b0 167480.851:0030:0031:trace:seh:NtRaiseException rsi=0000000000000000 rdi=0000000000000b18 rbp=000000000023f930 rsp=000000000023f830 167480.851:0030:0031:trace:seh:NtRaiseException r8=00000000000fc008 r9=000000000000002a r10=0000000000000002 r11=0000000000000000 167480.851:0030:0031:trace:seh:NtRaiseException r12=000000000023fd88 r13=0000000000000001 r14=0000000146219900 r15=00000000000009c0

solenum commented 6 years ago

@bobintetley looks like your drivers are seriously out of date, you want to be using 396.51 or 396.54.

See here

bobintetley commented 6 years ago

I'd rather stick to the Debian distro bundled drivers if I can. I have Fallout 4 running just fine with wine 3.6-ge on the same machine so I don't think the drivers are an issue in this case. The debug trace I posted above shows that FO4 has a dependency on nvapi64.dll which is not present in proton 3.7 - there's a stub for nvapi in later versions of wine.

solenum commented 6 years ago

Interesting, because it works for the rest of us in Proton 3.7.

You should really reconsider updating your drivers though, your current ones are over 5 months old and there are huge performance boosts in .54 due to some old "resource leak" issue that has existed in the Nvidia drivers for a while.

cjwijtmans commented 6 years ago

also the new drivers contain lots of vulkan fixes which proton relies on. You are only hurting yourself.

bobintetley commented 6 years ago

Ok ok, you convinced me - I'll upgrade my drivers ;D

bobintetley commented 6 years ago

Just to report back, I updated my drivers to 390.77 (by moving to Debian buster) and bizarrely the nvapi64.dll error went away. I have absolutely no idea why that should be the case, but that seems to have fixed it and FO4 starts for me with Proton now.

As others have found with other games, I had to add library overrides for xaudio to get sound working and run the game in a virtual desktop with the capture mouse/fullscreen option to prevent the mouse escaping the game. After all that, it works great!

austin-calkins commented 6 years ago

I followed the steps here to fix the mouse issue. and the steps from this video to fix the audio issues.

the first comment in this thread mentions xact. I also needed to override xaudio2_6 and xaudio2_7 and set them both to native in order to fix my audio completely.

Lejoni commented 6 years ago

I only have one monitor, and any combination of grab mouse in full screen and virtual desktop does not work for me. I can still only turn about 90 degrees in each direction before it gets "stuck". This is very odd as I don't remember having this issue when trying the game with wine-staging alone.

Btw. if anyone have trouble finding the games ini files they are under: /home/[username]/.steam/steam/steamapps/compatdata/377160/pfx/drive_c/users/steamuser/My Documents/My Games/Fallout 4

bobintetley commented 6 years ago

If you're using a virtual desktop, make sure the game is in full screen mode rather than windowed. Also, make sure the virtual desktop size matches the full screen resolution of your desktop.

smirgol commented 6 years ago

@Lejoni : it's not the [steamuserid] but the game's steam id, which is 377160. ;-)

Sometimes for me it helps to click with the left mouse button and then I can turn around as much as I want. Usually happens after alt-tabbing out of the game. Not sure if it helps you, but it's worth a try. FWIW: I play in windowed mode, virtual desktop set at my native resolution, grab mouse enabled.

One more thing that is sometimes useful to know: When your TAB key no longer works ingame, usually after alt-tabbing out of the game and back, switch out of the game to a different app, bring up the app selector (Alt-Tab) and click the Fallout4 app icon with the mouse.

Lejoni commented 6 years ago

@smirgol Ah thanks. For some reason I thought steam used one prefix for all games. I'm glad they don't :) I never tried clicking will try that :)

The issue with TAB no longer working I have encountered many times in Skyrim. Sometimes it simply helps if I press and release alt a few times. It's like the game think alt is constantly pressed.

Lejoni commented 6 years ago

@smirgol Hmm now when I went to try clicking it worked before I clicked while in game world. Only thing I can think of is that I clicked continue to load instead of pressing E on main menu. I have no virtual desktop but have grab mouse on in fullscreen and game in fullscreen.

Sound starts to get really messy after a while tho. and there are some lighting issues in certain areas where I can only see light effects on the top half of the screen. Might be fixable by turning down some settings.

bobintetley commented 6 years ago

I had issues with sound dropping out and going mute after about 20-30 minutes of play (sometimes a lot less). I just tried setting the launch options to:

PULSE_LATENCY_MSEC=60 %command%

Since then, I haven't had sound drop out on me. It could just be good luck but I've had two separate 2 hour sessions and a few shorter ones since then and sound has remained stable so far.

Lejoni commented 6 years ago

@bobintetley PULSE_LATENCY_MSEC=60 %command% made it even worse for me so I tried PULSE_LATENCY_MSEC=30 %command% and now sound seams nice and stable :)

I managed to get esp mods to work. Just had to create plugins.txt and populate it manually.

Only issue I have left now is the odd lighting bug on bottom half of the screen. It only happens indoors and only while looking in certain directions.

Lejoni commented 6 years ago

Here is a picture of the graphical bug I have: https://imgur.com/a/OWR0EaF

This is now the only imperfection I have left. Otherwise the game runs flawless.

GloriousEggroll commented 6 years ago

anyone having any issues with the game not loading saves or starting a new game? i get to the main menu and try to load a save or start a new game and it just loops forever on the loading screen

winterwicht commented 6 years ago

@Lejoni solution for the black horizontal line https://kver.wordpress.com/2017/03/29/tearing-with-nvidia-proprietary-drivers-on-plasma-try-this/

nijiwar commented 6 years ago

Unfortunately, despite by all written in this topic , whit Proton I still have a problem with missing conversation audio(all other sound work) , and after around 30 minute begin serious micro-stuttering(fps is around 50-100). Installation through the Lutris there no problems. steam-377160.log system info

HughPH commented 6 years ago

To go back to something that hasn't been tweaked, with the latest Proton Beta (3.7-6) my mouse is still completely crazy unless I run FO4 in a window, and there's no conversation sound (and possibly other missing sound)

bobintetley commented 6 years ago

@nijiwar @HughPH have you overridden xaudio 2.7? You'll need to do that via winecfg

I also had some success fixing sound dropping out by setting PULSE_LATENCY_MSEC=60. I've not found a fix for the mouse issue outside of running the game in a virtual desktop.

aw-was-here commented 6 years ago

@GloriousEggroll yes and same issue with Skyrim SE. I haven't tired Oldrim yet though.

Lejoni commented 6 years ago

@winterwicht I will try that. But if it works it would be strange as it's not "normal" tearing. It is only the lighting effects that has that tearing. The textures are fine. And the lightning tearing does not occur in all places of the game. But as I said will try it nonetheless.

winterwicht commented 6 years ago

@Lejoni should do the trick, i had the same effect and its gone after that. And you should turn off compositors own tearing

for the sound problem, i found another "maybethis" tip:

in falloutprefs.ini set iMaxDesired=0 2 hour session without problems.

next: i am on a triple monitor setup, Proton Beta 3.7.6 No bBackgroundMouse=1 necessary for me, if i do that, the mouse turns only 180°.

Lejoni commented 6 years ago

@winterwicht Im not using KDE. For me the 180° mouse problem disappears if I left click once in game.

I have not had any more problems with sound sins I started to use launch option: PULSE_LATENCY_MSEC=30 %command%

winterwicht commented 6 years ago

NOT using KDE ? is there something else useable out there ? wtf ? .... ;) Sry, my fault.

GloriousEggroll commented 6 years ago

I can't get this game to get past the loading screen for the life of me.

I open the game I go to new game infinite loading loop.

I open the game I go to load save infinite loading loop.

Also the audio option is greyed out in the settings with an infinite loading circle next to it.

I have not modified anything in regards to the game. I've tried removing and reinstalling it. Tried both Proton 3.7 beta (latest) and Proton 3.7.

Arch Linux, using steam-runtime vega 64 on llvm 7 and mesa 18.3-git threadripper 1950x kde

kisak-valve commented 5 years ago

Fallout 4 Black screen.

Issue transferred from https://github.com/ValveSoftware/Proton/issues/1425. @chargedupR posted on 2018-09-13T13:40:33:

Compatibility Report

System Information

I confirm:

I had to upload my proton log up to somewhere due to it crashing on everypaste bin due to the largeness of it:. https://my.mixtape.moe/qdpndt.tar.xz

Symptoms

When launching the game, I get a completely blackscreen (when launching from the launcher, not meaning the steam launcher), going through the protonlog I figured it could be something to do with proton maybe starting with my integrated graphics, but i'm bad at reading/debugging. so i'm open to any suggestions.

kisak-valve commented 5 years ago

Fallout 4 on Steam Play, New Game won't start

Issue transferred from https://github.com/ValveSoftware/Proton/issues/1495. @amsalazar777 posted on 2018-09-17T17:59:41:

Compatibility Report

System Information

I confirm:

Symptoms

I've installed Steam on Ubuntu and have enabled "Steam Play". Steam Play works for most of my games. For fallout 4 specifically I can't get past the Main Menu. Everything works fine until I want to start a new game. As soon as I click "New Game" the loading icon pops up at the bottom right screen and will continue as the menu screen cycles through the camera angles. That's as far as it gets. Never finishes loading, never allows to quit the game, never starts a new game.

PC Specs: CPU: AMD Threadripper 1950x GPU: NVIDIA 1080ti OC edition (latest GPU driver installed: 396.54) Mother Board: ROG Zenith Extreme Memory: 32 GB

I have no mods on this game, but i do have all the dlc from the Game Of The Year Edition

Reproduction


@GloriousEggroll commented on 2018-09-17T18:35:41

I've reported this in the main fallout 4 bug report here: https://github.com/ValveSoftware/Proton/issues/308#issuecomment-419923966

it may be noted we both have the same issue and both are using a threadripper 1950x. unsure if that has any relation to the issue

amsalazar777 commented 5 years ago

anyone having any issues with the game not loading saves or starting a new game? i get to the main menu and try to load a save or start a new game and it just loops forever on the loading screen

@GloriousEggroll Have you come across anything to get the game started yet?

nijiwar commented 5 years ago

Unfortunately, despite by all written in this topic , whit Proton I still have a problem with missing conversation audio(all other sound work) , and after around 30 minute begin serious micro-stuttering(fps is around 50-100). Installation through the Lutris there no problems. steam-377160.log system info

Reinstall Proton , delete and create new prefix , lower all audio sliders half(i think this is the key for my case) and for now no problem with the sounds. Stutter is less.

codedcosmos commented 5 years ago

After just installing xact, adding the bBackgroundMouse=1 setting enabling virtual desktop and full screen capture. The game runs, it starts up correctly but the mouse teleports as I move it. (Well the perspective, I cant see the cursor)

System Information

Other details

Other then that the game works quite well, and at a playable framerate, additionally the audio works at least in game, It doesn't happen for the main menu but that might be a setting. Also audio works for the occasional Special cutscenes.

Edit

Discard the mouse issue, I was unaware it the ini file was in compat data. Also only some audio works, (not related to settings) knife sounds and run sounds seem to work, but not npc's.

technolem commented 5 years ago

I had the black screen cash problem too, right after clicking play it'd black screen then crash. It seems to be related to d3d11, probably need newer drivers. I'm on kubuntu 17.10, so can't use the latest mesa. Anyway, if you can't get that working with vulkan you can use "PROTON_USE_WINED3D11=1 %command%" to fix the problem for now. At least it worked for me.

ghost commented 5 years ago

@Technolem weird, considering the fact I'm on the new 410 drivers myself and getting that issue.. will try and see if what you said has any affect for me.

ghost commented 5 years ago

Log, couldn't edit my original post since it was transferred.

https://ghostbin.com/paste/njmhh

kisak-valve commented 5 years ago

Hello @chargedupR, INTEL-MESA: warning: Haswell Vulkan support is incomplete and eventfd: Too many open files in your log looks concerning. For the first part, you can effectively disable intel vulkan support by moving /usr/share/vulkan/icd.d/intel* somewhere out of the way. For the second part, please give https://github.com/ValveSoftware/Proton/blob/proton_3.7/PREREQS.md#fd-limit-requirements a read.

etonbears commented 5 years ago

Works for me with the same issues as others have noted: Silent Sounds, Mad Mouse, and No Networking.

No Networking means "creation club" and "mods" are not available on the main menu, and the "News/Tips" do not appear on top/right of the main menu screen. This seems to be because the Proton builds do not contain libgnutls.so, and instead try to link the specific version libgnutls.so.26, which does not exist on my distribution.

If you have this problem, create a symbolic link in /dist/lib64/libgnutls.so.26 to your distribution's libgnutls.so ; Obviously, a change to Proton's link behaviour would likely be better.

This works for me, although the connection seems to drop quite regularly and require me to log in to Bethesda.Net again.

Mad Mouse, as noted in the first post by @smirgol , can be tamed with an ini file setting. I still get the effects where one or both axes of motion get locked to a narrow range unless I run fullscreen at the native resolution of the monitor.

Even then, switching away from Fallout4 and back again locks the mouse. This can be resolved for me by bringing up the Pip-Boy UI, making any selection with the mouse, and dismissing the Pip-Boy UI. Mouse then works properly again.

Silent Sounds is the lack of the XAudio Windows API implementations in Wine/Proton. Again, as noted above you can load the Microsoft libraries using winetricks to get this working after a fashion; but eventually the sounds will lock up/loop, and the game hangs if you try to return to the desktop.

I find that a clean reboot and playing the game with no other sound-using applications running gives the best results, sometimes many hours without sound hangs. Problems most often occur with a high density of sounds being played, such as when storing all junk in a workbench or being near rapid fire turrets.

This seems like threading incompatibilities between what the Microsoft XAudio libraries expect and what Proton can provide by using OpenAL. An alternative would be to integrate FAudio ( free software implementation of XAudio ) into Wine/Proton, but I'm not sure when, or if, that will happen.

GloriousEggroll commented 5 years ago

Update: I have the same problem in Skyrim SE as I do on Fallout 4 on threadripper: Game hangs infinitely on loading loop.

Salamek commented 5 years ago

@GloriousEggroll i had a same issue, on archlinux you need to increase limit for max open files per process. See: https://github.com/ValveSoftware/Proton/blob/proton_3.7/PREREQS.md#fd-limit-requirements

GloriousEggroll commented 5 years ago

@Salamek I've already done this a long time ago as I've been using esync before proton on wine. Additionally this only applies if you run the game with esync. The problem persists even if you disable esync. Vanilla WINE also has the same issue. I did not have this issue until I tried on a threadripper system.

Just for further proof:

[gloriouseggroll@shittywok ge-wine]$ ulimit -Hn
1048576
ghost commented 5 years ago

Hello @chargedupR, INTEL-MESA: warning: Haswell Vulkan support is incomplete and eventfd: Too many open files in your log looks concerning. For the first part, you can effectively disable intel vulkan support by moving /usr/share/vulkan/icd.d/intel* somewhere out of the way. For the second part, please give https://github.com/ValveSoftware/Proton/blob/proton_3.7/PREREQS.md#fd-limit-requirements a read.

So you're saying just move this (https://i.imgur.com/IqrU7dL.png) the intel ones out and it should essentially fix my first problem, hopefully? Okay. I will try that right now.

Edit: Also for the second advice you seemed to have given me to read, I increased my esync and all of that stuff. Fallout 4 now starts. I get mouse spasms and the audio is broken pretty much.

ghost commented 5 years ago

Added the thing to the config. I now get the 180 issue. running WINEPREFIX=/home/user/.local/share/Steam/steamapps/compatdata/377160/pfx winetricks xact seems to make my audio work, which caused stuttering for me which I fixed with PULSE_LATENCY_MSEC=60 %command% on the launch options.

Victoralm commented 5 years ago

Setting Mouse capture in full screen window and Emulate a virtual desktop in Winecfg and also bBackgroundMouse=1 on the Fallout4Custom.ini, realy fixes the mouse problem. But the game seems to run very freezed, dropping a good amount of FSP. I've the impression that it's running more smooth without the Emulate a virtual desktop. So, I'll be without it and keep playing with the joystick for now...

System Information

GPU: GeForce GTX 1060 6GB/PCIe/SSE2
CPU: AMD® Fx(tm)-6300 six-core processor × 6
Driver: nvidia-driver-396
Proton Version: Proton 3.7-6 Beta
Distro: Ubuntu 18.04
Kernel: 4.15.0-36-generic

Edit about the performance with Emulate a virtual desktop: Looks like that disabling the Steam Overlay on Steam client settings and in Winecfg Graphics tab check Automatically capture the mouse in full-screen windows and Emulate a virtual desktop (and set your desired resolution) then uncheck Allow the window manager to decorate the windows and Allow the window manager to control the windows made the trick to almost matches its performance with the non virtual desktop (the default) one. Now I'm playing with mouse. :)