Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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 this issue Aug 31, 2018 · 18 comments
Labels
cw Game compatibility - Unofficial Games not expected to work without issues

Comments

@Tuuvimer
Copy link

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

@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Aug 31, 2018
@kisak-valve kisak-valve changed the title Skyrim SSE/VR and Fallout 4/VR requires a winepatch to gain access to what would be considered normal mod functionality (presently). Skyrim SSE/VR and Fallout 4/VR requires a winepatch to gain access to what would be considered normal mod functionality (presently). (611670 611660) Aug 31, 2018
@linkjay
Copy link

linkjay commented Sep 1, 2018

How exactly do you use those patches?

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

@Tuuvimer
Copy link
Author

Tuuvimer commented Sep 1, 2018

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
Copy link

linkjay commented Sep 2, 2018

Oh, that's awful.

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

@TRPB
Copy link

TRPB commented Oct 13, 2018

+1 please build this into Proton

@Rabcor
Copy link

Rabcor commented Oct 13, 2018

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 added a commit to Rabcor/wine that referenced this issue Oct 13, 2018
it looks like get_free_mem_state_callback sees blocks before the exe base address as overlapping the exe base from calculating the block end address as block start address + size, ie a 256 byte block starting at 0x100 would "end" at 0x200

(Source of patch https://github.com/hdmap/wine-hackery/tree/master/f4se )
This change would be the more important one of two changes which would solve the following issue for proton: ValveSoftware/Proton#1069
@Rabcor
Copy link

Rabcor commented Oct 15, 2018

There's a pull request here ValveSoftware/wine#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.

@Plagman Plagman added the cw label Oct 15, 2018
@codeman101
Copy link

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
Copy link

Myrddin-Wyllt commented Sep 18, 2019

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
Copy link

codeman101 commented Sep 23, 2019

@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
Copy link

Patola commented Jun 22, 2020

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
Copy link

Patola commented Jun 22, 2020

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
Copy link

dimgel commented Aug 23, 2020

@Patola Thank you, you saved my life. Vanilla Proton-5.0-9 gave me exactly this error: #170 (comment)

@frostworx
Copy link

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
Copy link
Member

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

Issue transferred from ValveSoftware/SteamVR-for-Linux#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
Copy link

neourr commented Oct 17, 2022

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
Copy link

NewtSoup commented Aug 29, 2023

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
Copy link

Patola commented Aug 30, 2023

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cw Game compatibility - Unofficial Games not expected to work without issues
Projects
None yet
Development

No branches or pull requests