Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.13
-
None
Description
As PO, I see a risk of bad user experience and bugs reported due to differences how Neptune3 UI (as a System UI) is configured and launched on embedded devices in Pelux based images (two different flavours still exist) and Boot2Qt images.
On Boot2Qt, Neptune3 UI is started via
/lib/systemd/system/neptune.service
as:
[Unit] Description=Neptune After=dbus.service dbus-session.service systemd-user-sessions.service [Service] ExecStart=/usr/bin/appcontroller /opt/neptune3/neptune3-ui -r --dbus session -c am-config-neptune.yaml Restart=on-failure WorkingDirectory=/opt/neptune3 Environment=AM_STARTUP_TIMER=1 [Install] WantedBy=multi-user.target
/usr/bin/appcontroller is a Boot2Qt launcher utility available from
https://code.qt.io/cgit/qt-apps/boot2qt-appcontroller.git
Despite of launching as such it also sets own enviroment variables via
meta-boot2qt/recipes-qt/boot2qt-addons/boot2qt-appcontroller/emulator/appcontroller.conf
as well as potentially in /etc/appcontroller.conf as mentioned in https://doc.qt.io/QtForDeviceCreation/qtee-customization.html
On the other side, Pelux based images made by the Qt Auto team in Luxoft do not use appcontroller from Boot2Qt and configure and launch Neptune 3 UI as a systemd service directly in the same file:
/lib/systemd/system/neptune.service
as:
[Unit] Description=Neptune3-UI After=systemd-user-sessions.service dbus-session@root.service remotesettings.service Wants=remotesettings.service [Service] User=root Type=simple ExecStartPre=/bin/mkdir -p /run/user/0 ExecStartPre=/bin/chmod 700 /run/user/0 ExecStart=/opt/neptune3/neptune3-ui -c /opt/neptune3/am-config.yaml -r -platform eglfs -plugin evdevkeyboard:grab=1 --logging-rule "*=true" --logging-rule "Qt3D.*.debug=false" --logging-rule="qt.*.debug=false" WorkingDirectory=/opt/neptune3 BusName=io.qt.ApplicationManager RuntimeDirectory=user/0 Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/root/dbus/user_bus_socket Environment=XDG_RUNTIME_DIR=/run/user/0 Environment=QT_IM_MODULE=qtvirtualkeyboard Environment=QT_QPA_EGLFS_HIDECURSOR=1 Environment=QTIVIMEDIA_SIMULATOR_LOCALMEDIAFOLDER=/home/root/media Environment=AM_STARTUP_TIMER=/dev/null Environment=QTWEBENGINE_DISABLE_SANDBOX=1 [Install] WantedBy=multi-user.target
I see two sources of potential problems:
- users experience different behaviour due to different env variable set
- The Qt Creator plugin for Qt Application Manager behave differently, since the appcontroller from Boot2Qt might "stand in between" the launching process on Boot2Qt whereas that does not occur on a Pelux based images
Attachments
Issue Links
- relates to
-
AUTOSUITE-1166 There is no way to pass environment variables to background service processes needed for Neptune
- Closed
- resulted from
-
AUTOSUITE-836 Document settings used to start the Neptune UI as systemd service
- Closed
For Gerrit Dashboard: AUTOSUITE-1141 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
272088,3 | Add recipe for default Qt environment variables | thud | yocto/meta-boot2qt | Status: MERGED | +2 | 0 |
272090,3 | neptune: use default env file | thud | yocto/meta-boot2qt | Status: MERGED | +2 | 0 |