Skip to content

[gui][snap] Continuous significant flickering when there are any redrawing events #4369

@tobe2098

Description

@tobe2098

Describe the bug
The GUI flickers when there are any graphical changes in the interface. The bug occurs only in the 1.17-dev version (edge channel in snapstore). In 1.16 this is not found.

To Reproduce
How, and what happened?

  1. sudo snap install --channel edge multipass
  2. multipass.gui
  3. Move the mouse around the screen or click some buttons
  4. Flickering occurs

Expected behavior
No flickering in the GUI.

Logs
From the edge GUI

touch: cannot touch '/home/antoni/snap/multipass/common/.cache/desktop-runtime-date': No such file or directory
ln: failed to create symbolic link '/home/antoni/snap/multipass/15720/.local/share/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml': File exists
ln: failed to create symbolic link '/home/antoni/snap/multipass/15720/.local/share/glib-2.0/schemas/org.gtk.Settings.Debug.gschema.xml': File exists
ln: failed to create symbolic link '/home/antoni/snap/multipass/15720/.local/share/glib-2.0/schemas/org.gtk.Settings.EmojiChooser.gschema.xml': File exists
ln: failed to create symbolic link '/home/antoni/snap/multipass/15720/.local/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml': File exists
/snap/multipass/15720/gnome-platform/usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas: symbol lookup error: /snap/multipass/15720/gnome-platform/usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas: undefined symbol: g_task_set_static_name
Cannot load module /snap/multipass/15720/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so: /snap/multipass/15720/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so: undefined symbol: g_string_free_and_steal
/snap/multipass/15720/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so does not export GTK+ IM module API: /snap/multipass/15720/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so: undefined symbol: g_string_free_and_steal
ERROR: /snap/multipass/15720/gnome-platform/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 exited abnormally with status 1
ERROR: compile_schemas /snap/multipass/15720/gnome-platform/usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas exited abnormally with status 127
Gtk-Message: 17:05:27.704: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.

(multipass_gui:385055): Gtk-WARNING **: 17:05:27.786: GTK+ module /snap/multipass/15720/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 17:05:27.786: Failed to load module "canberra-gtk-module"

(multipass_gui:385055): Gtk-WARNING **: 17:05:27.789: GTK+ module /snap/multipass/15720/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 17:05:27.789: Failed to load module "canberra-gtk-module"
MESA: warning: Driver does not support the 0x7d67 PCI ID.
libGL error: glx: failed to create dri3 screen
libGL error: failed to load driver: iris
MESA: warning: Driver does not support the 0x7d67 PCI ID.
libGL error: glx: failed to create dri2 screen
libGL error: failed to load driver: iris

** (multipass_gui:385055): CRITICAL **: 17:05:28.091: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/385055/root

** (multipass_gui:385055): CRITICAL **: 17:05:28.093: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/385055/root

** (multipass_gui:385055): CRITICAL **: 17:05:28.094: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/385055/root

** (multipass_gui:385055): CRITICAL **: 17:05:28.094: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/385055/root

** (multipass_gui:385055): CRITICAL **: 17:05:28.095: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/385055/root

