A python qt6 app with ubuntu-frame

hi im a newbie, trying to create a digital signage ubuntu-core snap, I achieved it as an android app and now its time for ubuntu-core, for my first step I tried to follow ubuntu-frame examples. In the docs it says to try my snap with frame it then try on the actual device. im just trying to display a color on the screen nothing special or complicated. It works with ubuntu frame but cant get it to work on the actual device.

here is my snapcraft if anybody can pinpoint the problem

name: color-changer
version: "1.0"
summary: Simple PyQt6 color changing app
description: Simple PyQt6 color changing app
confinement: strict
compression: lzo
grade: stable
base: core24

apps:
  color-changer:
    command-chain: &_command-chain
      - bin/gpu-2404-wrapper
      - bin/wayland-launch
    command: &_command bin/color-changer
    plugs: &_plugs
      - opengl
      - wayland
    environment: &_environment
      LD_LIBRARY_PATH: ${SNAP}/usr/lib/x86_64-linux-gnu:${SNAP}/usr/lib/x86_64-linux-gnu/qt6:${SNAP}/lib/x86_64-linux-gnu:${SNAP}/usr/lib:${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
      QT_QPA_PLATFORM: wayland
      QT_PLUGIN_PATH: ${SNAP}/usr/lib/x86_64-linux-gnu/qt6/plugins
      QT_QPA_PLATFORM_PLUGIN_PATH: ${SNAP}/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms
      PYTHONPATH: ${SNAP}/usr/lib/python3/dist-packages:${SNAP}/lib/python3.12/site-packages:${PYTHONPATH:+:$PYTHONPATH}
      XDG_DATA_DIRS: $SNAP/usr/share:${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
      XKB_CONFIG_ROOT: $SNAP/usr/share/X11/xkb

  daemon:
    daemon: simple
    restart-delay: 3s
    restart-condition: always
    command-chain: *_command-chain
    command: *_command
    plugs: *_plugs
    environment: *_environment

plugs:
  gpu-2404:
    interface: content
    target: $SNAP/gpu-2404
    default-provider: mesa-2404

layout:
  /usr/share/libdrm:
    bind: $SNAP/gpu-2404/libdrm
  /usr/share/drirc.d:
    symlink: $SNAP/gpu-2404/drirc.d
  /usr/share/X11/xkb:
    bind: $SNAP/usr/share/X11/xkb
  /usr/share/fonts:
    bind: $SNAP/usr/share/fonts
  /usr/lib/x86_64-linux-gnu/qt6/plugins:
    bind: $SNAP/usr/lib/x86_64-linux-gnu/qt6/plugins

parts:
  color-changer:
    plugin: python
    source: src/
    stage-packages:
      - python3-pyqt6
      - python3-pyqt6.sip
      - qt6-wayland
      - xkb-data
      - libgl1
      - python3
      - libqt6core6
      - libqt6gui6
      - libqt6widgets6
      - libqt6waylandclient6
      - libqt6wlshellintegration6
      - inotify-tools
    python-packages:
      - PyQt6
    override-build: |
      craftctl default
      mkdir -p $CRAFT_PART_INSTALL/bin
      cp $CRAFT_PART_BUILD/color_app.py $CRAFT_PART_INSTALL/bin/
      echo '#!/bin/sh' > $CRAFT_PART_INSTALL/bin/color-changer
      echo 'exec python3 $SNAP/bin/color_app.py "$@"' >> $CRAFT_PART_INSTALL/bin/color-changer
      chmod +x $CRAFT_PART_INSTALL/bin/color-changer

  setup:
    plugin: dump
    source: wayland-launch
    override-build: |
      PLUGS="opengl wayland gpu-2404"
      sed --in-place "s/%PLUGS%/$PLUGS/g" $CRAFT_PART_BUILD/bin/wayland-launch
      sed --in-place "s/%PLUGS%/$PLUGS/g" $CRAFT_PART_BUILD/bin/setup.sh
      craftctl default

  gpu-2404:
    after:
      - color-changer
      - setup
    source: https://github.com/canonical/gpu-snap.git
    plugin: dump
    override-prime: |
      craftctl default
      ${CRAFT_PART_SRC}/bin/gpu-2404-cleanup mesa-2404
    prime:
      - bin/gpu-2404-wrapper

platforms:
  amd64:
    build-on: [arm64, amd64]
    build-for: [amd64]

or any other document or tutorial would be much appreciated, as I have no clue what im doing.

Thanks in advance

Some more info would be helpful, e.g. what are the errors you get when trying to run it on the device, how exactly are you trying to run it on the device etc …

1 Like

I’m using mac and building it in parallels ubuntu, I was trying to create a snap for amd64 but i guess I am unable to achieve it. now im trying with raspberry pi 4B and it works well enough. meaning I am able to display videos and images from a local directory

To update my question, my current issue is that, there is a black side bar on the left of the window,

here is the ubuntu-frame output

ahmedtahas@localhost:~$ snap get ubuntu-frame launcher

error: snap “ubuntu-frame” has no “launcher” configuration option

ahmedtahas@localhost:~$ snap get ubuntu-frame

Key Value

daemon false

display

layouts:

  default:

    cards:
    - card-id: 0
      HDMI-A-1:
        state: enabled
        mode: 1920x1080@60.0
        position: [0, 0]
        orientation: left
        scale: 1
        group: 0

I thought maybe it was because of the launcher, I dunno but even tho the docs say there are options to configure ubuntu-frame here my outputs suggests otherwise, I can configure the display part but there is no launcher option. I thought about changing the position to like [-290, 0] or something but didnt do anything. Btw thanks for the attention and help.

That doesn’t sound like it is related to Frame’s configuration. Frame provides a grey background, not black. The “launcher” daemon isn’t enabled by default, so shouldn’t be relevant

Thanks for the reply.

The rest of the screen is indeed gray, but the sidebar is black. Here is the before and after picture of starting my snap. The blue diamond like thing doesn’t appear until I start my snap, which made me think it might be the launcher.

Is there any solution to this, or why can I not change the launcher config? Any help would be appreciated,

Thanks in advance.

I would guess that the display resolution selected for use is smaller than the physical display area. The output from the display configuration might confirm this:

snap get ubuntu-frame display

I checked the display configs and they seem normal to me

ahmedtahas@localhost:~$ snap get ubuntu-frame display

layouts:
  default:
    cards:
    - card-id: 0
      HDMI-A-1:
        state: enabled
        mode: 1920x1080@60.0
        position: [0, 0]
        orientation: normal
        scale: 1
        group: 0

I tried “snap refresh --channel=22/stable ubuntu-frame” and voilà, the side bar disappeared. I also tried 24/edge and 24/stable but no luck there.

Thanks for the replies and attention, for now everything seems to work.

That looks like a valid configuation, but not one autogenerated by Frame. That would have comments like the following snippet:

        # This output supports the following modes: 1920x1600@60.0, 1920x1080@60.0,
        # 1920x1080@60.0, 1920x1080@59.9, 1920x1080@50.0, 1920x1080@30.0, 1920x1080@30.0,
        # 1920x1080@25.0, 1920x1080@24.0, 1920x1080@24.0, 1680x1050@59.9, 1600x900@60.0,
        # 1280x1024@75.0, 1280x1024@60.0, 1440x900@59.9, 1280x800@59.9, 1152x864@75.0,
        # 1280x720@60.0, 1280x720@59.9, 1280x720@50.0, 1024x768@75.0, 1024x768@60.0,
        # 832x624@74.5, 800x600@75.0, 800x600@60.3, 720x576@50.0, 720x480@60.0,
        # 720x480@59.9, 640x480@75.0, 640x480@60.0, 640x480@59.9, 720x400@70.1
        #
        # Uncomment the following to enforce the selected configuration.
        # Or amend as desired.
        #
        state: enabled	# {enabled, disabled}, defaults to enabled
        mode: 1920x1600@60.0	# Defaults to preferred mode

So my guess is that the display is larger than 1920x1080 and driving it at that resolution leaves black borders

If you mean the borders on top and bottom, I got rid of them by this answer by ogra answer.

But no matter what I did I could not get rid of what I think is the “launcher”.

For the output, I ran “snap get ubuntu-frame display” and it printed the one I provided, for an output like you mentioned I had to run “snap logs -n 100 ubuntu-frame” from your answer here. And it prints


2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]: layouts:
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:   default:                         # the current layout
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:     cards:
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:     # a list of cards (currently matched by card-id)
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:     - card-id: 0
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:       HDMI-A-1:
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         # This output supports the following modes: 1024x768@60.0, 800x600@60.3,
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         # 800x600@56.2, 848x480@60.0, 640x480@59.9
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         #
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         # Uncomment the following to enforce the selected configuration.
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         # Or amend as desired.
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         #
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         state: enabled	# {enabled, disabled}, defaults to enabled
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         mode: 1024x768@60.0	# Defaults to preferred mode
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         position: [0, 0]	# Defaults to [0, 0]
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         orientation: normal	# {normal, left, right, inverted}, defaults to normal
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         scale: 1
2025-01-17T09:26:30Z ubuntu-frame.daemon[6347]:         group: 0	# Outputs with the same non-zero value are treated as a single display

But its fullscreen and I’m more confused now. Why does it have a different resolution in the logs and in the “snap get ubuntu-frame display” is a mystery to me.

Could I be creating the ubuntu-core image in a faulty way or something? Is it an ubuntu-frame thing?

I can’t tell you where or when the display configuration option was set. But, if you unset it, Frame will repopulate it automatically based on the attached hardware.

snap unset ubuntu-frame display

The log shows how the hardware is being used, which does reflect the display option

IF my answer from the other thread you linked works, i assume you are running on an RPi … have you set any other graphics options in your config.txt (like hdmi mode (which would force a resolution from the bootloader)) ?

No. I just flashed the pi.img, then connected via ssh and installed ubuntu-frame and my snap then ran “snap start ubuntu-frame”. It’s all vanilla.

For the other issue, I ran unset and it worked. the resolution is back to normal values.

For the 24/stable version I also added a second snap and now there are 2 blue diamond like icons on the side bar. So now I’m confident its the launcher

here are the logs about launcher (I omitted the other logs so its clearer)


2025-01-17T11:36:44Z ubuntu-frame.launcher[12949]: /run/user/0/ CREATE wayland-0.lock
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: /snap/ubuntu-frame/11648/bin/wayland-launch: 29: kill: No such process
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: Failed to create /root/.cache for shader cache (Permission denied)---disabling.
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.777563: Ubuntu Frame launcher is starting
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.792504: Window opened: 4278190080
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.792582: Focused window, handle_id=4278190080, id=
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.792627: Resolving desktop file for id:
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PathAccessException: Directory listing failed, path = '/var/lib/snapd/desktop/applications/' (OS Error: Permission denied, errno = 13)
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: WARNING: 2025-01-17 11:36:45.795022: Creating null desktop file for id:

But as I said, the launcher doesn’t show up on the 22/stable. Maybe its a core24 issue maybe I’m missing something.

Here are the full logs:

ahmedtahas@localhost:~$ snap logs -n 100 ubuntu-frame
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:     # a list of cards (currently matched by card-id)
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:     - card-id: 0
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:       HDMI-A-1:
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         # This output supports the following modes: 1920x1080@60.0, 1680x1050@59.9,
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         # 1600x900@60.0, 1280x1024@75.0, 1280x1024@60.0, 1440x900@59.9, 1280x800@59.9,
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         # 1152x864@75.0, 1280x720@60.0, 1024x768@75.0, 1024x768@70.1, 1024x768@60.0,
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         # 800x600@75.0, 800x600@72.2, 800x600@60.3, 640x480@75.0, 640x480@59.9
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         #
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         # Uncomment the following to enforce the selected configuration.
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         # Or amend as desired.
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         #
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         state: enabled	# {enabled, disabled}, defaults to enabled
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         mode: 1920x1080@60.0	# Defaults to preferred mode
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         position: [0, 0]	# Defaults to [0, 0]
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         orientation: normal	# {normal, left, right, inverted}, defaults to normal
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         scale: 1
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]:         group: 0	# Outputs with the same non-zero value are treated as a single display
2025-01-17T11:36:43Z ubuntu-frame.daemon[12867]: 8>< ---------------------------------------------------
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.027760] < -warning- > gbm-kms: Ignoring attempt to set zero length gamma
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.091760] <information> gbm-kms: Clearing screen due to differing encountered and target modes
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.334818] < - debug - > miral: Display config using layout: 'default'
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.335041] <information> miral: Display config:
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: 8>< ---------------------------------------------------
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: layouts:
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:   default:                         # the current layout
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:     cards:
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:     # a list of cards (currently matched by card-id)
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:     - card-id: 0
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:       HDMI-A-1:
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         # This output supports the following modes: 1920x1080@60.0, 1680x1050@59.9,
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         # 1600x900@60.0, 1280x1024@75.0, 1280x1024@60.0, 1440x900@59.9, 1280x800@59.9,
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         # 1152x864@75.0, 1280x720@60.0, 1024x768@75.0, 1024x768@70.1, 1024x768@60.0,
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         # 800x600@75.0, 800x600@72.2, 800x600@60.3, 640x480@75.0, 640x480@59.9
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         #
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         # Uncomment the following to enforce the selected configuration.
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         # Or amend as desired.
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         #
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         state: enabled	# {enabled, disabled}, defaults to enabled
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         mode: 1920x1080@60.0	# Defaults to preferred mode
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         position: [0, 0]	# Defaults to [0, 0]
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         orientation: normal	# {normal, left, right, inverted}, defaults to normal
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         scale: 1
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]:         group: 0	# Outputs with the same non-zero value are treated as a single display
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: 8>< ---------------------------------------------------
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: Failed to create /root/.cache for shader cache (Permission denied)---disabling.
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.347429] <information> mirserver: Using hardware cursor
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: xkbcommon: ERROR: couldn't find a Compose file for locale "C.UTF-8" (mapped to "C.UTF-8")
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.399558] <information> gbm-kms-buffer-allocator: Enabled linux-dmabuf import support
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.440215] < - ERROR - > mirserver: Unable to watch directory /snap/ubuntu-frame/11648/usr/share/applications
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.440490] < - ERROR - > mirserver: Unable to watch directory /snap/ubuntu-frame/11648/gpu-2404/usr/share/applications
2025-01-17T11:36:44Z ubuntu-frame.launcher[12949]: /run/user/0/ CREATE wayland-0.lock
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.441752] <information> mircommon: Loading modules from: /snap/ubuntu-frame/11648/usr/lib/aarch64-linux-gnu/mir/server-platform
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.442128] <information> mircommon: Loading module: /snap/ubuntu-frame/11648/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-eglstream-kms.so.22
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.442335] <information> mircommon: Loading module: /snap/ubuntu-frame/11648/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.22
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.442460] <information> mircommon: Loading module: /snap/ubuntu-frame/11648/usr/lib/aarch64-linux-gnu/mir/server-platform/renderer-egl-generic.so.22
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.442562] <information> mircommon: Loading module: /snap/ubuntu-frame/11648/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.22
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.442644] <information> mircommon: Loading module: /snap/ubuntu-frame/11648/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.10
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.448121] <information> mirserver: Selected input driver: mir:evdev-input (version: 2.19.2)
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.449296] <information> mirserver: Mir version 2.19.2
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.457330] <information> GLRenderer: EGL vendor: Mesa Project
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.457468] <information> GLRenderer: EGL version: 1.4
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.457512] <information> GLRenderer: EGL client APIs: OpenGL OpenGL_ES
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.457559] <information> GLRenderer: EGL extensions: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_gl_interop EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.457606] <information> GLRenderer: GL vendor: Broadcom
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.457652] <information> GLRenderer: GL renderer: V3D 4.2.14
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.457686] <information> GLRenderer: GL version: OpenGL ES 3.1 Mesa 24.0.9-0ubuntu0.1
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.457717] <information> GLRenderer: GLSL version: OpenGL ES GLSL ES 3.10
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.458558] <information> GLRenderer: GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_EXT_draw_instanced GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_AMD_performance_monitor GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_NV_conditional_render GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_NV_pack_subimage GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_pack_reverse_row_order GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_occlusion_query_boolean GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_APPLE_sync GL_EXT_draw_buffers GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_NV_generate_mipmap_sRGB GL_NV_pixel_buffer_object GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_debug_label GL_EXT_sRGB_write_control GL_EXT_separate_shader_objects GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_cube_map_array GL_EXT_texture_view GL_KHR_context_flush_control GL_NV_image_formats GL_NV_shader_noperspective_interpolation GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_primitive_bounding_box GL_OES_shader_io_blocks GL_OES_texture_border_clamp GL_OES_texture_cube_map_array GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_buffer_storage GL_EXT_float_blend GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_shader_image_atomic GL_EXT_clear_texture GL_EXT_texture_compression_s3tc_srgb GL_MESA_shader_integer_functions GL_EXT_color_buffer_half_float GL_EXT_texture_mirror_clamp_to_edge GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage GL_MESA_framebuffer_flip_y GL_EXT_texture_query_lod GL_MESA_sampler_objects GL_MESA_bgra
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.458641] <information> GLRenderer: GL max texture size = 4096
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.459748] <information> GLRenderer: GL framebuffer bits: RGBA=8880, depth=0, stencil=0
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484609] <information> mirserver: Initial display configuration:
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484724] <information> mirserver: * Output 1: HDMI-A connected, used
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484771] <information> mirserver: . |_ EDID monitor name: Smart M50C
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484805] <information> mirserver: . |_ EDID manufacturer: SAM
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484839] <information> mirserver: . |_ EDID product code: 57361
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484879] <information> mirserver: . |_ Physical size 27.2" 600x340mm
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484911] <information> mirserver: . |_ Power is on
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484942] <information> mirserver: . |_ Current mode 1920x1080 60.00Hz
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.484972] <information> mirserver: . |_ Preferred mode 1920x1080 60.00Hz
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.485003] <information> mirserver: . |_ Orientation normal
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.485037] <information> mirserver: . |_ Logical size 1920x1080
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.485067] <information> mirserver: . |_ Logical position +0+0
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.485097] <information> mirserver: . |_ Scaling factor: 1.00
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.485630] < - debug - > miral: Configuring pointer: 'basic-window-manager'
2025-01-17T11:36:44Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:44.485732] <information> input-hub: Device configuration: basic-window-manager, capabilities={pointer}
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: /snap/ubuntu-frame/11648/bin/wayland-launch: 29: kill: No such process
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: Failed to create /root/.cache for shader cache (Permission denied)---disabling.
2025-01-17T11:36:45Z -[12874]: void fl_gnome_settings_set_interface_settings(FlGnomeSettings *, GSettings *): assertion 'G_IS_SETTINGS(settings)' failed
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.777563: Ubuntu Frame launcher is starting
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.790021: Loading desktop file directory: /var/lib/snapd/desktop/applications
2025-01-17T11:36:45Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:45.791063] <information> mirserver: Attempting to resolve app id from app_id=
2025-01-17T11:36:45Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:45.791251] <information> mirserver: Attempting to resolve desktop file via AppArmor for pid: 12867
2025-01-17T11:36:45Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:45.791350] <information> mirserver: Attempting to resolve desktop file via proc directory for pid: 12867
2025-01-17T11:36:45Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:45.791592] <information> mirserver: Failed to resolve desktop file from sandboxed_app_id  for pid 12867
2025-01-17T11:36:45Z ubuntu-frame.daemon[12867]: [2025-01-17 11:36:45.791862] < -warning- > mirserver: Failed to resolve app id, returning
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.792504: Window opened: 4278190080
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.792582: Focused window, handle_id=4278190080, id=
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: INFO: 2025-01-17 11:36:45.792627: Resolving desktop file for id:
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PathAccessException: Directory listing failed, path = '/var/lib/snapd/desktop/applications/' (OS Error: Permission denied, errno = 13)
2025-01-17T11:36:45Z ubuntu-frame.launcher[12874]: flutter: WARNING: 2025-01-17 11:36:45.795022: Creating null desktop file for id:

1 Like

To update this subject: the launcher was a service and I should have ran “snap start ubuntu-frame.daemon” instead of running “snap start ubuntu-frame” because it also started the launcher. Meaning there was nothing wrong with 24/stable it was just that the launcher option wasn’t in configuration