lmms icon indicating copy to clipboard operation
lmms copied to clipboard

Some icons sometimes disappear after minimizing LMMS for some time.

Open ghost opened this issue 6 months ago • 32 comments

System Information

Steam OS

LMMS Version(s)

latest nightly

Most Recent Working Version

latest stable

Bug Summary

Some icons sometimes disappear after minimizing LMMS for some time.

Expected Behaviour

Icons shouldn't disappear after minimizing LMMS.

Steps To Reproduce

Some icons sometimes disappear after minimizing LMMS for some time.

Logs

No response

Screenshots / Minimum Reproducible Project

Image

Please search the issue tracker for existing bug reports before submitting your own.

  • [x] I have searched all existing issues and confirmed that this is not a duplicate.

ghost avatar Jun 30 '25 15:06 ghost

@tresf why is this on the 1.3 todo list? There's no steps to reproduce.

@UAWJDASWUI How often does this happen? Are you using an AppImage? SteamOS is based on Arch Linux and uses X11, right?

allejok96 avatar Aug 08 '25 22:08 allejok96

@tresf why is this on the 1.3 todo list? There's no steps to reproduce.

@UAWJDASWUI How often does this happen? Are you using an AppImage? SteamOS is based on Arch Linux and uses X11, right?

Did you try LMMS with Steam OS? If it can't be reproduced, we can remove the milestone.

tresf avatar Aug 08 '25 23:08 tresf

@tresf why is this on the 1.3 todo list? There's no steps to reproduce.

@UAWJDASWUI How often does this happen? Are you using an AppImage? SteamOS is based on Arch Linux and uses X11, right?

SteamOS uses Wayland in gaming mode and X11 in desktop mode. Just minimize LMMS and maybe put the Steam Deck to sleep for some time and some icons will disappear.

ghost avatar Aug 09 '25 09:08 ghost

@tresf why is this on the 1.3 todo list? There's no steps to reproduce. @UAWJDASWUI How often does this happen? Are you using an AppImage? SteamOS is based on Arch Linux and uses X11, right?

Did you try LMMS with Steam OS? If it can't be reproduced, we can remove the milestone.

Obviously.

ghost avatar Aug 09 '25 09:08 ghost

@tresf why is this on the 1.3 todo list? There's no steps to reproduce. @UAWJDASWUI How often does this happen? Are you using an AppImage? SteamOS is based on Arch Linux and uses X11, right?

Did you try LMMS with Steam OS? If it can't be reproduced, we can remove the milestone.

Obviously.

No need to be snarky 😉.

Sorry if this wasn't obvious based on my quote, this question was directed at @allejok96 's message.

tresf avatar Aug 09 '25 13:08 tresf

There's no steps to reproduce.

I disagree. "Nightly" implies AppImage and the steps seem pretty clear.

@tresf why is this on the 1.3 todo list?

Well, until we can prove otherwise, we should investigate a significant UI bug prior to the next release.

The reason this is milestoned is because the icons in the screenshot are SVG rendered -- which is newly added since the last alpha -- so we should attempt to reproduce and escalate accordingly.

Related #7708.

@rubiefawn FYI.

To be clear, I don't expect to fix this before the next release (these rendering issues are often out of our control) but we should -- at a bare minimum -- look into it before re-milestoning so that we can document it in the release notes as a "known issue".

tresf avatar Aug 09 '25 14:08 tresf

Ok I see, there has been a recent change related to this 👍 I asked because it seemed like such a random issue out of the 1k issues to add do the release milestone. I'll try to test it on SteamOS if I can get that running in a virtual machine.

allejok96 avatar Aug 12 '25 20:08 allejok96

Maybe you can fix it if you reload the svgs after the system wakes up or after unminimizing LMMS

ghost avatar Aug 15 '25 11:08 ghost

Fyi I managed to install the latest version of SteamOS in qemu but couldn't reproduce this 😞 Can't trust a virtual machine though... But here's some system info that might be useful if this shows up on other systems. SteamOS is based on Arch and runs KDE Plasma and Xorg.

cat /etc/os-release NAME="SteamOS" PRETTY_NAME="SteamOS" VERSION_CODENAME=holo ID=steamos ID_LIKE=arch ANSI_COLOR="1;35" HOME_URL="https://www.steampowered.com/" DOCUMENTATION_URL="https://support.steampowered.com/" SUPPORT_URL="https://support.steampowered.com/" BUG_REPORT_URL="https://support.steampowered.com/" LOGO=steamos VARIANT_ID=steamdeck VERSION_ID=3.7.13 BUILD_ID=20250630.1 STEAMOS_DEFAULT_UPDATE_BRANCH=stable
pacman -Q 7zip 24.09-3 a52dec 0.8.0-2 aalib 1.4rc5-18 aardvark-dns 1.13.1-1 abseil-cpp 20240722.0-1 accounts-qml-module 0.7-6 accountsservice 23.13.9-2 acl 2.3.2-1 adobe-source-code-pro-fonts 2.042u+1.062i+1.026vf-2 adwaita-cursors 47.0-1 adwaita-icon-theme 47.0-1 adwaita-icon-theme-legacy 46.2-3 aha 0.5.1-3 alsa-card-profiles 1:1.2.7-1.1 alsa-lib 1.2.13-1 alsa-plugins 1:1.2.12-4 alsa-topology-conf 1.2.5.1-4 alsa-ucm-conf 1.2.12-1.1 alsa-utils 1.2.13-2 amd-ucode-neptune jupiter.3.7.20250618.1-1 anthy 9100h-7 aom 3.11.0-1 appstream 1.0.4-1 appstream-qt 1.0.4-1 arch-install-scripts 29-1 archlinux-appstream-data 20241214-1 archlinux-keyring 20241203-1 argon2 20190702-6 aribb24 1.0.3-4 ark 24.12.0-1 aspell 0.60.8.1-2 aspell-en 2020.12.07-2 assimp 5.4.3-1 at-spi2-core 2.54.0-2 atomupd-daemon 0.20250327.0-1 attica 6.9.0-1 attr 2.5.2-1 audit 4.0.2-3 avahi 1:0.8+r194+g3f79789-3 baloo 6.9.0-1 baloo-widgets 24.12.0-1 base 3-2 bash 5.2.037-1 bash-completion 2.15.0-1 bats 1.11.1-1 binutils 2.43+r4+g7999dae6961-1 blas 3.12.0-5 bluedevil 1:6.2.5-1 bluez 5.79-1.11 bluez-libs 5.79-1.11 bluez-qt 6.9.0-1 bluez-utils 5.79-1.11 bolt 0.9.8-1 boost-libs 1.86.0-4 breakpad v2023.06.01-1 breeze 6.2.5-1 breeze-grub 6.2.5-1 breeze-gtk 6.2.5-1 breeze-icons 6.9.0-1 brltty 6.7-2 brotli 1.1.0-3 btop 1.4.0-4 btrfs-progs 6.12-2 bubblewrap 0.11.0-1 bzip2 1.0.8-6 ca-certificates 20240618-1 ca-certificates-mozilla 3.107-1 ca-certificates-utils 20240618-1 cairo 1.18.2-2 cairomm-1.16 1.18.0-1 cantarell-fonts 1:0.303.1-2 caps 0.9.26-3 casync 2.r227.g99559cd-4.4 catatonit 0.2.1-1 cblas 3.12.0-5 cdparanoia 10.2-9 cfitsio 1:4.5.0-1 cifs-utils 7.1-1 clinfo 3.0.23.01.25-1 composefs 1.0.4-1 conmon 1:2.1.12-1 containers-common 1:0.61.0-1 convertlit 1.8-12 coreutils 9.5-2 cpupower 6.12-9 criu 4.0-2 crun 1.19.1-2 cryptsetup 2.7.5-1 cups 2:2.4.11-2 cups-filters 2.0.1-2 cups-pdf 3.0.1-8 curl 8.11.1-3 dav1d 1.5.0-1 db5.3 5.3.28-5 dbus 1.16.0-1 dbus-broker 36-4 dbus-broker-units 36-4 dbus-units 36-4 dconf 0.40.0-3 ddcutil 2.1.4-2 default-cursors 3-1 desktop-file-utils 0.28-1 desync 0.9.6-1.1 device-mapper 2.03.29-1 diffutils 3.10-1 ding-libs 0.6.2-2 discount 3.0.0.d-1 discover 6.2.5-1.1 distrobox 1.8.0-1 djvulibre 3.5.28-6 dmidecode 3.6-1 dolphin 24.12.0.1-1 dos2unix 7.5.2-2 dosfstools 4.2-5 dotconf 1.4.1-1 double-conversion 3.3.0-2 drkonqi 6.2.5-1 drm_info 2.7.0-1 drm_janitor 0.0.4-4 duktape 2.7.0-7 e2fsprogs 1.47.2-1 earlyoom 1.8.2-1 ebook-tools 0.2.2-8 editorconfig-core-c 0.12.9-1 efibootmgr 18-3 efivar 39-1 elfutils 0.192-2 ell 0.71-1 enchant 2.8.2-1 espeak-ng 1.52.0-1 evtest 1.35-2 exfat-utils 1.4.0-3 exiv2 0.28.3-1 expat 2.6.4-1 f3 8.0-2.1 faad2 2.11.1-1 fatresize 1.1.0-2 fd 10.2.0-1 ffmpeg 2:7.1-5 ffmpeg4.4 4.4.5-2 ffmpegthumbs 24.12.0-1 fftw 3.3.10-7 file 5.46-3 filelight 24.12.0-1 filesystem 2021.12.07-1.16 findutils 4.10.0-2 firewalld 2.3.0-2 fish 3.7.1-2 flac 1.4.3-2 flatpak 1:1.15.91-1 flatpak-kcm 6.2.5-1 fontconfig 2:2.15.0-2 frameworkintegration 6.9.0-1 freeglut 3.6.0-1 freerdp 2:3.10.3-1 freerdp2 2.11.7-2 freetype2 2.13.3-1 fribidi 1.0.16-1 fuse-common 3.16.2-1 fuse-overlayfs 1.14-1 fuse2 2.9.9-5 fuse3 3.16.2-1 fwupd-efi 1.7-1 fwupd-minimal 2.0.9-2 galileo-mura v0.9-2 gamemode 1.8.2-1 gamescope 3.16.14-1 gawk 5.3.1-1 gc 8.2.8-2 gcc-libs 14.2.1+r134+gab884fffe3fc-2 gdb 15.2-4 gdb-common 15.2-4 gdbm 1.24-1 gdk-pixbuf2 2.42.12-2 gettext 0.23.1-2 ghostscript 10.04.0-1 giflib 5.2.2-1 git 2.47.1-1 glew 2.2.0-7 glfw 3.4-2 glib-networking 1:2.80.0-3 glib2 2.82.4-2 glibc 2.41+r47+g046b33800c3e-1 glibmm-2.68 2.82.0-1 glslang 15.0.0-2 glu 9.0.3-2 gmp 6.3.0-2 gnulib-l10n 20241231-1 gnupg 2.4.7-1 gnutls 3.8.8-1 gobject-introspection-runtime 1.82.0-2 gocryptfs 2.4.0-2 gperftools 2.16-1 gpgme 1.24.1-3 gpm 1.20.7.r38.ge82d1a6-6 gptfdisk 1.0.10-1 gpu-trace 2.14-1.2 graphene 1.10.8-2 graphite 1:1.3.14-4 grep 3.11-1 grub 2:2.13-3.1 gsettings-desktop-schemas 47.1-1 gsettings-system-schemas 47.1-1 gsm 1.0.22-2 gssdp 1.6.3-2 gssproxy 0.9.2-1 gst-plugin-pipewire 1:1.2.7-1.1 gst-plugins-bad-libs 1.24.11-2 gst-plugins-base 1.24.11-2 gst-plugins-base-libs 1.24.11-2 gst-plugins-good 1.24.11-2 gstreamer 1.24.11-2 gtest 1.15.2-1 gtk-update-icon-cache 1:4.16.12-1 gtk3 1:3.24.43-4 gtk4 1:4.16.12-1 gtkmm-4.0 4.16.0-1 guile 3.0.10-1 gupnp 1:1.6.7-1 gupnp-igd 1.6.0-1 gwenview 24.12.0-1 gzip 1.13-4 harfbuzz 10.1.0-1 hicolor-icon-theme 0.18-1 hidapi 0.14.0-3 highway 1.2.0-1 holo-desync 20250527.1-1 holo-dmi-rules 1.0-2 holo-earlyoom 1.0-1 holo-fstab-repair 0.1-1 holo-glibc-locales 2.41+r47+g046b33800c3e-2 holo-keyring 20250110-1.1 holo-nfs-utils-tmpfiles 0.1-1 holo-nix-offload 0.2-1 holo-sudo 20250527.1-1 holo-zram-swap 0.3-0 htop 3.3.0-3 hunspell 1.7.2-2 hwdata 0.391-1 hwloc 2.11.2-1 i2c-tools 4.4-2 iana-etc 20241206-1 ibus 1.5.31-2.1 ibus-anthy 1.5.14-4.3 ibus-hangul 1.5.5-3 ibus-pinyin 1.5.1-2.2 ibus-table 1.17.4-3 ibus-table-cangjie-lite 1.8.8-2.3 icu 75.1-2 ijs 0.35-6 imath 3.1.12-2 imlib2 1.12.3-2 inputplumber 0.58.0-1 iotop 0.6-12 iproute2 6.12.0-1 iptables 1:1.8.10-2 iputils 20240905-1 iso-codes 4.17.0-1 iw 6.9-1 iwd 3.0-1 jansson 2.14-4 jasper 4.2.4-2 jbig2dec 0.20-1 jbigkit 2.1-8 jq 1.7.1-2 json-c 0.18-1 json-glib 1.10.6-1 jsoncpp 1.9.6-3 jupiter-dock-updater-bin 20250220.02-1 jupiter-fan-control 20240523.3-4 jupiter-firewall 0.1-1 jupiter-hw-support 3.7.20250521.2-1 jupiter-legacy-support 1.154-1 jupiter-resolved-nomdns 1.0-1 jupiter-steamos-log-submitter 1-1 kaccounts-integration 24.12.0-1 kactivitymanagerd 6.2.5-1 karchive 6.9.0-1 kate 24.12.0-1 kauth 6.9.0-1 kbd 2.7.1-1 kbookmarks 6.9.0-1 kcmutils 6.9.0-1 kcodecs 6.9.0-1 kcolorpicker 0.3.1-4 kcolorscheme 6.9.0-1 kcompletion 6.9.0-1 kconfig 6.9.0-1 kconfigwidgets 6.9.0-1 kcontacts 1:6.9.0-1 kcoreaddons 6.9.0-3 kcrash 6.9.0-1 kdbusaddons 6.9.0-1 kde-cli-tools 6.2.5-1 kde-gtk-config 6.2.5-1 kdeclarative 6.9.0-1 kdeconnect 24.12.0-1 kdecoration 6.2.5-1 kded 6.9.0-1 kdeplasma-addons 6.2.5-1 kdesu 6.9.0-1 kdialog 24.12.0-1 kdnssd 6.9.0-1 kdsoap-qt6 2.2.0-1 kdsoap-ws-discovery-client 0.4.0-1 kdumpst 1.1-2 kexec-tools 2.0.30-1 keyutils 1.6.3-3 kfilemetadata 6.9.0-1 kgamma 6.2.5-1 kglobalaccel 6.9.0-1 kglobalacceld 6.2.5-1 kguiaddons 6.9.0-3 kholidays 1:6.9.0-1 ki18n 6.9.0-2 kiconthemes 6.9.0-1 kidletime 6.9.0-1 kimageannotator 0.7.1-3 kinfocenter 6.2.5-1 kio 6.9.0-1 kio-extras 24.12.0-1 kio-fuse 5.1.0-3 kirigami 6.9.0-1 kirigami-addons 1.6.0-1 kitemmodels 6.9.0-1 kitemviews 6.9.0-1 kitty-terminfo 0.38.1-1 kjobwidgets 6.9.0-1 kmenuedit 6.2.5-1 kmod 33-3.2 knewstuff 6.9.0-2 knotifications 6.9.0-3 knotifyconfig 6.9.0-1 konsole 24.12.0-1 kpackage 6.9.0-1 kparts 6.9.0-1 kpeople 6.9.0-1 kpipewire 6.2.5-1 kpmcore 24.12.0-1 kpty 6.9.0-1 kquickcharts 6.9.0-1 krb5 1.21.3-1 krdp 6.2.5-1 krunner 6.9.0-1 kscreen 6.2.5-1 kscreenlocker 6.2.5-1 kservice 6.9.0-1 ksshaskpass 6.2.5-1 kstatusnotifieritem 6.9.0-1 ksvg 6.9.0-1 ksystemstats 6.2.5-1 ktexteditor 6.9.0-1 ktextwidgets 6.9.0-1 kunitconversion 6.9.0-3 kuserfeedback 6.9.0-1 kwallet 6.9.0-1 kwallet-pam 6.2.5-1 kwayland 6.2.5-1 kwidgetsaddons 6.9.0-4 kwin 6.2.5-1.2 kwindowsystem 6.9.0-1 kwrited 6.2.5-1 kxmlgui 6.9.0-3 l-smash 2.14.5-4 lame 3.100-5 lapack 3.12.0-5 layer-shell-qt 6.2.5-1 lcms2 2.16-1 ldb 2:4.21.3-1 less 1:668-1 lib32-alsa-lib 1.2.13-1 lib32-alsa-plugins 1.2.12-1 lib32-brotli 1.1.0-1 lib32-bzip2 1.0.8-4 lib32-curl 8.11.1-3 lib32-dbus 1.16.0-1 lib32-e2fsprogs 1.47.2-1 lib32-expat 2.6.4-1 lib32-flac 1.4.3-2 lib32-fontconfig 2:2.15.0-1 lib32-freetype2 2.13.3-2 lib32-gamemode 1.8.2-1 lib32-gamescope 3.16.11-1 lib32-gcc-libs 14.2.1+r134+gab884fffe3fc-2 lib32-glib2 2.82.4-1 lib32-glibc 2.41+r47+g046b33800c3e-1 lib32-harfbuzz 10.1.0-1 lib32-icu 75.1-1 lib32-json-c 0.18-1 lib32-keyutils 1.6.3-2 lib32-krb5 1.21.3-1 lib32-libasyncns 1:0.8+r3+g68cd5af-3 lib32-libcap 2.71-1 lib32-libdrm 2.4.123-1 lib32-libelf 0.192-2 lib32-libffi 3.4.6-1 lib32-libgcrypt 1.11.0-1 lib32-libglvnd 1.7.0-1 lib32-libgpg-error 1.51-1 lib32-libidn2 2.3.7-1 lib32-libldap 2.6.9-1 lib32-libnghttp2 1.64.0-1 lib32-libnghttp3 1.7.0-1 lib32-libnm 1.50.1-1 lib32-libnsl 2.0.1-1 lib32-libogg 1.3.5-2 lib32-libpciaccess 0.18.1-1 lib32-libpipewire 1:1.2.7-1 lib32-libpng 1.6.45-1 lib32-libpsl 0.21.5-1 lib32-libpulse 17.0+r43+g3e2bb8a1e-1 lib32-libsndfile 1.2.2-2 lib32-libssh2 1.11.0-2 lib32-libtasn1 4.19.0-2 lib32-libtirpc 1.3.6-1 lib32-libunistring 1.2-1 lib32-libunwind 1.8.1-1 lib32-libva 2.22.0-1 lib32-libva-mesa-driver 24.3.4.197725.radeonsi_24.3.4-2 lib32-libvdpau 1.5-3 lib32-libvorbis 1.3.7-2 lib32-libx11 1.8.10-1 lib32-libxau 1.0.11-2 lib32-libxcb 1.17.0-1 lib32-libxcrypt 4.4.37-1 lib32-libxcrypt-compat 4.4.37-1 lib32-libxdamage 1.1.6-2 lib32-libxdmcp 1.1.5-1 lib32-libxext 1.3.6-1 lib32-libxfixes 6.0.1-2 lib32-libxinerama 1.1.5-2 lib32-libxml2 2.13.5-1 lib32-libxshmfence 1.3.2-2 lib32-libxss 1.2.4-2 lib32-libxxf86vm 1.1.5-2 lib32-llvm-libs 1:18.1.8-1 lib32-lm_sensors 1:3.6.0.r41.g31d1f125-3 lib32-mangohud 0.8.1.r49.ga113f7c-1 lib32-mesa 24.3.4.197725.radeonsi_24.3.4-2 lib32-mesa-vdpau 24.3.4.197725.radeonsi_24.3.4-2 lib32-ncurses 6.5-1 lib32-nspr 4.36-1 lib32-nss 3.107-1 lib32-openal 1.24.1-1 lib32-openssl 1:3.4.0-1 lib32-opus 1.5.2-1 lib32-p11-kit 0.25.5-1 lib32-pam 1.6.1-1 lib32-pcre2 10.44-1 lib32-pipewire 1:1.2.7-1 lib32-renderdoc-minimal 1.27.r3.g0f851df-2 lib32-spirv-llvm-translator 18.1.8-1 lib32-spirv-tools 2024.4.rc1-1 lib32-sqlite 3.47.2-1 lib32-systemd 257.2-1 lib32-util-linux 2.40.2-1 lib32-vulkan-icd-loader 1.4.303-1 lib32-vulkan-radeon 24.3.0_devel.197257.steamos_24.11.10-1 lib32-wayland 1.23.1-1 lib32-xcb-util-keysyms 0.4.1-2 lib32-xz 5.6.3-1 lib32-zlib 1.3.1-2 lib32-zstd 1.5.6-1 libaccounts-glib 1.27-2 libaccounts-qt 1.17-1 libaio 0.3.113-3 libao 1.2.2-6 libarchive 3.7.7-1 libass 0.17.3-1 libassuan 3.0.0-1 libasyncns 1:0.8+r3+g68cd5af-3 libatasmart 0.19-6 libavc1394 0.5.4-6 libavif 1.1.1-2 libb2 0.98.1-3 libblockdev 3.2.1-3.1 libblockdev-btrfs 3.2.1-3.1 libblockdev-crypto 3.2.1-3.1 libblockdev-fs 3.2.1-3.1 libblockdev-loop 3.2.1-3.1 libblockdev-lvm 3.2.1-3.1 libblockdev-mdraid 3.2.1-3.1 libblockdev-nvme 3.2.1-3.1 libblockdev-part 3.2.1-3.1 libblockdev-swap 3.2.1-3.1 libbluray 1.3.4-2 libbpf 1.5.0-1 libbs2b 3.1.0-9 libbsd 0.12.2-2 libbytesize 2.11-1 libcaca 0.99.beta20-5 libcanberra 1:0.30+r2+gc0620e4-4 libcap 2.71-1 libcap-ng 0.8.5-3 libcbor 0.11.0-1 libcec 6.0.2-6 libcloudproviders 0.3.6-1 libcolord 1.4.7-2 libcups 2:2.4.11-2 libcupsfilters 2.1.0-3 libdaemon 0.14-6 libdatrie 0.2.13-4 libdbusmenu-glib 16.04.0.r498-2 libdbusmenu-gtk3 16.04.0.r498-2 libdc1394 2.2.7-1 libdca 0.0.7-2 libdecor 0.2.2-1 libdeflate 1.23-1 libdisplay-info 0.2.0-2 libdmtx 0.7.7-2 libdovi 3.3.1-1 libdrm 2.4.123-1 libdv 1.0.0-11 libdvbpsi 1:1.3.3-3 libdvdnav 6.1.1-2 libdvdread 6.1.3-2 libebml 1.4.5-1 libedit 20240808_3.1-1 libei 1.3.0-1 libelf 0.192-2 libepoxy 1.5.10-3 libevdev 1.13.3-1 libevent 2.1.12-4 libexif 0.6.24-3 libfakekey 0.3-3 libfdk-aac 2.0.3-1 libffi 3.4.6-1 libfontenc 1.1.8-1 libfreeaptx 0.1.1-2 libgcrypt 1.11.0-2 libgirepository 1.82.0-2 libglvnd 1.7.0-1 libgpg-error 1.51-1 libgudev 238-1 libhangul 0.1.0-5 libibus 1.5.31-2.1 libice 1.1.2-1 libidn 1.42-1 libidn2 2.3.7-1 libiec61883 1.2.0-8 libiio 0.26-2 libimobiledevice 1.3.0-15 libimobiledevice-glue 1.3.1-1 libinih 58-1 libinput 1.27.1-1 libjcat 0.2.2-1 libjpeg-turbo 3.1.0-1 libjxl 0.11.1-1 libkdcraw 24.12.0-1 libkexiv2 24.12.0-1 libksba 1.6.7-1 libkscreen 6.2.5-1 libksysguard 6.2.5-1 liblc3 1.1.1-1 libldac 2.0.2.3-2 libldap 2.6.9-1 liblouis 3.32.0-2 libmad 0.15.1b-10 libmalcontent 0.13.0-1 libmatroska 1.7.1-2 libmbim 1.30.0-1 libmd 1.1.0-2 libmfx 23.2.2-3 libmm-glib 1.22.0-1 libmng 2.0.3-4 libmnl 1.0.5-2 libmodplug 0.8.9.0-6 libmpcdec 1:0.1+r475-6 libmpeg2 0.5.1-10 libmtp 1.1.22-1 libmysofa 1.3.3-1 libndp 1.9-1 libnet 2:1.3-1 libnetfilter_conntrack 1.0.9-2 libnewt 0.52.24-3 libnfnetlink 1.0.2-2 libnftnl 1.2.8-1 libnghttp2 1.64.0-1 libnghttp3 1.7.0-1 libnice 0.1.22-1 libnl 3.11.0-1 libnm 1.50.1-1.2 libnotify 0.8.3-1 libnsl 2.0.1-1 libnvme 1.11.1-2 libogg 1.3.5-2 libopenmpt 0.7.12-1 libp11-kit 0.25.5-1 libpaper 2.2.5-1 libpcap 1.10.5-2 libpciaccess 0.18.1-2 libpfm 4.13.0+r83+g91970fe-1 libpgm 5.3.128-3 libpipewire 1:1.2.7-1.1 libplacebo 7.349.0-3 libplasma 6.2.5-1 libplist 2.6.0-2 libpng 1.6.45-1 libppd 2.1.0-1 libproxy 0.5.9-1 libpsl 0.21.5-2 libpulse 17.0+r43+g3e2bb8a1e-1 libqaccessibilityclient-qt6 0.6.0-1 libqalculate 5.4.0.1-1 libqmi 1.34.0-2 libqrtr-glib 1.2.2-3 libraw 0.21.3-1 libraw1394 2.1.2-4 librsvg 2:2.59.2-1 libsamplerate 0.2.2-3 libsasl 2.1.28-5 libseccomp 2.5.5-4 libsecret 0.21.4-1 libserialport 0.1.2-1 libshout 1:2.4.6-3 libsigc++-3.0 3.6.0-1 libsm 1.2.5-1 libsndfile 1.2.2-2 libsodium 1.0.20-1 libsonic 0.2.0-2 libsoup3 3.6.1-1 libsoxr 0.1.3-4 libspectre 0.2.12-2 libspeechd 0.12.1-1 libssh 0.11.1-1 libssh2 1.11.1-1 libstemmer 2.2.0-2 libsysprof-capture 47.2-1 libtar 1.2.20-7 libtasn1 4.19.0-2 libteam 1.32-2 libthai 0.1.29-3 libtheora 1.1.1-6 libtiff 4.7.0-1 libtirpc 1.3.6-1 libtommath 1.3.0-1 libtool 2.5.4+r1+gbaa1fe41-1 libtraceevent 1:1.8.4-1 libtracefs 1.8.1-1 libunibreak 6.1-1 libunistring 1.3-1 libunwind 1.8.1-3 libupnp 1.14.20-2 libusb 1.0.27-1 libusbmuxd 2.1.0-1 libutempter 1.2.1-4 libva 2.22.0-1 libva-intel-driver 2.4.1-3 libva-mesa-driver 24.3.4.197725.radeonsi_24.3.4-2 libvdpau 1.5-3 libverto 0.3.2-5 libvlc 3.0.21-11 libvorbis 1.3.7-3 libvpl 2.14.0-1 libvpx 1.15.0-1 libwacom 2.14.0-1 libwbclient 2:4.21.3-1 libwebp 1.5.0-1 libwireplumber 0.5.7-1.2 libwnck3 43.1-1 libx11 1.8.10-1 libxau 1.0.12-1 libxaw 1.0.16-1 libxcb 1.17.0-1 libxcomposite 0.4.6-2 libxcrypt 4.4.37-1 libxcrypt-compat 4.4.37-1 libxcursor 1.2.3-1 libxcvt 0.1.3-1 libxdamage 1.1.6-2 libxdmcp 1.1.5-1 libxext 1.3.6-1 libxfixes 6.0.1-2 libxfont2 2.0.7-1 libxft 2.3.8-2 libxi 1.8.2-1 libxinerama 1.1.5-2 libxkbcommon 1.7.0-2 libxkbcommon-x11 1.7.0-2 libxkbfile 1.1.3-1 libxml2 2.13.8-1.1 libxmlb 0.3.21-1 libxmu 1.2.1-1 libxpm 3.5.17-2 libxrandr 1.5.4-1 libxrender 0.9.12-1 libxres 1.2.2-2 libxshmfence 1.3.3-1 libxslt 1.1.42-2 libxss 1.2.4-2 libxt 1.3.1-1 libxtst 1.2.5-1 libxv 1.0.13-1 libxxf86vm 1.1.6-1 libyaml 0.2.5-3 libyuv r2426+464c51a03-1 libzip 1.11.2-1 licenses 20240728-1 lilv 0.24.24-3 linux-api-headers 6.10-1 linux-firmware-neptune jupiter.3.7.20250618.1-1 linux-firmware-neptune-whence jupiter.3.7.20250618.1-1 linux-neptune-611 6.11.11.valve19-1 llvm-libs 18.1.8-5 lm_sensors 1:3.6.0.r41.g31d1f125-3 lmdb 0.9.33-1 lsb-release 2.0.r53.a86f885-2.1 lsof 4.99.4-1 lua 5.4.7-1 luajit 2.1.1731601260-1 luit 20240910-1 lv2 1.18.10-1 lvm2 2.03.29-1 lz4 1:1.10.0-2 lzo 2.10-5 makedumpfile 1.7.6-1 maliit-framework 2.3.0-2 maliit-keyboard 2.3.1-4.1 mandoc 1.14.6-5 mangohud 0.8.1.r49.ga113f7c-1 md4c 0.5.2-1 mdadm 4.4-1 media-player-info 26-1 mesa 24.3.4.197725.radeonsi_24.3.4-2 mesa-utils 9.0.0-5 mesa-vdpau 24.3.4.197725.radeonsi_24.3.4-2 milou 6.2.5-1 minizip 1:1.3.1-2 mkinitcpio 39.2-3 mkinitcpio-busybox 1.36.1-1 mobile-broadband-provider-info 20240407-1 modemmanager 1.22.0-1 modemmanager-qt 6.9.0-1 mpdecimal 4.0.0-2 mpfr 4.2.1-4 mpg123 1.32.9-1 mtdev 1.1.7-1 nano 8.3-1 ncdu 2.7-1 ncurses 6.5-3 netavark 1.13.1-1 nethogs 0.8.8-1 nettle 3.10.1-1 networkmanager 1.50.1-1.2 networkmanager-openvpn 1.12.0-1 networkmanager-qt 6.9.0-1 nfs-utils 2.8.2-2 nfsidmap 2.8.2-2 nftables 1:1.1.1-2 noise-suppression-for-voice 1.10-1 noto-fonts 1:2025.01.01-1 noto-fonts-cjk 20230817-2 npth 1.8-1 nspr 4.36-1 nss 3.107-1 nss-mdns 0.15.1-2 ntfs-3g 2022.10.3-1 numactl 2.0.19-1 nvme-cli 2.11-1 ocean-sound-theme 6.2.5-1 ocl-icd 2.3.2-2 okular 24.12.0-1 onetbb 2022.0.0-2 oniguruma 6.9.10-1 openal 1.24.1-1 opencore-amr 0.1.6-2 opencv 4.11.0-1 openexr 3.3.2-1 openjpeg2 2.5.3-1 openssh 9.9p1-2 openssl 3.4.0-1 openvpn 2.6.12-3 openxr 1.1.43-1 opus 1.5.2-1 orc 0.4.40-1 orca 48.6-0.1 ostree 2024.10-1 oxygen 6.2.5-1 oxygen-sounds 6.2.5-1 p11-kit 0.25.5-1 p8-platform 2.1.0.1-5 pacman 7.0.0.r6.gc685ae6-1 pacman-mirrorlist 20250101-1 pam 1.7.0-1 pambase 20230918-2 pango 1:1.54.0-1 pangomm-2.48 2.54.0-1 parallel 20241222-1 parted 3.6-2 partitionmanager 24.12.0-1 paru 2.0.4-1.2 passt 2024_12_11.09478d5-1 pavucontrol 1:6.1-1 pcaudiolib 1.3-1 pciutils 3.13.0-2 pcre 8.45-4 pcre2 10.44-1 pcsclite 2.3.1-1 perf 6.12-9 perl 5.40.0-1.1 perl-error 0.17029-7 perl-mailtools 2.22-1 perl-timedate 2.33-7 phonon-qt6 4.12.0-4 phonon-qt6-vlc 0.12.0-2 pinentry 1.3.1-5 pipewire 1:1.2.7-1.1 pipewire-alsa 1:1.2.7-1.1 pipewire-audio 1:1.2.7-1.1 pipewire-jack 1:1.2.7-1.1 pipewire-pulse 1:1.2.7-1.1 pipewire-v4l2 1:1.2.7-1.1 pipewire-x11-bell 1:1.2.7-1.1 pixman 0.44.2-1 pkcs11-helper 1.30.0-1 plasma-activities 6.2.5-1 plasma-activities-stats 6.2.5-1 plasma-browser-integration 6.2.5-1 plasma-desktop 6.2.5-1 plasma-disks 6.2.5-1 plasma-firewall 6.2.5-1 plasma-integration 6.2.5-1 plasma-meta 6.1-1 plasma-nm 6.2.5-1 plasma-pa 6.2.5-1 plasma-remotecontrollers 5.26.90.r258.g9ace9a9-1 plasma-systemmonitor 6.2.5-1 plasma-thunderbolt 6.2.5-1 plasma-vault 6.2.5-1 plasma-wayland-protocols 1.15.0-1 plasma-welcome 6.2.5-1 plasma-workspace 6.2.5-1.2 plasma-workspace-wallpapers 6.2.5-1 plasma5support 6.2.5-1 podman 5.3.2-1.2 polkit 125-1 polkit-kde-agent 6.2.5-1 polkit-qt6 0.200.0-1 poppler 25.01.0-1 poppler-data 0.4.12-2 poppler-qt6 25.01.0-1 popt 1.19-2 portaudio 1:19.7.0-3 powerdevil 6.2.5-2 powertop 2.15-2 ppp 2.5.1-1 print-manager 1:6.2.5-1 prison 6.9.0-1 procps-ng 4.0.5-1 protobuf 29.2-1 protobuf-c 1.5.0-10 psmisc 23.7-1 pulseaudio-qt 1.6.1-1 purpose 6.9.0-1 python 3.13.1-1 python-aiohappyeyeballs 2.4.4-1 python-aiohttp 3.10.5-2 python-aiosignal 1.3.1-8 python-anyio 4.7.0-2 python-attrs 23.2.0-4 python-cairo 1.27.0-2 python-capng 0.8.5-3 python-certifi 2024.12.14-1 python-click 8.1.7-4 python-crcmod 1.7-8 python-dbus 1.3.2-5 python-dbus-next 0.2.3-6 python-evdev 1.7.1-2 python-frozenlist 1.4.1-4 python-gobject 3.50.0-2 python-h11 0.14.0-6 python-hid 1.0.6-3 python-httpcore 1.0.7-2 python-httpx 0.28.1-2 python-idna 3.10-2 python-minidump 0.0.24-1 python-multidict 6.0.5-4 python-progressbar 4.5.0-2 python-protobuf 29.2-1 python-psutil 6.1.1-1 python-pyalsa 1.2.12-2 python-pyaml 24.9.0-2 python-pyelftools 0.31-3 python-pyenchant 3.2.2-5 python-pygdbmi 0.11.0.0-5 python-pyxdg 0.28-4 python-semantic-version 2.10.0-7 python-sentry_sdk 2.19.2-3 python-setproctitle 1.3.4-1 python-sniffio 1.3.1-4 python-typing_extensions 4.12.2-3 python-urllib3 2.3.0-1 python-utils 3.9.1-1 python-yaml 6.0.2-2 python-yarl 1.9.4-4 pyzy 1.1-2.4 qca-qt6 2.3.9-3 qcoro 0.11.0-1 qpdf 11.9.1-1 qqc2-breeze-style 6.2.5-1 qqc2-desktop-style 6.9.0-1 qrencode 4.1.1-3 qt5-base 5.15.16+kde+r130-3 qt5-declarative 5.15.16+kde+r22-3 qt5-feedback 0.0.0.20150918-5 qt5-graphicaleffects 5.15.16-3 qt5-multimedia 5.15.16+kde+r2-3 qt5-quickcontrols2 5.15.16+kde+r5-3 qt5-svg 5.15.16+kde+r5-3 qt5-tools 5.15.16+kde+r3-3 qt5-translations 5.15.16-3 qt5-wayland 5.15.16+kde+r59-3 qt5-x11extras 5.15.16-3 qt6-5compat 6.8.1-1 qt6-base 6.8.1-1 qt6-connectivity 6.8.1-1 qt6-declarative 6.8.1-2 qt6-imageformats 6.8.1-1 qt6-multimedia 6.8.1-2 qt6-multimedia-ffmpeg 6.8.1-2 qt6-positioning 6.8.1-1 qt6-quick3d 6.8.1-1 qt6-quicktimeline 6.8.1-1 qt6-sensors 6.8.1-1 qt6-shadertools 6.8.1-1 qt6-speech 6.8.1-1 qt6-svg 6.8.1-1 qt6-tools 6.8.1-1 qt6-translations 6.8.1-1 qt6-virtualkeyboard 6.8.1-1 qt6-wayland 6.8.1-1 qt6-webchannel 6.8.1-1 qt6-webengine 6.8.1-1 qt6-websockets 6.8.1-1 qt6-webview 6.8.1-1 qtkeychain-qt6 0.14.3-1 rauc 1.12-1.1 rav1e 0.7.1-1 re2 1:20240702-2 readline 8.2.013-1 renderdoc-minimal 1.36-1.1 ripgrep 14.1.1-1 ripgrep-all 0.10.6-3 rpcbind 1.2.7-2 rsync 3.3.0-2 rtkit 0.13-3 rubberband 4.0.0-1 rxvt-unicode-terminfo 9.31-6 sbc 2.0-2 sddm 0.21.0-6 sddm-kcm 6.2.5-1 sdl2 2.30.11-1 sdl2_ttf 2.24.0-1 seatd 0.9.1-1 sed 4.9-3 serd 0.32.2-1 shaderc 2024.3-2 shadow 4.16.0-1 shared-mime-info 2.4-1 signon-kwallet-extension 24.12.0-1 signon-plugin-oauth2 0.25-3 signon-ui 0.17+20231016-3 signond 8.61-3 slang 2.3.3-3 smartmontools 7.4-2 smbclient 2:4.21.3-1 snappy 1.2.1-2 socat 1.8.0.1-1 solid 6.9.1-2 sonnet 6.9.0-1 sord 0.16.16-1 sound-theme-freedesktop 0.8-6 source-highlight 3.1.9-13 spectacle 24.12.0-2 speech-dispatcher 0.12.1-1 speex 1.2.1-2 speexdsp 1.2.1-2 spirv-llvm-translator 18.1.8-1 spirv-tools 2024.4.rc1-1 sqlite 3.47.2-1 squashfs-tools 4.6.1-2 sratom 0.6.16-1 srt 1.5.4-1 sshfs 3.7.3-2 startup-notification 0.12-8 steam-im-modules jupiter.20240131-2 steam-jupiter-stable 1.0.0.81-2.5 steam_notif_daemon v1.0.1-2 steamdeck-dsp 0.64-1 steamdeck-kde-presets 0.30-1 steamos-atomupd-client 0.20250122.1-1 steamos-customizations-jupiter 20250527.1-1 steamos-devkit-service 0.20250428.0-3 steamos-efi 20250204.1-1 steamos-kdumpst-layer 1.0-3 steamos-log-submitter 0.7.5-1 steamos-manager 25.6.1-1 steamos-networking-tools 1.2-1 steamos-powerbuttond 3.2-1 steamos-reset 20241008.1-2 steamos-systemreport 0.14-1 steamos-tweak-mtu-probing 1-1 strace 6.12-1 sudo 1.9.17.p1-1.1 svt-av1 2.3.0-1 syndication 6.9.0-1 syntax-highlighting 6.9.0-1 systemd 257.2-1.1 systemd-libs 257.2-1.1 systemd-sysvcompat 257.2-1.1 systemsettings 6.2.5-1 taglib 2.0.2-1 talloc 2.4.2-4 tar 1.35-2 tcl 8.6.16-1 tdb 1.4.12-2 tevent 1:0.16.1-4 thin-provisioning-tools 1.1.0-1 threadweaver 6.9.0-1 tinysparql 3.8.2-2 tk 8.6.16-1 tmux 3.5_a-1 tpm2-tss 4.1.3-1 trace-cmd 3.3.1-2 tree 2.1.3-1 tslib 1.23-1 ttf-dejavu 2.37+18+g9b5d1b2f-7 ttf-hack 3.003-7 ttf-twemoji-default 13.1.0-2.3 twolame 0.4.0-4 tzdata 2024b-2 udisks2 2.10.1-5 udisks2-btrfs 2.10.1-5 udisks2-lvm2 2.10.1-5 umr 1.0.10-1.2 unrar 1:7.1.2-1 unzip 6.0-21 upower 0.99.15.jupiter-1.4 usbhid-gadget-passthru 0.1.3-4 usbutils 018-1 util-linux 2.40.2-3 util-linux-libs 2.40.2-3 v4l-utils 1.28.1-2 vapoursynth R70-2 verdict 1.4.2-1 vid.stab 1.1.1-2 vim 9.1.0954-1 vim-runtime 9.1.0954-1 vkmark 20230412-1 vlc 3.0.21-11 vmaf 3.0.0-1 volume_key 0.3.12-10 vpower 1.5.3-1 vulkan-headers 1:1.4.303-1 vulkan-icd-loader 1.4.303-1 vulkan-radeon 24.3.0_devel.197257.steamos_24.11.10-1 vulkan-tools 1.4.303-2 wakehook 2.1-1 wavpack 5.7.0-1 wayland 1.23.1-1 wayland-utils 1.2.0-2 webrtc-audio-processing-1 1.3-3 wget 1.25.0-1 which 2.21-6 wireguard-tools 1.0.20210914-2 wireless-regdb 2024.10.07-1 wireless_tools 30.pre9-4 wireplumber 0.5.7-1.2 wpa_supplicant 2:2.11-2 x264 3:0.164.r3108.31e19f9-2 x265 4.0-1 xbindkeys 1.8.7-5 xbitmaps 1.1.3-2 xcb-proto 1.17.0-3 xcb-util 0.4.1-2 xcb-util-cursor 0.1.5-1 xcb-util-errors 1.0.1-2 xcb-util-image 0.4.1-3 xcb-util-keysyms 0.4.1-5 xcb-util-renderutil 0.3.10-2 xcb-util-wm 0.4.2-2 xdg-dbus-proxy 0.1.6-1 xdg-desktop-portal 1.18.4-2 xdg-desktop-portal-gtk 1.15.1-2.1 xdg-desktop-portal-kde 6.2.5-1 xdg-user-dirs 0.18-2 xdg-utils 1.2.1-1 xdotool 3.20211022.1-2 xf86-input-libinput 1.5.0-1 xf86-video-amdgpu 23.0.0-2 xkeyboard-config 2.43-1 xorg-fonts-encodings 1.1.0-1 xorg-server 21.1.18-1.1 xorg-server-common 21.1.18-1.1 xorg-setxkbmap 1.3.4-2 xorg-xauth 1.1.3-1 xorg-xdpyinfo 1.3.4-2 xorg-xhost 1.0.9-2 xorg-xkbcomp 1.4.7-1 xorg-xmessage 1.0.7-1 xorg-xmodmap 1.0.11-2 xorg-xprop 1.2.8-1 xorg-xrandr 1.5.3-1 xorg-xrdb 1.2.2-2 xorg-xset 1.2.5-2 xorg-xsetroot 1.1.3-2 xorg-xwayland 24.1.8-1.1 xorg-xwininfo 1.1.6-2 xorgproto 2024.1-2 xsettingsd 1.0.2-2 xterm 397-2 xvidcore 1.3.7-3 xxhash 0.8.3-1 xz 5.6.3-1 yajl 2.1.0-6 zenity-gtk3 3.44.2-3 zeromq 4.3.5-2 zimg 3.0.5-1 zip 3.0-11 zix 0.4.2-2 zlib 1:1.3.1-2 zram-generator 1.2.1-1 zsh 5.9-5 zstd 1.5.6-1 zxing-cpp 2.3.0-4
ps ax PID TTY STAT TIME COMMAND 1 ? Ss 0:01 /sbin/init splash 2 ? S 0:00 [kthreadd] 3 ? S 0:00 [pool_workqueue_release] 4 ? I

