simdock icon indicating copy to clipboard operation
simdock copied to clipboard

AppImage fails when compositing is on

Open onli opened this issue 2 years ago • 1 comments

I restored the AppImage build infrastructure; The relevant files are:

  • https://github.com/onli/simdock/blob/master/Makefile to build the app in general
  • https://github.com/onli/simdock/blob/master/Makefile.appimage contains the code to create an AppImage from the appdir the first Makefiles can build
  • https://github.com/onli/simdock/blob/master/.github/workflows/appimage.yml runs all of this on Github's CI infrastructure.

Initially, I took the code from the old travis file (https://github.com/onli/simdock/blob/ec895834f463825adb6bc0e8e4f9345d4b669095/.travis.yml) and ported that directly, but linuxdeployqt produced an AppImage that threw this error:

** Wnck:ERROR:../libwnck/xutils.c:2348:default_icon_at_size: assertion failed: (base) Bail out! Wnck:ERROR:../libwnck/xutils.c:2348:default_icon_at_size: assertion failed: (base) Aborted

So I switched to https://github.com/linuxdeploy/linuxdeploy - same error at first, but solveable by adding the gtk plugin (https://github.com/onli/simdock/commit/5a73197b7b38542babe94f7deab3f70c77e9c10f). Now we have a working AppImage again!

But simdock when run from the AppImage stays black when compositing is on:

simdock_broken

At first I though that AppImage might block access to the other icons and gfx files, but then it would not work when compositing is off, which I noticed afterwards. Two options remain:

  1. AppImage breaks compositing (unlikely, given how AppImage works)
  2. The old wxWidget version used for the AppImage is broken. This bug looks close to how wxWidgets behaved when I tried to enable compositing before - it had either no effect or the UI stayed dark, like here. And for the AppImage generation we use Ubuntu Focal, which means wxWidgets 3.0.x - it might very well be we run into a wxWidgets bug here, one that is solved in wxWidgets-3.2 my main system uses (and that newer Ubuntu systems would use)

Next step: See if we can raise the wxWidgets version - maybe by using a newer Ubuntu version as base? https://packages.ubuntu.com/lunar/libwxgtk3.2-dev would be the first option, from Ubuntu 23.04. But I do not know whether that is possible, and whether the resulting AppImage would work on a significant number of systems with a build base that new.

onli avatar Dec 05 '23 13:12 onli

I asked for advice in the AppImage discussion board: https://github.com/orgs/AppImage/discussions/1300

onli avatar Dec 05 '23 14:12 onli