ValveSoftware / Proton

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

Skyrim SSE/VR and Fallout 4/VR requires a winepatch to gain access to what would be considered normal mod functionality (presently). (611670 611660) #1069

Open Tuuvimer opened 6 years ago

Tuuvimer commented 6 years ago

SKSE64, a popular and commonly required mod-loader, does not function in wine without this patch: https://github.com/hdmap/wine-hackery/tree/master/f4se

linkjay commented 6 years ago

How exactly do you use those patches?

I can't figure out where to use the patch files...

Tuuvimer commented 6 years ago

They're code changes that have to be added before building wine (if you wanted to do it yourself you'd need to follow the proton build instructions, but building wine 32/64 is a dep hell and absolutely not a fun process). In this case, both patches are to wine/dlls/ntdll/virtual.c. If you look at the files linked, the lines are referencing location before and after the code in question - and then follows the actual edit. The "-" before a line means it gets removed, the "+" is what is inserted.

linkjay commented 6 years ago

Oh, that's awful.

A fix for this would be absolutely wonderful so we don't have to manually build.

TRPB commented 5 years ago

+1 please build this into Proton

Rabcor commented 5 years ago

Man these patches are tiny lol, they (minimally) change 3 lines. I hope they apply them. These patches seem to work around some pretty major issues too.

Rabcor commented 5 years ago

There's a pull request here https://github.com/ValveSoftware/wine/pull/7 related to this issue. Been sitting around for 2 months.

Also, in the meantime I think lutris has this patch installed by default for their prefixes.

I do however have a new issue (which seems to be unrelated to this) where my sound works perfectly fine in interior cells, but breaks whenever I load, or if I am in an exterior cell. Soundtrack seems to work if I load a save where I am in an exterior cell, but no other sounds. It happens on proton as well.

codeman101 commented 5 years ago

Not sure this is valid anymore. I run Skyrim SE and most of my mods work fine the only one that doesn't is SKYUI. You just have to move the individual files into the Data folder and enable them in game. It was also pointed out to me that the same is true for Skyrim Legendary edition.

Myrddin-Wyllt commented 4 years ago

Double check you've installed ../Data/Scripts from SKSE/F4SE!!

@codeman101 The SkyUI problem for me was caused by a mistake when installing SKSE64. The ../Data/Scripts folder is crucial for all SKSE functionality. Without copying this directory, I had infamous error code 1 & an extremely slow/buggy SkyUI if it even showed at all. All solutions instructing you to copy SkyUI directly into the game directory are inaccurate in my experience. I have all my mods managed by Vortex. Symlinks are necessary, here's the steps to integrate with Vortex properly: 1) mkdir "$HOME/Documents/My Games"

2) ln -s "$HOME/.steam/steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/My Documents/My Games/Skyrim Special Edition" "$HOME/Documents/My Games/Skyrim Special Edition"

3) rm -rd "$HOME/.steam/steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/Local Settings/Application Data/Skyrim Special Edition"

4) ln -s "$HOME/.steam/steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/Local Settings/Application Data/Skyrim Special Edition" "ReplaceTHISwithPATHtoWINEPREFIXwithVORTEX/drive_c/users/YOURuserNAME/Local Settings/Application Data/Skyrim Special Edition"

These steps are easily extendable to any Bethesda game. I hope someone finds it useful.

codeman101 commented 4 years ago

@Myrddin-Wyllt I don't use vortex because when I originally got into applying mods on Linux Vortex didn't work on Linux.(which led me to discovering the direct copy method) The direct method of copying the files over has worked for every mod on skyrim for me except SkyUI. So to me it's not worth using vortex for the sake of one mod. Having said that I wish the author of SkyUI would fix the mod so it did work with the direct copy method.

Patola commented 4 years ago

SKSEVR -- a script extender for Skyrim VR, based on SKSE64 for Skyrim -- is not working with Skyrim VR. It seems it is unable to find a gap in memory to inject itself into the game. From skse.log:

SKSEVR runtime: initialize (version = 2.0.11 010400F1 01D64866E6D5F2FA, os = 6.1 (7601))
imagebase = 0000000140000000
reloc mgr imagebase = 0000000140000000
couldn't allocate trampoline, no free space before image
couldn't create codegen buffer. this is fatal. skipping remainder of init process.

I emailed the developer of SKSE VR and he said that: "This is a WINE/proton issue. Either there are no gaps in memory before the image base, or VirtualQuery is not implemented correctly."

I read the comments on this thread and it's said that this problem was introduced in Wine 4.16, but I reverted to Proton 4.11-13 (which is before wine's 4.16 changes have been integrated) and skse still fails to load with the same message. Also tried 4.2-9 but this way the game does not start.

Any advice on what to do to get SKSE VR working? It works with DLL injection, does DLL injection works on wine/proton? Also, should I open a separate ticket for that one in Skyrim VR (611670)?

Patola commented 4 years ago

I've made my own proton build to play the game with SKSE VR, it works. Documented here: https://www.gamingonlinux.com/forum/topic/4456

dimgel commented 4 years ago

@Patola Thank you, you saved my life. Vanilla Proton-5.0-9 gave me exactly this error: https://github.com/ValveSoftware/Proton/issues/170#issuecomment-647342153

frostworx commented 3 years ago

For completeness, it might be worth to point to this issue/duplicate? and specifically to these comments TL;DR: skse/v) (and probably also fo4se/vr) work fine with vanilla proton since upstream programs were fixed. There are no patched new release binaries available yet though

kisak-valve commented 2 years ago

[BUG] Fallout 4 VR with Script Extender and FRIK crashes on black screen regardless of Proton Version

Issue transferred from https://github.com/ValveSoftware/SteamVR-for-Linux/issues/498. @6ooflames posted on 2022-02-20T22:01:01:

I'm trying to use Fallout 4 VR with Script Extender and FRIK, but it crashes on the initial black screen regardless of which Proton Version im using. I've tried 6.3-8, 7.0-1 and Proton 7.1 and 7.2 GE.

Steps to reproduce the behavior:

  1. Install F4SEVR and FRIK and dependencies
  2. Rename Fallout4VR.exe to Fallout4.exe and f4se_loader.exe to Fallout4VR.exe and add [Loader] RuntimeName=Fallout4.exe to Data/f4sevr.ini
  3. Launch SteamVR & Fallout 4 VR
  4. See error

On Windows, people have gotten it working...

System Information:

neourr commented 1 year ago

Hello, recently got the Oculus Quest working on Linux Mint with ALVR. First thing came to my mind is to install Fallout 4 VR with mods Can confirm that Proton Experimental (or GE 7-18) does NOT work when using the mandatory FRIK (F4SE Plugin) mod. Game loads up, i select new game and it starts the loading screen before the Intro, but crashes as soon as the loading finishes. I suspect it has something to do with F4SEVR Plugins and Proton, considering the game runs fine by itself and with other non-f4sevr mods.

I installed and reinstalled the FRIK mod several times and changed proton versions, removing FRIK seems to make it work, but the mod is kind of essential for the game. Steps i did to install.

  1. Install Fallout 4 VR, Fallout 4 SE VR and Fallout 4, dragging and dropping the DLC files to Fallout4VR/Data.
  2. Install FRIK and dependancies (Fallout 4 VR Tools) via Vortex on Steam Thinker Launch
  3. Rename Fallout4VR.exe to Fallout4.exe and f4se_loader.exe to Fallout4VR.exe and create the f4sevr.ini with | [Loader] RuntimeName=Fallout4.exe | on the Fallout4vr/Data folder
  4. Start Steam VR and Fallout 4 VR through Proton Experimental
  5. Start New game
  6. CTD

System Info

NewtSoup commented 1 year ago

I've made my own proton build to play the game with SKSE VR, it works. Documented here: https://www.gamingonlinux.com/forum/topic/4456

@Patola I know this is necromancy but you don't have that fixed proton still do you? I have tried all sorts to get sksevr_loader working including installing a different OS because I was sure that it used to work ( apparently I imagined it ).

Patola commented 1 year ago

I've made my own proton build to play the game with SKSE VR, it works. Documented here: https://www.gamingonlinux.com/forum/topic/4456

@Patola I know this is necromancy but you don't have that fixed proton still do you? I have tried all sorts to get sksevr_loader working including installing a different OS because I was sure that it used to work ( apparently I imagined it ).

Well, I actually have a few old builds with that patch, yeah: https://github.com/Patola/wine/releases But current Proton works with VRIK and FRIK. You shouldn't worry about this anymore.

NewtSoup commented 1 year ago

I've made my own proton build to play the game with SKSE VR, it works. Documented here: https://www.gamingonlinux.com/forum/topic/4456

@Patola I know this is necromancy but you don't have that fixed proton still do you? I have tried all sorts to get sksevr_loader working including installing a different OS because I was sure that it used to work ( apparently I imagined it ).

Well, I actually have a few old builds with that patch, yeah: https://github.com/Patola/wine/releases But current Proton works with VRIK and FRIK. You shouldn't worry about this anymore.

@Patola thank you for replying. The reason I was asking was because I am still getting this bug on the latest proton ( even with a reinstalled OS on both Ubuntu and Mandriva ) and no mods that needed sksevr would work. But I have found a patched version of the script extender on bugs.winehq.org/show_bug.cgi?id=44893 (comment 21) that works perfectly. Sidenote: sksevr was working but stopped and I think it was after I changed from nVidia gpu to AMD.