I have been looking to create a snap that contains RVIZ2 from ros2 humble. As such the application is based around using the core22 base. I have found plenty of information about how to provide qt platform plugins for every other version of core except core22. I have attempted to interpret some instructions particularly the desktop-helper ones, but have come up empty handed every time. The startup always fails with no qt core plugins found.
Below is a minimal snapcraft.yaml to replicate the issue, attempting to use the gnome extension. Any help / further documentation would be greatly appreciated.
snapcraft will have to be run with experimental extensions enabled for ros2-humble to work:
SNAPCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=1 snapcraft
name: qt5-minimal # you probably want to 'snapcraft register <name>'
base: core22 # the base snap is the execution environment for this snap
version: '0.1' # just for humans, typically '1.2+git' or '1.3.2'
summary: Some summary here
description: |
Some description here.
grade: devel # must be 'stable' to release into candidate/stable channels
confinement: devmode # use 'strict' once you have the right plugs and slots
parts:
ros-build:
plugin: nil
stage-packages:
- ros-humble-rviz2
# what gets exposed to the end users
apps:
riptide-rviz:
command: opt/ros/humble/bin/rviz2
plugs:
- opengl
- wayland
- x11
- audio-playback
- network-bind
- network
# ros2-humble is still experimental thats why we need the build flag
extensions:
- ros2-humble
- gnome