allejok96 avatar Sep 21 '25 08:09 allejok96

(Documenting this here so it doesn't get lost in the discord channel. I initially encountered this on 24 Aug 2025.)

This is not specific to SteamOS, I had this happen on Gentoo + hyprland as well, though as of right now I haven't encountered for a while.

Here's how the terminal output looks: (sorry for this just being a screenshot)

Screenshot of `lmms.AppImage` terminal output Image

The issue at hand seems to be that LMMS gets SVGs (along with everything else, really) from a tmp mount, and for some reason after some sleep/wake cycles it actually moves. In the example above the mount moved from /tmp/.mount_lmms.AanGGFM to /tmp/.mount_lmms.AGHlOBK.

Hence the behavior is specific to the AppImage build. I'm not actually sure if AppImages should be able to move like that (especially considering the executables are also residing there), to me it looks more like an issue with either upstream AppImage, FUSE/squashfs (utilized to mount appimage as a filesystem), or LMMS appimage packaging process (maybe something is/was outdated, idunno).

This could very well be fixed upstream, I sadly didn't grab the versions of either of the above, nor can I remember which build of LMMS that was, but I think it should count as resolved if it's unable to be replicated in a sufficiently long timespan.

Edit:

~~and I think #8009 is a duplicate of this one~~ actually their screenshot differs from mine, hmm.

The "Play" button also disappears Image

This is very much plausible with described state of things, since Play/Pause is the only button that unloads (changes) its texture. Since it's also stored in the same place, it would also fail to load, thus bringing to life the empty button we see.

SVGs being most affected seems to be just due to the way they are rendered or even the fact they're in a scrollable layout. Their pixels are only invalidated the moment they go out of view:

Screenshot of SVG buttons being partially cut Image

sqrvrt avatar Oct 21 '25 08:10 sqrvrt

Documenting this here so it doesn't get lost in the discord channel.

Wow, awesome research! I spent two days getting SteamOS installed in a VM and it was such a pain I had memory loss about why I was doing it in the first place and completely forgot to test this.

I think it should count as resolved if it's unable to be replicated in a sufficiently long timespan.

Agreed, however if we can have solid unit tests around it, this would allow us to close it with actionable steps for end-users (e.g. upgrade foo to x.y.z, etc).

One possible upstream cause could be a buggy systemd. This bug report (fixed in systemd v252 in 2023) was open for 8 years.

  • https://github.com/systemd/systemd/issues/1741
  • https://github.com/systemd/systemd/issues/23552

According to the last comment in the PR that closed these -- if it's the same issue -- systemd version v252 should fix this. Checking on Ubuntu 24.04, it has v255.

I'm going to remove this from the 1.3 milestone because it appears to be most likely caused by an upstream bug that cannot be fixed by our own code (at least not without making a complex workaround to how Qt loads SVGs into the UI).

Anyone with exact steps to reproduce is greatly appreciated so that we can close this with a known resolution for end-users. Meanwhile if new evidence is brought forward to suggest it's our fault, please share.

tresf avatar Oct 21 '25 13:10 tresf

Ok... I think I found the smoking gun...

  • https://github.com/AppImage/type2-runtime/issues/119

tresf avatar Oct 21 '25 14:10 tresf

it looks more like an issue with either upstream AppImage, FUSE/squashfs (utilized to mount appimage as a filesystem), or LMMS appimage packaging process (maybe something is/was outdated, idunno).

So the solution that ghosttty took was to switch out part of appimagetool to utilize a fork instead... I'm going to link the readme for the fork... Notice how it mentions this exact symptom, specifically :"keep the file system mounted" portion...

uruntime is a fork of AppImage/appimagetool that uses the squashfs uruntime instead of the type2-runtime by default.

The uruntime is fully compatible to with the type2-runtime and offers advatnages such as:

  • Automatically extract and run when fuse is not available.

  • Keep the filesystem mounted for even faster launch times.

  • Easily set extra env variables by making a $0.env file with the variables to be set, similar to the existing portable $0.home and $0.config feature of the type2-runtime.

  • Have a portable ~/.local/share dir by making a $0.share directory.

.... fork aside, this fixes a lot more than just the tmpfs issues, this also fixes issues related to fuse missing entirely. 😭

tresf avatar Oct 21 '25 14:10 tresf

Hi @tresf you know this already but to avoid future confusion from someone else reading this issue:

We no longer use appimagetool uruntime, instead we use a script that uses the dwarfs uruntime

Notice how it mentions this exact symptom, specifically :"keep the file system mounted" portion...

That is not needed to fix the issue, the uruntime still works perfectly after sleep when you don't use that feature, that's just a bug with the type2-runtime which I even pointed out the PR that introduced the regression to upstream and they did nothing to fix it so far lol

Be aware that keeping the mountpoint means an increased ram usage after the application is closed, usually about 100MiB, we only do it for apps where the user is expected to use it constantly, like terminal emulators and web browsers.

For everything else, dwarfs offers PGO like optimizations which get very very close to the launch times of keeping the filesystem mounted, see benchmark and this gets done automatically in uruntime2appimage now if you set the env variable OPTIMIZE_LAUNCH=1

Be aware that switching to dwarfs means the appimage will stop working with appimagelauncher (Note that I think this is also the case with go-appimage, because go-appimage uses different runtime that is not static-pie and appimagelauncher needs that).

Samueru-sama avatar Oct 21 '25 16:10 Samueru-sama

@Samueru-sama thanks for so many details on this. I think we'll wait for the upstream fix (for now) due to the complexity around this issue.

bug with the type2-runtime which I even pointed out the PR that introduced the regression to upstream and they did nothing to fix it so far lol

Do you mind linking the PR here?

tresf avatar Oct 21 '25 16:10 tresf

@Samueru-sama thanks for so many details on this. I think we'll wait for the upstream fix (for now) due to the complexity around this issue.

bug with the type2-runtime which I even pointed out the PR that introduced the regression to upstream and they did nothing to fix it so far lol

Do you mind linking the PR here?

https://github.com/AppImage/type2-runtime/issues/119#issuecomment-2708236008

Samueru-sama avatar Oct 21 '25 16:10 Samueru-sama

One possible upstream cause could be a buggy systemd.

My gentoo install uses OpenRC, so unless you mean systemd child projects like logind, I don't think this holds up. (OpenRC doesn't include any custom mount management AFAIK). I also don't have any userspace FS management tools like udisks2/udiskie, only bare FUSE.

sqrvrt avatar Oct 21 '25 16:10 sqrvrt

I don't think this holds up.

Agreed, @Samueru-sama suspects this may have been caused by https://github.com/AppImage/type2-runtime/pull/93... although after probono hiding his comments on the upstream bug report, I'm starting to lean towards ditching .AppImage and go to a .run installer (which has always been my instinct over the FUSE-style and/or sandbox-style formats).

Note that .run installers are ready on master since #7252, quoting:

  • Adds new CPACK_TOOL parameter to switch between .AppImage (default) and .run (experimental)
export CPACK_TOOL=makeself
make package
# -- Installer created: /__w/lmms/lmms/build/lmms-1.3.0-alpha.1.638+pr7252.gaaa9b4816-linux-x86_64.run

tresf avatar Oct 21 '25 16:10 tresf

I'm starting to lean towards ditching .AppImage and go to a .run installer (which has https://github.com/LMMS/lmms/issues/2556#issuecomment-301535399 over the FUSE-style and/or sandbox-style formats)

I don't like that. I actually maintain a few appimages here for AM because of projects that only release a tarball/binary and no appimage.

Samueru-sama avatar Oct 21 '25 17:10 Samueru-sama

I'm starting to lean towards ditching .AppImage and go to a .run installer (which has #2556 (comment) over the FUSE-style and/or sandbox-style formats)

