marzent / IINACT

A Dalamud plugin to run the FFXIV_ACT_Plugin in an ACT-like enviroment with a heavily modified port of Overlay Plugin
https://www.iinact.com
GNU General Public License v3.0
183 stars 42 forks source link

"Failed to install plugin IINACT" on linux #79

Closed thembees closed 5 months ago

thembees commented 5 months ago

hi there, this plugin was working for me previously, but all of a sudden is says "unable to load plugin, please restart your game and try again". I'm not sure if anything has changed, i've been using the same wine version: unofficial-wine-xiv-Proton8-26 for a long time, i've tried clearing the wine prefix, uninstalling, reinstalling, removing all config files from /home/user/.xlcore/installedPlugins/ & /pluginConfigs, but I keep getting the following error when i try and install IINACT:

2024-04-11 21:11:37.216 -06:00 [ERR] [LOCALPLUGIN] Error while loading IINACT
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.EntryPointNotFoundException: Unable to find an entry point named 'GetThreadDpiHostingBehavior' in DLL 'USER32.dll'.
   at System.Windows.Forms.DpiHelper.DpiAwarenessScope..ctor(DPI_AWARENESS_CONTEXT context, DPI_HOSTING_BEHAVIOR behavior)
   at System.Windows.Forms.DpiHelper.EnterDpiAwarenessScope(DPI_AWARENESS_CONTEXT awareness, DPI_HOSTING_BEHAVIOR dpiHosting)
   at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Application.ThreadContext.get_MarshalingControl()
   at System.Windows.Forms.WindowsFormsSynchronizationContext..ctor()
   at System.Windows.Forms.WindowsFormsSynchronizationContext.InstallIfNeeded()
   at System.Windows.Forms.Control..ctor(Boolean autoInstallSyncContext)
   at System.Windows.Forms.ScrollableControl..ctor()
   at System.Windows.Forms.ContainerControl..ctor()
   at System.Windows.Forms.Form..ctor()
   at Advanced_Combat_Tracker.FormActMain..ctor() in /home/runner/work/IINACT/IINACT/NotACT/FormActMain.cs:line 28
   at IINACT.Plugin..ctor(DalamudPluginInterface pluginInterface, ICommandManager commandManager, IGameNetwork gameNetwork, IDataManager dataManager, IChatGui chatGui, IFramework framework, ICondition condition) in /home/runner/work/IINACT/IINACT/IINACT/Plugin.cs:line 81
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeConstructorWithoutAlloc(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodBaseInvoker.InvokeConstructorWithoutAlloc(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Dalamud.IoC.Internal.ServiceContainer.CreateAsync(Type objectType, Object[] scopedObjects, IServiceScope scope) in C:\goatsoft\companysecrets\dalamud\IoC\Internal\ServiceContainer.cs:line 144
   at Dalamud.Plugin.Internal.Types.LocalPlugin.LoadAsync(PluginLoadReason reason, Boolean reloading) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\Types\LocalPlugin.cs:line 423
   at Dalamud.Plugin.Internal.PluginManager.LoadPluginAsync(FileInfo dllFile, LocalPluginManifest manifest, PluginLoadReason reason, Boolean isDev, Boolean isBoot, Boolean doNotLoad) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 1607
   at Dalamud.Plugin.Internal.PluginManager.InstallPluginInternalAsync(RemotePluginManifest repoManifest, Boolean useTesting, PluginLoadReason reason, Stream zipStream, Nullable`1 inheritedWorkingPluginId) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 1488
2024-04-11 21:11:37.217 -06:00 [INF] LASTEXCEPTION:eyJXaGVuIjoiMjAyNC0wNC0xMVQyMToxMTozNy4yMTc1MDE3LTA2OjAwIiwiSW5mbyI6IlN5c3RlbS5SZWZsZWN0aW9uLlRhcmdldEludm9jYXRpb25FeGNlcHRpb246IEV4Y2VwdGlvbiBoYXMgYmVlbiB0aHJvd24gYnkgdGhlIHRhcmdldCBvZiBhbiBpbnZvY2F0aW9uLlxyXG4gLS0tPiBTeXN0ZW0uRW50cnlQb2ludE5vdEZvdW5kRXhjZXB0aW9uOiBVbmFibGUgdG8gZmluZCBhbiBlbnRyeSBwb2ludCBuYW1lZCAnR2V0VGhyZWFkRHBpSG9zdGluZ0JlaGF2aW9yJyBpbiBETEwgJ1VTRVIzMi5kbGwnLlxyXG4gICBhdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EcGlIZWxwZXIuRHBpQXdhcmVuZXNzU2NvcGUuLmN0b3IoRFBJX0FXQVJFTkVTU19DT05URVhUIGNvbnRleHQsIERQSV9IT1NUSU5HX0JFSEFWSU9SIGJlaGF2aW9yKVxyXG4gICBhdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5EcGlIZWxwZXIuRW50ZXJEcGlBd2FyZW5lc3NTY29wZShEUElfQVdBUkVORVNTX0NPTlRFWFQgYXdhcmVuZXNzLCBEUElfSE9TVElOR19CRUhBVklPUiBkcGlIb3N0aW5nKVxyXG4gICBhdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5OYXRpdmVXaW5kb3cuQ3JlYXRlSGFuZGxlKENyZWF0ZVBhcmFtcyBjcClcclxuICAgYXQgU3lzdGVtLldpbmRvd3MuRm9ybXMuQ29udHJvbC5DcmVhdGVIYW5kbGUoKVxyXG4gICBhdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5BcHBsaWNhdGlvbi5UaHJlYWRDb250ZXh0LmdldF9NYXJzaGFsaW5nQ29udHJvbCgpXHJcbiAgIGF0IFN5c3RlbS5XaW5kb3dzLkZvcm1zLldpbmRvd3NGb3Jtc1N5bmNocm9uaXphdGlvbkNvbnRleHQuLmN0b3IoKVxyXG4gICBhdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5XaW5kb3dzRm9ybXNTeW5jaHJvbml6YXRpb25Db250ZXh0Lkluc3RhbGxJZk5lZWRlZCgpXHJcbiAgIGF0IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkNvbnRyb2wuLmN0b3IoQm9vbGVhbiBhdXRvSW5zdGFsbFN5bmNDb250ZXh0KVxyXG4gICBhdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5TY3JvbGxhYmxlQ29udHJvbC4uY3RvcigpXHJcbiAgIGF0IFN5c3RlbS5XaW5kb3dzLkZvcm1zLkNvbnRhaW5lckNvbnRyb2wuLmN0b3IoKVxyXG4gICBhdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Gb3JtLi5jdG9yKClcclxuICAgYXQgQWR2YW5jZWRfQ29tYmF0X1RyYWNrZXIuRm9ybUFjdE1haW4uLmN0b3IoKSBpbiAvaG9tZS9ydW5uZXIvd29yay9JSU5BQ1QvSUlOQUNUL05vdEFDVC9Gb3JtQWN0TWFpbi5jczpsaW5lIDI4XHJcbiAgIGF0IElJTkFDVC5QbHVnaW4uLmN0b3IoRGFsYW11ZFBsdWdpbkludGVyZmFjZSBwbHVnaW5JbnRlcmZhY2UsIElDb21tYW5kTWFuYWdlciBjb21tYW5kTWFuYWdlciwgSUdhbWVOZXR3b3JrIGdhbWVOZXR3b3JrLCBJRGF0YU1hbmFnZXIgZGF0YU1hbmFnZXIsIElDaGF0R3VpIGNoYXRHdWksIElGcmFtZXdvcmsgZnJhbWV3b3JrLCBJQ29uZGl0aW9uIGNvbmRpdGlvbikgaW4gL2hvbWUvcnVubmVyL3dvcmsvSUlOQUNUL0lJTkFDVC9JSU5BQ1QvUGx1Z2luLmNzOmxpbmUgODFcclxuICAgYXQgU3lzdGVtLlJ1bnRpbWVNZXRob2RIYW5kbGUuSW52b2tlTWV0aG9kKE9iamVjdCB0YXJnZXQsIFZvaWQqKiBhcmd1bWVudHMsIFNpZ25hdHVyZSBzaWcsIEJvb2xlYW4gaXNDb25zdHJ1Y3RvcilcclxuICAgYXQgU3lzdGVtLlJlZmxlY3Rpb24uTWV0aG9kQmFzZUludm9rZXIuSW52b2tlQ29uc3RydWN0b3JXaXRob3V0QWxsb2MoT2JqZWN0IG9iaiwgQmluZGluZ0ZsYWdzIGludm9rZUF0dHIsIEJpbmRlciBiaW5kZXIsIE9iamVjdFtdIHBhcmFtZXRlcnMsIEN1bHR1cmVJbmZvIGN1bHR1cmUpXHJcbiAgIC0tLSBFbmQgb2YgaW5uZXIgZXhjZXB0aW9uIHN0YWNrIHRyYWNlIC0tLVxyXG4gICBhdCBTeXN0ZW0uUmVmbGVjdGlvbi5NZXRob2RCYXNlSW52b2tlci5JbnZva2VDb25zdHJ1Y3RvcldpdGhvdXRBbGxvYyhPYmplY3Qgb2JqLCBCaW5kaW5nRmxhZ3MgaW52b2tlQXR0ciwgQmluZGVyIGJpbmRlciwgT2JqZWN0W10gcGFyYW1ldGVycywgQ3VsdHVyZUluZm8gY3VsdHVyZSlcclxuICAgYXQgU3lzdGVtLlJlZmxlY3Rpb24uUnVudGltZUNvbnN0cnVjdG9ySW5mby5JbnZva2UoT2JqZWN0IG9iaiwgQmluZGluZ0ZsYWdzIGludm9rZUF0dHIsIEJpbmRlciBiaW5kZXIsIE9iamVjdFtdIHBhcmFtZXRlcnMsIEN1bHR1cmVJbmZvIGN1bHR1cmUpXHJcbiAgIGF0IFN5c3RlbS5SZWZsZWN0aW9uLk1ldGhvZEJhc2UuSW52b2tlKE9iamVjdCBvYmosIE9iamVjdFtdIHBhcmFtZXRlcnMpXHJcbiAgIGF0IERhbGFtdWQuSW9DLkludGVybmFsLlNlcnZpY2VDb250YWluZXIuQ3JlYXRlQXN5bmMoVHlwZSBvYmplY3RUeXBlLCBPYmplY3RbXSBzY29wZWRPYmplY3RzLCBJU2VydmljZVNjb3BlIHNjb3BlKSBpbiBDOlxcZ29hdHNvZnRcXGNvbXBhbnlzZWNyZXRzXFxkYWxhbXVkXFxJb0NcXEludGVybmFsXFxTZXJ2aWNlQ29udGFpbmVyLmNzOmxpbmUgMTQ0XHJcbiAgIGF0IERhbGFtdWQuUGx1Z2luLkludGVybmFsLlR5cGVzLkxvY2FsUGx1Z2luLkxvYWRBc3luYyhQbHVnaW5Mb2FkUmVhc29uIHJlYXNvbiwgQm9vbGVhbiByZWxvYWRpbmcpIGluIEM6XFxnb2F0c29mdFxcY29tcGFueXNlY3JldHNcXGRhbGFtdWRcXFBsdWdpblxcSW50ZXJuYWxcXFR5cGVzXFxMb2NhbFBsdWdpbi5jczpsaW5lIDQyM1xyXG4gICBhdCBEYWxhbXVkLlBsdWdpbi5JbnRlcm5hbC5QbHVnaW5NYW5hZ2VyLkxvYWRQbHVnaW5Bc3luYyhGaWxlSW5mbyBkbGxGaWxlLCBMb2NhbFBsdWdpbk1hbmlmZXN0IG1hbmlmZXN0LCBQbHVnaW5Mb2FkUmVhc29uIHJlYXNvbiwgQm9vbGVhbiBpc0RldiwgQm9vbGVhbiBpc0Jvb3QsIEJvb2xlYW4gZG9Ob3RMb2FkKSBpbiBDOlxcZ29hdHNvZnRcXGNvbXBhbnlzZWNyZXRzXFxkYWxhbXVkXFxQbHVnaW5cXEludGVybmFsXFxQbHVnaW5NYW5hZ2VyLmNzOmxpbmUgMTYwN1xyXG4gICBhdCBEYWxhbXVkLlBsdWdpbi5JbnRlcm5hbC5QbHVnaW5NYW5hZ2VyLkluc3RhbGxQbHVnaW5JbnRlcm5hbEFzeW5jKFJlbW90ZVBsdWdpbk1hbmlmZXN0IHJlcG9NYW5pZmVzdCwgQm9vbGVhbiB1c2VUZXN0aW5nLCBQbHVnaW5Mb2FkUmVhc29uIHJlYXNvbiwgU3RyZWFtIHppcFN0cmVhbSwgTnVsbGFibGVgMSBpbmhlcml0ZWRXb3JraW5nUGx1Z2luSWQpIGluIEM6XFxnb2F0c29mdFxcY29tcGFueXNlY3JldHNcXGRhbGFtdWRcXFBsdWdpblxcSW50ZXJuYWxcXFBsdWdpbk1hbmFnZXIuY3M6bGluZSAxNDg4XHJcbiAgIGF0IERhbGFtdWQuUGx1Z2luLkludGVybmFsLlBsdWdpbk1hbmFnZXIuSW5zdGFsbFBsdWdpbkFzeW5jKFJlbW90ZVBsdWdpbk1hbmlmZXN0IHJlcG9NYW5pZmVzdCwgQm9vbGVhbiB1c2VUZXN0aW5nLCBQbHVnaW5Mb2FkUmVhc29uIHJlYXNvbiwgTnVsbGFibGVgMSBpbmhlcml0ZWRXb3JraW5nUGx1Z2luSWQpIGluIEM6XFxnb2F0c29mdFxcY29tcGFueXNlY3JldHNcXGRhbGFtdWRcXFBsdWdpblxcSW50ZXJuYWxcXFBsdWdpbk1hbmFnZXIuY3M6bGluZSA4NDQiLCJDb250ZXh0IjoiW1BMVUdJTlddIFBsdWdpbiBpbnN0YWxsZXIgdGhyZXcgYW4gdW5leHBlY3RlZCBlcnJvciJ9
2024-04-11 21:11:37.217 -06:00 [ERR] [PLUGINW] Plugin installer threw an unexpected error
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.EntryPointNotFoundException: Unable to find an entry point named 'GetThreadDpiHostingBehavior' in DLL 'USER32.dll'.
   at System.Windows.Forms.DpiHelper.DpiAwarenessScope..ctor(DPI_AWARENESS_CONTEXT context, DPI_HOSTING_BEHAVIOR behavior)
   at System.Windows.Forms.DpiHelper.EnterDpiAwarenessScope(DPI_AWARENESS_CONTEXT awareness, DPI_HOSTING_BEHAVIOR dpiHosting)
   at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Application.ThreadContext.get_MarshalingControl()
   at System.Windows.Forms.WindowsFormsSynchronizationConte xt..ctor()
   at System.Windows.Forms.WindowsFormsSynchronizationContext.InstallIfNeeded()
   at System.Windows.Forms.Control..ctor(Boolean autoInstallSyncContext)
   at System.Windows.Forms.ScrollableControl..ctor()
   at System.Windows.Forms.ContainerControl..ctor()
   at System.Windows.Forms.Form..ctor()
   at Advanced_Combat_Tracker.FormActMain..ctor() in /home/runner/work/IINACT/IINACT/NotACT/FormActMain.cs:line 28
   at IINACT.Plugin..ctor(DalamudPluginInterface pluginInterface, ICommandManager commandManager, IGameNetwork gameNetwork, IDataManager dataManager, IChatGui chatGui, IFramework framework, ICondition condition) in /home/runner/work/IINACT/IINACT/IINACT/Plugin.cs:line 81
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeConstructorWithoutAlloc(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodBaseInvoker.InvokeConstructorWithoutAlloc(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Dalamud.IoC.Internal.ServiceContainer.CreateAsync(Type objectType, Object[] scopedObjects, IServiceScope scope) in C:\goatsoft\companysecrets\dalamud\IoC\Internal\ServiceContainer.cs:line 144
   at Dalamud.Plugin.Internal.Types.LocalPlugin.LoadAsync(PluginLoadReason reason, Boolean reloading) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\Types\LocalPlugin.cs:line 423
   at Dalamud.Plugin.Internal.PluginManager.LoadPluginAsync(FileInfo dllFile, LocalPluginManifest manifest, PluginLoadReason reason, Boolean isDev, Boolean isBoot, Boolean doNotLoad) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 1607
   at Dalamud.Plugin.Internal.PluginManager.InstallPluginInternalAsync(RemotePluginManifest repoManifest, Boolean useTesting, PluginLoadReason reason, Stream zipStream, Nullable`1 inheritedWorkingPluginId) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 1488
   at Dalamud.Plugin.Internal.PluginManager.InstallPluginAsync(RemotePluginManifest repoManifest, Boolean useTesting, PluginLoadReason reason, Nullable`1 inheritedWorkingPluginId) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 844

---> System.EntryPointNotFoundException: Unable to find an entry point named 'GetThreadDpiHostingBehavior' in DLL 'USER32.dll'. seems to be the main issue, but I really am not sure why DPI would make the plugin fail to install/load? i tried changing my dalamud scaling from 100% to 150% and back down, retarting in-between, but it doesn't seem to have any effect.

astyrah commented 5 months ago

see #78 have you tried setting your wine prefix to windows 7?

thembees commented 5 months ago

see #78 have you tried setting your wine prefix to windows 7?

I have tried downgrading to that (along with clearing the prefix when I do), doesn't change anything, I still get the same errors in the log, and the plugin error is different from the one they get:

image

thembees commented 5 months ago

looking at #78 they also say updating to a wine 9+ build should fix the window 10 issue, so I tried using this 9.5.1 build, set to win 10, and it seems to be working now! :purple_heart: