FFXIVQuickLauncher icon indicating copy to clipboard operation
FFXIVQuickLauncher copied to clipboard

[Linux] Dalamud Injection no longer works after linking Steam account

Open suchipi opened this issue 2 years ago • 38 comments

Summary

With the recent change that requires steam being open to log in as a steam user, I went and installed steam into my lutris FFXIV prefix so I could run the game. I open it via Lutris's "run exe in wine prefix" button, then I open XIVLauncher. That works, but dalamud injection doesn't work anymore.

I am also using GShade, version 3.4.1. I use GShade via d3d11.dll.

I've tried a few different values for injection delay (ranging between 1000 and 4000ms), as well as the new method vs the legacy method (but as before, the new method crashes in wine, which is expected).

I tried disabling the steam overlay, but that didn't make a difference.

Info

  • Operating System: Linux Mint 20.3 Una (Cinnamon), kernel v5.4.0-104-generic

  • XIVLauncher version: 6.2.15.0

  • Launching as admin?: I don't think so? Not as root, at least.

  • Using Steam?: Yes

    • Previously was using steam service account without steam API, now using steam API via steam running in wine in the lutris prefix
Addons/Plugins enabled (click to show):
  • Chat Bubbles 1.3.2.2
  • Compass 1.16.1
  • Wotsit 1.0.1.3
  • Fancy Loading Screens 1.0.0.6
  • Discord Rich Presence 2.0.0.2
  • Expanded Search Info 1.3.8
  • FC Name Color 2.0.2.4
  • FPS Plugin 1.6.0.0
  • Globetrotter 1.2.4
  • Good Memory 1.0.10
  • Item Search 1.9.0.0
  • Market Board plugin 0.5.3.0
  • NeatNoter 2.1.5.0
  • NoSoliciting 3.0.2
  • Oops, All Lalafells! 1.3.0
  • Orchestrion 1.8.2.2
  • Pat Me 1.2.0.2
  • Penny Pincher 1.4.0.2
  • Pixel Perfect 1.4.0.2
  • PriceCheck 2.1.0.0
  • SimpleTweaks 1.6.8.2
  • Sound Filter 1.4.6.0
  • SoundSetter 1.5.6.0
  • Teleporter 2.0.1.4
  • TitleEdit 2.2.6.0
  • Visibility 1.1.14
  • Wine version: 6.10-7-x86_64
Lutris settings (click to show):

These should all be the defaults from Lutris; I haven't touched these.

  • DXVK enabled
  • VKD3D enabled
  • Esync enabled
  • Fsync disabled
  • AMD FSR disabled
  • Windowed (virtual desktop) disabled
  • "Enable Feral Gamemode" enabled
  • "Prefer system libraries" enabled

Additional (maybe not useful) Info

Click to show
  • XIVLauncher was installed via the community Lutris config for it, in late 2021. (Q3 I think?)
  • The FFXIV game files themselves are on an NTFS partition that I share with Windows. As such, XIVLauncher is pointing to a nonstandard location outside of the wine prefix, via the wine Z: drive.
  • d3d11.dll is a symlink to $HOME/.local/share/GShade/GShade64.dll.
  • The 'Documents/My Games/FINAL FANTASY XIV' folder inside the wine prefix is a symlink to the equivalent folder in my Windows install, on a separate NTFS partition (but a different NTFS partition than where the game files are).
  • Both NTFS partitions are mounted with these options: nosuid,nodev,nofail,x-gvfs-show,exec,uid=1000,gid=1000,rw
  • I also added these lines to dxvk.conf:
dxvk.shrinkNvidiaHvvHeap = True
dxgi.maxFrameLatency = 1
d3d9.maxFrameLatency = 1
  • I have two monitors, with different refresh rates. Neither is 60hz.

suchipi avatar Mar 10 '22 06:03 suchipi

Gshade should always be used in dxgi mode unless you have a specific reason/conflict to not use it that way.

It's also highly recommended to only use natively supported filesystems on the given platform. NTFS on Linux shouldn't generally be trusted, even including the newer code in more recent kernels. While it may not cause any problems, it's not recommended by WineHQ directly. See https://wiki.winehq.org/FAQ#Does_Wine_run_on_all_Unix_filesystems.3F

As for Dalamud failing, we'd need to see your dalamud.log for more information, but it's almost assuredly an issue during the Tier 2 loading phase, which results in a hooking failure. We aren't quite sure why it's failing, and a core dev will likely need to try to reproduce it and then sort out what's going on. It appears to be inconsistent between distros and machines.

reiichi001 avatar Mar 10 '22 07:03 reiichi001

I can confirm the very same issue, on similar config, GShade, Steam and Launcher installed in the same prefix, GShade loads, Dalamud fails, here're the logs (memory allocation issue) dalamud.log

2022-03-10 10:48:10.992 +01:00 [ERR] Tier 2 load failed.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> MinSharp.MinHookException: MinHook could not complete this operation. Status: MH_ERROR_MEMORY_ALLOC
   at MinSharp.Hook`1..ctor(IntPtr address, T detour, UInt64 hookIdent)
   at Dalamud.Hooking.Hook`1..ctor(IntPtr address, T detour, Boolean useMinHook, Assembly callingAssembly) in C:\goatsoft\companysecrets\dalamud\Hooking\Hook.cs:line 68
   at Dalamud.Hooking.Hook`1..ctor(IntPtr address, T detour, Boolean useMinHook) in C:\goatsoft\companysecrets\dalamud\Hooking\Hook.cs:line 44
   at Dalamud.Hooking.Hook`1.FromSymbol(String moduleName, String exportName, T detour, Boolean useMinHook) in C:\goatsoft\companysecrets\dalamud\Hooking\Hook.cs:line 181
   at Dalamud.Interface.Internal.InterfaceManager..ctor() in C:\goatsoft\companysecrets\dalamud\Interface\Internal\InterfaceManager.cs:line 100
   --- End of inner exception stack trace ---
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean wrapExceptions, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& hasNoDefaultCtor)
   at System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly, Boolean wrapExceptions, Boolean fillCache)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at Dalamud.Service`1.Set() in C:\goatsoft\companysecrets\dalamud\Service{T}.cs:line 48
   at Dalamud.Dalamud.LoadTier2() in C:\goatsoft\companysecrets\dalamud\Dalamud.cs:line 192
2022-03-10 10:48:11.067 +01:00 [INF]

And found this in output.log:

2022-03-10 10:48:01.769 +01:00 [INF] [HOOKS] Started dalamud!
2022-03-10 10:48:02.543 +01:00 [INF] TROUBLESHXLTING:eyJXaGVuIjoiMjAyMi0wM...wfQ==
2022-03-10 10:48:16.730 +01:00 [INF] Stopping addons...

(dunno what this long key is, if it will help in debugging let me know, for now I decided to put only a part of it)

I've tried installing GShade in dxgi mode - the result is the same.

#EDIT Also - it was never happening to me before, only after latest patch it started to be an issue I'm using Garuda/Arch btw. (had to xD)

ChaosInfinited avatar Mar 10 '22 09:03 ChaosInfinited

so i actually had the same issue, but it was happening inconsistently. weirdly enough, there seemed to be a pattern where if dalamud loaded, game sound would be broken (pavucontrol showed the game playing on "unknown output" and changing it to the correct output didn't help)

i was using pipewire 0.3.45, and just upgraded to pipewire 0.3.48. i don't seem to be having the audio issues anymore and dalamud seems to be loading fine every time (fingers crossed, since it was somewhat sporadic). on the other hand, it could be due to any number of other things that got upgraded or fixed in the process, but the audio issue was an interesting factor for me.

i'm on nixos, tracking nixos-unstable channel.

ashkitten avatar Mar 10 '22 19:03 ashkitten

Hmm.. something weird happened, I've been using Lutris' wine thus far without any issue, but now it fails to work, however when I switched to wine-ge-custom - now it works, GShade and Dalamud..

EDIT And after a reboot it stopped working again..

ChaosInfinited avatar Mar 10 '22 21:03 ChaosInfinited

Where is dalamud.log written to?

suchipi avatar Mar 11 '22 00:03 suchipi

Where is dalamud.log written to?

You can find it in <Wine Prefix>/drive_c/Users/$USER/AppData/Roaming/XIVLauncher

reiichi001 avatar Mar 11 '22 00:03 reiichi001

Running into the same issue when loading Dalamud plugins with any delay, game & GShade boot fine but dalamud runs into an issue and disables. I've had 1 occasion on the last 25 boots where dalamud worked perfectly fine, but I cannot replicate it again.

Error Log
2022-03-13 15:06:14.645 +00:00 [ERR] Tier 2 load failed.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> MinSharp.MinHookException: MinHook could not complete this operation. Status: MH_ERROR_MEMORY_ALLOC
   at MinSharp.Hook`1..ctor(IntPtr address, T detour, UInt64 hookIdent)
   at Dalamud.Hooking.Hook`1..ctor(IntPtr address, T detour, Boolean useMinHook, Assembly callingAssembly) in C:\goatsoft\companysecrets\dalamud\Hooking\Hook.cs:line 68
   at Dalamud.Hooking.Hook`1..ctor(IntPtr address, T detour, Boolean useMinHook) in C:\goatsoft\companysecrets\dalamud\Hooking\Hook.cs:line 44
   at Dalamud.Hooking.Hook`1.FromSymbol(String moduleName, String exportName, T detour, Boolean useMinHook) in C:\goatsoft\companysecrets\dalamud\Hooking\Hook.cs:line 181
   at Dalamud.Interface.Internal.InterfaceManager..ctor() in C:\goatsoft\companysecrets\dalamud\Interface\Internal\InterfaceManager.cs:line 100
   --- End of inner exception stack trace ---
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean wrapExceptions, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& hasNoDefaultCtor)
   at System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly, Boolean wrapExceptions, Boolean fillCache)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at Dalamud.Service`1.Set() in C:\goatsoft\companysecrets\dalamud\Service{T}.cs:line 48
   at Dalamud.Dalamud.LoadTier2() in C:\goatsoft\companysecrets\dalamud\Dalamud.cs:line 192
System Information
   Operating System: Zorin OS 16.1 
Desktop Environment: GNOME 
             Kernel: Linux 5.13.0-35-generic
Install Information

Lutris/Prefix Settings:

Wine version: lutris-6.21-6-x86_64`
Enable DXVK: true
Enable VKD3D: true
Enable Esync: true
Enable Fsync: false
Enable AMD FSR: false
Windowed (Virtual Desktop): false
Prefer system libraries: true
Feral Gamemode: true

WINE Steam Location: $HOME/Games/final-fantasy-xiv-online/drive_c/Program Files (x86)/Steam/Steam.exe

FFXIV Location: /mnt/secondary/SteamLibrary/steamapps/common/FINAL FANTASY XIV Online

XIVLauncher Location: $HOME/Games/final-fantasy-xiv-online/drive_c/users/user/AppData/Local/XIVLauncher/XIVLauncher.exe

Plugins Installed:

ChatBubbles	      MarketBoardPlugin  Penumbra	     TitleEdit
Dalamud.FindAnything  MaterialUI	 QuestAWAY	     Weatherman
Dalamud.LoadingImage  MiniCactpotSolver  RezPls		     WondrousTailsSolver
EnemyListDebuffs      NoSoliciting	 SimpleTweaksPlugin  TidyChat
GoodMemory	      orchestrion	 TeleporterPlugin    

GShade Installed

Blooym avatar Mar 13 '22 15:03 Blooym

Here's the (most recent) output from my dalamud.log:

2022-03-13 12:41:01.927 -06:00 [INF] Waiting for 1000ms before starting a session.
2022-03-13 12:41:02.931 -06:00 [INF] --------------------------------------------------------------------------------
2022-03-13 12:41:02.931 -06:00 [INF] Initializing a session..
2022-03-13 12:41:04.399 -06:00 [INF] [SVC] Registered Dalamud.Dalamud into service locator privately
2022-03-13 12:41:04.399 -06:00 [INF] [SVC] Registered Dalamud.DalamudStartInfo into service locator privately
2022-03-13 12:41:04.399 -06:00 [INF] [SVC] Registered Dalamud.Configuration.Internal.DalamudConfiguration into service locator privately
2022-03-13 12:41:04.399 -06:00 [INF] Starting a session..
2022-03-13 12:41:04.449 -06:00 [INF] [SVC] Registered Dalamud.IoC.Internal.ServiceContainer into service locator privately
2022-03-13 12:41:04.470 -06:00 [INF] [SVC] Registered Dalamud.Game.SigScanner into service locator and exposed to plugins
2022-03-13 12:41:04.470 -06:00 [INF] [SVC] Registered Dalamud.Hooking.Internal.HookManager into service locator privately
2022-03-13 12:41:05.962 -06:00 [INF] [T1] FFXIVClientStructs initialized!
2022-03-13 12:41:06.516 -06:00 [INF] [SVC] Registered Dalamud.Game.Framework into service locator and exposed to plugins
2022-03-13 12:41:06.516 -06:00 [INF] [T1] Framework OK!
2022-03-13 12:41:06.617 -06:00 [INF] [SVC] Registered Dalamud.Game.Network.GameNetwork into service locator and exposed to plugins
2022-03-13 12:41:06.738 -06:00 [INF] [SVC] Registered Dalamud.Game.Gui.ChatGui into service locator and exposed to plugins
2022-03-13 12:41:06.739 -06:00 [INF] [SVC] Registered Dalamud.Game.Gui.PartyFinder.PartyFinderGui into service locator and exposed to plugins
2022-03-13 12:41:06.802 -06:00 [INF] [SVC] Registered Dalamud.Game.Gui.Toast.ToastGui into service locator and exposed to plugins
2022-03-13 12:41:06.817 -06:00 [INF] [SVC] Registered Dalamud.Game.Gui.FlyText.FlyTextGui into service locator and exposed to plugins
2022-03-13 12:41:06.855 -06:00 [INF] [SVC] Registered Dalamud.Game.Gui.ContextMenus.ContextMenu into service locator and exposed to plugins
2022-03-13 12:41:06.896 -06:00 [INF] [SVC] Registered Dalamud.Game.Gui.Dtr.DtrBar into service locator and exposed to plugins
2022-03-13 12:41:06.902 -06:00 [INF] [SVC] Registered Dalamud.Game.Gui.GameGui into service locator and exposed to plugins
2022-03-13 12:41:06.904 -06:00 [INF] [SVC] Registered Dalamud.Game.Libc.LibcFunction into service locator and exposed to plugins
2022-03-13 12:41:06.910 -06:00 [INF] [T1] Load complete!
2022-03-13 12:41:06.994 -06:00 [INF] [SVC] Registered Dalamud.Game.Internal.AntiDebug into service locator privately
2022-03-13 12:41:06.994 -06:00 [INF] [T2] AntiDebug OK!
2022-03-13 12:41:07.046 -06:00 [INF] [SVC] Registered Dalamud.Game.Network.Internal.WinSockHandlers into service locator privately
2022-03-13 12:41:07.046 -06:00 [INF] [T2] WinSock OK!
2022-03-13 12:41:07.046 -06:00 [INF] [SVC] Registered Dalamud.Game.Network.Internal.NetworkHandlers into service locator privately
2022-03-13 12:41:07.046 -06:00 [INF] [T2] NH OK!
2022-03-13 12:41:07.047 -06:00 [INF] [SVC] Registered Dalamud.Data.DataManager into service locator and exposed to plugins
2022-03-13 12:41:20.303 -06:00 [INF] Lumina is ready: Z:\media\suchipi\Kagami\SteamLibrary\steamapps\common\FINAL FANTASY XIV Online\game\sqpack
2022-03-13 12:41:20.304 -06:00 [INF] [T2] Data OK!
2022-03-13 12:41:20.511 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.Objects.ObjectTable into service locator and exposed to plugins
2022-03-13 12:41:20.511 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.Fates.FateTable into service locator and exposed to plugins
2022-03-13 12:41:20.511 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.Party.PartyList into service locator and exposed to plugins
2022-03-13 12:41:20.511 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.Buddy.BuddyList into service locator and exposed to plugins
2022-03-13 12:41:20.511 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.JobGauge.JobGauges into service locator and exposed to plugins
2022-03-13 12:41:20.511 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.Keys.KeyState into service locator and exposed to plugins
2022-03-13 12:41:20.512 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.GamePad.GamepadState into service locator and exposed to plugins
2022-03-13 12:41:20.512 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.Conditions.Condition into service locator and exposed to plugins
2022-03-13 12:41:20.512 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.Objects.TargetManager into service locator and exposed to plugins
2022-03-13 12:41:20.512 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.Aetherytes.AetheryteList into service locator and exposed to plugins
2022-03-13 12:41:20.513 -06:00 [INF] [SVC] Registered Dalamud.Game.ClientState.ClientState into service locator and exposed to plugins
2022-03-13 12:41:20.513 -06:00 [INF] [T2] CS OK!
2022-03-13 12:41:20.513 -06:00 [INF] [SVC] Registered Dalamud.Localization into service locator privately
2022-03-13 12:41:20.555 -06:00 [INF] [T2] LOC OK!
2022-03-13 12:41:20.555 -06:00 [INF] [SVC] Registered Dalamud.Game.Gui.Internal.DalamudIME into service locator privately
2022-03-13 12:41:20.555 -06:00 [INF] [T2] IME OK!
2022-03-13 12:41:20.599 -06:00 [INF] [SVC] Registered Dalamud.Interface.Internal.Notifications.NotificationManager into service locator privately
2022-03-13 12:41:21.128 -06:00 [ERR] Tier 2 load failed.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.Exception: Failed to allocate MemoryBuffer of size 4096 at address 7F73655F0000. Last Win32 Error: 487
   at Reloaded.Memory.Buffers.MemoryBufferHelper.Run[T](Int32 retries, Func`1 function)
   at Reloaded.Memory.Buffers.MemoryBufferHelper.CreateMemoryBuffer(Int32 size, Int64 minimumAddress, Int64 maximumAddress, Int32 retryCount)
   at Reloaded.Hooks.Tools.Utilities.FindOrCreateBufferInRange(Int32 size, Int64 minimumAddress, Int64 maximumAddress, Int32 alignment)
   at Reloaded.Hooks.Internal.IcedPatcher.ToMemoryBuffer(Nullable`1 jumpTarget)
   at Reloaded.Hooks.Hook`1.CreateHook(Int64 functionAddress, Int32 minHookLength)
   at Reloaded.Hooks.Hook`1..ctor(TFunction function, Int64 functionAddress, Int32 minHookLength)
   at Reloaded.Hooks.ReloadedHooks.CreateHook[TFunction](TFunction function, Int64 functionAddress, Int32 minHookLength)
   at Dalamud.Hooking.Hook`1..ctor(IntPtr address, T detour, Boolean useMinHook, Assembly callingAssembly) in C:\goatsoft\companysecrets\dalamud\Hooking\Hook.cs:line 75
   at Dalamud.Hooking.Hook`1..ctor(IntPtr address, T detour) in C:\goatsoft\companysecrets\dalamud\Hooking\Hook.cs:line 31
   at Dalamud.Interface.Internal.InterfaceManager..ctor() in C:\goatsoft\companysecrets\dalamud\Interface\Internal\InterfaceManager.cs:line 101
   --- End of inner exception stack trace ---
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean wrapExceptions, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& hasNoDefaultCtor)
   at System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly, Boolean wrapExceptions, Boolean fillCache)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at Dalamud.Service`1.Set() in C:\goatsoft\companysecrets\dalamud\Service{T}.cs:line 48
   at Dalamud.Dalamud.LoadTier2() in C:\goatsoft\companysecrets\dalamud\Dalamud.cs:line 192
2022-03-13 12:41:21.309 -06:00 [INF] LASTEXCEPTION:eyJXaGVuIjoiMjAyMi0wMy0xM1QxMjo0MToyMS4zMDYwODcxLTA2OjAwIiwiSW5mbyI6IlN5c3RlbS5SZWZsZWN0aW9uLlRhcmdldEludm9jYXRpb25FeGNlcHRpb246IEV4Y2VwdGlvbiBoYXMgYmVlbiB0aHJvd24gYnkgdGhlIHRhcmdldCBvZiBhbiBpbnZvY2F0aW9uLlxyXG4gLS0tPiBTeXN0ZW0uRXhjZXB0aW9uOiBGYWlsZWQgdG8gYWxsb2NhdGUgTWVtb3J5QnVmZmVyIG9mIHNpemUgNDA5NiBhdCBhZGRyZXNzIDdGNzM2NTVGMDAwMC4gTGFzdCBXaW4zMiBFcnJvcjogNDg3XHJcbiAgIGF0IFJlbG9hZGVkLk1lbW9yeS5CdWZmZXJzLk1lbW9yeUJ1ZmZlckhlbHBlci5SdW5bVF0oSW50MzIgcmV0cmllcywgRnVuY2AxIGZ1bmN0aW9uKVxyXG4gICBhdCBSZWxvYWRlZC5NZW1vcnkuQnVmZmVycy5NZW1vcnlCdWZmZXJIZWxwZXIuQ3JlYXRlTWVtb3J5QnVmZmVyKEludDMyIHNpemUsIEludDY0IG1pbmltdW1BZGRyZXNzLCBJbnQ2NCBtYXhpbXVtQWRkcmVzcywgSW50MzIgcmV0cnlDb3VudClcclxuICAgYXQgUmVsb2FkZWQuSG9va3MuVG9vbHMuVXRpbGl0aWVzLkZpbmRPckNyZWF0ZUJ1ZmZlckluUmFuZ2UoSW50MzIgc2l6ZSwgSW50NjQgbWluaW11bUFkZHJlc3MsIEludDY0IG1heGltdW1BZGRyZXNzLCBJbnQzMiBhbGlnbm1lbnQpXHJcbiAgIGF0IFJlbG9hZGVkLkhvb2tzLkludGVybmFsLkljZWRQYXRjaGVyLlRvTWVtb3J5QnVmZmVyKE51bGxhYmxlYDEganVtcFRhcmdldClcclxuICAgYXQgUmVsb2FkZWQuSG9va3MuSG9va2AxLkNyZWF0ZUhvb2soSW50NjQgZnVuY3Rpb25BZGRyZXNzLCBJbnQzMiBtaW5Ib29rTGVuZ3RoKVxyXG4gICBhdCBSZWxvYWRlZC5Ib29rcy5Ib29rYDEuLmN0b3IoVEZ1bmN0aW9uIGZ1bmN0aW9uLCBJbnQ2NCBmdW5jdGlvbkFkZHJlc3MsIEludDMyIG1pbkhvb2tMZW5ndGgpXHJcbiAgIGF0IFJlbG9hZGVkLkhvb2tzLlJlbG9hZGVkSG9va3MuQ3JlYXRlSG9va1tURnVuY3Rpb25dKFRGdW5jdGlvbiBmdW5jdGlvbiwgSW50NjQgZnVuY3Rpb25BZGRyZXNzLCBJbnQzMiBtaW5Ib29rTGVuZ3RoKVxyXG4gICBhdCBEYWxhbXVkLkhvb2tpbmcuSG9va2AxLi5jdG9yKEludFB0ciBhZGRyZXNzLCBUIGRldG91ciwgQm9vbGVhbiB1c2VNaW5Ib29rLCBBc3NlbWJseSBjYWxsaW5nQXNzZW1ibHkpIGluIEM6XFxnb2F0c29mdFxcY29tcGFueXNlY3JldHNcXGRhbGFtdWRcXEhvb2tpbmdcXEhvb2suY3M6bGluZSA3NVxyXG4gICBhdCBEYWxhbXVkLkhvb2tpbmcuSG9va2AxLi5jdG9yKEludFB0ciBhZGRyZXNzLCBUIGRldG91cikgaW4gQzpcXGdvYXRzb2Z0XFxjb21wYW55c2VjcmV0c1xcZGFsYW11ZFxcSG9va2luZ1xcSG9vay5jczpsaW5lIDMxXHJcbiAgIGF0IERhbGFtdWQuSW50ZXJmYWNlLkludGVybmFsLkludGVyZmFjZU1hbmFnZXIuLmN0b3IoKSBpbiBDOlxcZ29hdHNvZnRcXGNvbXBhbnlzZWNyZXRzXFxkYWxhbXVkXFxJbnRlcmZhY2VcXEludGVybmFsXFxJbnRlcmZhY2VNYW5hZ2VyLmNzOmxpbmUgMTAxXHJcbiAgIC0tLSBFbmQgb2YgaW5uZXIgZXhjZXB0aW9uIHN0YWNrIHRyYWNlIC0tLVxyXG4gICBhdCBTeXN0ZW0uUnVudGltZVR5cGVIYW5kbGUuQ3JlYXRlSW5zdGFuY2UoUnVudGltZVR5cGUgdHlwZSwgQm9vbGVhbiBwdWJsaWNPbmx5LCBCb29sZWFuIHdyYXBFeGNlcHRpb25zLCBCb29sZWFuJiBjYW5CZUNhY2hlZCwgUnVudGltZU1ldGhvZEhhbmRsZUludGVybmFsJiBjdG9yLCBCb29sZWFuJiBoYXNOb0RlZmF1bHRDdG9yKVxyXG4gICBhdCBTeXN0ZW0uUnVudGltZVR5cGUuQ3JlYXRlSW5zdGFuY2VEZWZhdWx0Q3RvclNsb3coQm9vbGVhbiBwdWJsaWNPbmx5LCBCb29sZWFuIHdyYXBFeGNlcHRpb25zLCBCb29sZWFuIGZpbGxDYWNoZSlcclxuICAgYXQgU3lzdGVtLlJ1bnRpbWVUeXBlLkNyZWF0ZUluc3RhbmNlRGVmYXVsdEN0b3IoQm9vbGVhbiBwdWJsaWNPbmx5LCBCb29sZWFuIHNraXBDaGVja1RoaXMsIEJvb2xlYW4gZmlsbENhY2hlLCBCb29sZWFuIHdyYXBFeGNlcHRpb25zKVxyXG4gICBhdCBTeXN0ZW0uQWN0aXZhdG9yLkNyZWF0ZUluc3RhbmNlKFR5cGUgdHlwZSwgQm9vbGVhbiBub25QdWJsaWMsIEJvb2xlYW4gd3JhcEV4Y2VwdGlvbnMpXHJcbiAgIGF0IFN5c3RlbS5BY3RpdmF0b3IuQ3JlYXRlSW5zdGFuY2UoVHlwZSB0eXBlLCBCb29sZWFuIG5vblB1YmxpYylcclxuICAgYXQgRGFsYW11ZC5TZXJ2aWNlYDEuU2V0KCkgaW4gQzpcXGdvYXRzb2Z0XFxjb21wYW55c2VjcmV0c1xcZGFsYW11ZFxcU2VydmljZXtUfS5jczpsaW5lIDQ4XHJcbiAgIGF0IERhbGFtdWQuRGFsYW11ZC5Mb2FkVGllcjIoKSBpbiBDOlxcZ29hdHNvZnRcXGNvbXBhbnlzZWNyZXRzXFxkYWxhbXVkXFxEYWxhbXVkLmNzOmxpbmUgMTkyIiwiQ29udGV4dCI6IlRpZXIgMiBsb2FkIGZhaWxlZC4ifQ==
2022-03-13 12:41:21.309 -06:00 [INF] Trigger unload
2022-03-13 12:41:21.956 -06:00 [INF] Debug check was not overwritten?
2022-03-13 12:41:21.964 -06:00 [INF] Session has ended.

For what it's worth, I have 64GB of RAM on this machine, so I don't think it's actually running out of memory.

suchipi avatar Mar 13 '22 18:03 suchipi

I can conmfirm the same as @ashkitten said - it became random, 1 in 50 times Dalamud will load, no matter which Wine I'll use (Lutris, Staging, ge-custom), and also got 32GB of RAM, during 14's loading there's at least 20GBs free, so I think it's something with memory protection rather than OOM

ChaosInfinited avatar Mar 14 '22 07:03 ChaosInfinited

I tested everything with the exact same setup, but using a non-steam service account, and it injected properly :\ so it's definitely steam-related

suchipi avatar Mar 15 '22 06:03 suchipi

Try turning off the steam overlay in steam

goaaats avatar Mar 15 '22 08:03 goaaats

Try turning off the steam overlay in steam

Didn't seem to change the outcome at all when loading, however sometimes closing down WINE Steam and launching will allow the injection to work fine, I'm not sure if this is just luck or not though

Blooym avatar Mar 15 '22 13:03 Blooym

Try turning off the steam overlay in steam

Unfortunately, it still refuses to work.. weird thing it's random.

If I understand it correctly, when Launcher is booting up FF14, it connects to the Steam with its API, to verify the game is bought with valid licences, then game files are getting hashed to compare them with checksums on SE's servers?

I've been trying to do some debugging, but unfortunately I can't build Dalamud on Linux due to the https://github.com/dotnet/msbuild/issues/106 ..

ChaosInfinited avatar Mar 15 '22 14:03 ChaosInfinited

Try turning off the steam overlay in steam

It has the same behavior with the overlay either enabled or disabled

suchipi avatar Mar 17 '22 00:03 suchipi

In case it's helpful, here's the stdio output from running XIVLauncher.exe:

info:  Game: XIVLauncher.exe
info:  DXVK: v1.10-2-g809b446f
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 12.0.0, 256 bits)
info:  D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT
info:  NVIDIA GeForce RTX 3080:
info:    Driver: 470.103.1
info:    Vulkan: 1.2.175
info:    Memory Heap[0]:
info:      Size: 10240 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48229 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT
info:  NVIDIA GeForce RTX 3080:
info:    Driver: 470.103.1
info:    Vulkan: 1.2.175
info:    Memory Heap[0]:
info:      Size: 10240 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48229 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  Process set as DPI aware
Setting breakpad minidump AppID = 39210
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198011201811 [API loa
ded no]
info:  Game: ffxiv_dx11.exe
info:  DXVK: v1.10-2-g809b446f
info:  Found config file: dxvk.conf
info:  Found built-in config:
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:    d3d9.maxFrameLatency = 1
info:    dxgi.maxFrameLatency = 1
info:    dxvk.shrinkNvidiaHvvHeap = True
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 12.0.0, 256 bits)
info:  NVIDIA GeForce RTX 3080:
info:    Driver: 470.103.1
info:    Vulkan: 1.2.175
info:    Memory Heap[0]:
info:      Size: 10240 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48229 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
info:  Game: ffxiv_dx11.exe
info:  DXVK: v1.10-2-g809b446f
info:  Found config file: dxvk.conf
info:  Found built-in config:
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:    d3d9.maxFrameLatency = 1
info:    dxgi.maxFrameLatency = 1
info:    dxvk.shrinkNvidiaHvvHeap = True
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 12.0.0, 256 bits)
info:  NVIDIA GeForce RTX 3080:
info:    Driver: 470.103.1
info:    Vulkan: 1.2.175
info:    Memory Heap[0]:
info:      Size: 10240 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48229 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  Game: ffxiv_dx11.exe
info:  DXVK: v1.10-2-g809b446f
info:  Found config file: dxvk.conf
info:  Found built-in config:
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:    d3d9.maxFrameLatency = 1
info:    dxgi.maxFrameLatency = 1
info:    dxvk.shrinkNvidiaHvvHeap = True
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 12.0.0, 256 bits)
info:  NVIDIA GeForce RTX 3080:
info:    Driver: 470.103.1
info:    Vulkan: 1.2.175
info:    Memory Heap[0]:
info:      Size: 10240 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48229 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  Game: ffxiv_dx11.exe
info:  DXVK: v1.10-2-g809b446f
info:  Found config file: dxvk.conf
info:  Found built-in config:
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:    d3d9.maxFrameLatency = 1
info:    dxgi.maxFrameLatency = 1
info:    dxvk.shrinkNvidiaHvvHeap = True
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 12.0.0, 256 bits)
info:  NVIDIA GeForce RTX 3080:
info:    Driver: 470.103.1
info:    Vulkan: 1.2.175
info:    Memory Heap[0]:
info:      Size: 10240 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48229 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  Game: ffxiv_dx11.exe
info:  DXVK: v1.10-2-g809b446f
info:  Found config file: dxvk.conf
info:  Found built-in config:
info:  Effective configuration:
info:    d3d11.cachedDynamicResources = vi
info:    d3d9.maxFrameLatency = 1
info:    dxgi.maxFrameLatency = 1
info:    dxvk.shrinkNvidiaHvvHeap = True
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 12.0.0, 256 bits)
info:  NVIDIA GeForce RTX 3080:
info:    Driver: 470.103.1
info:    Vulkan: 1.2.175
info:    Memory Heap[0]:
info:      Size: 10240 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48229 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Device properties:
info:    Device name:     : NVIDIA GeForce RTX 3080
info:    Driver version   : 470.103.1
info:  Enabled device extensions:
info:    VK_EXT_4444_formats
info:    VK_EXT_conservative_rasterization
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_extended_dynamic_state
info:    VK_EXT_host_query_reset
info:    VK_EXT_robustness2
info:    VK_EXT_shader_demote_to_helper_invocation
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_buffer_device_address
info:    VK_KHR_create_renderpass2
info:    VK_KHR_depth_stencil_resolve
info:    VK_KHR_draw_indirect_count
info:    VK_KHR_driver_properties
info:    VK_KHR_image_format_list
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_float_controls
info:    VK_KHR_swapchain
info:    VK_NVX_binary_import
info:    VK_NVX_image_view_handle
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 1
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 1
info:    logicOp                                : 1
info:    multiDrawIndirect                      : 1
info:    drawIndirectFirstInstance              : 1
info:    depthClamp                             : 1
info:    depthBiasClamp                         : 1
info:    fillModeNonSolid                       : 1
info:    depthBounds                            : 1
info:    multiViewport                          : 1
info:    samplerAnisotropy                      : 1
info:    textureCompressionBC                   : 1
info:    occlusionQueryPrecise                  : 1
info:    pipelineStatisticsQuery                : 1
info:    vertexPipelineStoresAndAtomics         : 0
info:    fragmentStoresAndAtomics               : 1
info:    shaderImageGatherExtended              : 1
info:    shaderStorageImageExtendedFormats      : 0
info:    shaderStorageImageReadWithoutFormat    : 1
info:    shaderStorageImageWriteWithoutFormat   : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 1
info:    shaderInt64                            : 1
info:    variableMultisampleRate                : 1
info:  VK_EXT_4444_formats
info:    formatA4R4G4B4                         : 1
info:    formatA4B4G4R4                         : 1
info:  VK_EXT_custom_border_color
info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_extended_dynamic_state
info:    extendedDynamicState                   : 1
info:  VK_EXT_host_query_reset
info:    hostQueryReset                         : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 0
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 1
info:    robustImageAccess2                     : 1
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_demote_to_helper_invocation
info:    shaderDemoteToHelperInvocation         : 1
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 1
info:    geometryStreams                        : 1
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  VK_KHR_buffer_device_address
info:    bufferDeviceAddress                    : 1
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:  DXVK: Read 3122 valid state cache entries
info:  DXVK: Using 10 compiler threads
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
warn:  D3D11DXGIDevice::QueryInterface: Unknown interface query
warn:  88399375-734f-4892-a95f-70dd42ce7cdd
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
info:    Buffer size:  1920x1080
info:    Image count:  3
info:    Exclusive FS: 1
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
warn:  DXGI: MakeWindowAssociation: Ignoring flags
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
warn:  D3D11DXGIDevice::QueryInterface: Unknown interface query
warn:  6543dbb6-1b48-42f5-ab82-e97ec74326f6
ERROR: Could Not Get Primary Adapter Handle
Dalamud.Injector, (c) 2021 XIVLauncher Contributors
Built at: Mar  5 2022@13:53:11

with dotnet_path: C:\users\suchipi\AppData\Roaming\XIVLauncher\runtime
with config_path: C:\users\suchipi\AppData\Roaming\XIVLauncher\addon\Hooks\6.3.0
.6\Dalamud.Injector.runtimeconfig.json
with module_path: C:\users\suchipi\AppData\Roaming\XIVLauncher\addon\Hooks\6.3.0
.6\Dalamud.Injector.dll
Loading hostfxr... Done!
Loading coreclr... Done!
Loading module... Done!
Running Dalamud Injector... info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_FIFO_KHR
info:    Buffer size:  1920x1080
info:    Image count:  3
info:    Exclusive FS: 1
Dalamud.Boot Injectable, (c) 2021 XIVLauncher Contributors
Built at: Mar  5 2022@13:54:26

with dotnet_path: C:\users\suchipi\AppData\Roaming\XIVLauncher\runtime
with config_path: C:\users\suchipi\AppData\Roaming\XIVLauncher\addon\Hooks\6.3.0
.6\Dalamud.runtimeconfig.json
with module_path: C:\users\suchipi\AppData\Roaming\XIVLauncher\addon\Hooks\6.3.0
.6\Dalamud.dll
Loading hostfxr... Done!
Loading coreclr... Done!
Loading module... Done!
Initializing VEH... VEH was disabled manually
Initializing Dalamud... Done!
Done!

Specifically, these three lines jumped out to me: do they have any significance?

SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198011201811 [API loa
ded no]
...
ERROR: Could Not Get Primary Adapter Handle
...
Initializing VEH... VEH was disabled manually

Additionally, Steam logs this when starting the game via XIVLauncher; not sure if it's relevant:

IPC client is in my process, could/should be using an in-process pipe.

suchipi avatar Mar 17 '22 01:03 suchipi

I can confirm this. Dalamud doesn't load under Linux with Steam running, whether or not the overlay is enabled. My Dalamud log output is the same as @ChaosInfinited's above.

Maia-Everett avatar Mar 21 '22 18:03 Maia-Everett

I've checked official Lutris installation script here: https://lutris.net/games/final-fantasy-xiv-online/ They warn about some prefix-breaking changes - maybe that's what went wrong. I'll let you know if purging the prefix and trying again fixed the issue! Will try also without GShade if possible

EDIT No surprises there, clean reinstall on Lutris' wine 7.1 did nothing, overlay, nor injection delay (10s) did not help either.. GShade is definitely the culprit here.. Some additional log (I didn't notice it detecting dxgi previously)

2022-03-22 01:03:56.702 +01:00 [INF] ReShade DLL: Z:\home\chaos\.steam\steam\steamapps\common\FINAL FANTASY XIV Online\game\dxgi.dll with DXGISwapChain::runtime_present at 180101F30
2022-03-22 01:03:56.704 +01:00 [ERR] Tier 2 load failed.

The rest is the same

@Maia-Everett - do you have GShade installed too? Dalamud works without any issue for me if I unlink it.

ChaosInfinited avatar Mar 21 '22 23:03 ChaosInfinited

Yes, I have GShade installed in dxgi mode. This setup works under Windows (Dalamud, Steam, and GShade all load correctly), but not under Linux.

I'll try with GShade disabled.

Maia-Everett avatar Mar 22 '22 09:03 Maia-Everett

@ChaosInfinited

I disabled GShade, and both the Steam overlay and Dalamud loaded correctly.

After that, I loaded GShade in d3d11 mode (by renaming the dxgi.dll symlink to d3d11.dll), and Dalamud again loaded correctly. But of course, it meant the Steam overlay didn't load, since it only appears when GShade is loaded in dxgi mode.

I'll try launching the game a few more times with GShade in d3d11 mode. If it keeps working, then the issue is definitely with Wine + Steam + GShade in dxgi mode.

Maia-Everett avatar Mar 22 '22 09:03 Maia-Everett

@ChaosInfinited

I disabled GShade, and both the Steam overlay and Dalamud loaded correctly.

After that, I loaded GShade in d3d11 mode (by renaming the dxgi.dll symlink to d3d11.dll), and Dalamud again loaded correctly. But of course, it meant the Steam overlay didn't load, since it only appears when GShade is loaded in dxgi mode.

I'll try launching the game a few more times with GShade in d3d11 mode. If it keeps working, then the issue is definitely with Wine + Steam + GShade in dxgi mode.

Hm, this is interesting, I've tried doing the same (GShade installed in dxgi (or d3d11) mode with symlink renamed into d3d11 (or dxgi) and ofc regular setups, without renaming) - and while GShade works without any issue each time, Dalamud won't load no matter what. Steam overlay is disabled whole time.

I got you correctly that you've managed to load GShade along with Dalamud?

ChaosInfinited avatar Mar 22 '22 10:03 ChaosInfinited

Hm, this is interesting, I've tried doing the same (GShade installed in dxgi (or d3d11) mode with symlink renamed into d3d11 (or dxgi) and ofc regular setups, without renaming) - and while GShade works without any issue each time, Dalamud won't load no matter what. Steam overlay is disabled whole time.

I got you correctly that you've managed to load GShade along with Dalamud?

Sorry, disregard my previous message. Dalamud just failed to load for me with GShade in d3d11 mode, so the issue is not d3d11 vs dxgi. I'll disable GShade entirely and test if Dalamud consistently loads alongside Steam.

Edit: Relaunched with GShade off, and Dalamud did load. Looks like it's an issue with GShade. I also use DXVK, if this helps.

Maia-Everett avatar Mar 22 '22 12:03 Maia-Everett

Ah I see! Shame! I thought there might be an easier fix! :D I'm trying to setup a winedbg over Ghidra to figure out what's going on - devs, if there is some way you can guide us to help you - let us know, I've checked your implementation of your Hook, but unfortunately I lack the experience to know what might've gone wrong, I'll try to make a breakpoint just before Dalamud tries to allocate the memory for itself and see what are the addresses (wine-wise), but I'm not sure that's a right way of debugging it - but thanks for giving me an excuse to learn it ;)

ChaosInfinited avatar Mar 22 '22 21:03 ChaosInfinited

After moving my game to an ext4 partition (inside the wine prefix) instead of an ntfs one, injection works (but only with GShade disabled)

Edit: well, sometimes. it's inconsistent. it looks like injection usually fails, but occasionally succeeds

suchipi avatar Mar 25 '22 07:03 suchipi

Another thing that might matter: the Dalamud injection method is set to legacy, because the new method didn't work under Linux at EW launch. I'll try with the new method, but it's likely Dalamud will fail to load with it, period.

Maia-Everett avatar Mar 25 '22 10:03 Maia-Everett

I was never able to make the new injection method to work on Linux unfortunately.

@suchipi - it's weird! It works 100% of time for me (without GShade, w/ or without Steam Overlay), maybe try recreating prefix using official Lutris installer script I've provided above (backup data from AppData/Roaming), try running it few times without backed up data (also, are your crash logs are any different now?)

ChaosInfinited avatar Mar 25 '22 21:03 ChaosInfinited

Confirming, the new Dalamud injection method still doesn't work under Wine. This issue occurs with the legacy one.

Maia-Everett avatar Mar 29 '22 17:03 Maia-Everett

I was never able to get Dalamud working with GShade enabled. So I switched to vkBasalt. It was a huge pain in the ass, because I had to compile it from source and modify GShade's .fx files to work with vkBasaslt, but vkBasalt works with Dalamud.

Time to go see the april fools easter egg before the day ends ;p

suchipi avatar Apr 02 '22 03:04 suchipi

I've managed to have Dalamud + GShade work with eachother, the only downside is I have to launch the game anywhere from 2 - 10 times for it to inject properly, after that there is zero issues.

Blooym avatar Apr 02 '22 13:04 Blooym

I never had any issue with GShade and Dalamud prior to the Steam patch, I can confirm, that IT CAN inject, for me it's like 1-1000 chance tho. Still trying to debug it, but it's too much for me rn.. I'll keep trying, but nothing except from the SE hashing thingy comes to my mind - and even that, delay should deal with it.. Very weird issue. @BitsOfAByte - you had same issues before? Or it happened to you with Steam patch too?

ChaosInfinited avatar Apr 02 '22 22:04 ChaosInfinited

I never had any issue with GShade and Dalamud prior to the Steam patch, I can confirm, that IT CAN inject, for me it's like 1-1000 chance tho. Still trying to debug it, but it's too much for me rn.. I'll keep trying, but nothing except from the SE hashing thingy comes to my mind - and even that, delay should deal with it.. Very weird issue. @BitsOfAByte - you had same issues before? Or it happened to you with Steam patch too?

Only started after the steam patch

Blooym avatar Apr 03 '22 00:04 Blooym