I don't like that

Yeah, me neither, but I've used makeself for over a decade and only had one single regression. AppImage has been a dumpster fire in comparison and flatpak has some other drawbacks (which I'll avoid ranting about here), so it'll depend on how serious these issues get (their tech debt becomes our tech debt). I feel like upstream's receptiveness (or lack thereof) is a strong indicator of future viability....

Although immutable distros might sway this decision...

tresf avatar Oct 21 '25 17:10 tresf

AppImage has been a dumpster fire in comparison and

In the end AppImage is just a format, yes the official tooling sucks badly but you can always use our tooling which I believe fixes all of those issues.

The whole reason sharun and uruntime we made was because of soar which has a massive collection of over 1000 static binaries and we wanted to also offer more complex applications.

Static binaries are the gold standard for portable applications, it is the only thing that can really work everywhere, but as you likely already know it is not possible to make everything static, because of that is how we ended up with sharun and uruntime because what appimage offered wasn't cutting it.

Anyways I will later test packaging LMMS with sharun, should not take more than 30 min, I think you are in a similar situation that musescore is at as well where there is a ton of nonsense from the official appimage tooling building up.

I made this demo for musescore in 30 minutes and I tested it in a few containers and seems to work fine, I have no idea how musescore works so likely there is something missing though but you get idea of how much simpler it is with this.

flatpak has some other drawbacks (which I'll avoid ranting about here)

The whole reason I began to contribute to AppImage was due to an incident I had with flatpak which I will avoid ranting about as well lol

Samueru-sama avatar Oct 21 '25 17:10 Samueru-sama

Anyways I will later test packaging LMMS with sharun, should not take more than 30 min, I think you are in a similar situation that musescore is at as well where there is a ton of nonsense from the official appimage tooling building up.

Thank you for this kind offer, it is greatly appreciated.

switching to dwarfs means the appimage will stop working with appimagelauncher

Please excuse my lack of knoweldge/knowing the inner workings of how the whole FUSE stuff works, but when you talk about dwarfs breaking appimagelauncher, is this a hard-requirement of using sharun? I've all but abandoned any attempts to work with appimagelauncher after hitting some serious bugs over there, but if people are using it, knowing about potential regressions is important.

tresf avatar Oct 21 '25 17:10 tresf

but when you talk about dwarfs breaking appimagelauncher, is this a hard-requirement of using sharun?

Nope you can use appimagetool-uruntime in that case haha

I've all but abandoned any attempts to work with appimagelauncher after hitting some serious bugs over there

AppImagelauncher has two big bugs:

  • The first one is that the stable releases of appimagelauncher can only work with dynamic runtimes, that is those that have the libfuse2 dependency and suck badly. Off-topic rant: This should have never happened, no idea what went thru the mind of probono that the runtime originally wasn't static...

  • The pre-releases of appimagelauncher already support static runtimes, but they need to be static-pie which go-appimage actually does not use the type2-runtime but a different static runtime that is NOT static pie, so there is no way to fix that unless you switch to appimagetool-uruntime or what it was forked from that has the bug in sleep.

90% of appimagelauncher users are using the stable releases, and until TheAssasin decides to make a new stable release this nightmare will be there non-stop lol

With the pre-releases, you can actually use dwarfs uruntime appimages, just that integration is broken, way different of the current situation with the stable releases where you cannot even launch the appimage.

These days I just tell people to move to AM or Gearlever when they have issues with appimagelauncher, those two support dwarfs appimages fully.

Samueru-sama avatar Oct 21 '25 17:10 Samueru-sama

Completely off-topic, but...

gearleaver: Manage AppImages with ease 📦

alias gearlever='flatpak run it.mijorus.gearlever'

🙄

tresf avatar Oct 21 '25 18:10 tresf

@tresf alright here is lmms with quick-sharun and uruntime:

https://github.com/pkgforge-dev/lmms-AppImage/blob/main/lmms-appimage.sh https://github.com/pkgforge-dev/lmms-AppImage/releases/tag/1.2.2-25%402025-10-21_1761076374

It is very likely I forgot to add some library, however I just did a quick test on my alpine container and at the very least the app launches and I can navigate thru the menus:

Image

sharun uses something called lib4bin which is a script that uses strace to find the dlopened libraries, this means that part of the deploying process will launch the application in the container to see what it dlopens to bundle it

However checking the logs, the app is failing to launch because it says that running as root is not allowed (the CI container runs as root). I tried adding the --allowroot flag but still gave the same error so no idea lol

Samueru-sama avatar Oct 21 '25 20:10 Samueru-sama

@Samueru-sama this is awesome! A few things in no specific order...

  • --allowroot: No idea why this isn't working. sudo ~/Downloads/lmms-1.2.2-25-anylinux-x86_64.AppImage --allowroot works just fine testing here.
  • 1.2.2 is much too old, please use master.
  • linuxdeploy has some apprun hooks we use on startup on master. Will they be executed? They're important.
  • Ideally, you'd want winehq-devel with devel/header packages too. If old WOW64 mode is available, that's preferred; it'll allow our 32-bit VST bridge to work on systems that still have dedicated 32-bit wine packages.
  • Here's our full list of deps on master: https://github.com/LMMS/lmms/blob/master/.github/workflows/deps-ubuntu-24.04-gcc.txt

Some general feedback, possible preaching to the choir, but that "check for updates" popup on startup is terrible in my opinion and should be provided as an API to developers (even if it's a flat-file-API, frameworks shouldn't interrupt an application from loading, ever!)

tresf avatar Oct 21 '25 20:10 tresf

  • 1.2.2 is much too old, please use master.

That's the version of lmms that is available in the archlinux repositories wtf

linuxdeploy has some apprun hooks we use on startup on master. Will they be executed? They're important.

I have a hook system as well however it is most certainly not going to work well with any hook made for linuxdeploy.

What are the hooks for? The projects I've seen that have their own hooks for linuxdeploy just set env variables, but that is something that sharun determines on its own as well in quick-sharun I check for hardcoded paths in binaries and fix it

TLDR: Very likely the linuxdeploy hook is not needed, we specially made this to avoid projects having to make workarounds for AppImage only.

Ideally, you'd want winehq-devel with devel/header packages too. If old WOW64 mode is available, that's preferred; it'll allow our 32-bit VST bridge to work on systems that still have dedicated 32-bit wine packages.

Okay, never deployed wine before mmm

possible preaching to the choir, but that "check for updates" popup on startup is terrible in my opinion

That popup will only happen once and it is to ask for permission to check for updates.

Originally this script would only popup if it detected there was an update available and then give the option to update or disable it forever, however someone told me that was bad practice because I was phoning home so we now have this 😖

Anyways this is the self-updater.bg.hook which can be removed from the script.

should be provided as an API to developers

Upstream actually provides an API to use, no idea how good it is.

However you don't really need an API for this, you can directly just shell out appimageupdatetool and check the exit status

frameworks shouldn't interrupt an application from loading, ever!

It does not. The script runs in the background.

Samueru-sama avatar Oct 21 '25 21:10 Samueru-sama

TLDR: Very likely the linuxdeploy hook is not needed, we specially made this to avoid projects having to make workarounds for AppImage only.

I've written all of these. https://github.com/LMMS/lmms/tree/master/cmake/linux/apprun-hooks. They're needed. There's a chance some automagically aren't as a result of new packaging, but we can deal with that on a case-by-case basis. Same question still applies.

Okay, never deployed wine before mmm

Not deployed, just used for building.

Anyways this is the self-updater.bg.hook which can be removed from the script.

Cool.

Upstream actually provides an API to use, no idea how good it is.

That would be preferred because we're a moving target in regards to updates still, best to leave the control to us and have a TODO.

It does not. The script runs in the background.

Gotcha, it popped over the splash which makes it feel interrupting. Good to know, but we'll be turning this off in favor of some manual check down the road.

tresf avatar Oct 22 '25 18:10 tresf

I've written all of these. https://github.com/LMMS/lmms/tree/master/cmake/linux/apprun-hooks. They're needed

Okay, time for an unsolicited review of these hooks lol

  • wayland-hook.sh AppImages made with linuxdeploy or go-appimage are notoriously broken in wayland, and the reason is actually refusal from probonopd to support wayland. This is a well known fact and I don't think I need to link to the many controversies regarding that.

With sharun you are not going to have wayland issues unique to the AppImage, if you do then the issue also happens with the native package, like this incident we had with citron.

  • jack-hook.sh We can just bundle jack here, we already do that often with pipewire (which again appimages made with the older tooling cant do).

  • vbox-hook.sh LIBGL_ALWAYS_SOFTWARE=1 is likely needed here because OpenGL is not being bundled, we already handle this with sharun.

Samueru-sama avatar Oct 22 '25 18:10 Samueru-sama

@tresf alright here is lmms-git: https://github.com/pkgforge-dev/lmms-AppImage/releases/tag/1.3.0.alpha.1.r889.g44a68b8b0-1%402025-10-22_1761173388

I tried to add wine32 to the build process by editing the AUR PKGBUILD, however enabling multilib on archlinux causes a bunch of signature errors so it is not possible for now


EDIT: Newer AppImage: https://github.com/pkgforge-dev/lmms-AppImage/releases/tag/1.3.0.alpha.1.r889.g44a68b8b0-1%402025-10-23_1761213959

Turns out carla depends on a matching version of pyqt5, which means python and carla need to be added manually since sharun deploys python using uv and the version of pyqt5 ends up being slightly different and it breaks lol

Samueru-sama avatar Oct 22 '25 22:10 Samueru-sama