** (multipass_gui:385055): CRITICAL **: 17:05:28.095: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/385055/root
2025-09-18 17:05:28.243170 DEBUG Got Screen{frame: Rect.fromLTRB(1920.0, 0.0, 3840.0, 1080.0), scaleFactor: 1.0, visibleFrame: Rect.fromLTRB(1920.0, 32.0, 3840.0, 1080.0)}
2025-09-18 17:05:28.243210 DEBUG Got last window size: null
2025-09-18 17:05:28.243216 DEBUG Computed default window size: Size(1400.0, 822.0)
2025-09-18 17:05:28.503479 INFO Sent FindRequest{showImages: true, showBlueprints: false}
2025-09-18 17:05:28.623635 INFO Sent VersionRequest{}
2025-09-18 17:05:28.651199 INFO VersionRequest{} received VersionReply{version: 1.17.0-dev.437+g6906c24d, updateInfo: {}}
2025-09-18 17:05:28.651279 INFO VersionRequest{} is done
2025-09-18 17:05:28.657620 INFO FindRequest{showImages: true, showBlueprints: false} received FindReply{showImages: true, imagesInfo: [{os: Ubuntu, release: Core 16, version: 20200818, aliasesInfo: [{alias: core}, {alias: core16}], codename: Core 16}, {os: Ubuntu, release: Core 18, version: 20211124, aliasesInfo: [{alias: core18}], codename: Core 18}, {os: Ubuntu, release: Core 20, version: 20230119, aliasesInfo: [{alias: core20}], codename: Core 20}, {os: Ubuntu, release: Core 22, version: 20230717, aliasesInfo: [{alias: core22}], codename: Core 22}, {os: Ubuntu, release: Core 24, version: 20240603, aliasesInfo: [{alias: core24}], codename: Core 24}, {os: Ubuntu, release: 22.04 LTS, version: 20250725, aliasesInfo: [{alias: 22.04}, {alias: j}, {alias: jammy}], codename: Jammy Jellyfish}, {os: Ubuntu, release: 24.04 LTS, version: 20250805, aliasesInfo: [{alias: 24.04}, {alias: n}, {alias: noble}, {alias: lts}, {alias: default}], codename: Noble Numbat}, {os: Ubuntu, release: 25.04, version: 20250806, aliasesInfo: [{alias: 25.04}, {alias: p}, {alias: plucky}], codename: Plucky Puffin}, {os: Ubuntu, release: 25.10, version: 20250903, aliasesInfo: [{remoteName: daily, alias: 25.10}, {remoteName: daily, alias: q}, {remoteName: daily, alias: questing}, {remoteName: daily, alias: devel}], codename: Questing Quokka}, {os: Ubuntu, release: AdGuard Home Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: adguard-home}], codename: Core 18}, {os: Ubuntu, release: Mosquitto Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: mosquitto}], codename: Core 18}, {os: Ubuntu, release: Nextcloud Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: nextcloud}], codename: Core 18}, {os: Ubuntu, release: openHAB Home Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: openhab}], codename: Core 18}, {os: Ubuntu, release: Plex Media Server Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: plexmediaserver}], codename: Core 18}]}
2025-09-18 17:05:28.657679 INFO FindRequest{showImages: true, showBlueprints: false} is done
2025-09-18 17:05:31.497569 DEBUG Got Screen{frame: Rect.fromLTRB(1920.0, 0.0, 3840.0, 1080.0), scaleFactor: 1.0, visibleFrame: Rect.fromLTRB(1920.0, 32.0, 3840.0, 1080.0)}
2025-09-18 17:05:31.497616 DEBUG Saving window size Size(1400.0, 822.0) for screen size Size(1920.0, 1048.0)

** (multipass_gui:385055): WARNING **: 17:05:53.108: atk-bridge: get_device_events_reply: unknown signature

From the stable GUI

touch: cannot touch '/home/antoni/snap/multipass/common/.cache/desktop-runtime-date': No such file or directory
ln: failed to create symbolic link '/home/antoni/snap/multipass/15703/.local/share/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml': File exists
ln: failed to create symbolic link '/home/antoni/snap/multipass/15703/.local/share/glib-2.0/schemas/org.gtk.Settings.Debug.gschema.xml': File exists
ln: failed to create symbolic link '/home/antoni/snap/multipass/15703/.local/share/glib-2.0/schemas/org.gtk.Settings.EmojiChooser.gschema.xml': File exists
ln: failed to create symbolic link '/home/antoni/snap/multipass/15703/.local/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml': File exists
/snap/multipass/15703/gnome-platform/usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas: symbol lookup error: /snap/multipass/15703/gnome-platform/usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas: undefined symbol: g_task_set_static_name
ERROR: compile_schemas /snap/multipass/15703/gnome-platform/usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas exited abnormally with status 127
Cannot load module /snap/multipass/15703/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so: /snap/multipass/15703/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so: undefined symbol: g_string_free_and_steal
/snap/multipass/15703/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so does not export GTK+ IM module API: /snap/multipass/15703/gnome-platform/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-wayland.so: undefined symbol: g_string_free_and_steal
ERROR: /snap/multipass/15703/gnome-platform/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 exited abnormally with status 1
Gtk-Message: 16:57:42.957: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.

(multipass_gui:377715): Gtk-WARNING **: 16:57:43.037: GTK+ module /snap/multipass/15703/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 16:57:43.037: Failed to load module "canberra-gtk-module"

(multipass_gui:377715): Gtk-WARNING **: 16:57:43.041: GTK+ module /snap/multipass/15703/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 16:57:43.041: Failed to load module "canberra-gtk-module"
MESA: warning: Driver does not support the 0x7d67 PCI ID.
libGL error: glx: failed to create dri3 screen
libGL error: failed to load driver: iris
MESA: warning: Driver does not support the 0x7d67 PCI ID.
libGL error: glx: failed to create dri2 screen
libGL error: failed to load driver: iris

** (multipass_gui:377715): CRITICAL **: 16:57:43.347: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/377715/root

** (multipass_gui:377715): CRITICAL **: 16:57:43.349: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/377715/root

** (multipass_gui:377715): CRITICAL **: 16:57:43.351: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/377715/root

** (multipass_gui:377715): CRITICAL **: 16:57:43.353: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/377715/root

** (multipass_gui:377715): CRITICAL **: 16:57:43.354: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/377715/root

** (multipass_gui:377715): CRITICAL **: 16:57:43.355: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Portal operation not allowed: Unable to open /proc/377715/root
flutter: 2025-09-18 16:57:43.469871 DEBUG Got Screen{frame: Rect.fromLTRB(1920.0, 0.0, 3840.0, 1080.0), scaleFactor: 1.0, visibleFrame: Rect.fromLTRB(1920.0, 32.0, 3840.0, 1080.0)}
flutter: 2025-09-18 16:57:43.469904 DEBUG Got last window size: null
flutter: 2025-09-18 16:57:43.471445 DEBUG Computed default window size: Size(1400.0, 822.0)
flutter: 2025-09-18 16:57:43.694977 INFO Sent FindRequest{showImages: true, showBlueprints: false}
flutter: 2025-09-18 16:57:43.862855 INFO FindRequest{showImages: true, showBlueprints: false} received FindReply{showImages: true, imagesInfo: [{os: Ubuntu, release: Core 16, version: 20200818, aliasesInfo: [{alias: core}, {alias: core16}], codename: Core 16}, {os: Ubuntu, release: Core 18, version: 20211124, aliasesInfo: [{alias: core18}], codename: Core 18}, {os: Ubuntu, release: Core 20, version: 20230119, aliasesInfo: [{alias: core20}], codename: Core 20}, {os: Ubuntu, release: Core 22, version: 20230717, aliasesInfo: [{alias: core22}], codename: Core 22}, {os: Ubuntu, release: Core 24, version: 20240603, aliasesInfo: [{alias: core24}], codename: Core 24}, {os: Ubuntu, release: 22.04 LTS, version: 20250725, aliasesInfo: [{alias: 22.04}, {alias: j}, {alias: jammy}], codename: Jammy Jellyfish}, {os: Ubuntu, release: 24.04 LTS, version: 20250805, aliasesInfo: [{alias: 24.04}, {alias: n}, {alias: noble}, {alias: lts}, {alias: default}], codename: Noble Numbat}, {os: Ubuntu, release: 25.04, version: 20250806, aliasesInfo: [{alias: 25.04}, {alias: p}, {alias: plucky}], codename: Plucky Puffin}, {os: Ubuntu, release: 25.10, version: 20250903, aliasesInfo: [{remoteName: daily, alias: 25.10}, {remoteName: daily, alias: q}, {remoteName: daily, alias: questing}, {remoteName: daily, alias: devel}], codename: Questing Quokka}, {os: Ubuntu, release: AdGuard Home Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: adguard-home}], codename: Core 18}, {os: Ubuntu, release: Mosquitto Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: mosquitto}], codename: Core 18}, {os: Ubuntu, release: Nextcloud Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: nextcloud}], codename: Core 18}, {os: Ubuntu, release: openHAB Home Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: openhab}], codename: Core 18}, {os: Ubuntu, release: Plex Media Server Appliance, version: 20200812, aliasesInfo: [{remoteName: appliance, alias: plexmediaserver}], codename: Core 18}]}
flutter: 2025-09-18 16:57:43.863050 INFO FindRequest{showImages: true, showBlueprints: false} is done
flutter: 2025-09-18 16:57:44.038911 INFO Sent VersionRequest{}
flutter: 2025-09-18 16:57:44.040743 INFO VersionRequest{} received VersionReply{version: 1.16.1, updateInfo: {}}
flutter: 2025-09-18 16:57:44.040829 INFO VersionRequest{} is done
flutter: 2025-09-18 16:57:44.857992 DEBUG Got Screen{frame: Rect.fromLTRB(1920.0, 0.0, 3840.0, 1080.0), scaleFactor: 1.0, visibleFrame: Rect.fromLTRB(1920.0, 32.0, 3840.0, 1080.0)}
flutter: 2025-09-18 16:57:44.858042 DEBUG Saving window size Size(1400.0, 822.0) for screen size Size(1920.0, 1048.0)
flutter: 2025-09-18 16:57:51.036192 DEBUG Got Screen{frame: Rect.fromLTRB(1920.0, 0.0, 3840.0, 1080.0), scaleFactor: 1.0, visibleFrame: Rect.fromLTRB(1920.0, 32.0, 3840.0, 1080.0)}
flutter: 2025-09-18 16:57:51.036250 DEBUG Saving window size Size(1400.0, 822.0) for screen size Size(1920.0, 1048.0)
flutter: 2025-09-18 16:57:54.547506 DEBUG Got Screen{frame: Rect.fromLTRB(1920.0, 0.0, 3840.0, 1080.0), scaleFactor: 1.0, visibleFrame: Rect.fromLTRB(1920.0, 32.0, 3840.0, 1080.0)}
flutter: 2025-09-18 16:57:54.547561 DEBUG Saving window size Size(1400.0, 822.0) for screen size Size(1920.0, 1048.0)
flutter: 2025-09-18 16:58:01.292033 INFO Sent LaunchRequest{instanceName: lucky-cricket, image: 24.04, numCores: 1, memSize: 1073741824B, diskSpace: 5368709120B}
flutter: 2025-09-18 16:58:01.743857 INFO LaunchRequest{instanceName: lucky-cricket, image: 24.04, numCores: 1, memSize: 1073741824B, diskSpace: 5368709120B} received LaunchReply{launchProgress: {percentComplete: 0}}

** (multipass_gui:377715): WARNING **: 16:58:08.382: atk-bridge: get_device_events_reply: unknown signature
flutter: 2025-09-18 16:58:08.587319 ERROR LaunchRequest{instanceName: lucky-cricket, image: 24.04, numCores: 1, memSize: 1073741824B, diskSpace: 5368709120B} received an error
flutter: 	gRPC Error (code: 1, codeName: CANCELLED, message: Cancelled by client., details: null, rawResponse: null, trailers: {})
flutter: 2025-09-18 16:58:12.850888 DEBUG Got Screen{frame: Rect.fromLTRB(1920.0, 0.0, 3840.0, 1080.0), scaleFactor: 1.0, visibleFrame: Rect.fromLTRB(1920.0, 32.0, 3840.0, 1080.0)}
flutter: 2025-09-18 16:58:12.850941 DEBUG Saving window size Size(1400.0, 822.0) for screen size Size(1920.0, 1048.0)

Additional info

  • OS: Ubuntu 24.04.3
  • CPU architecture or model: x86
  • multipass version: >=1.17.0-dev.437+g6906c24d
  • graphics drivers:
nvidia_uvm           2109440  0
i915                 4714496  63
nvidia_drm            131072  3
drm_buddy              24576  2 xe,i915
nvidia_modeset       1724416  3 nvidia_drm
drm_display_helper    278528  2 xe,i915
nvidia              11644928  38 nvidia_uvm,nvidia_modeset
cec                    94208  3 drm_display_helper,xe,i915
drm_ttm_helper         16384  2 nvidia_drm,xe
nvidia_wmi_ec_backlight    12288  0
ttm                   118784  3 drm_ttm_helper,xe,i915
i2c_algo_bit           16384  2 xe,i915
video                  77824  5 nvidia_wmi_ec_backlight,dell_wmi,xe,i915,nvidia_modeset
wmi                    28672  10 dell_wmi_sysman,video,nvidia_wmi_ec_backlight,dell_wmi_ddv,alienware_wmi,dell_wmi,wmi_bmof,dell_smm_hwmon,dell_smbios,dell_wmi_descriptor

Additional context
Add any other context about the problem here.
Here is a recording of the flickering with 1.17-dev
https://github.com/user-attachments/assets/2ceed179-6ee2-47de-95c1-00b05765fe6c
No flicker in the 1.16:
https://github.com/user-attachments/assets/01ffc29f-b746-498b-a50b-759e5b3b41aa

Metadata

Metadata

Assignees

No one assigned

    Labels

    bughighHigh priority. Combine with "medium" to signal intermediate medium-high priority.jiraCreate a Jira ticket for this issuemediumMedium priority. Combine with "low" or "high" to signal intermediate priority.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions