TKMM-Team / Tkmm

TotK Mod Manager, a mod manager and merger for Tears of the Kingdom
https://tkmm.org
MIT License
56 stars 8 forks source link

[Linux] Tkmm-Launcher crashes on Install #18

Closed ripps818 closed 5 months ago

ripps818 commented 5 months ago

The launcher seems to startup just fine, but upon pushing the install button, it completely crashes. Commandline Output:

 ripps  ~  Downloads  ./tkmm-launcher 
Unhandled exception. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Tkmm.Core.Helpers.Operations.GitHubOperations.GetLatestRelease(String org, String repo, String assetName) in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Core/Helpers/Operations/GitHubOperations.cs:line 32
   at Tkmm.Core.Components.AppManager.Update(Action`1 setProgress) in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Core/Components/AppManager.cs:line 113
   at Tkmm.Launcher.ViewModels.ShellViewModel.<Primary>b__10_0() in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Launcher/ViewModels/ShellViewModel.cs:line 50
   at Tkmm.Launcher.ViewModels.ShellViewModel.Primary() in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Launcher/ViewModels/ShellViewModel.cs:line 48
   at CommunityToolkit.Mvvm.Input.AsyncRelayCommand.AwaitAndThrowIfFailed(Task executionTask)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at Avalonia.Threading.SendOrPostCallbackDispatcherOperation.InvokeCore()
   at Avalonia.Threading.DispatcherOperation.Execute()
   at Avalonia.Threading.Dispatcher.ExecuteJob(DispatcherOperation job)
   at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback)
   at Avalonia.Threading.Dispatcher.Signaled()
   at Avalonia.X11.X11PlatformThreading.CheckSignaled()
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken)
   at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
   at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
   at Tkmm.Launcher.Program.Main(String[] args) in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Launcher/Program.cs:line 13
Aborted (core dumped)

Thinking that there was slim chance this was a Wayland/X11 thing, since I saw Avalonia.X11.X11PlatformThreading in the output. I tried running it in Gamescope so it would be running in on Xwayland, however it crashed the same way:

ripps  ~  Downloads  139  gamescope.nvidia -- ./tkmm-launcher 
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
vulkan: physical device 10de:1e84 compute queue doesn't support presenting on our surface, using graphics queue
vulkan: selecting physical device 'NVIDIA GeForce RTX 2070 SUPER': queue family 0 (general queue family 0)
vulkan: physical device supports DRM format modifiers
wlserver: [backend/headless/backend.c:67] Creating headless backend
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344241 (VkResult: 0)
vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format 0x38344258 (VkResult: 0)
vulkan: supported DRM formats for sampling usage:
vulkan:   AR24 (0x34325241)
vulkan:   XR24 (0x34325258)
vulkan:   AB24 (0x34324241)
vulkan:   XB24 (0x34324258)
vulkan:   RG16 (0x36314752)
vulkan:   NV12 (0x3231564E)
vulkan:   AB4H (0x48344241)
vulkan:   XB4H (0x48344258)
vulkan:   AB30 (0x30334241)
vulkan:   XB30 (0x30334258)
vulkan:   AR30 (0x30335241)
vulkan:   XR30 (0x30335258)
vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0
wlserver: Running compositor on wayland display 'gamescope-0'
wlserver: [backend/headless/backend.c:17] Starting headless backend
wlserver: [xwayland/sockets.c:63] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
wlserver: [xwayland/server.c:108] Starting Xwayland on :2
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86CameraAccessEnable
> Warning:          Could not resolve keysym XF86CameraAccessDisable
> Warning:          Could not resolve keysym XF86CameraAccessToggle
> Warning:          Could not resolve keysym XF86NextElement
> Warning:          Could not resolve keysym XF86PreviousElement
> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
> Warning:          Could not resolve keysym XF86MarkWaypoint
> Warning:          Could not resolve keysym XF86Sos
> Warning:          Could not resolve keysym XF86NavChart
> Warning:          Could not resolve keysym XF86FishingChart
> Warning:          Could not resolve keysym XF86SingleRangeRadar
> Warning:          Could not resolve keysym XF86DualRangeRadar
> Warning:          Could not resolve keysym XF86RadarOverlay
> Warning:          Could not resolve keysym XF86TraditionalSonar
> Warning:          Could not resolve keysym XF86ClearvuSonar
> Warning:          Could not resolve keysym XF86SidevuSonar
> Warning:          Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
wlserver: [types/wlr_compositor.c:692] New wlr_surface 0x5613adc6d890 (res 0x5613adc47780)
wlserver: [xwayland/server.c:273] Xserver is ready
pipewire: stream state changed: connecting
pipewire: stream state changed: paused
pipewire: stream available on node ID: 113
vblank: Using timerfd.
vulkan: Creating Gamescope nested swapchain with format 64 and colorspace 0
pipewire: renegotiating stream params (size: 1920x1080)
wlserver: [types/wlr_compositor.c:692] New wlr_surface 0x5613adcd4bf0 (res 0x5613adc6ad90)
xwm: got the same buffer committed twice, ignoring.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported maximum keycode 708, clipping.
>                   X11 cannot support keycodes above 255.
> Warning:          Could not resolve keysym XF86CameraAccessEnable
> Warning:          Could not resolve keysym XF86CameraAccessDisable
> Warning:          Could not resolve keysym XF86CameraAccessToggle
> Warning:          Could not resolve keysym XF86NextElement
> Warning:          Could not resolve keysym XF86PreviousElement
> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
> Warning:          Could not resolve keysym XF86MarkWaypoint
> Warning:          Could not resolve keysym XF86Sos
> Warning:          Could not resolve keysym XF86NavChart
> Warning:          Could not resolve keysym XF86FishingChart
> Warning:          Could not resolve keysym XF86SingleRangeRadar
> Warning:          Could not resolve keysym XF86DualRangeRadar
> Warning:          Could not resolve keysym XF86RadarOverlay
> Warning:          Could not resolve keysym XF86TraditionalSonar
> Warning:          Could not resolve keysym XF86ClearvuSonar
> Warning:          Could not resolve keysym XF86SidevuSonar
> Warning:          Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
Unhandled exception. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Tkmm.Core.Helpers.Operations.GitHubOperations.GetLatestRelease(String org, String repo, String assetName) in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Core/Helpers/Operations/GitHubOperations.cs:line 32
   at Tkmm.Core.Components.AppManager.Update(Action`1 setProgress) in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Core/Components/AppManager.cs:line 113
   at Tkmm.Launcher.ViewModels.ShellViewModel.<Primary>b__10_0() in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Launcher/ViewModels/ShellViewModel.cs:line 50
   at Tkmm.Launcher.ViewModels.ShellViewModel.Primary() in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Launcher/ViewModels/ShellViewModel.cs:line 48
   at CommunityToolkit.Mvvm.Input.AsyncRelayCommand.AwaitAndThrowIfFailed(Task executionTask)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at Avalonia.Threading.SendOrPostCallbackDispatcherOperation.InvokeCore()
   at Avalonia.Threading.DispatcherOperation.Execute()
   at Avalonia.Threading.Dispatcher.ExecuteJob(DispatcherOperation job)
   at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback)
   at Avalonia.Threading.Dispatcher.Signaled()
   at Avalonia.X11.X11PlatformThreading.CheckSignaled()
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken)
   at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
   at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
   at Tkmm.Launcher.Program.Main(String[] args) in /home/runner/work/Tkmm/Tkmm/src/Tkmm.Launcher/Program.cs:line 13
xwm: error 3: BadWindow (invalid Window parameter) request 15 minor 0 serial 1256
gamescope: children shut down!
(EE) failed to read Wayland events: Broken pipe

I can try on a real X11 display server later, but I have feeling that this isn't the problem.

ArchLeaders commented 5 months ago

Looks like it failed to find any releases. Are you sure you were connected to the internet?

ripps818 commented 5 months ago

Yes. Just to double check, I tried running it while using a VPN with cloudflare 1.1.1.1 as the dns, and it still gave the same error.

ArchLeaders commented 5 months ago

Hm, I will see if I can recreate this somewhere. What linux distribution are you using?

At the very least I will catch and report the error instead of crashing.

ripps818 commented 5 months ago

Bazzite, a derivative of Fedora Silverblue

ArchLeaders commented 5 months ago

Thanks. I'm not very good with Linux, but I'll try to create a VM.