mtkennerly / ludusavi

Backup tool for PC game saves
MIT License
2.52k stars 55 forks source link

Error starting up on arch linux #271

Closed Snogard closed 10 months ago

Snogard commented 1 year ago

Ludusavi version

v0.21.0

Operating system

Arch Linux X11

Installation method

Standalone or AUR

Description

The program just crashes on start up

Logs

thread 'main' panicked at 'Failed to call XMapRaised: XError { description: "BadMatch (invalid parameter attributes)", error_code: 8, request_code: 149, minor_code: 4 }', /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.6/src/platform_impl/linux/x11/window.rs:1028:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.6/src/platform_impl/linux/x11/window.rs:513:34
stack backtrace:
   0:     0x563eb5f4a531 - std::backtrace_rs::backtrace::libunwind::trace::h782cc21a5acaf6cb
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x563eb5f4a531 - std::backtrace_rs::backtrace::trace_unsynchronized::hc579eb24ab204515
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x563eb5f4a531 - std::sys_common::backtrace::_print_fmt::h7223525cfdbacda2
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x563eb5f4a531 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbd7d55b7108d2ab8
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x563eb5f78f7f - core::fmt::rt::Argument::fmt::hb4f4a02b9bd9dd49
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/fmt/rt.rs:138:9
   5:     0x563eb5f78f7f - core::fmt::write::h6d54cd7c9e155ec5
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/fmt/mod.rs:1094:21
   6:     0x563eb5f45e71 - std::io::Write::write_fmt::h6a453a71c692f63b
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/io/mod.rs:1713:15
   7:     0x563eb5f4a345 - std::sys_common::backtrace::_print::h1cbaa8b42678f928
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x563eb5f4a345 - std::sys_common::backtrace::print::h4ddf81241a51b337
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x563eb5f4b997 - std::panicking::default_hook::{{closure}}::hff91f1f484ade5cd
  10:     0x563eb5f4b784 - std::panicking::default_hook::h21f14afd59f7aef9
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:288:9
  11:     0x563eb5f4be4c - std::panicking::rust_panic_with_hook::h45f66047b14c555c
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:705:13
  12:     0x563eb5f4bd47 - std::panicking::begin_panic_handler::{{closure}}::h49d1a88ef0908eb4
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:597:13
  13:     0x563eb5f4a966 - std::sys_common::backtrace::__rust_end_short_backtrace::hccebf9e57f8cc425
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:151:18
  14:     0x563eb5f4ba92 - rust_begin_unwind
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:593:5
  15:     0x563eb50cfda3 - core::panicking::panic_fmt::h54ec9d0e3180a83d
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:67:14
  16:     0x563eb50d0243 - core::result::unwrap_failed::h1cd730365d65235f
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/result.rs:1651:5
  17:     0x563eb5883228 - <winit::window::Window as core::ops::drop::Drop>::drop::habc5370e08e71e31
  18:     0x563eb517c4bd - core::ptr::drop_in_place<winit::window::Window>::h8361390a64c9d47a
  19:     0x563eb5168bec - iced_winit::application::run::{{closure}}::hbeddebbd22a821f0
  20:     0x563eb53de5ac - winit::platform_impl::platform::x11::EventLoop<T>::run_return::single_iteration::h0bca38302e538d64
  21:     0x563eb53dee8b - winit::platform_impl::platform::x11::EventLoop<T>::run_return::ha335072cf4caf26a
  22:     0x563eb538697f - iced_winit::application::run::ha7022d9c906e6f5e
  23:     0x563eb52cd309 - iced::application::Application::run::h18024a84b0838027
  24:     0x563eb5370b88 - ludusavi::gui::run::hd9bdc0fb66812d58
  25:     0x563eb51f35a4 - ludusavi::main::h2d0d04adfdd597b0
  26:     0x563eb53c8e73 - std::sys_common::backtrace::__rust_begin_short_backtrace::h8232831f319cf68c
  27:     0x563eb538ec49 - std::rt::lang_start::{{closure}}::h910b874c6d875bac
  28:     0x563eb5f3c9a5 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h802b0fdd426a12ca
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:284:13
  29:     0x563eb5f3c9a5 - std::panicking::try::do_call::h2a2f25050efa0cf8
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:500:40
  30:     0x563eb5f3c9a5 - std::panicking::try::h9ca7f841c0f0e3dd
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
  31:     0x563eb5f3c9a5 - std::panic::catch_unwind::h92d42a62587f8121
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
  32:     0x563eb5f3c9a5 - std::rt::lang_start_internal::{{closure}}::hf1926c7a173d562c
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:48
  33:     0x563eb5f3c9a5 - std::panicking::try::do_call::haac70d88f0cce898
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:500:40
  34:     0x563eb5f3c9a5 - std::panicking::try::h5c20719e1031e74b
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
  35:     0x563eb5f3c9a5 - std::panic::catch_unwind::h9b15b36860d5fe4a
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
  36:     0x563eb5f3c9a5 - std::rt::lang_start_internal::hf502095b101390bb
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:20
  37:     0x563eb51f39a5 - main
  38:     0x7f4509027cd0 - <unknown>
  39:     0x7f4509027d8a - __libc_start_main
  40:     0x563eb50d054e - _start
  41:                0x0 - <unknown>
thread 'main' panicked at 'panic in a function that cannot unwind', library/core/src/panicking.rs:126:5
stack backtrace:
   0:     0x563eb5f4a531 - std::backtrace_rs::backtrace::libunwind::trace::h782cc21a5acaf6cb
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x563eb5f4a531 - std::backtrace_rs::backtrace::trace_unsynchronized::hc579eb24ab204515
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x563eb5f4a531 - std::sys_common::backtrace::_print_fmt::h7223525cfdbacda2
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x563eb5f4a531 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbd7d55b7108d2ab8
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x563eb5f78f7f - core::fmt::rt::Argument::fmt::hb4f4a02b9bd9dd49
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/fmt/rt.rs:138:9
   5:     0x563eb5f78f7f - core::fmt::write::h6d54cd7c9e155ec5
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/fmt/mod.rs:1094:21
   6:     0x563eb5f45e71 - std::io::Write::write_fmt::h6a453a71c692f63b
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/io/mod.rs:1713:15
   7:     0x563eb5f4a345 - std::sys_common::backtrace::_print::h1cbaa8b42678f928
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x563eb5f4a345 - std::sys_common::backtrace::print::h4ddf81241a51b337
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x563eb5f4b997 - std::panicking::default_hook::{{closure}}::hff91f1f484ade5cd
  10:     0x563eb5f4b784 - std::panicking::default_hook::h21f14afd59f7aef9
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:288:9
  11:     0x563eb5f4be4c - std::panicking::rust_panic_with_hook::h45f66047b14c555c
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:705:13
  12:     0x563eb5f4bd01 - std::panicking::begin_panic_handler::{{closure}}::h49d1a88ef0908eb4
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:595:13
  13:     0x563eb5f4a966 - std::sys_common::backtrace::__rust_end_short_backtrace::hccebf9e57f8cc425
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:151:18
  14:     0x563eb5f4ba92 - rust_begin_unwind
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:593:5
  15:     0x563eb50cfde3 - core::panicking::panic_nounwind_fmt::had64f2fa8a941230
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:96:14
  16:     0x563eb50cfe87 - core::panicking::panic_nounwind::h1336efe2f0ded733
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:126:5
  17:     0x563eb50cff23 - core::panicking::panic_cannot_unwind::h85e36282315b87dd
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:188:5
  18:     0x563eb5168caf - iced_winit::application::run::{{closure}}::hbeddebbd22a821f0
  19:     0x563eb53de5ac - winit::platform_impl::platform::x11::EventLoop<T>::run_return::single_iteration::h0bca38302e538d64
  20:     0x563eb53dee8b - winit::platform_impl::platform::x11::EventLoop<T>::run_return::ha335072cf4caf26a
  21:     0x563eb538697f - iced_winit::application::run::ha7022d9c906e6f5e
  22:     0x563eb52cd309 - iced::application::Application::run::h18024a84b0838027
  23:     0x563eb5370b88 - ludusavi::gui::run::hd9bdc0fb66812d58
  24:     0x563eb51f35a4 - ludusavi::main::h2d0d04adfdd597b0
  25:     0x563eb53c8e73 - std::sys_common::backtrace::__rust_begin_short_backtrace::h8232831f319cf68c
  26:     0x563eb538ec49 - std::rt::lang_start::{{closure}}::h910b874c6d875bac
  27:     0x563eb5f3c9a5 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h802b0fdd426a12ca
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:284:13
  28:     0x563eb5f3c9a5 - std::panicking::try::do_call::h2a2f25050efa0cf8
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:500:40
  29:     0x563eb5f3c9a5 - std::panicking::try::h9ca7f841c0f0e3dd
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
  30:     0x563eb5f3c9a5 - std::panic::catch_unwind::h92d42a62587f8121
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
  31:     0x563eb5f3c9a5 - std::rt::lang_start_internal::{{closure}}::hf1926c7a173d562c
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:48
  32:     0x563eb5f3c9a5 - std::panicking::try::do_call::haac70d88f0cce898
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:500:40
  33:     0x563eb5f3c9a5 - std::panicking::try::h5c20719e1031e74b
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
  34:     0x563eb5f3c9a5 - std::panic::catch_unwind::h9b15b36860d5fe4a
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
  35:     0x563eb5f3c9a5 - std::rt::lang_start_internal::hf502095b101390bb
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:20
  36:     0x563eb51f39a5 - main
  37:     0x7f4509027cd0 - <unknown>
  38:     0x7f4509027d8a - __libc_start_main
  39:     0x563eb50d054e - _start
  40:                0x0 - <unknown>
thread caused non-unwinding panic. aborting.
[1]    99404 IOT instruction (core dumped)  ./ludusavi
NovaViper commented 11 months ago

Hey I'm having the same issues on NixOS aswell, but I have these error instead

❯ ludusavi
libEGL warning: egl: failed to create dri2 screen
thread 'main' panicked at 'Failed to call XMapRaised: XError { description: "BadDrawable (invalid Pixmap or Window parameter)", error_code: 9, request_code: 147, minor_code: 4 }', /build/ludusavi-0.21.0-vendor.tar.gz/winit/src/platform_impl/linux/x11/window.rs:1028:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /build/ludusavi-0.21.0-vendor.tar.gz/winit/src/platform_impl/linux/x11/window.rs:513:34
stack backtrace:
   0:     0x5633d8aa6000 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0f67236053551eca
   1:     0x5633d8ad5e9f - core::fmt::write::h13a8faf14f1ccf50
   2:     0x5633d8a9e027 - std::io::Write::write_fmt::ha1e4f1bb6310f8b3
   3:     0x5633d8aa5e05 - std::sys_common::backtrace::print::hda0e459003c3497e
   4:     0x5633d8a8ad71 - std::panicking::default_hook::{{closure}}::h9fb0f39f8a4b4896
   5:     0x5633d8a8aa0f - std::panicking::default_hook::h74777d9c83f82eb3
   6:     0x5633d8a8b219 - std::panicking::rust_panic_with_hook::h5a53706624030272
   7:     0x5633d8aa62e7 - std::panicking::begin_panic_handler::{{closure}}::h3941e21c138a8c98
   8:     0x5633d8aa60d6 - std::sys_common::backtrace::__rust_end_short_backtrace::h5d3e0e241a65e49e
   9:     0x5633d8a8af42 - rust_begin_unwind
  10:     0x5633d7c38b43 - core::panicking::panic_fmt::h396c35e980c19b34
  11:     0x5633d7c38fd3 - core::result::unwrap_failed::h788e567f8340e094
  12:     0x5633d83a96b2 - <winit::window::Window as core::ops::drop::Drop>::drop::hcae3b48a3e84cf8e
  13:     0x5633d7e9f5bd - core::ptr::drop_in_place<winit::window::Window>::ha7663fbebb120c55
  14:     0x5633d7e982a0 - iced_winit::application::run::{{closure}}::h0843cf3c0b01f12c
  15:     0x5633d7dc9faf - winit::platform_impl::platform::x11::EventLoop<T>::run_return::single_iteration::h91adf92b4cb4f4dd
  16:     0x5633d7dca78b - winit::platform_impl::platform::x11::EventLoop<T>::run_return::h86fdb6d28c54c5f1
  17:     0x5633d7e6ca23 - iced_winit::application::run::h8852d96e0d85bc9b
  18:     0x5633d7dc8509 - iced::application::Application::run::he544ecadb1525e0a
  19:     0x5633d7f3c70a - ludusavi::gui::run::h68416a04a7288720
  20:     0x5633d7daca94 - ludusavi::main::h341e2647d050c622
  21:     0x5633d7e71f03 - std::sys_common::backtrace::__rust_begin_short_backtrace::h68a43dd8b10dd4db
  22:     0x5633d7d0b779 - std::rt::lang_start::{{closure}}::h7ace8141350a8b79
  23:     0x5633d8a7fc27 - std::rt::lang_start_internal::h7910e71d80e7bec3
  24:     0x5633d7daef95 - main
  25:     0x7fe12a979fce - __libc_start_call_main
  26:     0x7fe12a97a089 - __libc_start_main_impl
  27:     0x5633d7c39215 - _start
  28:                0x0 - <unknown>
thread 'main' panicked at 'panic in a function that cannot unwind', library/core/src/panicking.rs:126:5
stack backtrace:
   0:     0x5633d8aa6000 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0f67236053551eca
   1:     0x5633d8ad5e9f - core::fmt::write::h13a8faf14f1ccf50
   2:     0x5633d8a9e027 - std::io::Write::write_fmt::ha1e4f1bb6310f8b3
   3:     0x5633d8aa5e05 - std::sys_common::backtrace::print::hda0e459003c3497e
   4:     0x5633d8a8ad71 - std::panicking::default_hook::{{closure}}::h9fb0f39f8a4b4896
   5:     0x5633d8a8aa0f - std::panicking::default_hook::h74777d9c83f82eb3
   6:     0x5633d8a8b219 - std::panicking::rust_panic_with_hook::h5a53706624030272
   7:     0x5633d8aa62a1 - std::panicking::begin_panic_handler::{{closure}}::h3941e21c138a8c98
   8:     0x5633d8aa60d6 - std::sys_common::backtrace::__rust_end_short_backtrace::h5d3e0e241a65e49e
   9:     0x5633d8a8af42 - rust_begin_unwind
  10:     0x5633d7c38b83 - core::panicking::panic_nounwind_fmt::hef637a7d457f403d
  11:     0x5633d7c38c27 - core::panicking::panic_nounwind::h23ae16224ab91a02
  12:     0x5633d7c38cc3 - core::panicking::panic_cannot_unwind::h7c2525e4b42392b3
  13:     0x5633d7e9837f - iced_winit::application::run::{{closure}}::h0843cf3c0b01f12c
  14:     0x5633d7dc9faf - winit::platform_impl::platform::x11::EventLoop<T>::run_return::single_iteration::h91adf92b4cb4f4dd
  15:     0x5633d7dca78b - winit::platform_impl::platform::x11::EventLoop<T>::run_return::h86fdb6d28c54c5f1
  16:     0x5633d7e6ca23 - iced_winit::application::run::h8852d96e0d85bc9b
  17:     0x5633d7dc8509 - iced::application::Application::run::he544ecadb1525e0a
  18:     0x5633d7f3c70a - ludusavi::gui::run::h68416a04a7288720
  19:     0x5633d7daca94 - ludusavi::main::h341e2647d050c622
  20:     0x5633d7e71f03 - std::sys_common::backtrace::__rust_begin_short_backtrace::h68a43dd8b10dd4db
  21:     0x5633d7d0b779 - std::rt::lang_start::{{closure}}::h7ace8141350a8b79
  22:     0x5633d8a7fc27 - std::rt::lang_start_internal::h7910e71d80e7bec3
  23:     0x5633d7daef95 - main
  24:     0x7fe12a979fce - __libc_start_call_main
  25:     0x7fe12a97a089 - __libc_start_main_impl
  26:     0x5633d7c39215 - _start
  27:                0x0 - <unknown>
thread caused non-unwinding panic. aborting.
[1]    41147 abort (core dumped)  ludusavi

Same issues occurs on Flatpak aswell. But strangely enough it works fine on my laptop, the only thing I could possibly point to is something with Nvidia (Since I have that enabled for the desktop). The issue also occurs on X11 and Wayland

mtkennerly commented 10 months ago

Hey, sorry for the late reply on this. I'm not sure about the root cause, but could you try switching to the software renderer and see if that helps?

flatpak run --env ICED_BACKEND=tiny-skia com.github.mtkennerly.ludusavi
NovaViper commented 10 months ago

Hey, sorry for the late reply on this. I'm not sure about the root cause, but could you try switching to the software renderer and see if that helps?

flatpak run --env ICED_BACKEND=tiny-skia com.github.mtkennerly.ludusavi

Hey running this worked for the flatpak version!

NovaViper commented 10 months ago

Now the next question is how to get it working on the distro package versions (and even on the flatpak without needing the environment variable). I also tested that variable by exporting it into the system and that also made the NixOS package for it work properly aswell!

mtkennerly commented 10 months ago

Nice!

We can add default environment variables to the Flatpak, but I'd be hesitant to add this one since it also decreases performance and isn't needed on all systems. I can certainly add some info to the README for anyone who needs it, though.

Not sure about the NixOS and AUR packages - I'm not involved in maintaining those.

NovaViper commented 10 months ago

🤔 I'm actually looking at the documentation.. how it's saying the system needs to support Vulkan. I wonder if there's something going on with how it's detecting Vulkan with Nvidia GPUs? Unsure what GPU OP has but I think it has something to do with the program somehow not detecting Vulkan especially since the laptop (which has an Intel GPU) works fine and the only real difference between the two systems is the GPU

Snogard commented 10 months ago

i do have a gtx 1070 ti. The fix you suggested works for the flatpack version on my end and for anyone on the aur package, you can add the env in the desktop file like this:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Ludusavi
Comment=Tool for backing up your PC video game save data.
Exec=ICED_BACKEND=tiny-skia ludusavi
Icon=ludusavi
Terminal=false
Categories=Game;

thanks @mtkennerly, now i can use ludusavi again